Ver Mensaje Individual
  #26  
Antiguo 02-12-2016
Avatar de mamcx
mamcx mamcx is offline
Moderador
 
Registrado: sep 2004
Ubicación: Medellín - Colombia
Posts: 3.911
Reputación: 25
mamcx Tiene un aura espectacularmamcx Tiene un aura espectacularmamcx Tiene un aura espectacular
Cita:
Empezado por escafandra Ver Mensaje
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.
__________________
El malabarista.

Última edición por mamcx fecha: 02-12-2016 a las 17:23:53.
Responder Con Cita