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 12-10-2011
Avatar de mamcx
mamcx mamcx is offline
Moderador
 
Registrado: sep 2004
Ubicación: Medellín - Colombia
Posts: 3.913
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
  #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.019
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
  #3  
Antiguo 12-10-2011
Avatar de mamcx
mamcx mamcx is offline
Moderador
 
Registrado: sep 2004
Ubicación: Medellín - Colombia
Posts: 3.913
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
  #4  
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
  #5  
Antiguo 13-10-2011
Avatar de mamcx
mamcx mamcx is offline
Moderador
 
Registrado: sep 2004
Ubicación: Medellín - Colombia
Posts: 3.913
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
  #6  
Antiguo 14-10-2011
Avatar de Delphius
[Delphius] Delphius is offline
Miembro Premium
 
Registrado: jul 2004
Ubicación: Salta, Argentina
Posts: 5.582
Poder: 25
Delphius Va camino a la fama
Como dije antes, en el post 2 que enlacé:

Cita:
¡Si hasta los matemáticos mismos señalan que a veces un exceso de simbología hace más complicado lo que puede decirse de una forma más simple!. Hay un power-point dando vuelta la red que indica, en cierta forma, con sarcasmo, el como podemos expresar que 1+1=2

En última lo que importa es que nos podamos comunicar, pero no por tener abundancia de símbolos y reducir todo a eso conseguiremos mejorar las cosas.
__________________
Delphius
[Guia de estilo][Buscar]
Responder Con Cita
  #7  
Antiguo 14-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
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 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!

[...]

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.
Estimado Mario,

Estás tergiversando los conceptos y, me atrevería a decir, deliveradamente. Porque de otra manera no entiendo como alguien de tu nivel cultural dice semejante barrabasada.

Cuando yo digo que las matemáticas de hoy serían impensables sin toda la simbología y el tenicismo actuales, no lo digo como una mera ocurrencia. Lo digo basado en la experiencia y el conocimiento que me dieron el haber estudiado la carrera de Matemáticas.

En ningún momento creo que alguien pretenda que las matemáticas pueden ser un lenguaje para que los humanos se comuniquen. Afirmar tal cosa sería una estupidez, y tal parece que es lo que interpreta el resentido que piensa que un estudiante avanzado de matemáticas no va a entender una ecuación diferencial.

Es incluso bobo pensar que los matemáticos se encuentran en la cafetería de la Facultad y en lugar de decir buenos días, dicen suma de los cuadrados de la segunda derivada de f o qué sé yo. Los matemáticos, como cualesquiera otras personas se comunican usando el lenguaje natural, y expresan sus ideas científicas en muchos casos, usando el lenguaje natural. Pero eso no basta para poder formular una teoría matemática.

Cita:
Una vez superado la simbologia de la aritmetica elemental, la matematica se convierte en una barrera tremenda para la MAYORIA de las personas
¡Pues desde luego! Pensar otra cosa sería iluso. Como lo es pensar que más alla de H20 la química es entendible para la mayoría de personas o que la biología puede entenderla cualquiera...

... o la computación.

Cada disciplina tiene su propia jerga técnica que no es sencilla de entender para los no iniciados. Y no va en demérito de nadie. Simplemente es así. Recuerdo, en mis épocas de estudiante, haber asistido al examen de grado de un compañero biólogo. Tenía yo la ingenua idea de que, por tratarse de biología, lo que dijeran ahí sería entendible. Pues no. No entendí ni papa. Nada más allá de buenos días y está aprobado.

Desde luego que cualquier disciplina, incluidas las matemáticas, pueden tratarse a nivel divulgación para el público en general, pero es eso, divulgación. Hacer ciencia ya es otra cosa.

Cierto que hay áreas de las matemáticas que se prestan al tratamiento computacional. Incluso, uno de los teoremas más famosos de la teoría de grafos terminó de demostrarse usando la computadora, una vez que se redujo el problema a un número finito de casos. Pero, de ahí a aseverar que se pueden hacer matemáticas sin el uso de la simbología, pues ya es desvariar.

No creo que nadie quiera realmente afirmar que un lenguaje de programación debe ser entendible por cualquier persona. Ni siquiera le pascal será entendido por alguien ajeno por completo a la materia. Si alguien, no profesional del campo tiene algún interés en la programación, tendrá que esforzarse un poco, y si tiene el suficiente interés, no tendrá ningún problema en entender que una llave inicia un bloque.

// Saludos
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.019
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 13-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
Con todo respeto mi buen Al, creo que sería más adecuado que citaras aquí la parte que consideras relevante al tema en lugar de hacernos buscarla entre todo lo que allí se comenta. Y aclaro que no digo esto porque me parezca mal que cites tu propio blog, de hecho no lo veo mal en lo absoluto.

// Saludos
Responder Con Cita
  #11  
Antiguo 14-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
Red face

Cita:
Empezado por roman Ver Mensaje
Con todo respeto mi buen Al, creo que sería más adecuado que citaras aquí la parte que consideras relevante al tema [...]
Lo sé, en eso tienes razón, trataré de hacerme un espacio para ello más adelante.
Responder Con Cita
  #12  
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
  #13  
Antiguo 15-10-2011
Avatar de Julián
Julián Julián is offline
Merodeador
 
Registrado: may 2003
Ubicación: en mi casa
Posts: 2.019
Poder: 10
Julián Va por buen camino
Cita:
Empezado por RONPABLO Ver Mensaje
#1 y #2 curioso... se repitieron o Julian es un robot y nunca nos había dicho nada
Vaya, es que escribo los mensajes fuera, y luego los pego y en el ultimo iba poner otra cosa pero he vuelto a meter lo mismo de ayer, Y ahora to lo que había escrito pa ponerlo nuevo lo he perdío. Gueno, tampoco era nada nuevo, Editaré el mensaje pa no ser repetitivo.

Muchas zenkius XDD
__________________
"la única iglesia que ilumina es la que arde"
Anonimo
Responder Con Cita
  #14  
Antiguo 15-10-2011
JXJ JXJ is offline
Miembro
 
Registrado: abr 2005
Posts: 2.475
Poder: 22
JXJ Va por buen camino
¿¿pa que otro lenguaje de programacion basado en C. '???

mejro hubieran agarrado delphi o pascal o ada.
para la web.
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 19:26:59.


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