Ver Mensaje Individual
  #24  
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
La complejidad es relativa al conocimiento del lenguaje.
Solo cierto, IDEALMENTE. Eso es lo que se llama "complejidad necesaria" (https://en.wikipedia.org/wiki/No_Silver_Bullet).

C++ tiene mucho de lo que se llama "complejidad accidental o inesperada" que no se le puede achacar la culpa al usuario, es culpa del lenguaje, intrínseco a él.

Esto ni siquiera es un tema de opinión o controversial. Es un hecho claro y comprendido. El porque C++ ha tomado esta ruta, es parecido a otros lenguajes como Perl: Anteponer la capacidad de hacer algo de tantas formas posibles vs el estilo de lenguajes como Pascal/Python/Lisp: El tener la forma más simple y clara de lograr el objetivo, a costa de reducir la posibilidad de hacer cosas de forma diferente.

Obvio que eventualmente si se programa dia y noche en C++ todo parecera simple. Pero eso es pura costumbre. Cuando se aprende otros lenguajes se vuelve muy claro en que aspectos son mejores o peores.

Si uno compara C++ con otro lenguaje del mismo nivel, como ADA, Pascal o RUST es muy claro que C++ es mucho mas complejo. Si otros lenguajes tuvieran el minimo de maquinaria faltante para ser considerados "Systems languages", en terminos de pura sintaxis C++ queda borrado.

Desafortunadamente para todos en nuestra industria, C++ le gano a Pascal, y es la causa de millones de dolares en perdidas debido a ello.


----

Como un experimento interesante, busque en google "LANGUAGE X is too complex", usando C++, Delphi, Pascal, Python, Perl, Scala, Javascript.

Efectivamente, es tal como esperabas:

- C++, Scala, Perl, Javascript son considerados muy complicados como tal, como una falla inherente, un mal necesario de usarlos
- Delphi, Python, Pascal se discute la complejidad pero no tanto del lenguaje, sino de los proyectos o librerias externas, de interfazar con otros sistemas y cosas por el estilo. Tal como se espera de una herramienta mejor hecha que permite concentrarse en la tarea.

Una conclusion que es obvia si se tiene experiencia en varios lenguajes.
__________________
El malabarista.

Última edición por mamcx fecha: 02-12-2016 a las 02:28:09.
Responder Con Cita