¿Cuánta brecha de aprendizaje hay entre Turbo C ++ (1989) y el último C ++ 14?

En realidad estaba usando Turbo C ++ en 1989 como estudiante de secundaria; en ese momento, el principal idioma de enseñanza en las escuelas secundarias de los Estados Unidos era Pascal; Turbo C ++ fue una extensión natural de Turbo Pascal, ya que los IDE basados ​​en DOS eran casi idénticos. Interesante escucharlo todavía va después de todos estos años.

Estimaría que los cambios en el lenguaje y el IDE de 1984 a 1989 superan en número a las diferencias de 1989 a 2016. Todavía tenemos la mayoría de la misma teoría de programación y construcciones (tipos de variables, bucles, alcance, estructuras de datos) que teníamos a fines de los años ochenta. Los IDE pasaron de la consola a depuradores integrados + diseñadores de GUI en esta época. La Mac se introdujo en 1984, pero inicialmente no era muy popular; Windows comenzó a superar a los sistemas basados ​​en la consola también en esta época.

Esto no pretende ser exhaustivo, pero aquí hay algunas diferencias clave de C ++ de 1989 a 2016, que también se aplicarán a la mayoría de los idiomas:

  • Las estructuras de datos ahora están integradas en el lenguaje y son más flexibles. Por ejemplo, ahora puedes encontrar un HashTable seguro para subprocesos, mientras que en los años 80 necesitarías construirlo tú mismo.
  • El lenguaje se ha desarrollado para aprovechar hardware más avanzado (subprocesos, tamaños variables más grandes, etc.)
  • Algunas bibliotecas multiplataforma (Windows vs Linux vs Mac) previamente en los paquetes de Boost se han integrado en el núcleo del idioma principal.
  • Los IDEs se han vuelto más avanzados. Turbo C ++ se creó en DOS y tenía algunas opciones de menú básicas (Archivo, Guardar, Compilar, etc.). Visual Studio para Windows tiene muchas barras de herramientas y varios menús contextuales.
  • Ahora tenemos numerosas bibliotecas de terceros.

Tu IDE dependerá de tu plataforma. En general, Windows Visual Studio es el más popular para Windows, Eclipse para Linux y Mac. Sin embargo, muchos desarrolladores aún prefieren ir a la vieja escuela (Emacs o vi). Existen algunos enfoques para crear una GUI como una interfaz para su aplicación:

  • Microsoft tiene una biblioteca de Microsoft Foundation Class para interactuar directamente con su API GUI. Del mismo modo, Linux tiene X Window. Simplemente Youtube / google MFC C ++ X Window para muchos tutoriales.
  • Constrúyalo en C # y haga que sus aplicaciones C ++ y C # se comuniquen a través de la mensajería inproc utilizando una biblioteca como ØMQ – The Guide – ØMQ – The Guide. Este es el enfoque que suelo tomar; se desacopla completamente la GUI de su aplicación.
  • Utilice un marco como Qt (software). El uso de una API intermedia también ayuda a desacoplar su GUI del hardware subyacente.

Esto es 2016 – 1989 fue hace 27 años, el lenguaje ha evolucionado mucho.

Utilice eclipse, Visual Studio Express (gratis), Codeblocks, CLion o cualquier número de herramientas de desarrollo gratuitas de C ++.
Como mínimo, use un editor de texto y el compilador gcc o clang.

Dicho esto, la creación de aplicaciones GUI en C ++ tiene una curva de aprendizaje empinada, por lo que tener un buen IDE no ayudará. Tendrá que aprender algunas herramientas de GUI como QT, wxWidgets, JUCE o (god forbid) simple API de Win32