1. ¿No creen que es muy pronto el C++? Mis compañeros no tienen mucha idea de lo que es realmente un lenguaje de programación, y ni siquiera dominamos los flujogramas (enserio, nunca aprendí del todo). Yo al menos, bueno, me he dedicado a estudiar por mi cuenta durante muchos meses en lo que es Python, ¿no creen que tendríamos que haber empezado por algo así?
¿Pronto?, ¿por qué?, en mi opinión no es pronto, es el momento adecuado ya que la cuestión es aprender un lenguaje, y C++ es un lenguaje tan bueno de aprender cómo lo sería (casi) cualquier otro.
De hecho, y repito, esto es solo mi opinión personal, saldrías aprendiendo mucho mejor las diversas bases de la programación y los conceptos al empezar aprendiendo un lenguaje cómo C++ que está más cerca del hardware y por ende puede ofrecer una mayor comprensibilidad en lo referente al
low-level, y no aprendiendo Python, que aparte de diferenciarse en eso, lo considero el lenguaje más horrible del mundo para mi gusto personal por muchos motivos que no vienen al caso, mira, para dar una comparación personal muy breve, los Cristianos recurren al
hostigamiento, y los programadores recurren a
Python
2. El viejo nos dijo que C++ también se lo conoce como lenguaje C o (nombrequenomeacuerdo), y yo como WTF!, lo que tengo entendido es que C++ está basado en C y le añade a éste último muchas funcionalidades adicionales, pero él dijo "es lo mismo"...
No quiero creer que un profesor que está enseñando algo que se supone que debería saber, sea un ignorante de lo que intenta enseñar, quizás simplemente recurrió a la respuesta facil diciendo "
es lo mismo" para que dejases de acosarle
, pero por otro lado su trabajo consiste en explicar y aclarar dudas... es extraño.
Obviamente llevas razón en lo que comentas, C++ es un lenguaje que hereda muchas características de C (la que se aprecia a simple vista es la sintaxis), pero tecnicamente no son para nada lo mismo, ambos son lenguajes multiparadigma pero C es un lenguaje que se usa con un paradigma procedural, mientras que C++ es un sucesor, y como tal incorpora "novedades" cómo los constructores (ctor), un soporte de excepcioens (Exception/Error Handling) y el soporte del paradigma OOP (Object Oriented Programming) gracias al uso de las Clases (Classes) y objetos (Objects), esto y más cosas permiten aplicar un estilo de programación que en C no es posible, cómo la encapsulación (encapsulation), el polimorfismo (polimorphism), la herencia (inheritance), o las interfaces (interfaces), entre otras características de su soporte del paradigma OOP, y otras características "novedosas" que diferencian a C++ de C.
A todo esto debo aclarar que yo C/C++ lo he manejado poco (casi nada), así que seguramente alguna otra persona con más experiencia puede elaborar una mejor comparación.
Lo que no me gustó es que calificara el software libre como "inestable" y recomendó que usemos privativos porque "lo que hace Microsoft es mejor". Comentario medio... no sé...
Por lo que comentas, parece que tu profesor no ha argumentado mucho esa afirmación, y por lo que cuentas también ...no me extrañaría que no supiera cómo argumentarla, pero aunque te cueste creerlo, es una afirmación totálmente cierta, o al menos yo estoy totalmente de acuerdo.
El software open-source implica la ausencia de un soporte decente sobre todo en proyectos de gran magnitud debido a la inevitable aparición de bugs que quizás jamás sean corregidos, tú te lo guisas tu te lo arreglas ...o esperas indefinidamente a que ocurra un milagro (que por suerte los milagros ocurren bastante en ese sentido), si esto lo traducimos a un proyecto de la magnitud de un lenguaje de programación, podemos decir que es altamente inestable, al menos en comparación con el software privativo.
Aparte, el software open-source, si está en constante actualización/refactorización por varias personas, eso suele derivar muy pronto estadísticamente en un
código spaghetti insufrible.
(y por no hablar de la carencia de documentación oficial dependiendo del tipo de software libre... pero bueno)
Lo que hace Microsoft es mejor, desde luego, ¿cómo se podría comparar?, Microsoft es un tiburón cómo compañia y los peces pequeñitos no tienen mucho que hacer, Microsoft tiene un soporte de asistencia al cliente y un control de bugs o
bugtracker extraordinario para todos sus productos;
Además, en lo referente a lenguajes de programación de Microsoft es practicamente lo mismo, lo que hace Microsoft es mucho mejor ...me refiero a su framework de desarrollo de aplicaciones, .Net Framework, a todo lo que compone este producto, desde los lenguajes C# y VB.Net, pasando por CLR, la IDE de Visual Studio, y TODO lo demás, ¿en que me baso?, pues en que por ejemplo los lenguajes que he mencionado, la IDE de VisualStudio, y todo lo demás que compone este framework es un conjunto de software que ha sido desarrollado por muchos equipos pequeños de desarrollo, es decir, no todo el mérito es del
team de Microsoft ya que no lo han programado todo ellos pero se adjudican el nombre por que es de su propiedad,
lo que intento decir es, que a diferencia de un lenguaje open-source cómo por ejemplo Python ...el cual tiene cerca de
250.000 bugs reportados publicamente, en Vb.Net y C#, que por cierto son lenguajes mucho más extensos que Python ya que la librería de Classes de .Net Framework es de una magnitud incomparable com otra y requiere aun mayor mantenimiento que Python, pues apenas se conocen publicamente unos cuantos bugs que se pueden contar con los dedos de una mano (vale, exagerando), cuando el desarrollo de esos lenguajes ha sido llevado a cabo por muchos grupos distintos de desarrolladores, lo mismo ocurre con la IDE de VisualStudio, etc,
he ahí la diferencia entre un trabajo (casi) perfecto gracias a la organización, sincronización, y al control de calidad de una empresa privativa, comparándolo con lo que puede ofrecer a duras penas un equipo open-source, algo inestable (en comparación).
Saludos!