Club Delphi  
    Paypal   FTP   CCD     Buscar   Trucos   Trabajo   Foros

Retroceder   Foros Club Delphi > Otros entornos y lenguajes > Lazarus, FreePascal, Kylix, etc.
Registrarse FAQ Miembros Calendario Guía de estilo Buscar Temas de Hoy Marcar Foros Como Leídos

Respuesta
 
Herramientas Buscar en Tema Desplegado
  #1  
Antiguo 15-05-2014
Avatar de mamcx
mamcx mamcx is offline
Moderador
 
Registrado: sep 2004
Ubicación: Medellín - Colombia
Posts: 3.941
Poder: 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
  #2  
Antiguo 15-05-2014
Avatar de Casimiro Noteví
Casimiro Noteví Casimiro Noteví is offline
Merodeador
 
Registrado: sep 2004
Ubicación: En algún lugar.
Posts: 32.678
Poder: 10
Casimiro Noteví Tiene un aura espectacularCasimiro Noteví Tiene un aura espectacular
Cita:
Empezado por mamcx Ver Mensaje
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.
Para nada se puede estar de acuerdo con eso.

Código:
if si edad<20
begin
            print "estudia para el futuro"
  print "estudia para el futuro"
       print "eres un jovencito"
end
     hazotracosa
Creo que de esa forma, con un inicio y final de bloque sí que no hay ninguna duda, ningún error, ningún despiste...

Cita:
Empezado por mamcx Ver Mensaje
Un GC es prácticamente un requerimiento para hacer codigo eficiente & correcto hoy dia y a futuro.
A mí me parece una solución creada para los malos programadores que se olvidan de liberar memoria
Responder Con Cita
  #3  
Antiguo 15-05-2014
Avatar de roman
roman roman is offline
Moderador
 
Registrado: may 2003
Ubicación: Ciudad de México
Posts: 20.269
Poder: 10
roman Es un diamante en brutoroman Es un diamante en brutoroman Es un diamante en bruto
Bueno Casimiro, pero ejemplos como ese también te puedes encontrar a montones en lenguajes con delimitadores de bloque, tan mal indentados, sin cambios adecuados de línea, que rastrear cualquier error se torna imposible.

Lo que estás criticando realmente no crresponde al lenguaje sino a la forma de usarlo, que es lo mismo que tú mismo has mencionado anteriormente.

// Saludos
Responder Con Cita
  #4  
Antiguo 15-05-2014
Avatar de nlsgarcia
[nlsgarcia] nlsgarcia is offline
Miembro Premium
 
Registrado: feb 2007
Ubicación: Caracas, Venezuela
Posts: 2.206
Poder: 23
nlsgarcia Tiene un aura espectacularnlsgarcia Tiene un aura espectacular
mamcx,

Cita:
Empezado por mamcx
...GRAN parte del software desarrollado a nivel mundial *efectivamente* tiene problemas de base. Eso es un hecho...
El problema de la ingeniería de software es que no hay una forma efectiva de estandarizar la creación del software, partiendo de este punto el crear software es una combinación de arte y técnica lo cual si no se siguen buenos principios de diseño y programación se puede incurrir en grandes fallas difíciles de corregir y probablemente muy costosas dependiendo del ámbito de implementación del software, pero lo anterior es común a todos los lenguajes, el hecho de que un lenguaje tenga bases en C/C++ no implica que tenga ningún problema de base, solo implica que deben seguirse ciertos principios para su correcto uso, pero lo mismo aplica a todos los lenguajes si se quiere hacer software de calidad y resiliente a fallas.

Cita:
Empezado por mamcx
...No es como en los lenguajes donde tienen marcadores defectuosos, donde como lees no es necesariamente como ejecuta...Que la sintaxis no refleja bien la semántica del lenguaje...
Linux es quizás el SO más versátil y eficiente de la historia de la computación, se le puede usar en una miríada de dispositivos (MainFrame, MiniComputadores, Servidores, Computadores Portátiles y de Escritorio, SmartPhones y Sistemas Embebidos) y su lenguaje base es C, ¿Por que es tan exitoso y tan ampliamente usado algo hecho en C si este lenguaje supuestamente tiene fallas de base?, la respuesta esta en las buenas prácticas de diseño y programación aunado a extensas pruebas y seguimiento de la implementación, algo que debe ser común a la ingeniería del software en general independientemente del lenguaje utilizado.

En lo personal no creo que exista un lenguaje perfecto, pero si creo que los lenguajes actuales son perfectibles y prueba de ello es la evolución que han tenido los lenguajes basado en C/C++ y el impacto positivo de estos en todo el ámbito mundial del software por su efectividad y eficiencia, no por ser perfectos ni mucho menos.

Al final el que un software sea o no de calidad depende en última instancia del programador, el lenguajes escogido es solo una herramienta para un fin, su buen o mal uso depende estrictamente del programador

Nelson.

Última edición por nlsgarcia fecha: 15-05-2014 a las 19:07:02.
Responder Con Cita
  #5  
Antiguo 15-05-2014
Avatar de mamcx
mamcx mamcx is offline
Moderador
 
Registrado: sep 2004
Ubicación: Medellín - Colombia
Posts: 3.941
Poder: 27
mamcx Tiene un aura espectacularmamcx Tiene un aura espectacularmamcx Tiene un aura espectacular
Cita:
Empezado por nlsgarcia Ver Mensaje
el hecho de que un lenguaje tenga bases en C/C++ no implica que tenga ningún problema de base, solo implica que deben seguirse ciertos principios para su correcto uso, pero lo mismo aplica a todos los lenguajes si se quiere hacer software de calidad y resiliente a fallas.
Realmente? En serio? Los buffer overflow son una de los problemas que estos tienen. Son un vector de ataque, causan crash, son jodidos de depurar y todo eso. Como se arregla?

https://en.wikipedia.org/wiki/Buffer...mming_language

Cita:
The choice of programming language can have a profound effect on the occurrence of buffer overflows. As of 2008, among the most popular languages are C and its derivative, C++, with a vast body of software having been written in these languages
......
Examples of such languages (que no tienen ese problema de base) include Ada (podria reemplazar a C/C++, sino fuera porque pailas, son mas populares), Eiffel, Lisp, Modula-2, Smalltalk, OCaml and such C-derivatives as Cyclone, Rust and D (todos estos, podrian reemplazar C/C++).
Cita:
Empezado por nlsgarcia Ver Mensaje
Por que es tan exitoso y tan ampliamente usado algo hecho en C si este lenguaje supuestamente tiene fallas de base?
Supuestamente? No, TIENEN fallas de base. Que se controlan, como dices, con disciplina y el hecho de que los programadores de linux, en especial de lo importante, son de alto nivel. EL asunto es: En su momento, aparte de C/C++, que opcion hay para hacer un OS?

Una analogia: Hay un ERP que es el mas usado y es muy potente. Sin embargo, Si se le meten decimales hay que estar muy seguros de poner "." y no ",". Si se pone ",", la vaina se jode y corrompe todo. Si se mete un null entre una cadena en el proceso de importacion de datos, se rompe la seguridad del sistema. Se puede hacer injeccion de SQL.

Entonces: No tiene problemas de base? Es lo mismo, para un lenguaje, un programador es un usuario. Si este tiene que estar pendiente de detalles bizarros, es lo mismo cuando un programa exige que para poder buscar, primero hay que reindexar, poner el chulito y luego buscar y no hacerlo antes de 2 secs despues del chulito. Culpa del usuario si la BD se corrompe... porque no esta mas pendiente?

P.D: Y ese es un ejemplo muy cercano a la realidad...

---

P.D 2: A veces me pregunto si los sistemas nos causan Sindrome de Estocolmo. Como lo tratan a uno, y uno los defiende!
__________________
El malabarista.

Última edición por mamcx fecha: 15-05-2014 a las 19:44:58.
Responder Con Cita
  #6  
Antiguo 15-05-2014
Avatar de Casimiro Noteví
Casimiro Noteví Casimiro Noteví is offline
Merodeador
 
Registrado: sep 2004
Ubicación: En algún lugar.
Posts: 32.678
Poder: 10
Casimiro Noteví Tiene un aura espectacularCasimiro Noteví Tiene un aura espectacular
Cita:
Empezado por mamcx Ver Mensaje
Realmente? En serio? Los buffer overflow son una de los problemas que estos tienen. Son un vector de ataque, causan crash, son jodidos de depurar y todo eso. Como se arregla? https://en.wikipedia.org/wiki/Buffer...mming_language
Supuestamente? No, TIENEN fallas de base. Que se controlan, como dices, con disciplina y el hecho de que los programadores de linux, en especial de lo importante, son de alto nivel. EL asunto es: En su momento, aparte de C/C++, que opcion hay para hacer un OS?
Una analogia: Hay un ERP que es el mas usado y es muy potente. Sin embargo, Si se le meten decimales hay que estar muy seguros de poner "." y no ",". Si se pone ",", la vaina se jode y corrompe todo. Si se mete un null entre una cadena en el proceso de importacion de datos, se rompe la seguridad del sistema. Se puede hacer injeccion de SQL.
Entonces: No tiene problemas de base? Es lo mismo, para un lenguaje, un programador es un usuario. Si este tiene que estar pendiente de detalles bizarros, es lo mismo cuando un programa exige que para poder buscar, primero hay que reindexar, poner el chulito y luego buscar y no hacerlo antes de 2 secs despues del chulito. Culpa del usuario si la BD se corrompe... porque no esta mas pendiente? P.D: Y ese es un ejemplo muy cercano a la realidad... --- P.D 2: A veces me pregunto si los sistemas nos causan Sindrome de Estocolmo. Como lo tratan a uno, y uno los defiende!
De verdad que yo en todo eso solamente veo culpabilidad del programador.
¿Que tiene que estar pendiente de muchas cosas?, pues sí, es un problema, pero también podía haber decidido ser peluquero y se quitaba esos problemas
Responder Con Cita
  #7  
Antiguo 15-05-2014
Avatar de ecfisa
ecfisa ecfisa is offline
Moderador
 
Registrado: dic 2005
Ubicación: Tres Arroyos, Argentina
Posts: 10.508
Poder: 38
ecfisa is a splendid one to beholdecfisa is a splendid one to beholdecfisa is a splendid one to beholdecfisa is a splendid one to beholdecfisa is a splendid one to beholdecfisa is a splendid one to beholdecfisa is a splendid one to behold
Cita:
Empezado por Casimiro Notevi Ver Mensaje
De verdad que yo en todo eso solamente veo culpabilidad del programador.
Estoy de acuerdo con eso.
Cita:
Empezado por Casimiro Notevi Ver Mensaje
¿Que tiene que estar pendiente de muchas cosas?, pues sí, es un problema, pero también podía haber decidido ser peluquero y se quitaba esos problemas
Sobre esto no estoy tan seguro, pero puede ser... tal vez sea la causa de que anden tantos desorejados

Saludos
__________________
Daniel Didriksen

Guía de estilo - Uso de las etiquetas - La otra guía de estilo ....

Última edición por ecfisa fecha: 15-05-2014 a las 20:54:39.
Responder Con Cita
  #8  
Antiguo 15-05-2014
Avatar de mamcx
mamcx mamcx is offline
Moderador
 
Registrado: sep 2004
Ubicación: Medellín - Colombia
Posts: 3.941
Poder: 27
mamcx Tiene un aura espectacularmamcx Tiene un aura espectacularmamcx Tiene un aura espectacular
Cita:
Empezado por Casimiro Notevi Ver Mensaje
De verdad que yo en todo eso solamente veo culpabilidad del programador.
¿Que tiene que estar pendiente de muchas cosas?, pues sí, es un problema, pero también podía haber decidido ser peluquero y se quitaba esos problemas
Osea que estas de acuerdo con:

http://web.mit.edu/~simsong/www/ugh.pdf
Cita:
"Ken Thompson has an automobile which he helped design. Unlike most automobiles, it has neither speedometer, nor gas gauge, nor any of the other numerous idiot lights which plague the modern driver.

Rather, if the driver makes a mistake, a giant “?” lights up in the center of the dashboard. “The experienced driver,” says Thompson, “will usually know what’s wrong.”
__________________
El malabarista.
Responder Con Cita
Respuesta


Herramientas Buscar en Tema
Buscar en Tema:

Búsqueda Avanzada
Desplegado

Normas de Publicación
no Puedes crear nuevos temas
no Puedes responder a temas
no Puedes adjuntar archivos
no Puedes editar tus mensajes

El código vB está habilitado
Las caritas están habilitado
Código [IMG] está habilitado
Código HTML está deshabilitado
Saltar a Foro

Temas Similares
Tema Autor Foro Respuestas Último mensaje
Que me recomiendan? D-MO PHP 2 08-12-2005 14:50:28
Que me recomiendan ? Sundance Gráficos 2 06-08-2005 06:36:31
Me recomiendan un tutorial? marceloalegre C++ Builder 5 09-06-2005 08:56:23
Me recomiendan Web Sites? marceloalegre SQL 2 18-05-2005 23:19:57
Sistema en Red, Que me recomiendan.. BlueSteel Varios 6 01-03-2005 17:46:09


La franja horaria es GMT +2. Ahora son las 05:56:03.


Powered by vBulletin® Version 3.6.8
Copyright ©2000 - 2026, Jelsoft Enterprises Ltd.
Traducción al castellano por el equipo de moderadores del Club Delphi
Copyright 1996-2007 Club Delphi