Cita:
Empezado por escafandra
mamcx, explicas porqué y a tu parecer, C/C++ es odiado (complejidad), pero no porqué es envidiado. Quizás dentro de su "complejidad" tenga algo bueno que aporte algo de "simplicidad" que facilite algunas cosas como se demanda en este hilo.
|
Porque es envidiado es fácil.
"C++ no te da alto desempeño. Te da el *control sobre el desempeño*".
Hay *muy pocos* lenguajes que son viables como "system languages" y que permiten tunear la estructuras de datos. C++/C es la opción más popular y por ende hay mucho código disponible.
Esta charla ejemplifica muy bien el tema:
https://channel9.msdn.com/Events/CPP...ata-Structures
---
Hay varias cosas de C++ que son interesantes. Es claro que C es mucho mas simple y en varios casos gente que empezo proyectos con C++ eventualmente se dieron cuenta que hubiera sido mejor usar C, pero igual C++ tiene cosas útiles, entre las cuales destaco:
- RAII :
https://en.wikipedia.org/wiki/Resour...initialization, que permite manejar los recursos sin recurrir a un recolector de basura con retraso.
-
Zero Cost Abstraction: C++ permite tunear las cosas para aplicar abstracciones sin incrementar el costo de ellas. Como por ejemplo, convertir una iteración en un loop estándar.
No es el único lenguaje que permite esto, y de hecho, es algo que puede lograrse en muchos lenguajes a mayor o menor grado, pero es un aspecto notable del mismo. Igual se puede hacer de "todo" con "cualquier lenguaje" pero en la práctica es una ilusión: Ciertos lenguajes & su comunidad se prestan más a la hora de actuar de cierta manera.
Siendo Delphi mucho mas cerca de C++ hay muchas cosas que podrían copiarle. No las partes complejas (o mejor dicho, su complicada implementación, como en el caso de los templates). Viendo como se va desarrollando
RUST es claro que Delphi en vez de intentar ser una copia inferior de Java/C# puede ser una mejor opcion como lenguaje de sistema con la gracia de ser mucho mas claro y comprensible.
Eso no es imposible, porque Ada, Modula & Oberon son de la familia Pascal y pueden rivalizar con C++ a nivel técnico, sino fuera por su limitada difusión. Lo tremendo es que estos lenguajes incluso son mas simples que Delphi en muchas de las areas donde es complicado hacer cosas en Delphi, como la programacion paralela o asincronica.