• Lunes 23 de Diciembre de 2024, 03:39

Autor Tema:  Mito O Realidad?  (Leído 1777 veces)

su -

  • Moderador
  • ******
  • Mensajes: 2349
    • Ver Perfil
Mito O Realidad?
« en: Miércoles 4 de Abril de 2007, 23:30 »
0
Cuando no se nada de programacion, pregunto:

Que determina que un lenguaje (de programacion) sea facil o dificil de aprender?

Por que dicen que PHP o  Perl es mas facil que C/C++?

Por que dicen que C/C++ es mas facil que ASM?


Uds. que responderian y por que?  :scream:
*******PELIGRO LEE ESTO!!*******

There is no place like 127.0.0.1

Conecto luego existo, no conecto luego insisto.

Eternal Idol

  • Moderador
  • ******
  • Mensajes: 4696
  • Nacionalidad: ar
    • Ver Perfil
Re: Mito O Realidad?
« Respuesta #1 en: Miércoles 4 de Abril de 2007, 23:35 »
0
Supongo que en estos casos el punto estara orientado mas que nada a nivel de abstraccion y sintaxis.

Nacional y Popular En mi país la bandera de Eva es inmortal.


Queremos una Argentina socialmente justa, económicamente libre y  políticamente soberana.
¡Perón cumple, Evita dignifica!


La mano invisible del mercado me robo la billetera.

Enko

  • Miembro de PLATA
  • *****
  • Mensajes: 1562
  • Nacionalidad: 00
    • Ver Perfil
Re: Mito O Realidad?
« Respuesta #2 en: Jueves 5 de Abril de 2007, 00:07 »
0
Citar
C++ es más facil que ASM
Eso no se si está del todo bien. Habría que distinguir entre dos cosillas.

Una cosa sería  aprender la sintaxis de un lenguaje (la de assembly es creo la más facil) y otra cosa es aprender a utilizar el lenguaje para hacer algo útil.
Como ejemplo mas o menos (sean considerados con los plazos)

Realmente se puede aprender  la sintaxis del lenguaje assembly en 1 mes con buena dedicacion. Luego lleva años aprender a usarlo.

Para C++ se necesita 6 meses para aprender la sintaxis,  pero bastante menos tiempo que ASM para aprender a usarlo.

PD: No se si quedó clara la idea con los ejemplo.

su -

  • Moderador
  • ******
  • Mensajes: 2349
    • Ver Perfil
Re: Mito O Realidad?
« Respuesta #3 en: Jueves 5 de Abril de 2007, 02:06 »
0
Cita de: "Eternal Idol"
Supongo que en estos casos el punto estara orientado mas que nada a nivel de abstraccion y sintaxis.
Si.
Cita de: "Enko"
Realmente se puede aprender la sintaxis del lenguaje assembly en 1 mes con buena dedicacion. Luego lleva años aprender a usarlo.

Para C++ se necesita 6 meses para aprender la sintaxis, pero bastante menos tiempo que ASM para aprender a usarlo.

Bueno, pues en cuanto a assembly, podria ser en un par dedias (ver Pseudo-Assembly Language) y otros mas complejos meses, tal como comentas.

Entonces realmente el problema no esta (directamente) en la sintaxis, esta en el desempoño del programador.

Hmmm... que interesante, por esto cuando sabemos programar en X lenguaje es mas facil comprender el funcionamiento de otro completamente diferemte, com BASIC -> C++ o C -> Erlang.
*******PELIGRO LEE ESTO!!*******

There is no place like 127.0.0.1

Conecto luego existo, no conecto luego insisto.

Angel38

  • Miembro MUY activo
  • ***
  • Mensajes: 370
    • Ver Perfil
Re: Mito O Realidad?
« Respuesta #4 en: Jueves 5 de Abril de 2007, 08:00 »
0
Me parece que tiene que ver mucho con la abstracción  y la sintaxis, es mucho más facil aprender un programa que este ligado al lenguaje común, es decir, lineal.

También que el programador en su mente vaya creando el debug de la aplicación a medida que va leyendo el codigo, es mucho más facil si reconoce las palabras y el contexto que estas llevan, los simbolos son el enemigo número uno del programador pues no son comunes en su idioma.

Logicamente hablamos del idioma inglés, y si alguien dice que si el programador no sabe ingles pues le contesto que a diferencia del mandarin el ingles tambien es lineal y algunas palabras se parecen al Español.
[size=109]Se me olvidó instalar los Drivers de Cordura en mi Cerebro.

su -

  • Moderador
  • ******
  • Mensajes: 2349
    • Ver Perfil
Re: Mito O Realidad?
« Respuesta #5 en: Jueves 5 de Abril de 2007, 19:55 »
0
Cita de: "Angel38"
Me parece que tiene que ver mucho con la abstracción  y la sintaxis, es mucho más facil aprender un programa que este ligado al lenguaje común, es decir, lineal.
No, eso es falso en cierta forma puesto que el lenguaje es un sinbolismo y todo se hace por medio de objetos, es decir cuando dices o escribes la palabra arbol estas visualisando el arbol, ese conjunto de letras representa mas que una idea, un objeto en concreto.

Entonces, imaginate que tienes un lenguaje de programacion con una 25 funciones.
Obviamente la sintaxis es mas facil de aprender por ser mas corta pero su abstraccion es mas complicada porque su sintaxis es mas corta.

Eso quiere decir que entre menos funciones mas dificil crear un algoritmo pero a tiempo relativo de aprender/efectuar supongo que seria mas efectivo usar un lenguaje con menos sintaxis.

Pero, por que no es asi, por que los lenguajes de alto nivel se mantiene?

El nivel de complejidad brinda un mayo rango funcionalidad al momento de aplicar el lenguaje.

Imaginen hacer un programa grafico y muy grande con un lenguaje de 25 funciones que no esta diseñado para "resiclar" codigo, es decir sin OO, subfunciones todo lineal y despues traten de mantenerlo.

Entonces, C es mas facil que ASM por tener mayo complejidad sintaxica, pero a su vez, ASM es mas facil por tener menos funciones que C.

Supongo que una moneda sin dos caras es inexistente  :scream:
*******PELIGRO LEE ESTO!!*******

There is no place like 127.0.0.1

Conecto luego existo, no conecto luego insisto.

Masiosare

  • Miembro MUY activo
  • ***
  • Mensajes: 118
    • Ver Perfil
Re: Mito O Realidad?
« Respuesta #6 en: Lunes 9 de Abril de 2007, 02:23 »
0
Antes que nada dejo marcado que el tema aquí es meramente la dificultad de aprender un lenguaje, no tanto su eficiencia, ni potencia, ni otros aspectos.

Ahora sí...



Más que de la cantidad de funciones, depende de la cantidad de conceptos que hay que manejar. Los lenguajes de 'Script' y los estructurados son más fáciles de aprender que los orientados a objetos, los funcionales o lógicos, por que en los primeros no tienes que manejar conceptos como métodos, propiedades, herencia, etc...

A ver si me explico mejor con ejemplos:

Supongamos que le enseñamos programación a 3 personas que no tienen ninguna idea del tema. A una le enseñamos en BASIC, a otra le enseñamos en Pascal, y a la otra le enseñamos en C++.

Le damos a cada uno el código del 'hola mundo' en el lenguaje de programación que estan estudiando.

Basic:
Código: Text
  1.  
  2. PRINT "¡Hola mundo!"
  3.  
  4.  

Le explicamos que este es un ejemplo de una instrucción básica llamada PRINT que en español significa 'imprime', la cual muestra un dato en pantalla, seguido del print se pone lo que se va a mostrar, que en este caso es la cadena de caracteres "¡Hola mundo!".Quizá le tendrías que explicar que las cadenas de caracteres deben de ir entre comillas para que la computadora no las confunda con alguna otra instrucción o dato de otro tipo, a lo mucho le tendrías que explicar los tipos de datos simples. Creo que en este caso con esa explicación bastaría.

Pascal:
Código: Text
  1.  
  2. program holamundo (output);
  3. begin
  4.  writeln ('¡hola mundo!');
  5. end.
  6.  
  7.  

Daríamos una explicación similar, le tendriamos que incluir un poco. Que la primera linea indica que el archivo contiene un programa y dice cual es su nombre, que todas las instucciones que conforman el programa van encerrados entre las letras 'begin' y 'end', y que al final de cada instrucción va un punto y coma ( ; ).

C++:
Código: Text
  1.  
  2. #include <iostream.h>
  3.  
  4. main()
  5. {
  6.     cout << "Hello World!" << endl;
  7.     return 0;
  8. }
  9.  
  10.  

Aquí a todo lo anterior tendríamos que agregarle la explicación de que es una librería, y sobre el 'return 0' tienes 2 opciones: 1- Dar una respuesta como 'es una receta de cocina', 'es algo que el lenguaje te pide', 'es algo más complejo que te explicaré después'. Esta opción puede dejar rastros de duda que van acumulándose conforme pasa la enseñanza, o dejar una impresión de que la programación es más complicada de lo que en realidad es. o 2- Dar toda la explicación de lo que es una función, lo que quizá necesite de agobiar con otros ejemplos. *


Es más, quizá con ver estos códigos del "hola mundo" en diversos lenguajes sea suficiente para ver a lo que me refiero.

http://www.roesler-ac.de/wolfram/hello.htm



* Sin embargo el que estudia C++ tiene ventaja al momento de estudiar otros lenguajes muy usados ahora como Java, PHP, etc. por que usan las mismas estruturas de control y otras características.
El experto es aquel que sabe cada vez más sobre cada vez menos, hasta que sabe competamente todo sobre absolutamente nada.
[size=109]Ley de Murphy[/size]

Bicholey

  • Moderador
  • ******
  • Mensajes: 1234
    • Ver Perfil
Re: Mito O Realidad?
« Respuesta #7 en: Lunes 9 de Abril de 2007, 18:16 »
0
:lol:  :lol:  :lol:  :lol:



Bueno pues más que el nivel del lenguaje lo dificil es el nivel de abstraccion de cada uno de ellos lo que nos hace tener la dificultad de hacer algo util con ellos...
[size=109]LOS GATOS SIEMPRE CAEMOS DE PIE !!![/size]