Ver Mensaje Individual
  #26  
Antiguo 15-05-2014
Avatar de mamcx
mamcx mamcx is offline
Moderador
 
Registrado: sep 2004
Ubicación: Medellín - Colombia
Posts: 3.939
Reputación: 27
mamcx Tiene un aura espectacularmamcx Tiene un aura espectacularmamcx Tiene un aura espectacular
Cita:
Empezado por Ñuño Martínez Ver Mensaje
Un despiste en la sangría y te genera un error en tiempo de ejecución muy difícil de rastrear.
Obvio que saca un error. Pero se puede detectar leyendo el codigo, porque las reglas son claras. No es como en los lenguajes donde tienen marcadores defectuosos, donde como lees no es necesariamente como ejecuta:

Código PHP:
if si edad<20:
  print 
"estudia para el futuro"
print "eres un jovencito"
hazotracosa 
Dice *exactamente* que es lo que hace el codigo. Osea: Python hace lo correcto. Lo peor es lo que hace JS/C/C++: No como esta escrito necesariamente es lo que hace. Ese es el problema que estoy hablando: Que la sintaxis no refleja bien la semantica del lenguaje.


Cita:
Empezado por Ñuño Martínez Ver Mensaje
Finalmente, aborrezco los lenguajes con colector de basuras por buenas razones.
Y el problema? Es Javascript & PHP. De los menos mejor diseñados, y no asombra que tenga deficientes GC, asi como son deficientes en todo otras cosas. Contraste? El GC de Java, .NET, Haskell, Erlang, Nimrod, Obj-c (no es tanto un GC en si pero funciona igual), LuaJit, etc son excelentes y son MUCHO mas óptimos para los casos generales que hacerlo manual. Hay uno y solo un verdadero caso para que un lenguaje es mejor que no tenga un GC: Se requiere garantizar operación en hard realtime y control exacto del uso de la memoria.

Un GC es prácticamente un requerimiento para hacer codigo eficiente & correcto hoy dia y a futuro. (Ahora bien, RUST & C son las unicas opciones viables sin un GC hoy dia).
__________________
El malabarista.
Responder Con Cita