Club Delphi  
    FTP   CCD     Buscar   Trucos   Trabajo   Foros

Retroceder   Foros Club Delphi > Principal > Noticias
Registrarse FAQ Miembros Calendario Guía de estilo Temas de Hoy

Grupo de Teaming del ClubDelphi

Respuesta
 
Herramientas Buscar en Tema Desplegado
  #1  
Antiguo 04-12-2015
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
A mi no me disgusta la sintaxis tipo C, de hecho me es mucho más cómoda y me parece más elegante que los begin end de pascal. Eso sí, C++ se me hace muy enredado con tanta directiva.

Nunca he entendido esa posición de personas que trabajan con la abstracción y no pueden ver un par de {} , pero, al final de cuentas, es una cuestión de gustos. A mi, por ejemplo, no me luce bonito perl, pero no me atrevería a descalificarlo.

Cita:
Empezado por AgustinOrtu
Embarcadero/Ideria solo tiene un producto fuerte, si lo liberan, se quedan sin comer, es asi de sencillo
Pero, se supone que IDERA es bastante más que lo que acaba de comprar ¿no?

// Saludos
Responder Con Cita
  #2  
Antiguo 05-12-2015
Avatar de mamcx
mamcx mamcx is offline
Moderador
 
Registrado: sep 2004
Ubicación: Medellín - Colombia
Posts: 3.912
Poder: 25
mamcx Tiene un aura espectacularmamcx Tiene un aura espectacularmamcx Tiene un aura espectacular
Cita:
Empezado por roman Ver Mensaje
Nunca he entendido esa posición de personas que trabajan con la abstracción y no pueden ver un par de {} , pero, al final de cuentas, es una cuestión de gustos. A mi, por ejemplo, no me luce bonito perl, pero no me atrevería a descalificarlo.
A mi en lo personal desde que trabajo con python, me parece que los begin/end y los {} son ambos superfluos. Estan ahi mas que nada para simplificar el parser (lo que he podido comprobar cuando intente hacer uno para un lenguaje propio) pero no aportan mas que ruido sintactico. Pero me parece mas legible los begin/end -- y en el primer prototipo de mi lenguaje, solo sobrevive el end --.

La razon? Es porque es mas "regular". Tenemos FOR, IF, FUNCTION, etc y de pronto se atraviesan los {} que hacen mas parte de los +, -, *, [, etc.

En fin...

Me parece raro que siempre que hacen nuevos lenguajes justifican el uso de los {} (y cosas similares) disque por la familiaridad con la familia C. En el caso de swift, no es tan de la familia, y eso lo hace ver un poco bizarro a veces.

Ahora bien, comparado con obj-c... es todo un avance inmenso.
__________________
El malabarista.

Última edición por mamcx fecha: 05-12-2015 a las 17:33:26.
Responder Con Cita
  #3  
Antiguo 05-12-2015
Avatar de Al González
[Al González] Al González is offline
In .pas since 1991
 
Registrado: may 2003
Posts: 5.604
Poder: 30
Al González Es un diamante en brutoAl González Es un diamante en brutoAl González Es un diamante en brutoAl González Es un diamante en bruto
Cita:
Empezado por mamcx Ver Mensaje
En el caso de swift, no es tan de la familia, y eso lo hace ver un poco bizarro a veces.
Creo que era otra la palabra que quisiste usar, Mario, porque para lenguajes verdaderamente bizarros no hay como Object Pascal (Delphi). Éste sí que es muy bizarro.

¡Un abrazo!
Responder Con Cita
  #4  
Antiguo 06-12-2015
Avatar de mamcx
mamcx mamcx is offline
Moderador
 
Registrado: sep 2004
Ubicación: Medellín - Colombia
Posts: 3.912
Poder: 25
mamcx Tiene un aura espectacularmamcx Tiene un aura espectacularmamcx Tiene un aura espectacular
Me vengo a enterar de la definicion original de bizarro. Yo voy por como explica http://conceptodefinicion.de/bizarro/
__________________
El malabarista.
Responder Con Cita
  #5  
Antiguo 07-12-2015
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
Cita:
Empezado por mamcx Ver Mensaje
A mi en lo personal desde que trabajo con python, me parece que los begin/end y los {} son ambos superfluos. Estan ahi mas que nada para simplificar el parser (lo que he podido comprobar cuando intente hacer uno para un lenguaje propio) pero no aportan mas que ruido sintactico. Pero me parece mas legible los begin/end -- y en el primer prototipo de mi lenguaje, solo sobrevive el end --.
Bueno, como lo veas, es necesario un begin y un end. Python lo hace mediante la indentación pero básicamente es lo mismo.

A mi en particular me choca y me sorprende que tengamos tantos prejuicios hacia determinados lenguajes, tan sólo porque nos "lucen" feos. Más aún cuando se trata de lenguajes que han probado una y otra vez ser eficientes y exitosos.

// Saludos
Responder Con Cita
  #6  
Antiguo 07-12-2015
Avatar de Casimiro Notevi
Casimiro Notevi Casimiro Notevi is offline
Moderador
 
Registrado: sep 2004
Ubicación: En algún lugar.
Posts: 32.048
Poder: 10
Casimiro Notevi Tiene un aura espectacularCasimiro Notevi Tiene un aura espectacular
Una de las cosas que más me gusta del lenguaje C es precisamente que es conciso, breve, escueto y sobrio. ¿Para qué escribir begin end si puedo escribir { }, para qué escribir x:=x+1 si puedo escribir x++?
Responder Con Cita
  #7  
Antiguo 07-12-2015
Avatar de AgustinOrtu
[AgustinOrtu] AgustinOrtu is offline
Miembro Premium
NULL
 
Registrado: ago 2013
Ubicación: Argentina
Posts: 1.858
Poder: 15
AgustinOrtu Es un diamante en brutoAgustinOrtu Es un diamante en brutoAgustinOrtu Es un diamante en brutoAgustinOrtu Es un diamante en bruto
Cita:
Empezado por Casimiro Notevi Ver Mensaje
Una de las cosas que más me gusta del lenguaje C es precisamente que es conciso, breve, escueto y sobrio. ¿Para qué escribir begin end si puedo escribir { }, para qué escribir x:=x+1 si puedo escribir x++?

Yo creo que lo de begin..end o el { } es mas cuestion de gustos que otra cosa, a mi en particular no me molesta ninguno de los dos, no siento que pierdo tiempo en eso ni tampoco encuentro a uno mas legible que el otro

Con respecto al x++ si te diria que estoy de acuerdo, pero en Delphi es mas o menos reemplazable por el Inc(x), Inc(x, 2)



Lo que si seria lindo poder hacer en Delphi es esto:

Código PHP:
  double saldo 0;

  if 
AlgunBoolean {
   
Persona p = new Persona();
   
saldo  -> CalcularSaldo;
  }

  
-> SayName(); // error, p no esta dentro del "scope" (alcance) 
Tres cosas que si me molestan de Delphi:

1. Declarar todas las variables arriba dentro de la clausula var. No le encuentro ninguna ventaja, no me vengan con que "es mas ordenado", yo creo que mas bien al contrario, es un caos: Ya que tenes que ir hasta arriba a declarar la variable lo cual me quita de foco de lo que estoy haciendo, y ni bien aunque haya expertos o plugins que lo "hagan automatico" sigo pensando que es una estupidez; en este sentido Delphi debe madurar.

Quien no ha reusado nunca la variable I: Integer del bucle for para cualquier otra cosa? Si se pueden declarar las variables en el momento que se usan:

a. Seguramente tenga un nombre mas acorde a lo que vas a usar --> codigo mas facil de leer, de entender, de depurar y mantener, y autodocumentado
b. Seria realmente una buena idea poder limitarle el alcance como lo hacen en C

2. La sintaxis lambda creo que apesta: tener que escribir

Código Delphi [-]
  TThread.Queue(NIL, procedure
  var
   X, B: Integer;
  begin

  end);

Es pura "ceremonia" y realmente va en contra del dogma de Pascal de "codigo claro, conciso y legible"

3. Los for en Delphi solamente se pueden incrementar de a 1... en serio, es una total ridicules!
Responder Con Cita
  #8  
Antiguo 08-12-2015
Avatar de Casimiro Notevi
Casimiro Notevi Casimiro Notevi is offline
Moderador
 
Registrado: sep 2004
Ubicación: En algún lugar.
Posts: 32.048
Poder: 10
Casimiro Notevi Tiene un aura espectacularCasimiro Notevi Tiene un aura espectacular
Cita:
Empezado por AgustinOrtu Ver Mensaje
Tres cosas que si me molestan de Delphi:
1. Declarar todas las variables arriba dentro de la clausula var.
A mí es una de las cosas que más me gustan, así estoy seguro de que no hay ningún olvido ni confusión.
Responder Con Cita
  #9  
Antiguo 10-12-2015
Delfino Delfino is offline
Miembro
 
Registrado: jul 2003
Ubicación: Madrid
Posts: 974
Poder: 21
Delfino Va por buen camino
Opinion sobre C y Pascal aqui
__________________
¿Microsoft? No, gracias..
Responder Con Cita
  #10  
Antiguo 10-12-2015
Avatar de Al González
[Al González] Al González is offline
In .pas since 1991
 
Registrado: may 2003
Posts: 5.604
Poder: 30
Al González Es un diamante en brutoAl González Es un diamante en brutoAl González Es un diamante en brutoAl González Es un diamante en bruto
Cita:
Empezado por AgustinOrtu Ver Mensaje
1. Declarar todas las variables arriba dentro de la clausula var. No le encuentro ninguna ventaja, no me vengan con que "es mas ordenado", yo creo que mas bien al contrario, es un caos: Ya que tenes que ir hasta arriba a declarar la variable...
¿Qué tan "arriba" tendrías que ir?

Cita:
Empezado por AgustinOrtu Ver Mensaje
2. La sintaxis lambda creo que apesta: tener que escribir
Código Delphi [-]
  TThread.Queue(NIL, procedure
  var
   X, B: Integer;
  begin

  end);
Es pura "ceremonia" y realmente va en contra del dogma de Pascal de "codigo claro, conciso y legible".
Hay que tener cuidado con los dogmas de cualquier tipo, y no confundirlos con las recomendaciones y buenas prácticas.

Los métodos anónimos, que son una especie de rutinas contextualizadas, forman parte de esos pequeños pero importantes avances que ha tenido la programación. Donde quiera que una función de retrollamada —callback— necesitaba llamarse pasándole varios parámetros dados previamente por el instalador de la misma, a menudo aplicando enrevesados moldes de tipo sobre ellos, ahora puede emplearse un procedimiento sencillo como el de tu ejemplo, reduciendo en buena medida la complejidad del código y volviéndolo, por cierto, más «claro, conciso y legible». Lo copio y pego con unos pequeños retoques:
Código Delphi [-]
  TThread.Queue (Nil,
    Procedure
    Var
      X, B :Integer;
    Begin
      //...
    End);

Un cordial saludo.

Al González.
Responder Con Cita
  #11  
Antiguo 10-12-2015
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
Declarar las variables "arriba" es parte del buen orden que tiene pascal. Es cierto que en ocasiones se antoja no tener que declarar hasta el más insulso contador en la sección var, pero, en general, cuando estás leyendo código ajeno (o propio después de un tiempo), es bueno saber dónde encontrar la declaración de una variable en lugar de estar escaneando el código.

En cuanto a las funciones anónimas, la realidad es que son como las variables declaradas donde sea. Son útiles en casos específicos pero siempre y cuando no se abuse.

LineComment Saludos
Responder Con Cita
  #12  
Antiguo 10-12-2015
Avatar de Ñuño Martínez
Ñuño Martínez Ñuño Martínez is offline
Moderador
 
Registrado: jul 2006
Ubicación: Ciudad Catedral, Españistán
Posts: 6.000
Poder: 25
Ñuño Martínez Tiene un aura espectacularÑuño Martínez Tiene un aura espectacular
He estado echándole un vistazo al Swift ese, y es bien feo. no me gusta. Me parece muy confuso.

Cita:
Empezado por AgustinOrtu Ver Mensaje
3. Los for en Delphi solamente se pueden incrementar de a 1... en serio, es una total ridicules!
Eso no es cierto, también se pueden incrementar en -1.

De todas formas, no me parece tan ridículo. Los bucles FOR de casi cualquier lenguaje no son más que bucles WHILE optimizados (sobre todo en C). Si quieres incrementar por otro valor, tienes varias formas: hacer tu propio bucle WHILE o REPEAT (tampoco cuesta tanto), o multiplicar el valor contador por el incremento que necesites. Por ejemplo:
Código Delphi [-]
VAR
  Contador: INTEGER;
BEGIN
  Contador := 1;
  WHILE Contador < 21 DO
  BEGIN
    HacerAlgoCon (Contador);
    INC (Contador, 4)
  END;
{ Otra forma: }
  FOR Contador := 0 TO 4 DO
    HacerAlgoCon ((Contador * 4) + 1)
END.

Sí es verdad que a veces echo de menos los bucles de BASIC:
Código:
  DIM Contador AS INTEGER

  FOR Contador = 1 TO 20 STEP 4
    CALL HacerAlgoCon (Contador)
  NEXT Contador
Nota: La verdad es que no estoy seguro de que todos los bucles hagan lo mismo, pero se pilla la idea, ¿no?
__________________
Proyectos actuales --> Allegro 5 Pascal ¡y Delphi!|MinGRo Game Engine
Responder Con Cita
Respuesta



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
Calculo código BIC/SWIFT Miguel45 Varios 4 07-03-2014 13:11:58
Ahora Microsoft define un nuevo lenguaje, M# nlsgarcia Noticias 0 01-01-2014 22:19:27
Justo ahora: WWDC Apple mamcx La Taberna 3 12-06-2013 04:26:11
Justo ahora: WWDC 2011 - Lo nuevo de Apple mamcx Noticias 4 07-06-2011 18:20:21
FirebirdConfig ahora es OpenSource egostar Noticias 8 16-10-2008 22:17:38


La franja horaria es GMT +2. Ahora son las 00:55:29.


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