Club Delphi  
    FTP   CCD     Buscar   Trucos   Trabajo   Foros

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

Respuesta
 
Herramientas Buscar en Tema Desplegado
  #1  
Antiguo 12-11-2010
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
Sintaxis humana

En un par de ocasiones he visto que nuestro amigo Al González defiende la sintaxis de pascal por sobre la de otros lenguajes como C o java argumentando que es más humana. Y yo me pregunto, ¿es esto realmente una ventaja?

Claro que se ven por ahí códigos en C que parecen jeroglíficos, pero también se ven códigos pascal sin ninguna clase de orden e igualmente ilegibles.

Creo que depende mucho de la habilidad del codificador para presentar algo que el humano pueda entender.

Pero más allá de eso, no deja de llamarme la atención la opinión de Al, porque, a fin de cuentas, la abstracción es inherente al ser humano, así que es también muy humana.

Como matemático que soy (o que fui) pienso en lo inmanejable que serían las matemáticas sin el uso de un pesado arsenal de símbolos y notaciones, muy poco humanos y definitivamente ilegibles para el no iniciado. Y, sin embargo, no solo están dirigidos a humanos sino que su uso es imprescindible para un cabal entendimiento.

Este hilo no es, desde luego, para criticar sino para compartir las opiniones de los demás en torno a este asunto:

¿Es una ventaja la sintaxis humana de pascal?

// Saludos
Responder Con Cita
  #2  
Antiguo 12-11-2010
Avatar de ContraVeneno
ContraVeneno ContraVeneno is offline
Miembro
 
Registrado: may 2005
Ubicación: Torreón, México
Posts: 4.738
Poder: 24
ContraVeneno Va por buen camino
ding, ding, ding... Round 1, Figth!!




¿"sintaxis humana"?... a mi me parece igual de ilegible delphi, c#, java o el que me digas... creo estar de acuerdo un poco en lo que comentas maese Roman y me pongo de ejemplo: una sintanxis para un "For" me da igual en cualquier lenguaje, porque la entiendo; y por el otro extremo, cualquier sintaxis referente a hilos de ejecución me parece ilegible, independientemente del lenguaje en el que esté.

Entonces, concuerdo que la apreciación de si es o no es una "sintaxis más humana", está completamente relacionada al nivel de conocimiento de la persona que hace dicha apreciación.

Saludos.
__________________

Responder Con Cita
  #3  
Antiguo 12-11-2010
Avatar de Casimiro Notevi
Casimiro Notevi Casimiro Notevi is offline
Moderador
 
Registrado: sep 2004
Ubicación: En algún lugar.
Posts: 32.257
Poder: 10
Casimiro Notevi Tiene un aura espectacularCasimiro Notevi Tiene un aura espectacular
Yo vengo del lenguaje C y el código que estaba acostumbrado a escribir y ver en compañeros y amigos era "legible". Cierto es que por ahí veía código C que no lo entendía ni al derecho ni al revés.
Cuando llegué a delphi me pareció un lenguaje muy claro de entender pero no me gustó que había que escribir mucho. Quedaba legible también, muy legible, pero me parecía que escribía código innecesario, por ejemplo:

Código:
if(1)
{
  ...
}
Código:
if 1 then
begin
  ...
end
Es un ejemplo simplón, pero teclear 7 caracteres a 17 sólo en algo tan simple me parecía absurdo.

Ahora estoy acostumbrado, pero aún así me parece casi siempre que estoy tecleando demasiado.

Edito: Lo que quería explicar es que el lenguaje C me parecía lo más sencillo del mundo, te podías complicar tanto como quisieras, pero si no te gusta meterte en berenjenales entonces quedaba super claro, sencillo, conciso, simple, legigle (depende de cada uno).

Última edición por Casimiro Notevi fecha: 12-11-2010 a las 22:01:26.
Responder Con Cita
  #4  
Antiguo 12-11-2010
Avatar de duilioisola
[duilioisola] duilioisola is offline
Miembro Premium
 
Registrado: ago 2007
Ubicación: Barcelona, España
Posts: 1.757
Poder: 21
duilioisola Es un diamante en brutoduilioisola Es un diamante en brutoduilioisola Es un diamante en bruto
Si piensan que Delphi, C o inclus0 Asembler tienen una sintaxis difícil, es porque no leyeron suficientes post en ClubDelphi.

Para muestra un botón

¿Qué es CFD?
¿Complemento de Impuestos locales? ¿Locales de dónde? ¿Locales al ordenado, al país, a la empresa?
¿nodo complemento<complmento>? ¿Es un árbol, una lista, alguna otra cosa?

¿En qué lenguage está delcarando la cuestión?
Responder Con Cita
  #5  
Antiguo 12-11-2010
Avatar de ContraVeneno
ContraVeneno ContraVeneno is offline
Miembro
 
Registrado: may 2005
Ubicación: Torreón, México
Posts: 4.738
Poder: 24
ContraVeneno Va por buen camino
Cita:
Empezado por duilioisola Ver Mensaje
Si piensan que Delphi, C o inclus0 Asembler tienen una sintaxis difícil, es porque no leyeron suficientes post en ClubDelphi.

Para muestra un botón

¿Qué es CFD?
¿Complemento de Impuestos locales? ¿Locales de dónde? ¿Locales al ordenado, al país, a la empresa?
¿nodo complemento<complmento>? ¿Es un árbol, una lista, alguna otra cosa?

¿En qué lenguage está delcarando la cuestión?
CFD: comprobante fiscal digital, factura electrónica.
Impuestos locales: determinados en base a la legislación estatal vigente. Algún impuesto que cobran solo en ese estado o municipio.
<complemento>: sección del archivo XML donde se guarda la información de el CFD, en este caso, quiere guardar los impuestos locales dentro del XML en su nodo Complemento.

saludos
__________________

Responder Con Cita
  #6  
Antiguo 12-11-2010
Avatar de marcoszorrilla
marcoszorrilla marcoszorrilla is offline
Capo
 
Registrado: may 2003
Ubicación: Cantabria - España
Posts: 11.221
Poder: 10
marcoszorrilla Va por buen camino
A mi el lenguaje más humano siempre me parecio el Cobol, otra cosa es que el compilador sea eficiente o no y lo que se pueda hacer o no.

Código:
MULTIPLY 5 BY RESULTADO.
//Este otro es mucho menos humano.
Mov ah,5
Mov al,5
Mul ah,al

Un Saludo.
__________________
Guía de Estilo de los Foros
Cita:
- Ça c'est la caisse. Le mouton que tu veux est dedans.
Responder Con Cita
  #7  
Antiguo 13-11-2010
[coso] coso is offline
Miembro Premium
 
Registrado: may 2008
Ubicación: Girona
Posts: 1.678
Poder: 0
coso Va por buen camino
Hola,
sigo defendiendo que la sintaxis de C es mucho mejor que la de pascal, aunque lo que se gana en simplicidad al escribir se pierde en lectura. Para ejemplo, un programa de ajedrez...

Código:
#define    F getchar())
 #define H(z)*n++=z;
       #include        <setjmp.h>
    #define v main(0,0,0
           #define Z while(
                                                 #define _ if(
#define o(d)(S=63,u[l]=0,l[d]=6^e,q=1e4>v,0),l[d]=0,u[l]=e^6,S=b,q)
#define I(H,n) { _ r=l[x=H],!r|(r^e)<-1){ _ j=u[l],-7==r|6==r\
){ n; e=~e; return 1e5-443*f; } u[l]=0,t=j+1,i=j-1; _!i&89<\
x)i=j,t=6; _-1==t&30>x)t=j,i=-7; Z++i<t){ d =0; S&= 63; \
a=((j^e)!=1?6!=(j^e)?O[32+x/10]-O[u/10+32]-q:(S|=6!=j?8\
:1,2==u-x)*9+9*(x-u==2):(d=1==j?x-u:u-x)/8+!(!((x-u)%\
10)|r)*99+(j==1?90<x:29>x)*(9*O[28+i]-288))+O[r+28\
]*9-288+O[x%10+33]-f-O[33+u%10]; x[l]=i; S|=(21=\
=u|21==x)*2+(u==28|28==x)*4+(91==u|x==91)*16+32\
*(u==98|x==98)+(20==d)*64*x; a-=k>f?main(a,f+1\
,M,k):0; _ i==c&u==h&!f&N&a>-1e4&x==y)longjm\
p(z,1); S=b; _!N|f&&(a>M||!f&a==M&&1&rand()\
)){ _!f){ _ k){ c=i; h=u; y=x; } } else _ \
L-a<N){ n; e=~e; u[l]=j; x[l]=r; return\
 a; } M=a; } } x[l]=r; u[l]=j; n; } }
typedef int G; char J [ 78 ], O [ ]
=   "HRQAMS#-smaqrh[UTZYTU[|TBA("
"$#(ABT|ba`gg`ab8>GK[_`fFDZXEYR"         "L\t####"
"##B#A#@#G#F#E#D#K\t\3Zlv#tjm"         "\3J#tjm\3Pwb"
"ofnbwf\3Joofdbo\3)&`&`.&`&`"         "#+&g*\t"; G y,
c,h,e,S,*s,l[149]; jmp_buf z         ; G main(G L,G f,
G N,G k){ G u=99,p,q,r,j,i,x         ,t,a,b=S,d,M=-1e9
; char *n; if( *l){ e=~e; Z       u >21){ q= l[--u]^e;
_!-- q){ _!l[p=e?u-10:u+10]){   I(p,)_ e?u>80   & !l[p
-=10]:u<39&!l[p+=10])I(p,)} _ l[p=e?u-11:9+u]   )I(p,)
else _ u-1==S>>6){ l[u-1]=0; I(p,l[u-1]=-2^e);  } _ l[
p=e?u-9:11+u])I(p,)else _ S>>6==1+u){ l[1+u]=0; I(p,l
[1+u]=e^-2); } } _!--q){ n=O+41; Z++n<50+O)I(u+80-*n,
)} _ 0<q&4>q){  n=q==2?53+O:O+49; Z++n<O+(q!=1)*4+54
){ p=u; do I(p-=*n-80,)Z!p[l]); } } _ 4==q){ n=49+O
 ; Z++n<O+58)I(u-*n+80,)_ e&!(S&24)|!e&!(S&3)   &&
 !l[u-2]&!l[u-1]&!l[u-3]&&o(u)&&o(u-1)){ l[u-1]=4
  ^e; l[u-4]=0; I(u-2,l[u-1]=0; l[u-4]=e^4); } _
  e&!(S&40)|!e&!(S&5)  &&!l[u+1]&!l[2+u]&&o(u)&&
   o(1+u)){ l[u+1]=e^4; l[3+u]=0;   I(u+2,l[1+u
   ]=0; l[u+3]=4^e); } } } e=~e;   return M; }
    Z h<130){l[h]=-(21>h|98<h|2       >(h+1 )%
    10); O[h++]^=3; } n=O +14;       s=20+l; Z
     ++s<29+l){ 10[s]=1; 70[s]=~    ( * s = *
      n++ -+84); 60 [ s] =-2; } Z  n=J){ puts
       (58+O); u=19; Z++u<100){ H(32)_!( u%10
       ))H(32)H(O[7+l[u]])_(9+u)%10>7){ H(58
        -u/10)H(32)_ u&1)puts(n=J); } } puts
         (O+58); _-1e4 >v , 1)){ e=~e; puts
          (O+(v,0)> 1e4?e?90:82:96)); break
           ; } _ 1<L&e) { d=v,2+L); printf
            (O+114,h%10+64,58-h/10,y%10+64
             ,58 -y/10,d); } else{ putchar
              (62+e); h= (95 & F-44; c=l[h
                +=(56-F *10]; y=(95&F-44; y
                   +=(56-F*10; Z 10!=(u=(95
                    &F)){ c=5; Z--c>1&&u!=c
                      [O]); c=e^c-7; } } _!
                         setjmp(z)){ v+1,1);
                               puts(   106+
                                O); }   } Z
                                 10!=
                                  F; }
XD de un ofuscated C contest.

PD : dejo el link

Última edición por coso fecha: 13-11-2010 a las 15:30:56.
Responder Con Cita
  #8  
Antiguo 16-11-2010
Avatar de ContraVeneno
ContraVeneno ContraVeneno is offline
Miembro
 
Registrado: may 2005
Ubicación: Torreón, México
Posts: 4.738
Poder: 24
ContraVeneno Va por buen camino
buen código... pero creo que está al revés...
__________________

Responder Con Cita
  #9  
Antiguo 16-11-2010
Avatar de AzidRain
[AzidRain] AzidRain is offline
Miembro Premium
 
Registrado: sep 2005
Ubicación: Córdoba, Veracruz, México
Posts: 2.914
Poder: 22
AzidRain Va camino a la fama
Todas las sintaxis al final son humanas pues no las interpreta una máquina sino un humano. Lo que dice Al es como pensar que las series de Fourier o las transformadas de La Place, fueran no humanas tan solo porque para los no entendidos del tema no signifiquen gran cosa.

Al final de cuentas Pascal nació como un lenguaje de "proósito general" por lo que tenía que ser entendido por "la generalidad de los programadores". Para muchos Pascal fue nuestra puerta de entrada y gracias a el logramos aprender rápidamente C, Java y demás cosas simplemente pensando "{=Begin, }=end, ...etc." Pascal es estupendo para entender la lógica de un programa y como se ejecuta. Una vez dominado todo lo básico estás listo para irte al lenguaje que desees. Pero de eso a que sea más o menos humano creo que dista muchísimo, como ya comenté.
Obviamente cuando ya te entiendes con el ya sale sobrando si te tardas 4 caracteres mas en escribir "begin" que "{" al final como es mi lema "Lo importante es el resultado".

Acoto: Casí nadie programa para otros, salvo honrrosísimas excepciones, todos tenemos nuestro propio estilo y nos cuesta mucho adaptarnos a esquemas ajenos.
__________________
AKA "El animalito" ||Cordobés a mucha honra||
Responder Con Cita
  #10  
Antiguo 16-11-2010
Avatar de rgstuamigo
rgstuamigo rgstuamigo is offline
Miembro
 
Registrado: jul 2008
Ubicación: Santa Cruz de la Sierra-Bolivia
Posts: 1.646
Poder: 18
rgstuamigo Va por buen camino
Cita:
Empezado por ContraVeneno Ver Mensaje
...
Entonces, concuerdo que la apreciación de si es o no es una "sintaxis más humana", está completamente relacionada al nivel de conocimiento de la persona que hace dicha apreciación.
....
Estoy totalmente de acuerdo con ContraVeneno
A unos pueden gustarle mucho la Sintaxis de Pascal, a otros no tanto, y otros nada;
La verdad es como preguntar: ¿cuál es Mejor Windows o Linux?,¿Cuál es el Mejor servidor de Base de dato?,etc,etc. pues unos responderan una cosa quizás basado en su experiencia y otros otra cosa; y al final es una cosa de nunca acabar.
Saludos...
__________________
"Pedid, y se os dará; buscad, y hallaréis; llamad, y se os abrirá." Mt.7:7
Responder Con Cita
  #11  
Antiguo 17-11-2010
Avatar de Al González
[Al González] Al González is offline
In .pas since 1991
 
Registrado: may 2003
Posts: 5.609
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
Ya me subscribí a este tema para seguirle la pista a todo lo que están diciendo.
Responder Con Cita
  #12  
Antiguo 17-11-2010
Avatar de Casimiro Notevi
Casimiro Notevi Casimiro Notevi is offline
Moderador
 
Registrado: sep 2004
Ubicación: En algún lugar.
Posts: 32.257
Poder: 10
Casimiro Notevi Tiene un aura espectacularCasimiro Notevi Tiene un aura espectacular
Al principio con el lenguaje C tuve que aprenderlo muy bien para no meter la pata con los punteros nulos, la gestión de memoria, etc. pero una vez que se conoce bien entonces resulta muy sencillo.
Con pascal es más simple para los que empiezan porque no hay que preocuparse por esas cosas, normalmente es algo "transparente" para el programador.
Responder Con Cita
  #13  
Antiguo 17-11-2010
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
Esto último que dices Casimiro, podría plantearse como una posible ventaja de pascal sobre C, pero va más allá de la sintaxis. Mi tesis es que ésta por sí sola no marca la diferencia.

Claro está que hay sintaxis que, definitivamente hace que un lenguaje sea un poco más difícil, como, por ejemplo, la de brainfuck. Aunque, para algunos también es cosa fácil

// Saludos
Responder Con Cita
  #14  
Antiguo 17-11-2010
Avatar de Delphius
[Delphius] Delphius is offline
Miembro Premium
 
Registrado: jul 2004
Ubicación: Salta, Argentina
Posts: 5.582
Poder: 26
Delphius Va camino a la fama
¿Es necesario traer a la mente de todos una famosa frase de Martin Fowler para argumentar que el código debe ser escrito y entendido por un humano?

¿¡Que carajos importa si se escribe begin o {, que si es for i := 1 to N do ó for(i,i<=N,i++)!? A la máquina le da lo mismo ¿o no? Total a ella no le interesa si se usan 1 carácter o 17. Mientras pueda hacer su trabajo...

Ya me está haciendo acordar la teoría de Hasteald cuando se intenta comparar a un lenguaje por la cantidad de caracteres y las LDC. No sabía que por escribir { se era mucho más óptimo y productivo que escribir begin.
Recién me entero

Pero al ojo y la mente humana les es mucho más ventajoso y útil poder entender lo que se escribe. El código está hecho y escrito por humanos, para ser entendidos por humanos no por una máquina.

Bien dicen y afirman que con práctica, tiempo, dedicación, disciplina, y gusto (convengamos) uno fácilmente puede entender cualquier lenguaje y encontrarle equivalencias. Pero es mucho más ventajoso cuanto más al nivel de la lectura y la escritura humana esté.
En C hay algunas cosas cripticas, y te fuerza a ser críptico. No es tan fácil leer un lenguaje que te "oculta" caracteres. Para ponerlo en óptica, no sin darlo con cierto humor:

Delphi: NombreDeUnaFunción
C: NmbrdnFncn

¡Si... claro... a eso le llaman leer!

El código debe ser leído y entendido por un humano, no por una máquina. Quizá en parte se deba a la habilidad del programador... no lo discuto, pero que da mucho gusto el disfrutar de una buena sintaxis bastante amigable que no tiene nada que envidiar (o si lo tiene, es bastante poco) a la de otros lenguajes creo que ninguno lo puede negar.

Si puedes leer C, fantástico... puedes leer Brainfuck... ¡increíble! Ahora dime... ¿Cuántas neuronas has fritado el día de hoy en la sarten de la criptografía?

La verdad es que ya me cansa que se intente justificar el poder de C por sobre cualquier otro cuando se intenta estúpidamente buscarle sentido alguno que el { le permite ahorrar mucha más productividad, flexibilidad y algunos hasta rallan en la idea de que gracias a esa sintaxis es que se puede tener escabilidad y la posibilidad de llevarse a multiplataforma.
¡Vamos! Que si es multiplataforma, que si puede acceder al más bajo nivel no es por una cuestión de sintaxis... se debe a un buen diseño del compilador! La sintaxis entra sobrando.

La palabra lenguaje de programación invita a algo que se pueda leer y entender, C oscurece ese principio con su sintaxis. Puede que sea una sintaxis que un humano puede entender, pero el esfuerzo gastado en eso se podría destinar a algo más.

La sintaxis de Pascal fue hecha por un humano, para un humano. No me vengan con cuentos...

Saludos,
__________________
Delphius
[Guia de estilo][Buscar]
Responder Con Cita
  #15  
Antiguo 17-11-2010
[coso] coso is offline
Miembro Premium
 
Registrado: may 2008
Ubicación: Girona
Posts: 1.678
Poder: 0
coso Va por buen camino
Hola, releyendo el tema me he acordado de un articulo que lei sobre matematicas (no recuerdo fuentes, lo siento). Se ve que a partir de Euler (no estoy seguro si era Euler, pero si por el siglo XVII, XVIII) las matematicas hicieron un salto mas que importante debido a que se cambio su sintaxis. Antes de este cambio, se escribia, por ejemplo:"la incognita a descubrir multiplicada por si misma dos veces , adicionandose 3 veces mas a si misma y desplazandola una unidad hacia la raiz, sera igual a la raiz (cero)". Ademas, para mas inri, en latin que era la lengua culta, esto es, usando las declinaciones y esas cosas. Evidentemente, para un no iniciado x^2 + 3x - 1 = 0 es mucho mas misterioso que lo otro, pero para alguien con nociones le sera mucho mas sencillo leer (y escribir) la segunda opcion, con lo que su desarrollo y productividad usando la segunda opcion (dependiendo unicamente de la sintaxis) sera bastante mejor. Por otro lado, se ve que el rendimiento en matematicas de china y europa es bastante diferente por la misma razon, al menos en primaria: china tiene una sintaxis tradicional para los numeros, con signos, en los cuales estan implicitas las operaciones basicas (algo asi como los palitos de los numeros romanos) y su sistema de numeracion (algo asi como el cuatre-vint frances para el 80) permite hacer multiplicaciones y divisiones de manera muy natural y visual. Asi, dependiendo unicamente de la sintaxis, consiguen un mayor rendimiento al menos como ya digo en la enseñanza de la escuela primaria. Y ya directamente saltando a su habla, que es bastante estilo indio ("yo escribir forointernet mañana") tambien les permite mas velocidad y, digamos, rendimiento, perdiendo por eso claro esta, el poder expresar una gran cantidad de matices importantes.
Por otra banda, y en favor de sintaxis mas elaboradas, lo que si es cierto es que una sintaxis digamos cercana a nuestro lenguaje permite entender el problema, al menos los simples, de maneras mucho menos estrechas y mas humanas, no teniendo que "traducir" el problema a simbolos y luego "destraducir" los simbolos otra vez a conceptos entendibles o menos abstractos y mas materiales, digamos, lo que permite trabajar directamente con los conceptos y no olvidarnos de cualidades de estos conceptos por el camino. Usando la propia POO, lo que venia a decir en el parrafo anterior seria que intentar crear una clase tan abstracta y simple saltandonos propiedades que en principio considerariamos innecesarias no nos permitira ver que estas propiedades nos hubiesen hecho encontrar un metodo de resolucion mucho mas directo. El hecho de no tender a la simplicidad en la abstraccion permite, por ejemplo, hacer este tipo de demostraciones, pues se tiene en mente completamente el concepto a trabajar, y no unicamente su simbolo abstracto, lo que permite al menos a un ser humano, encontrar otras maneras para enfocar su problema (demostraciones geometricas tª pitagoras). En estos ejemplos, todo el razonamiento se hace con la sintaxis de "jugar con triangulos", que hasta un niño podria hacer y entender (el area de un cuadrado hecho del lado pequeño, mas la de otro cuadrado hecho del lado grande, y cuatro veces el triangulo con el que trabajar, sera igual a el area de un cuadrado hecho con el lado diagonal, mas la de cuatro veces el triangulo con el que trabajamos, por lo que si sacamos los cuatro triangulos, tenemos que el area un cuadrado del lado diagonal es igual a la de un cuadrado hecho con el lado pequeño mas la de un cuadrado hecho con el lado grande),mientras que si usamos la simplicidad de abstraccion de a^2 + b^2 = c^2, sera mucho mas complicado demostrarlo, y mas aun, llegar a "descubrirlo".

Siento la parrafada XD pero la verdad es que personalmente creo que la sintaxis si importa en cuanto al rendimiento y, tambien, en cuanto al resultado final. Un saludo.
Responder Con Cita
  #16  
Antiguo 17-11-2010
[coso] coso is offline
Miembro Premium
 
Registrado: may 2008
Ubicación: Girona
Posts: 1.678
Poder: 0
coso Va por buen camino
Reenvio de mensaje mil excusas.
Responder Con Cita
  #17  
Antiguo 17-11-2010
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 Delphius Ver Mensaje
Delphi: NombreDeUnaFunción
C: NmbrdnFncn
Este es un mal ejemplo, disculpa que te lo diga. Nada tiene que ver con sintaxis, sino, precisamente, con la habilidad (o falta de ella) de un programador del lenguaje que sea para escribir su código.

Lo que citas de Fowler no se contrapone con lo que algunos aquí sostenemos. El uso de abstracciones simbólicas no es exclusivo de las máquinas. La abstracción es, primero que nada, una prerrogativa del hombre. Tal como comenta coso y comenté yo al principio, las matemáticas hoy en día serían impensables sin la simbología que las sostiene. Asímismo sucede con la música, la lógica simbólica, la química, etc.

Cuando alguien escribe la demostración de un teorema matemático, no está pensando en una máquina. Está, desde luego, escribiendo para humanos.

Cita:
Empezado por Delphius
Pero al ojo y la mente humana les es mucho más ventajoso y útil poder entender lo que se escribe.
Así es, nadie lo niega. Pero somos seres racionales capaces de entender simbologías.

Cita:
Empezado por Delphius
El código está hecho y escrito por humanos, para ser entendidos por humanos no por una máquina.
[...]

Cita:
Empezado por Delphius
El código debe ser leído y entendido por un humano, no por una máquina.
El código debe ser claro para que las personas puedan leerlo y trabajar con él. Tan claro como debería serlo un artículo de economía o el informe del presidente. Pero desde luego que el código debe ser entendido por una máquina. Ése es su fin último. No escribimos código para solazarnos con lo hermoso que se ve. Escribimos código para instruir a una máquina a ejecutar procesos.

Cita:
Empezado por Delphius
pero que da mucho gusto el disfrutar de una buena sintaxis bastante amigable que no tiene nada que envidiar (o si lo tiene, es bastante poco) a la de otros lenguajes creo que ninguno lo puede negar.
Digamos que a te da gusto la sintaxis de pascal. Y está muy bien. A mi también me da gusto. Pero también puedo disfrutar un buen código escrito en C.

Fíjate además, que en ningún momento dije que C fuera mejor que pascal; simplemente opiné que la mera sintaxis de pascal no hace a éste más sencillo que otros lenguajes.

Recordarás que Wirth diseñó pascal específicamente para la enseñanza. En ese contexto, ciertamente puedo citar su sintaxis como más sencilla para quien empieza. Pero eso no significa que no podamos pasar a las llaves y sentirnos cómodos con ellas. Ni siquiera significa que debamos empezar con begin.

// Saludos
Responder Con Cita
  #18  
Antiguo 22-11-2010
Avatar de javier_ecf
javier_ecf javier_ecf is offline
Miembro
 
Registrado: sep 2010
Posts: 32
Poder: 0
javier_ecf Va por buen camino
Personalmente creo que la mejor sintaxis que eh llegado a ver es la de Python. Yo hago casi todo en pascal, pero siendo sincero me gusta hacer cosas en Delphi y luego las hago en C para experimentar.

PD. Ultimamente estoy metido en FreePascal xD.
Responder Con Cita
  #19  
Antiguo 23-11-2010
Avatar de ecfisa
ecfisa ecfisa is offline
Moderador
 
Registrado: dic 2005
Ubicación: Tres Arroyos, Argentina
Posts: 10.508
Poder: 36
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
Cualquier lenguaje simbólico es producto de la abstracción. Pero creo que cuando dice 'mas humano' quiere dar a entender la
cualidad del lenguaje Pascal, de asemejarse más al lenguaje coloquial.
En este sentido, se podría decir que Pascal es más semejante al lenguaje cotidiano que C. C más que Assembler y COBOL quizá
más que los anteriores.
Pero pareciera que la calificación 'mas humano' pierde fuerza en la medida que nos referimos a programadores experimentados,
ya que una vez que se maneja fluidamente un lenguaje, nos es tan habitual como cualquier otro.

Otro tema diferente es la sencillez de un lenguaje. Cosa que pienso, es bastante subjetiva.
Aunque hace tiempo no programo en C, yo veo una sintaxis clara en este código:

int LargoDeCadena(char *s) {
char *t = s;
while(*t) t++;
return(t-s);
};

Pero seguramente un programador de COBOL, considerará más claro hacer el o los párrafos necesarios para que se realice esta tarea.
Si bien es cierto que hay lenguajes que solucionan determinados problemas de forma más sencilla que otros, la afinidad con el lenguaje
cuenta a la hora de escuchar a los que exaltan la sencillez del mismo. Del mismo modo como hay personas a las que les resulta más
sencillo aprender el italiano que el francés, hay a quién le resulta mas sencillo PROLOG que SmallTalk.

En cuanto a la legibilidad de la sintaxis coincido con que cuenta mucho la capacidad del programador de expresar claramente su código.
Por supuesto poco puede hacerse al respecto si usamos Intercal, Brainfuck o Malbolgue...

Un saludo.

Última edición por ecfisa fecha: 23-11-2010 a las 08:58:10.
Responder Con Cita
  #20  
Antiguo 09-12-2010
Avatar de xander
xander xander is offline
Miembro
 
Registrado: jul 2006
Posts: 499
Poder: 19
xander Va por buen camino
A mi la que me parece más humana es la sintaxis de ruby

Cita:
5.times {puts 'hello there!!'}
__________________
"Hey, nena, debe ser genial ser tú y verme a mí mismo..."
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
Cambiar el Icono de un Exe, No hay manera humana. lag_0 Varios 9 18-03-2008 05:05:11
Problema con sintaxis. zvf OOP 5 13-03-2007 21:19:21
Sintaxis en el SQL Alexander SQL 2 11-09-2006 19:13:17
Problemas con la sintaxis andre navarrete Conexión con bases de datos 2 13-08-2006 17:48:47
"No existe parche para la estupidez humana" Neftali [Germán.Estévez] Noticias 4 30-06-2006 20:36:58


La franja horaria es GMT +2. Ahora son las 02:03:38.


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