¿En qué se diferencia la programación actual de la programación hace 20 años?


Vi esta pregunta en Quora y comencé a escribir la respuesta. Pero la respuesta fue demasiado grande, así que lo convertí en este artículo.


Estos son algunos de los cambios aleatorios que noté en la programación durante los últimos 20 años:


  • Muchos conceptos que solo eran teóricos hace 20 años son ampliamente utilizados en la práctica actual. Por ejemplo, paradigmas funcionales como la inmutabilidad de los objetos, la recursividad de la cola, las colecciones perezosas, la coincidencia de patrones, las funciones de primera clase y la despreciación de aquellos que no usan todo esto.
  • "Aplicación de escritorio", muchas personas llaman a un navegador empaquetado con una página predeterminada y sin barra de direcciones.
  • La programación orientada a objetos (OOP) ha perdido terreno, aunque todavía es mucho más popular que cualquiera de las alternativas. Los idiomas jóvenes como Go, Rust y Swift utilizan cada vez más rasgos . La composición es universalmente preferida a la herencia.
  • Debido a la prevalencia de los procesadores multinúcleo, el soporte para programación paralela en lenguajes hoy en día es más fácil de encontrar que el soporte para llamadas primitivas al sistema operativo hace 20 años. Por lo tanto, primitivas asíncronas (como async / wait), corutinas paralelas como "goroutines" en Go o canales en D, y la semántica de componibilidad ("semántica de composabilidad") como el mecanismo de "observables" en la programación reactiva se utilizan firmemente.
  • Pixel ya no es una unidad adecuada.
  • La recolección de basura se ha convertido en la forma habitual de programación segura, pero sigue a las alternativas más jóvenes, como la semántica, para indicar la vida útil de los objetos en Rust y chistes agudos en las revisiones de códigos.
  • 3 mil millones de dispositivos usan Java . Es cierto que este número no ha cambiado en diez años.
  • Un sistema de gestión de dependencias se ha convertido en una parte vital de cualquier idioma. Nadie quiere descargar ni instalar nada manualmente. Hace 20 años, después de descargar el archivo zip, descomprimirlo en la carpeta del proyecto, actualizamos el archivo de configuración y rezamos para que nada se rompiera.
  • Ser un equipo de desarrollo ahora significa la necesidad de realizar un ritual misterioso: todos juntos 15 minutos por la mañana para dibujar símbolos ocultos en pegatinas .
  • El conjunto de herramientas cuando se trabaja con el lenguaje es mucho más amplio. Anteriormente, solo había un compilador y, con suerte, un depurador. Hoy en día, por lo general, vienen con un linter, una herramienta de formateo de código, un motor de plantillas, una opción de actualización automática y una lista de razones para usar en holivars contra los idiomas de la competencia.
  • Incluso los lenguajes de programación han participado en el debate "pestañas o espacios".
  • Adobe Flash, que era la única forma de implementar una interfaz web normal, afortunadamente, ahora está muerto. Es cierto que un solo estándar fue reemplazado por tres marcos diferentes con modelos completamente diferentes.
  • Los IDEs y los lenguajes de programación se eliminan entre sí. Hace 20 años había un lenguaje y un IDE especialmente diseñado para él, como Eclipse para Java, Visual Basic, Delphi, etc. Ahora tenemos editores universales como VS Code, capaces de admitir muchos idiomas y funciones diferentes.
  • Es costumbre ejecutar código detrás de tres capas de virtualización. Esto es al menos ¿Código que se ejecuta en metal desnudo? No, eso sería demasiado productivo.
  • El desarrollo multiplataforma es un estándar debido a un conjunto de arquitecturas, dispositivos móviles, servidores en la nube, sistemas IoT integrados. Hace 20 años, el desarrollo se llevó a cabo casi exclusivamente para PC.
  • El código comenzó a ejecutarse localmente con mucha menos frecuencia.
  • La documentación ahora solo está en línea y se llama Google. Casi no hay documentación fuera de línea. Y cuando ella está, nadie sabe dónde está.
  • Muchas personas no encuentran útiles los tutoriales, a menos que sea un video. Incluso si lleva más tiempo leerlo que leer el texto.
  • Dicen que antes de que se inventara StackOverflow, la gente tenía que hacer preguntas.
  • La gente se está desarrollando en Mac OS.
  • La conexión a Internet es la regla, mientras que sin conexión es la excepción. Solía ​​ser exactamente lo contrario.
  • La protección contra piratería es lo que ahora debe tener en cuenta al crear un programa.
  • Los dispositivos móviles pueden mostrar páginas regulares, por lo que la necesidad de páginas WAP para versiones móviles de sitios en subdominios ha desaparecido. En su lugar, creamos páginas regulares para versiones móviles de sitios en subdominios.
  • Nos complace publicar nuestro código en código abierto. Por supuesto, excepto por el código por el cual nos avergonzamos.
  • La industria cuenta con mujeres más talentosas, personas de apariencia no europea y representantes de la comunidad LGBT, gracias a todos los que lucharon contra la discriminación. No creo que ya se haya alcanzado la igualdad total, pero la situación es mucho mejor que hace 20 años. (no olvide que esta es una traducción - aprox. transl.)
  • Fuga de datos del usuario: un evento típico. En tales casos, se escribe una publicación en el blog corporativo con una recomendación para cambiar urgentemente la contraseña. El perdón generalmente no se pide.
  • Trabajar como programador de forma remota ahora es más fácil que nunca. Para esto, gracias a la tecnología de videoconferencia, acceso ubicuo a Internet y máquinas de café en casa.
  • Ya no usamos IRC para la comunicación. Elegimos una alternativa mucho más hinchada llamada Slack, si no tuviéramos que manejar la dirección del servidor manualmente.
  • Ejecutamos programas en tarjetas de video.
  • Su producto no vale un centavo, si no confía en blockchain y AI. Sí, incluso si la versión centralizada y basada en algoritmos es más simple, más eficiente y más rápida.
  • Un gigabyte no es suficiente.
  • Debido a los ataques a través de canales de terceros, ni siquiera podemos confiar en los procesadores físicos.
  • Una parte importante de la programación ahora ocurre durante un juego de futbolín.
  • Como teníamos CPU más rápidas, comenzamos a hacer cálculos complejos en Python, no en Fortran. Entonces, los cálculos toman aproximadamente el mismo tiempo que tomaron hace 20 años.
  • Crear nuevos lenguajes de programación o incluso crear nuevos dispositivos es un pasatiempo normal y normal.
  • Las pruebas unitarias, como cualquier otra cosa útil que el bombo comprendiera, comenzaron a usarse incluso donde no era necesario, y finalmente se convirtieron en una religión.
  • Los colegas fruncen el ceño cuando descubren que usted almacena las contraseñas de los usuarios en texto claro. Pero no dicen nada: lo hacen ellos mismos.

Source: https://habr.com/ru/post/483880/


All Articles