Cual Es El Lenguaje De Programacion Mas Facil De Aprender?

Lucassss dijo:
Un lenguaje simple es Smalltalk. Es un lenguaje orientado a Objetos puro y creo que es perfecto para empezar.
Los ambientes mas populares para usar Smalltalk son Squeak y VisualWorks. En particular Squeak es un ambiente super completo, con soporte para animaciones 3D, audio, video, y todo en la imagen estandar.

En Smalltalk solo hay que aprender muy poquitas cosas para empezar, a diferencia de lenguajes estructurados como los C o Java, donde hay nociones de tipos, compilaciones y demás.

Saludos,
Lucas.
Bueno la verdad no conocia el lenguaje e investigando me encontre que es un lenguaje mas bien orientado al estudio infantil para que los niños comienzen a saber de programación asi que no creo que sea un lenguaje propio para comenzar en un ambito que vas a usar en tu profesionalismo, creo que deben de comenzar por C ya que la mayoria de las universidades de colombia enseñan este lenguaje y es muy poderoso.
aquin dejo un link de todo acerca de Smalltalk:
http://swiki.agro.uba.ar/small_land/65
---------------------------------------------------
 
Smalltalk es un lenguaje muy poderoso e igualmente simple. Por eso se lo puede utilizar para enseñar a niños, pero también se lo puede usar para hacer, realmente, lo que se quiera.
Para tener en cuenta, es un lenguaje totalmente dinámico y algo interesante: Smalltak está hecho en Smalltalk. El hecho de que no tenga cosas primitivas hace que el lenguaje se extienda a si mismo.
También hay que tener en cuenta que es un lenguaje orientado a objetos puros, cosa que no es ninguno de los que se han nombrado hasta ahora. Esto quiere decir que todo lo que haya en el sistema son objetos.

Cuando mas arriba decía que se puede hacer lo que se quiera, quiere decir eso. Desde la simpleza de este lenguaje, uno puede jugar al nivel que quiera (bien abajo o con la mayor abstracción posible). Se tiene un nivel de reflection increible. Se puede trabajar a nivel de instancias, de clases o de metaclases. Esto quiere decir que uno podría modificar una clase en runtime, trabajar con el compilador con el contexto como si fueran clases propias.

Para no hacer muy largo este mensaje les dejo este link:
http://www.smalltalk.org/main/
Y para algo mas técnico, pueden ver cualquier conferencia de OOP (Object Oriented Programming), como por ejemplo, OOSPLA.

Y si quieren, puedo seguir hablándoles de este maravilloso lenguaje.

Saludos,
Lucas.
 
Lucassss dijo:
Smalltalk es un lenguaje muy poderoso e igualmente simple. Por eso se lo puede utilizar para enseñar a niños, pero también se lo puede usar para hacer, realmente, lo que se quiera.
Para tener en cuenta, es un lenguaje totalmente dinámico y algo interesante: Smalltak está hecho en Smalltalk. El hecho de que no tenga cosas primitivas hace que el lenguaje se extienda a si mismo.
También hay que tener en cuenta que es un lenguaje orientado a objetos puros, cosa que no es ninguno de los que se han nombrado hasta ahora. Esto quiere decir que todo lo que haya en el sistema son objetos.
Se equivoca, Ruby es un lenguaje orientado a objetos puro, de hecho tiene mucha influencia de Smalltalk
 
krawek dijo:
Se equivoca, Ruby es un lenguaje orientado a objetos puro, de hecho tiene mucha influencia de Smalltalk

No me quiero ir del tema que se está discutiendo, pero quiero aclarar el caso de Ruby. Este es un muy buen lenguaje de programación, pero no es orientado a objetos PURO.
Te doy un ejemplo (sacado de http://www.rubycentral.com/book/tut_expressions.html):

kind = case year
when 1850..1889 then "Blues"
when 1890..1909 then "Ragtime"
when 1910..1929 then "New Orleans Jazz"
when 1930..1939 then "Swing"
when 1940..1950 then "Bebop"
else "Jazz"
endLa regla inquebrantable de la orientación a objetos es que: "Todo lo que tenemos son objetos, y éstos interactuan enviándose mensajes". Esto quiere decir que siempre tendremos algo de la forma: objeto.mensaje().
Fijate que en el ejemplo anterior, la sentencia case no cumple con la regla, ya que la sentencia no se le envía a nadie (No hay algo: OBJETO.case). De la misma manera tenemos las demas sentencias condicionales (if) y de iteración (while, loop).
En Smalltalk, estas sentencias no existen como tales, sino que son mensajes que se le envían a una instancia de Boolean.

Es solo por esto que digo que Ruby no es orientado a objetos PURO, sino mas bien híbrido. Pero es cierto que tomó cosas de Smalltalk.
Y es también por todo esto que digo que Smalltalk es ideal para comenzar a programar, ya que no hay que aprender las cosas del estilo sentencias especiales, operaciones primitivas ni otras cosas similares.

Me parece que este es un tema interesante para charlar. Si les interesa, podemos crear otro tema, sobre Objetos. ¿Qué les parece?

Saludos,
Lucas.
 
Lucassss dijo:
No me quiero ir del tema que se está discutiendo, pero quiero aclarar el caso de Ruby. Este es un muy buen lenguaje de programación, pero no es orientado a objetos PURO.
Te doy un ejemplo (sacado de http://www.rubycentral.com/book/tut_expressions.html):

kind = case year
when 1850..1889 then "Blues"
when 1890..1909 then "Ragtime"
when 1910..1929 then "New Orleans Jazz"
when 1930..1939 then "Swing"
when 1940..1950 then "Bebop"
else "Jazz"
endLa regla inquebrantable de la orientación a objetos es que: "Todo lo que tenemos son objetos, y éstos interactuan enviándose mensajes". Esto quiere decir que siempre tendremos algo de la forma: objeto.mensaje().
Fijate que en el ejemplo anterior, la sentencia case no cumple con la regla, ya que la sentencia no se le envía a nadie (No hay algo: OBJETO.case). De la misma manera tenemos las demas sentencias condicionales (if) y de iteración (while, loop).
En Smalltalk, estas sentencias no existen como tales, sino que son mensajes que se le envían a una instancia de Boolean.

Es solo por esto que digo que Ruby no es orientado a objetos PURO, sino mas bien híbrido. Pero es cierto que tomó cosas de Smalltalk.
Y es también por todo esto que digo que Smalltalk es ideal para comenzar a programar, ya que no hay que aprender las cosas del estilo sentencias especiales, operaciones primitivas ni otras cosas similares.

Me parece que este es un tema interesante para charlar. Si les interesa, podemos crear otro tema, sobre Objetos. ¿Qué les parece?

Saludos,
Lucas.

Sólo conozco ruby por este foro, pero ese ejemplo no indica que no sea de objetos puro, finalmente ese case está asignando una cadena a una variable, esa variable puede ser utilizada más adelante con algún objeto.

¿O es que Objetos Puros significa que no se usen variables? saquenme de esa duda, tal vez hoy pueda aprender algo más.
 
SpectrumCR dijo:
Sólo conozco ruby por este foro, pero ese ejemplo no indica que no sea de objetos puro, finalmente ese case está asignando una cadena a una variable, esa variable puede ser utilizada más adelante con algún objeto.

¿O es que Objetos Puros significa que no se usen variables? saquenme de esa duda, tal vez hoy pueda aprender algo más.

Tenés razón en cuanto a lo que hace ese código, pero no tiene nada que ver el uso de variables con la POO.
Te doy un ejemplo con la sentencia if, que creo va a servir mejor:

if (persona.edad > 18)
print "Es mayor de edad."
else
print "Es menor de edad"

Lo que yo digo es que la sentencia if (al igual que print) no es un mensaje que se le envíe a un objeto, sino que es una sentencia especial. (Notar la diferencia entre mensaje y sentencia).
El mismo ejemplo en Smalltalk:

(persona edad > 18) ifTrue:[Transcript show: "Es mayor de edad"]
ifFalse:[Transcript show: "Es menor de edad"]

En este caso los mensajes ifTrue: e ifFalse: se le envían al booleano que devuelve la comparación de la edad, y se sigue respetando el principio de "objeto mensaje".

Espero poder haber aclarado algo, sino avisen y vemos otros ejemplos.

Saludos,
Lucas.
 
Bueno no se si estoy viejo :eek:ldman: pero yo aprendi a programar con Qbasic y Pascal, pero como dices estos programas son muy viejos, podria ser mejor con C++ lo importante como han dicho todos es agarrar el concepto de armar un programa y de siempre hacerlo con logica y orden, tenes que empezar con estructuras simples, te deseo mucha suerte. :confused:
 
Vaya patada al ensamblador, asusta?. Pues es el mas facil de todos. tan fácil como que no hay lenguaje que aprender.

La diferencia que hay es que en lenguajes de alto nivel, una sóla función puede hacer un gran calculo y en ensamblador, esa función hay que hacerla pasito a pasito.

EJ.
var1 = Hex(10951); ala, en una sóla linea tenemos var1 = 2AC7

tablaHex db "0123456789ABCDEF"
lea ebx,tablaHex
lea edi,var1 ; apuntar a var1
mov edx,10951 ; valor al reg EDX
xor al,al ; borrar reg AL
shld eax,edx,4 ; meter los 4 bits más signf de edx en al y desplz edx 4 pos.
xlatb ; al = (tablaHex+al)
mov byte ptr[edi],al ; poner el primer dígito en var1
inc edi ; apuntar siguiente digito
xor al,al ; borrar reg AL
shld eax,edx,4 ; meter los siguientes 4 bits más signf de edx en al y desplz edx 4 pos.
xlatb ; al = (tablaHex+al)
mov byte ptr[edi],al ; poner el siguiente dígito en var1
inc edi ; apuntar siguiente digito
...
...

Bueno, vaya tela, cualquiera se mete con eso.

Conociendo las instrucciones (lo que hace cada una) ya lo tienes casi todo. sólo es cuestion de darle a la imaginación a la hora de resolver cualquier problema.

El codigo makina que genera el 'C' para: var1 = Hex(10951);
Es bastante mas largo que si se hace directamente en ensamblador, por muy inteligente que sea el compilador. además sera mas lento tambien.

A todo aquel que le guste programar deberia hecharle el ojo a este lenguaje, que por cierto es apasionante una vez se le pierde el respeto.

No se trata de hacer grandes aplicaciones en ensamblador, si no mas bien, de hacer ciertas funciones criticas de esa aplicacion y utilizarlas desde el lenguaje que se use habitualmente.

No es tan fiero el lobo...

Saludos
 
ojo para empesar en mi experiencia es mejor que le de de una al c++ programacion orientada a objetos que meterce con programacion estructurada despues es mas dificir contemplar otros conceptos.
 
mctalx dijo:
EJ.
var1 = Hex(10951); ala, en una sóla linea tenemos var1 = 2AC7

tablaHex db "0123456789ABCDEF"
lea ebx,tablaHex
lea edi,var1 ; apuntar a var1
mov edx,10951 ; valor al reg EDX
xor al,al ; borrar reg AL
shld eax,edx,4 ; meter los 4 bits más signf de edx en al y desplz edx 4 pos.
xlatb ; al = (tablaHex+al)
mov byte ptr[edi],al ; poner el primer dígito en var1
inc edi ; apuntar siguiente digito
xor al,al ; borrar reg AL
shld eax,edx,4 ; meter los siguientes 4 bits más signf de edx en al y desplz edx 4 pos.
xlatb ; al = (tablaHex+al)
mov byte ptr[edi],al ; poner el siguiente dígito en var1
inc edi ; apuntar siguiente digito
...
...

Ni idea de que hace eso :p :p :p
 
opino ke con python es más facil iniciarse en la programación aunke yo me inicie con visual basic...es una buena referencia pero limitada... python es más fácil y elegante.

la idea de iniciar con c++ no le recomendaria porke son lenguajes complicados...se enredaría muxo al llegar a los punteros ... xD

=)
 
kamilo_32 dijo:
opino ke con python es más facil iniciarse en la programación aunke yo me inicie con visual basic...es una buena referencia pero limitada... python es más fácil y elegante.

la idea de iniciar con c++ no le recomendaria porke son lenguajes complicados...se enredaría muxo al llegar a los punteros ... xD

=)

pues... o desarrollo software y eso punteros solo los utilice en la Universidad...:p
 
jejeejeje.. bueno pues yo de eso no se mucho pero cuando estaba dando programacion en mis primeros semestres me parecio entendible C++.. digo yo ak :p:p:p
 
«KC» AdrianaD dijo:
jejeejeje.. bueno pues yo de eso no se mucho pero cuando estaba dando programacion en mis primeros semestres me parecio entendible C++.. digo yo ak :p:p:p

tienes toda la razon!

c++ es facil.. todos los lenguajes tambien....
lo bueno de c++ es que su codigo es muy parecido a otros muy usados... puede ser el php el mismo Java.....

solo es cuestion de gustos....
Éxitos!!:p
 
Creo que la base para que un lenjuade de programacion sea facil es que tanta logica tenga la persona, ya q de ahi se desprende todo, y cualquier lenguaje de programacion se vuelve manejable.
 
Lenguaje mas facil de aprender

skullfire dijo:
quiero aprender programacion pero en uno que sea facil de aprender y no me digan que pascal y otros viejos que ay por ay porque me mareo ya eso me la han dicho varias veses asi que quiero saber de un lenguaje mas o menos novedoso o que por lo menos se este manejando actualmente[/QUOTE
=============================================================================
amigo indiscutiblemente el lenguaje mas facil de aprender es el VISUAL BASIC, quizas no sea el mas poderoso del mundo pero es muy comercial y muy bueno para aplicaciones multimedia y contables.