¿Que lenguaje de programacion aprender primero?

Iniciado por Lutmak, Abril 06, 2010, 09:17:29 PM

Tema anterior - Siguiente tema

0 Miembros y 1 Visitante están viendo este tema.

Abril 06, 2010, 09:17:29 PM Ultima modificación: Mayo 01, 2014, 09:10:58 AM por Expermicid


Introducción 

Hola a   todos,   
Una de las preguntas más frecuentes en los foros para principiantes   es "¿Cómo iniciarse en programación?" o "¿Qué lenguaje de programación   aprender primero?". En este artículo intentaré responder a estas   preguntas, aunque habrán otros que tendrán opiniones diferentes. Para   intentar ser objetivo, me he basado en las opiniones sobre este tema de   los foros de programación.   
 
 
 
  Para   comenzar, no existe un lenguaje de programación para iniciarse en   programación, la programación se comienza sobre un papel, haciendo   algoritmos. Claro que para ver si los algoritmos funcionan puede ser más   cómodo utilizar un lenguaje de programación. En este caso lo único que   recomiendo es utilizar un lenguaje simple que no sea orientado a   objetos, ni gráfico. Una buena elección puede ser Basic, Pascal, Python y   sobretodo la sintaxis de estos últimos será de mayor utilidad más   adelante. Pero no deberiamos excluir ningun lenguaje ya que incluso el   lenguaje de una calculadora puede ser suficiente para probar algoritmos   simples. También, es bueno tener una idea de los tipos de lenguaje, de   lo que es un compilador y otras cosas generales.    A estas   alturas, ya tenemos algunas bases para comenzar a programar...algo más, no   hay que programar por programar, hay que tener un objetivo, una idea,   la necesidad de crear un programa. Aquí, yo nada puedo hacer por ti,   esto está en función de tus gustos, conocimientos,..y ahora debemos   tomar las primeras decisiones técnicas:   
¿Lenguaje orientado a objetos?   
¿Multiplataforma?   
¿Con máquina virtual?   
¿Interfaz usuario?   
¿Acceso a una base de datos? ¿Si es así, cuál?   
...   
Una vez que hayas respondido a estas interrogantes, el número de   lenguajes de programación será más reducido.   
 
A continuación vamos a ver los lenguajes de programación que   mayormente son recomendados para iniciarse en programación, teniendo en   cuenta el punto de vista del aprendizaje.   
 
Nota: existe también un medio muy lúdico para descubrir la   programación: KPL.   
KPL significa Kid's Programming Language (la página web: No tienes permitido ver los links. Registrarse o Entrar a mi cuenta).       Interfaz   impecable (colores, sonido, grafismo) y un aprendizaje de la   programación orientada a la concepción de juegos. La idea es: aprender   divirtiéndose. Si realmente no sabes nada de nada en informática ni   programación, éste puede ser la puerta de entrada. Del mismo modo, éste   es un medio para que aprendan los niños. Este programa es un freeware y   no está limitado a los juegos, y por supuesto, la página es   multilenguaje (inglés, portugués, francés y algunas lenguas nórdicas),   al igual que el programa. En cuanto al lenguaje, éste utiliza los   términos comúnmente empleados en otros lenguajes: Begin, End, Main,   False, True, etc.   

Los lenguajes de programación que podemos utilizar y una breve explicacion.-

 
Delphi/Pascal
    Una buena   solución, los compiladores y entornos de desarrollo se encuentra   gratuitamente (bajo ciertas condiciones). Podemos comenzar haciendo   pequeños programas en el Shell de Pascal y luego podemos pasar (después   de haber aprendido la noción de objeto) a cosas más potentes con   entornos gráficos gracias a Delphi (y Kylix bajo Linux). El lenguaje es   relativamente intuitivo y riguroso, la creación de interfaz gráfica es   simple, rápidamente podemos sentirnos a gusto.   
La portabilidad es mediocre pero existe hacia algunas plataformas   (Kylix...)   


Java  
Lenguaje   orientado a objetos, muy portable, sintaxis utilizada también para los   scripts de Internet (la sintaxis, no el lenguaje...). Existen gran   cantidad de entornos de desarrollo gratuitos en la web: no hay más que   elegir en función de nuestros gustos, sin embargo, no tiene la facilidad   de Delphi en lo que respecta a la interfaz gráfica. Este es un lenguaje   de "última generación" que dará una experiencia interesante a los que   deseen trabajar en informática.
     
 
  Python
 
 
Simple,   rápido, crea buenas costumbres de programación, ligero (tanto así que   pasar a otro lenguaje después se hace pesado), abierto, gran cantidad de   documentación en Internet. Este nos permite rápidamente entrar en   acción, ya sea creando scripts potentes (gracias a la programación   orientada a objetos) u otras cosas. Es también de "ultima generación" y   portable. Funciona con una máquina virtual que puede ser empaquetada   gracias a algunas clases disponibles en la web (se encuentran de todo   tipo y para todos los fines...) en un exe para distribuir la aplicación de   manera simple e independiente.   
 
 
.Net 
Es el   futuro según Microsoft, hay cosas buenas y malas en esta plataforma pero   permite programar aplicaciones gráficas de manera simple, sólo corre en   Windows y con algunas adaptaciones en Linux. Yo recomendaría C# que es   el lenguaje "nativo" de esta plataforma: su sintaxis muy similar a la de   C y Java, no hay punteros, todo se hace en un nivel de abstracción   superior a los antiguos lenguajes de Microsoft. Se compara a Java y a   Python, excepto que no es libre.
 
Smalltalk 
 
 
Para mí   el lenguaje orientado a objetos por excelencia. Gratuito, sintaxis   simple, impone un rigor sin igual en la programación orientada a   objetos. Desgraciadamente no es muy utilizado, es raro encontrar un   empleo con éste, pero da una referencia solida, y con cosas como Squeak   permiten hacer gran cantidad de cosa con él.   
 
C/C++ 
 
Estos son   buenos lenguajes, pero con una sintaxis complicada que no facilita su   aprendizaje. Además el uso de punteros hace que su uso, incluso para los   profesionales, sea complicado. La ventaja es que estos lenguajes pueden   ser utilizados en diversas plataformas (después de compilación) y que,   una vez dominados, hacen que los otros parezcan simples. Estos lenguajes   son aún muy utilizados en el mundo profesional.Utilízalo si se deseas   hacer de la informática tu profesión.   
 
 
PHP   
 
Un   lenguaje inicialmente previsto para el desarrollo de páginas web   dinámicas. Su sintaxis es muy similar a la de C++. PHP es bastante   simple de abordar y permite conectarse fácilmente a una base de datos.   Para desarrollar páginas web dinámicas, se requiere también un buen   conocimiento de Html y eventualmente de Sql si se necesita una base de   datos.   
Permite ver rápidamente el trabajo, poniéndolo en línea, y de este   modo tener los comentarios/sugerencias de los internautas.   
También podemos desarrollar otras aplicaciones que no sean para la   web con este lenguaje.   
Podemos programar de manera procedural u orientada a objetos, a   nuestra elección.   
Es un buen lenguaje pero no necesariamente el mejor para aprender.   Es potente y permisivo pero con el riesgo de aprender malas costumbres.   Especialmente en lo que respecta a las páginas web, éste no influye para   que se programe con propiedad desde el inicio.   
Si buscas un lenguaje que sea fácil de aprender, que te permita   aprender la programación orientada a objetos, y que te deje buenas   costumbres de programación, entonces elije mas bien un lenguaje como   Python.
     
 
Ada 
  Lenguaje   aún utilizado en la programación de sistemas de tiempo real. Es fácil de   aprender pero es recomendado sobretodo para los futuros informáticos,   si no, no hay mucho interés. Es mejor pasar a Ada solamente con el   objetivo del "tiempo real" ya que tiende a desaparecer.   
 
   
Lisp/Cam1... 
  Los   lenguajes funcionales son numerosos, están clasificados en dos grandes   familias: los puros (haskell) y los no puros (familia lisp). A la vez la   familia de los puros están clasificados en dos: los verdaderamente   puros, sin efecto efecto secundario (familia haskell) y la familia ML   (Caml,SML,...). La manera de programar es totalmente diferente con   relación a los otros lenguajes. La programación funcional es otra manera   de ver un programa y eso no impide por ejemplo tener un lenguaje   funcional y orientado a objetos (scala por ejemplo) o incluso un   lenguaje funcional que asocie imperativo/orientado a objetos/funcional   (Ocaml). Conocer uno de estos permite tener buenas bases y permitirá   también a las personas más orientadas a las matemáticas pasarse   suavemente a la informática. Estos por lo general son utilizados en   análisis numérico o en inteligencia artificial (pero es sólo a causa de   su origen). Podemos utilizarlos para programar todo lo que se puede   programar con otros lenguajes (la comunidad commonlisp es muy activa)   
 
 
HTML/CSS 
 
  Voy a ser   breve, escribir una página web o un sitio web en HTML es a la   programación lo que beber un vaso de agua es al alcoholismo. Aquí se   trata de presentar un documento, no de programar, y no porque se agregan   algunos scripts esto cambia gran cosa. 
  Perl 
 
  Seamos   claros, este lenguaje aparentemente simple no es en lo absoluto adaptado   al aprendizaje de la programación. Su flexibilidad y potencia pueden   hacer que adquieras malas costumbres de programación e incluso te pueden   desalentar por los errores que se están autorizados a cometer. Es mejor   comenzar aprendiendo un lenguaje riguroso, para luego explotar al   máximo Perl.
 
   Visual   Basic/Basic 
 
  Los   profesionales que han trabajado con él lo desaconsejan. Este crea malas   costumbres de programación (no es necesaria la declaración de variables,   ninguna noción de valor/referencia, tentativa fracasada de programar   con objetos,...), y además Microsoft (se trata de un lenguaje propietario)   lo ha abandonado para privilegiar a No tienes permitido ver los links. Registrarse o Entrar a mi cuenta. Para terminar, no   existe ninguna versión gratuita, por lo tanto necesariamente hay que   pagar. El sólo punto positivo que le reconocería es su lado lúdico y la   facilidad de hacer interfaces gráficas para Windows (algo que olvidaba,   tampoco es portable...), pero no es el único, si es el que te interesa,   más bien inclínate hacia Delphi o .Net
El caso de Basic es más o menos el mismo, existen compiladores   gratuitos, pero se trata de un lenguaje obsoleto que no es ni rápido, ni   portable, ni orientado a objetos, ni riguroso. Inclínate por Pascal que   te permitirá luego evolucionar hacia Delphi.   
 
 
 
Un consejo, es muy común en el mundo de la programación tener que   leer artículos en ingles, por lo que aprenderemos a programar en mejores   condiciones si podemos leer en inglés o mejor aun si lo podemos   escribir. (para hacer preguntas en los foros especializados...).   
 
Bueno, espero que haya sido lo más completo posible.   

 
PD: Iniciarse en programación, es también estar confrontado a una   espinosa cuestión: ¿Pero por qué mi programa no corre? Los mensajes de   error mostrados (o no) por los entornos de compilación o de ejecución (o   el comportamiento de los dos) a veces sumergen al principiante en una   confusión total que puede volverse exasperante. Un buen método es dar el   código a alguien con experiencia para que lo lea primero, y/o explicar a   otra persona el problema. A veces decir en voz alta nuestro   razonamiento nos pondrá en la vía correcta. Finalmente la capacidad a   programar (bien) va (a menudo) de la par con la de abstraerse de este   mundo material en el cual nos encontramos sumergidos. Bienvenido al   mundo donde nada es realmente concreto.   
 
Si te gusta demasiado la programación, quizás soñaras con ella...   Entonces ten en ese momento un papel y un lápiz (el arma de todo   informático) en el velador, toma nota de las soluciones que te vienen a   la mente y pruébalas por la mañana. 
  asi que despues de saber un poco...
de seguro ya tendras alguna idea de con cual empezar pero de todas formas...
¿Que lenguaje aprender primero?
 
 
bueno, tampoco les voy a decir 'Aprende este lenguaje o no vas a   llegar a nada!', pero voy a decirles cuales lenguajes aprender, en que   order, y porque.
1 - BASIC 

Un lenguaje muy bueno para aprender primero, principalmente si se   usa el dialecto JustBASIC. Sin embargo, no se queden mucho con este   lenguaje: una vez que tengan aprendido todo lo necesario, pasen a otro.
2 -   Pascal-Delphi 

Pascal.-Este lenguaje es bueno, muy bueno. Yo recomiendo el compilador Free   Pascal junto con Dev-Pascal. Su sintaxis es facil de aprender y sirve   para prepararse para otros lenguajes mas avanzados, como C o C++. 
 
Delphi.-Un lenguaje muy bueno y relativamente facil   de aprender. Fue usado   para crear el Ares
3-Java

Con el podemos hacer michas cosas tal como crear aplicaciones web, empresariales, de escritorio y para    celulares, muchos dicen que es el presente y el futuro.


4 -   Python-Php
[aqui puedes escojer alguno o ir directo a c++]
Python es un lenguaje orientado a objetos e imperativo, facil de   leer y poderoso.
php es mas dirigido a desarrollo web

5 - C++

 
  Es C, pero con orientacion a objetos.

Exelente post man, pero parece que andubiste teniendo problemas con las etiquetas del bbcode :P , si arreglas eso pasa de ser exelente a ser perfecto :D .

Buen post =), le servira mucho a los indescisos, y creeme que son muchos jaja .
No tienes permitido ver los links. Registrarse o Entrar a mi cuenta
No tienes permitido ver los links. Registrarse o Entrar a mi cuenta



Muy buen post! si lo hubiera leido..antes..pero bueno! ya empese y ya estoy sumergido en el lenguaje segun la lista mas dificil de aprender (C++), io estoy dandole duro al C++,aprendo cada dia mas...me parece..en mi opinion que cuando terminer de aprenderlo ( sera un largo camino) pasare a lenguaje web..ya que eso es como lo que seguira en el futuro...de que sirve saber perl o phyton..si te piden que hagas una web y te pagan 100$? si te dicen dame un programa que pueda hacer esto y esto...y solo sabes phyton y lenguajes que no espesifiquen mucho en lo que hay que hacer..pero sabes uno que los consume a todos...? bueno.. psss ese es mi plan..comence con c++, por que pense que es la base de todo ( exepto de Java y quien sabe cual otro) y estaba un poco en lo correcto..pero sigo diciendo..que...mientras mas lenguaje web sepas..mejor..eso si..con c++ aterrizo en el mundo y ya sabre que aprender en cada uno de los lenguajes.. les recomiendo que visiten el lado de C/C++ ya que es uno de los lenguajes basicos y rais de mucho...en fin..esa es solo mi opinon..aunque empesar por lo facil y terminar por lo dificil..no le veo nada de malo...
Saludos!
No tienes permitido ver los links. Registrarse o Entrar a mi cuenta

listo ya arregle el post...
no abia podido estar en internet pero ya regrese
y lo que dices dharok pues yo veo muy pesado c++ pero dicen que es un lenguaje fuerte este post lo hise para quitar algunas dudas que yo alguna ves tuve pero es solo una recomendacion...
yo personalmente aprendere delphi [tambien sirve para aprender sql por lo mismo de que se puede conectar a bases de datos facilmente] despues java y por ultimo algun lenguaje web aunque tarde o temprano tendre que aprender un poco de cada uno.....

Mayo 08, 2010, 08:41:48 AM #4 Ultima modificación: Mayo 08, 2010, 08:44:15 AM por H4ZIR
No tienes permitido ver los links. Registrarse o Entrar a mi cuenta
Muy buen post! si lo hubiera leido..antes..pero bueno! ya empese y ya estoy sumergido en el lenguaje segun la lista mas dificil de aprender (C++), io estoy dandole duro al C++,aprendo cada dia mas...me parece..en mi opinion que cuando terminer de aprenderlo ( sera un largo camino) pasare a lenguaje web..ya que eso es como lo que seguira en el futuro...de que sirve saber perl o phyton..si te piden que hagas una web y te pagan 100$? si te dicen dame un programa que pueda hacer esto y esto...y solo sabes phyton y lenguajes que no espesifiquen mucho en lo que hay que hacer..pero sabes uno que los consume a todos...? bueno.. psss ese es mi plan..comence con c++, por que pense que es la base de todo ( exepto de Java y quien sabe cual otro) y estaba un poco en lo correcto..pero sigo diciendo..que...mientras mas lenguaje web sepas..mejor..eso si..con c++ aterrizo en el mundo y ya sabre que aprender en cada uno de los lenguajes.. les recomiendo que visiten el lado de C/C++ ya que es uno de los lenguajes basicos y rais de mucho...en fin..esa es solo mi opinon..aunque empesar por lo facil y terminar por lo dificil..no le veo nada de malo...
Saludos!

Bueno amigo dejame decir sin la intension de ofenderte, pero ese comentario ke as exo es bastante ignorante ,es mas creo ke no sabes nada del tema de lenguajes de programacion  , como dices ? "deke sirve perl o phyton? si despues te piden una web i te pagan 100$ ?"  o.O ...... para ti el perl o el phyton solo sirven para desarollo de webs ? :P  , man simplemente deverias de aprender a usar el San Google para informarte mejor y despues comentar .Perl es la deriva de lenguaje C ,soporta tanto programacion estructurada como programacion orieantada a objetos y la programacion funcional ,  es un lenguaje imperativo ,con variables, xpresiones, asignaciones, blokes de código delimitados por yaves, estructuras de control y subrutinas, se usa en un amplio rango en  administracion de sistemas , desarollo web , programacion en red o desarollo de gui . :P Phyton es otro lenguaje de programacion de alto nivel y puede dar solucion a muxos problemas de diferentes tipos, si buscas un poko veras ke se an desarollado grandes proyectos en phyton como la administracion de correos mailman o el servidor de aplicaciones zope , lo mas importante ...... ke muxas distribuciones de linux como el Red Hat , estan escritas parte de el o todo el instalador y software de administracion de sistemas  en phyton  ;) , o algunas de las companias ke usan phyton son el Google o Yahoo i otro mas....
Espero ke te sirva mi pekenyo discurso para aprender a buscar info i despues acer comentarios razonables y no dejar pinta de "noob" y no lo tomes como una ofensa ;)

Saludos !!!  :)

Cada uno opina lo que uno quiere...¬¬ y no digo que este mal aprender phyton o perl pero bueno...cada quien por su lado...
No tienes permitido ver los links. Registrarse o Entrar a mi cuenta

No tienes permitido ver los links. Registrarse o Entrar a mi cuenta
Cada uno opina lo que uno quiere...¬¬ y no digo que este mal aprender phyton o perl pero bueno...cada quien por su lado...

man seve ke no leiste bien lo ke puse o simplemente no entendiste lo ke te decia ahi , la cosa  no era ke cada uno opina lo ke  uno kiere , sino cada uno debe opinar cuando sabe del tal tema y no decir algo solo para decir ,  pero eske tu comentario demostro ke no sabes nada del tema , yake lo de perl i phyton  era muy absurdo y por esa razon te corregi i puse todo bien claro ! nada mas...

Siempre que alguien pregunta esto cuaento:
Cuando comense a codear, me introduje con el VB6(GRASO ERROR! <Si queieres ir en serio!>), por que pareci mas faci, y ademas
era el unico IDE con el que me sentia agusto<Tambien era del q mas habalvan en foros de Malware>! Pero o fue hasta que investigue a fondo el tema de la programacion (Y experiencias personales!)que cahi en cuenta de que :

1)VB aunque muy facil es un lenguaje casi obsoleto y poco flexible! << Crea muuy malas contumbres de programacion

2)Si vas a empesar empiesa bien >> Te recomiendo Python! <<<< Es relativamente facil, es multiplataforma y crea buenas contrumbres de programacion
y es Orientado a Objetos <<< (Importante!)!

3)No te apresures, la clave de los buenos programadores es una base solida, no pases a cosas complejas sin entender cada linea
de los programas mas sencillos!

4)Despues de que tengas experiencia en Python/Perl te recomiendo irten por "C/C++", son un poco viejos pero siguen siendo poderosos!
Si dominas estados los demas se haran pan comido.

5)El Lenguaje del presente y del futuro para mi es JAVA, de Sibtaxis como la de C/C++

6)Recuerda : 'No Importa tanto el lenguaje o el codigo, mucho mas importa la mano del que lo escribe' >> eSCOJAS LO QUE ESCOJAS sUERTE!
"La unica forma de despejar la ignorancia es preguntando!"