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 11-10-2011
Avatar de Casimiro Notevi
Casimiro Notevi Casimiro Notevi is offline
Moderador
 
Registrado: sep 2004
Ubicación: En algún lugar.
Posts: 32.098
Poder: 10
Casimiro Notevi Tiene un aura espectacularCasimiro Notevi Tiene un aura espectacular
Cuando yo usaba C, antes de delphi, mi código fuente era muy entendible. Es cierto que muchos escriben lo que parecen ser "jeroglíficos egipcios", no sé por qué.
Recuerdo que por aquellas fechas mi comentario era algo así como: "El lenguaje C es tan potente como el ensamblador y tan fácil como basic"
Responder Con Cita
  #2  
Antiguo 12-10-2011
Avatar de Julián
Julián Julián is offline
Merodeador
 
Registrado: may 2003
Ubicación: en mi casa
Posts: 2.020
Poder: 10
Julián Va por buen camino
Se puede escribir tan horriblemente con delphi como con c. Y se puede escribir muy bien tanto con uno como con otro.

Nunca entederé a quienes sostienen que tal o cual lenguaje es horrible porque use {llaves} en lugar de "begin" y "end". Que me digan (yo mismo lo digo) que java es lento porque es interpretado o porque produce aplicaciones muy feas pues vale, pero no entendería que es horrible por usar {llaves}.

Un saludo!
__________________
"la única iglesia que ilumina es la que arde"
Anonimo
Responder Con Cita
  #3  
Antiguo 12-10-2011
Avatar de mamcx
mamcx mamcx is offline
Moderador
 
Registrado: sep 2004
Ubicación: Medellín - Colombia
Posts: 3.918
Poder: 25
mamcx Tiene un aura espectacularmamcx Tiene un aura espectacularmamcx Tiene un aura espectacular
Cita:
Empezado por Julián Ver Mensaje
Se puede escribir tan horriblemente con delphi como con c. Y se puede escribir muy bien tanto con uno como con otro.
No se puede. Prueba definitiva?

Bsucar en google:

delphi obfuscate code
c obfuscate code
perl obfuscate code

Veran que no hay ejemplos de codigo obscurecido a mano en delphi, en cambio hay hasta TUTORIALES para hacerlo en c & perl.

http://www0.us.ioccc.org/main.html

Cita:
To write the most Obscure/Obfuscated C program under the rules below
Código PHP:
                                  #include\
                                  
<stdio.h>
                     
#include                <stdlib.h>
                     #include                <string.h>

                    #define w "Hk~HdA=Jk|Jk~LSyL[{M[wMcxNksNss:"
                   #define r"Ht@H|@=HdJHtJHdYHtY:HtFHtF=JDBIl"\
                  
"DJTEJDFIlMIlM:HdMHdM=I|KIlMJTOJDOIlWITY:8Y"
                 
#define S"IT@I\\@=HdHHtGH|KILJJDIJDH:H|KID"\
                
"K=HdQHtPH|TIDRJDRJDQ:JC?JK?=JDRJLRI|UItU:8T"
               
#define _(i,j)L[i=2*T[j,O[i=O[j-R[j,T[i=2*\
              
R[j-5*T[j+4*O[j-L[j,R[i=3*T[j-R[j-3*O[j+L[j,
             
#define t"IS?I\\@=HdGHtGIDJILIJDIItHJTFJDF:8J"

    #define y                  yy(4),yy(5),                yy(6),yy(7)
  #define yy(              i)R[i]=T[i],T[i ]            =O[i],O[i]=L [i]
#define Y _(0          ], 4] )_ (1 ], 5] )_ (2      ], 6] )_ (3 ], 7] )_=1
#define v(i)(      (( R[ i ] * _ + T [ i ]) * _ + O [ i ]) * _ + L [ i ]) *2
double b 32  ,,,,,int Q [], T8] ,[], L8] ;
#define q( Q,R ) R= *X ++ % 64 *8 ,R |= *X /8 &7 ,Q=*X++%8,Q=Q*64+*X++%64-256,
# define  p      "G\\QG\\P=GLPGTPGdMGdNGtOGlOG"   "dSGdRGDPGLPG\\LG\\LHtGHtH:"
#  define W         "Hs?H{?=HdGH|FI\\II\\GJlHJ"    "lFL\\DLTCMlAM\\@Ns}Nk|:8G"
# define   U           "EDGEDH=EtCElDH{~H|AJk}"       "Jk?LSzL[|M[wMcxNksNst:"
#  define u                  "Hs?H|@=HdFHtEI"             "\\HI\\FJLHJTD:8H"
char  *   x                   ,*, ( * )[               640],z[3]="4_",
*
"4,8O4.8O4G" r U "4M"u S"4R"u t"4S8CHdDH|E=HtAIDAIt@IlAJTCJDCIlKI\\K:8K"U
 
"4TDdWDdW=D\\UD\\VF\\FFdHGtCGtEIDBIDDIlBIdDJT@JLC:8D"t"4UGDNG\\L=GDJGLKHL\
FHLGHtEHtE:"
p"4ZFDTFLT=G|EGlHITBH|DIlDIdE:HtMH|M=JDBJLDKLAKDALDFKtFKdMK\
\\LJTOJ\\NJTMJTM:8M4aGtFGlG=G|HG|H:G\\IG\\J=G|IG|I:GdKGlL=G|JG|J:4b"
W
S
"4d"W t t"4g"r w"4iGlIGlK=G|JG|J:4kHl@Ht@=HdDHtCHdPH|P:HdDHdD=It\
BIlDJTEJDFIdNI\\N:8N"
w"4lID@IL@=HlIH|FHlPH|NHt^H|^:H|MH|N=J\\D\
J\\GK\\OKTOKDXJtXItZI|YIlWI|V:8^4mHLGH\\G=HLVH\\V:4n" 
u t t
"4p"W"IT@I\\@=HdHHtGIDKILIJLGJLG:JK?JK?=JDGJLGI|MJDL:8M4\
rHt@H|@=HtDH|BJdLJTH:ITEI\\E=ILPILNNtCNlB:8N4t"
W t"4u"
p"4zI[?Il@=HlHH|HIDLILIJDII|HKDAJ|A:JtCJtC=JdLJtJL\
THLdFNk|Nc|\
:8K"
main (
int C,char**        A) {for(x=A[1],i=calloc(strlen(x)+2,163840);
C-1;C<3?Q=_=       0,(z[1]=*x++)?((*x++==104?z[1]^=32:--x), =
strstr(Z,z))      &&(X+=C++):(printf("P2 %d 320 4 ",V=b/2+32),
V*=2,s=Q=0,C     =4):C<4?Q-->0?i[(int)((l+=o)+b)][(int)(k+=B)
]=
1:_?_-=.5/    256,o=(v(2)-(l=v(0)))/(Q=16),B=(v(3)-(k=v(1)
))/
Q:*X>60?y   ,q(L[4],L[5])q(L[6],L[7])*X-61||(++X,y,y,y),
Y:*X>57?++X,  y,Y:*>54?++X,b+=*X++%64*4:--C:printf("%d "
,i[Q][s]+i[][s+1]+i[Q+1][s]+i[Q+1][s+1])&&(Q+=2)<V||(Q=
0,s+=2)<640
||(C=1));} 
Código PHP:
#include <ncurses.h>/*****************************************************/
            
int               m[256                   ] [         256   ],a
 
,b   ;;;   ;;;   WINDOW*w;   char*l=""   "\176qxl"   "q"   "q"   "k"   "w\
xm"   "x"   "t"         "j"         "v"         "u"         "n"         
,Q[
 ]=   
"Z"   "pt!ftd`"   "qdc!`eu"   "dq!$c!nnwf"/**   ***   */"t\040\t";c(
int   u ,         int         v){                     v?m   [u]         [v-
 
1]   |=2,m[u][v-1] &   48?W][v-1   ] &   15]]):0:0;u?m[u   -1][v]|=1   ,m[
 
u-               1][   v]&         48?               W-1   ][v         ]&
15]   ]):0:0;v<   255   ?m[   u][v+1]|=8,m[u][v+1]&   48?   W][   v+1]&15]]
):
0         :0;         <               255   ?m[   u+1         ][v   ]|=
4,m[u+1][   v]&48?W+1][v]&15]]):0:0;W][   v]&   15]   ]);}cu(char*q){   return
 *
q               ?cu   (q+         1)&         1?q   [0]               ++:
q[0   ]--   :1;   }d(   int   u ,   int/**/v,   int/**/x,   int   y){   int
Y
=y   -v,   X=x         -u;   int         S,s   ;Y<         0?Y   =-Y   ,s,
s=-   1:(   s=1);X<0?X=-X,S   =-1  :(S=   1);   Y<<=   1;X<<=1;   if(X>Y){
int   f=Y               -(X   >>1   );;               while(u!=         x){
f>=   0?v+=s,f-=X:0;u   +=S   ;f+=   Y;m[u][v]|=32;mvwaddch(w,v   ,u,   m[u
 
][               v]&   64?   60:         46)         ;if         (m[   u][
v]&16){c(u,v);;   ;;;   ;;;   return;}}   }else{int   f=X   -(Y>>1);;   while
 (
v   !=y         ){f   >=0         ?u   +=S,               f-=         Y:0
 
;v   +=s   ;f+=X;m[u][v]|=   32;mvwaddch(w,v   ,u,m[u][v]&64?60:46);if(m[u
 
][                     v]&         16)   {c(   u,v                     );
  ;   return;;;}}}}
Z(   int/**/a,   int   b){   }e(   int/**/y,int/**/  x){
int               i ;         for         (i=         a;i               <=a
+S;i++)d(y,x,i,b),d(y,x,i,b+L);for(i=b;i<=b+L;i++)d(y,x,a,i),d(y,x,a+   S,i
 
);                     ;;;         ;;;         ;;;               ;;;   ;
  
mvwaddch(w,x,y,64);   ;;;   ;;;   ;;;   prefresh(   w,b,a,0,0   ,L-   1,S-1
);}             main(         int               V ,   char              *C[
  ]   ){
FILE*f=   fopen(V==1?"arachnid.c"/**/   :C[   1],"r");int/**/x,y,c,
v=0         ;;;      initscr              ();               Z(Z         (raw
 
()   ,Z(   curs_set(0),Z(1   ,noecho()))),keypad(    stdscr,TRUE));w   =newpad
  
(   300,  300               ) ;   for         (x=   255   x   >=0   ;x--
  )   for   (
y=   255   ;y>=0;y--   )m[   x][   y]=   0;x=y=0;refresh( );while
  (   (
c=                           fgetc (f)   )+1)                    {if(
0||c==10||  x==   256){x=0;y++;if(y==256  )break;;}   else{m[x][y]=(c   ==
'~'   ?64   c   ==32              ?0:         16)   ;;x               ++;
      }}for(
x=0   ;x<   256;x++)m   [x][0]=16   ,m[   x][   255]=16;for(y=0
;y<         256   y         ++)   m[0         ][y   ] =               16,
m[255][y]   =16   ;a=b=c=0;   x=y   =1;   do{v++;mvwaddch   (w,   y,x   ,m[
x][         y]&               32?   m[x                     ][y   ] &   16?
 
0|   acs_map[l[m[x][y]&15]]:46 :   32);c==0163&&!(m[x][y+1]&16)?y++:   0;c
 
==   119         &&!         (m[                                       x][
 
y-   1]&   16)   ?y--:0;;c   ==97  &&!(m[x-1][y]&16)?x--:0;c==100&&!(m[x+1
 
][   y]&   16)         ? x   ++:0              ;if(                    c==
 
3-   1+1   ){endwin(   );;   return(0)   ;}x   -a<5?a>S-   5?a-=S-5:(a=0):
0;x               -a>         S-5?a<255   -S*         2?a               +=S
-5:(a=256-S):0;   y-b<5?b>L-5?b-=L-5:(b   =0)   :0;   y-b>L-5?b<255-L   *2?
b+=                                       L-5   :(b                     =256
-L)   :0;e(x,y);if(m[x][y]&64)break;}while((c=getch())!=-1);endwin();cu(Q);
printf(Q,v);} 
RETO A QUE IMITEN ESTO EN DELPHI.

P.D: Ese codigo FUNCIONA. Obvio, con PERL SE PUEDE PEOR:

Código PHP:
  #:: ::-| ::-| .-. :||-:: 0-| .-| ::||-| .:|-. :||
                  
open(Q,$0);while(<Q>){if(/^#(.*)$/){for(split('-',$1)){$q=0;for(split){s/\|
                  
/:.:/xg;s/:/../g;$Q=$_?length:$_;$q+=$q?$Q:$Q*20;}print chr($q);}}}print"\n";
                  
#.: ::||-| .||-| :|||-| ::||-| ||-:: :|||-| .:| 
Pero NADA LE GANA A APL:

http://www.microapl.co.uk/apl/learn_apl.html
Código:
X ← 3 3⍴÷⍳9  ⋄ Y ← DATA[⍋DATA] ⍝ A comment
__________________
El malabarista.

Última edición por mamcx fecha: 12-10-2011 a las 01:21:40. Razón: Mejores ejemplos!
Responder Con Cita
  #4  
Antiguo 12-10-2011
Avatar de Julián
Julián Julián is offline
Merodeador
 
Registrado: may 2003
Ubicación: en mi casa
Posts: 2.020
Poder: 10
Julián Va por buen camino
Cita:
Empezado por Julián Ver Mensaje
Se puede escribir tan horriblemente con delphi como con c. Y se puede escribir muy bien tanto con uno como con otro.

Nunca entederé a quienes sostienen que tal o cual lenguaje es horrible porque use {llaves} en lugar de "begin" y "end". Que me digan (yo mismo lo digo) que java es lento porque es interpretado o porque produce aplicaciones muy feas pues vale, pero no entendería que es horrible por usar {llaves}.
Cita:
Empezado por mamcx Ver Mensaje
No se puede. Prueba definitiva?

Bsucar en google:

delphi obfuscate code
c obfuscate code
perl obfuscate code

Veran que no hay ejemplos de codigo obscurecido a mano en delphi, en cambio hay hasta TUTORIALES para hacerlo en c & perl.

Sí, de acuerdo, pero yo no me refería a escribir código ofuscado u obscurecido, cosa que se suele hacer intencionadamente. Me refería a escrir mal código, código horrible. Código dificil de entender, dificil mantener. O imposible. O sea, la clase de código que resulta de la falta de conocimientos, de la incompetencia, de las prisas, de la desidia, de la ausencia de planificación o de analisis. Seguro que todos nos hemos encontrado alguna vez con un código fuente de esos que lo miras y te dan ganas de buscar al autor para denunciarlo o matarlo.

No me acuerdo quien dijo que cualquier mal programador es capáz de escribir código que las maquinas entiendan, pero que sólo un buén programador puede escribir código que entiendan las personas.

Y en delphi he visto mucho código malo, malisimo. A eso me refería, no a la ofuscación.

Un saludo!
__________________
"la única iglesia que ilumina es la que arde"
Anonimo
Responder Con Cita
  #5  
Antiguo 12-10-2011
Avatar de mamcx
mamcx mamcx is offline
Moderador
 
Registrado: sep 2004
Ubicación: Medellín - Colombia
Posts: 3.918
Poder: 25
mamcx Tiene un aura espectacularmamcx Tiene un aura espectacularmamcx Tiene un aura espectacular
Ok Julian, es claro que se puede escribir código como mencionas en lo que sea, pero tambien lo es en mi opinion que hay lenguajes en donde es natural escribir "mal" porque la sintaxis, porque hace parte intrinseca del mismo. La legibilidad del codigo tambien es un atributo del diseño del lenguaje.

Se puede ir en contra o a favor, pero el punto es que requiere esfuerzo semi-conciente del humano hacerlo.

Si debe esforzarse por hacerlo legible, entonces es contra.
Si no debe esforzarse por hacerlo ilegible, tambien es contra.

Una observacion que muchos hemos tenido sobre los lenguajes derivados del C (y el C mismo... los ejemplos de arriba eran en C, no C++) es que por ser optimizados para ahorrar caracteres, atentan de forma intrinseca y fundamental contra la legibilidad del codigo. Que es otra manera de decir que cuestan tiempo, y dinero perdido, a los desarrolladores y empresas, y que perjudican la calidad de los sistemas creados. Un ambiente de pensamiento hostil, donde es natural hacer cosas complicadas, entrena mentes en seguir esa linea de pensamiento. Es un efecto que se nota mucho en muchos programadores: El lenguaje afecta la forma de pensar y atacar los problemas.

Pero afortunadamente, dan para discutir muy bueno!
__________________
El malabarista.
Responder Con Cita
  #6  
Antiguo 12-10-2011
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
Una observacion que muchos hemos tenido sobre los lenguajes derivados del C [...] es que por ser optimizados para ahorrar caracteres, atentan de forma intrinseca y fundamental contra la legibilidad del codigo. Que es otra manera de decir que cuestan tiempo, y dinero perdido, a los desarrolladores y empresas, y que perjudican la calidad de los sistemas creados. Un ambiente de pensamiento hostil, donde es natural hacer cosas complicadas, entrena mentes en seguir esa linea de pensamiento. Es un efecto que se nota mucho en muchos programadores: El lenguaje afecta la forma de pensar y atacar los problemas.
Sinceramente creo que es una opinión muy exagerada, y que nos pone a los humanos como seres poco aptos para trabajar con la abstracción.

Como comenté en alguna ocasión anterior, haciendo un paralelismo, las matemáticas son una disciplina en la que el uso de símbolos es fundamental. Desde luego que quien no está entrenado para ello, le será difícil leer un texto matemático. Pero eso no es impedimento para que se trabaje con la simbología correctamente, leida por ojos humanos (las matemáticas no están hechas para ser leidas por una máquina) y la productividad no está peleada con la simbología, es más, sería impensable actualmente, hacer matemáticas con lenguaje natural.

Lo mismo sucede con los lenguajes de programación. Pretender que el uso de llaves en lugar de begin-end atenta contra la productividad es simplemente decir: no me gustan las llaves y entonces argumento esto, opinión, desde luego que es válida, pero no por las razones esgrimidas.

// Saludos
Responder Con Cita
  #7  
Antiguo 13-10-2011
Avatar de mamcx
mamcx mamcx is offline
Moderador
 
Registrado: sep 2004
Ubicación: Medellín - Colombia
Posts: 3.918
Poder: 25
mamcx Tiene un aura espectacularmamcx Tiene un aura espectacularmamcx Tiene un aura espectacular
Cita:
Empezado por roman Ver Mensaje
Como comenté en alguna ocasión anterior, haciendo un paralelismo, las matemáticas son una disciplina en la que el uso de símbolos es fundamental. Desde luego que quien no está entrenado para ello, le será difícil leer un texto matemático. Pero eso no es impedimento para que se trabaje con la simbología correctamente, leida por ojos humanos (las matemáticas no están hechas para ser leidas por una máquina) y la productividad no está peleada con la simbología, es más, sería impensable actualmente, hacer matemáticas con lenguaje natural.
Eso presupone, realmente, que la sintaxis de los simbolos matematicos son la MEJOR aproximacion a un lenguaje comprensible para el humano que necesita expresarse y comunicarse con otros matematicos.

La evidencia circunstancial demuestra lo contrario.

Una vez superado la simbologia de la aritmetica elemental, la matematica se convierte en una barrera tremenda para la MAYORIA de las personas. Personas, que como expresas, son totalmente capaces del pensamiento abstracto y lo utilizan todo el tiempo,exitosamente, con la muy marcada excepcion de las matematicas.

Tengan en cuenta que todo lenguaje escrito ES una abstracion visual. Por ejemplo, el chino.

Como es que millones de chinos, saben escribir y leer en chino (que es por mucho mas complejo de lo normal) pero no igualmente son exitosos con las matematicas?


Un sitio que explica de forma genial el punto:

KillMath
http://worrydream.com/KillMath/

Cita:
The power to understand and predict the quantities of the world should not be restricted to those with a freakish knack for manipulating abstract symbols.

En resumen (aunque la lectura vale MUCHO la pena), es esta la mejor forma de explicarlo?

Cita:
When I was in high school, I would go down to the local college a few times a week to learn about differential equations. One day, after the instructor solved a second-order equation, say:



he threw out an offhand question: "Why do you think the solution has two arbitrary constants?"

I was confused by the question. It does because it does, I thought. I could see how the solution would have two degrees of freedom, that made sense to me, but it never occurred to me that there was some deeper cause.

The instructor continued, "Because you're integrating twice." And then moved on to some other subject while my young brain twisted into a knot.
La madre pal que sea capaz de siquiera entender la pregunta!

P.D: En contexto, todos los presentes en la clase ya saben matemáticas a un nivel avanzado. Entienden los conceptos, saben que es una ecuación de segundo orden y todo lo demás. Aun así, no pueden utilizando el lenguaje matematico inferir el problema y el porque de la pregunta.

En mi caso personal, a pesar de tener las calificaciones mas altas de mi escuela en los examenes del estado, mi desempeño en matemáticas (y aun peor en química - que bestia salvaje invento esa notación y nombres??? -) es pésimo. Lo terrible es que entiendo muy bien las cosas, pero no soy capaz con la simbologia. Siempre me ha parecido terrible.

En mi opinion, el lenguaje de las matemáticas es como el C con aberraciones de assembler. Siempre he deseado uno como el pascal o el python, uno que realmente me permite "leer" matemáticas, en vez de interpretar símbolos raros.

Incluso, hacer matemáticas usando un lenguaje de programación es mucho mejor. Recuerdo que implemente unos algoritmos de grafos sin mucho lio, pero JAMAS BASANDOME EN LAS FORMULAS MATEMATICAS!

Nunca d elos jamases pude entender la formula, no me dice nada de nada. (Y eso que estudie hasta calculo 2). En cambio, la descripcion *textual*? Paff!!! de una la iluminación.

Es un punto grande a favor que existan unos cuantos capaces de interpretar el simbolismo matematico. Pero decir que es un buen ejemplo de como hacer lenguaje de inter-comunicacion entre humanos? Ni de locos.

----------
Oh, una mejor seccion del texto, el punto clave:

Cita:
People don't actually use math-beyond-arithmetic in their lives, just like they don't use the inverse-square law or the periodic table.

Which is the premise of this project, of course -- people don't use math. But everyone seems to believe, if only math were taught better, they would use it! And my position (and the entire point of the project) is: No. Teach the current mathematical notation and methods any way you want -- they will still be unusable. They are unusable in the same way that any bad user interface is unusable -- they don't show the user what he needs to see, they don't match how the user wants to think, they don't show the user what actions he can take.
Y un CONTRA-argumento que los mejores matematicos realmente usan el lenguaje matematico para pensar:

Cita:
Alan Kay: Doing With Images Makes Symbols

Jacques Hadamard, the famous French mathematician, in the late stages of his life, decided to poll his 99 buddies, who made up together the 100 great mathematicians and physicists on the earth, and he asked them, "How do you do your thing?" They were all personal friends of his, so they wrote back depositions. Only a few, out of the hundred, claimed to use mathematical symbology at all. Quite a surprise. All of them said they did it mostly in imagery or figurative terms. An amazing 30% or so, including Einstein, were down here in the mudpies [doing]. Einstein's deposition said, "I have sensations of a kinesthetic or muscular type." Einstein could feel the abstract spaces he was dealing with, in the muscles of his arms and his fingers...

The sad part of [the doing -> images -> symbols] diagram is that every child in the United States is taught math and physics through this [symbolic] channel. The channel that almost no adult creative mathematician or physicist uses to do it... They use this channel to communicate, but not to do their thing. Much of our education is founded on those principles, that just because we can talk about something, there is a naive belief that we can teach through talking and listening.
__________________
El malabarista.

Última edición por mamcx fecha: 13-10-2011 a las 23:10:25. Razón: Mejorar los quotes
Responder Con Cita
  #8  
Antiguo 13-10-2011
Avatar de Julián
Julián Julián is offline
Merodeador
 
Registrado: may 2003
Ubicación: en mi casa
Posts: 2.020
Poder: 10
Julián Va por buen camino
Cita:
Empezado por mamcx Ver Mensaje
Ok Julian, es claro que se puede escribir código como mencionas en lo que sea, pero tambien lo es en mi opinion que hay lenguajes en donde es natural escribir "mal" porque la sintaxis, porque hace parte intrinseca del mismo. La legibilidad del codigo tambien es un atributo del diseño del lenguaje.
Bueno, puedo estar de acuerdo, y lo estoy, claro, en que hay lenguajes cuya sintaxis es mas críptica o retorcida que otros. Y tambien puedo estar de acuerdo, y lo estoy, en que hay lenguajes que se prestan mas fácilmente que otros a producir mal código. Cosa que has argumentado tu mismo numerosas veces y muy brillantemente.
Pero para eso se precisa de la incompetecia del que lo escribe, pues el que escribe buen código lo escribe bién sea cual sea el lenguaje que use.

Cualquiera puede escribir un churro mal indentado, con nombres de variables en aleman o en chino, con una estrctura de directorios y archivos penosa, llena de dependencias, sin prefijos, ni sufijos, o sin control de errores. En cualquier lenguaje se puede usar un if o un for cuando no se debe, y cienmil cosas mas.

Opino lo mismo que roman, lo mismo dá usar llaves que begin y ends. Lo importante es hacerlo como es debido. Si acaso lo que no me gusta de lenguajes como PHP es el tipado. Eso de que puedas usar una variable sin declararla me parece toda una falta de educación y de deportividad.


Cita:
Empezado por mamcx Ver Mensaje
Pero afortunadamente, dan para discutir muy bueno!
Si señor. Nada hay mas saludable para el cerebro que una discusión, pues ademas de mantener y aumentar la actividad de las conexiones neuronales sirve para aprender, para confrontar opiniones, para ver las cosas desde otros puntos de vista. La capacidad de cambiar de opinión es la capacidad de mejorar.

Un saludo!
__________________
"la única iglesia que ilumina es la que arde"
Anonimo
Responder Con Cita
  #9  
Antiguo 13-10-2011
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
No me gusta mucho hacer referencias a mi bitácora pero, para quien disponga de tiempo (y tolerancia hacia dialécticas que se prolongan durante semanas ), a partir de este comentario y casi hasta el final de esa lista expongo varios argumentos que tienen relación con lo que aquí se está discutiendo y también con este otro tema. Agradecería que eviten refutarlos mientras no se agote su lectura, aunque de antemano les ofrezco una disculpa por la mezcla de temas que hay en esa discusión.

Ahí mismo expresé algo parecido a lo que menciona mamcx (+1 ) sobre la legibilidad del código.

Un controvertido abrazo.

Al González.
Responder Con Cita
  #10  
Antiguo 14-10-2011
Avatar de RONPABLO
[RONPABLO] RONPABLO is offline
Miembro Premium
 
Registrado: oct 2004
Posts: 1.514
Poder: 21
RONPABLO Va por buen camino
#1 y #2 curioso... se repitieron o Julian es un robot y nunca nos había dicho nada
__________________
"Como pasa el tiempo..... ayer se escribe sin H y hoy con H"
Responder Con Cita
  #11  
Antiguo 12-10-2011
Avatar de Crandel
[Crandel] Crandel is offline
Miembro Premium
 
Registrado: may 2003
Ubicación: Parana, Argentina
Posts: 1.475
Poder: 23
Crandel Va por buen camino
Nadie dice que sea un mal lenguaje, se puede y se realizaron excelentes programas con él. Yo mismo lo utilizo bastante según mis necesidades, pero no siento el mismo placer programando en él como con otros lenguajes.

y no solo uno dice que es horrible:

Linus Torvalds: Why C++ Sucks

Cita:
According to Torvalds — yes, the Linus of Linux — C++ leads to really really bad design choices. He says that developers "invariably start using the 'nice' library features of the language like STL and Boost and other total and utter crap," that may "help" you program, but they cause infinite amounts of pain when they don't work and inefficient abstracted programming models.
__________________
[Crandel]
Responder Con Cita
  #12  
Antiguo 12-10-2011
Avatar de mamcx
mamcx mamcx is offline
Moderador
 
Registrado: sep 2004
Ubicación: Medellín - Colombia
Posts: 3.918
Poder: 25
mamcx Tiene un aura espectacularmamcx Tiene un aura espectacularmamcx Tiene un aura espectacular
Cita:
Empezado por Crandel Ver Mensaje
Nadie dice que sea un mal lenguaje
Nadie lo dice, excepto Linus Torvalds?

Bueno, yo tambien lo digo. Todo engendro del C es horrible de nacimiento, y requiere mucha cosmetica para hacerlo medio decente.

Y eso que trabajo objective-c a la lata estos dias...
__________________
El malabarista.
Responder Con Cita
  #13  
Antiguo 12-10-2011
Avatar de Casimiro Notevi
Casimiro Notevi Casimiro Notevi is offline
Moderador
 
Registrado: sep 2004
Ubicación: En algún lugar.
Posts: 32.098
Poder: 10
Casimiro Notevi Tiene un aura espectacularCasimiro Notevi Tiene un aura espectacular
Cita:
Empezado por Crandel Ver Mensaje
Nadie dice que sea un mal lenguaje, se puede y se realizaron excelentes programas con él. Yo mismo lo utilizo bastante según mis necesidades, pero no siento el mismo placer programando en él como con otros lenguajes.

y no solo uno dice que es horrible:

Linus Torvalds: Why C++ Sucks
Bueno, no es lo mismo C que C++, realmente hay muuuuucha diferencia.
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
Programación de Android de forma "super visual" rrf Noticias 3 15-07-2010 06:11:02
Error "Oxygene no es un lenguaje admitido" mamen .NET 0 28-05-2010 12:44:10
¿Es legal comprar un lenguaje delphi de "segunda mano"? rrf Varios 6 20-12-2009 19:06:19
Primer avance del libro "Programación con Delphi Prism" markdelphi Noticias 23 04-02-2009 03:09:44
EOleSysError "No se ha llamado a CoInitialize". FPCTRL_OCX Gaby123 Varios 1 23-01-2007 18:04:22


La franja horaria es GMT +2. Ahora son las 18:47:44.


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