que lenguaje de programacion aprender primero 540 k6xvnf

6
¿Qué lenguaje de programación aprender primero? Junio 2014 ¿Qué lenguaje de programación aprender primero? Introducción Los lenguajes de programación que podemos utilizar Delphi/Pascal Java Python .Net Smalltalk Los que podemos utilizar en última instancia C/C++ PHP Ada Lisp/Caml/... Los que no podemos utilizar (x)HTML/CSS Perl Visual Basic/Basic: D 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

Upload: ivan-oliveros

Post on 07-Nov-2015

5 views

Category:

Documents


1 download

DESCRIPTION

programacion

TRANSCRIPT

  • Qu lenguaje de programacin aprenderprimero?Junio 2014

    Qu lenguaje deprogramacin aprenderprimero?

    IntroduccinLos lenguajes de programacin que podemos utilizar

    Delphi/PascalJavaPython.NetSmalltalk

    Los que podemos utilizar en ltima instanciaC/C++PHPAdaLisp/Caml/...

    Los que no podemos utilizar(x)HTML/CSSPerlVisual Basic/Basic: D

    IntroduccinHola a todos, Una de las preguntas ms frecuentes en los foros para principiantes es Cmoiniciarse en programacin? o Qu lenguaje de programacin aprender primero?. En esteartculo intentar responder a estas preguntas, aunque habrn otros que tendrn opinionesdiferentes. Para intentar ser objetivo, me he basado en las opiniones sobre este tema de losforos de programacin. Para comenzar, no existe un lenguaje de programacin para iniciarse enprogramacin, la programacin se comienza sobre un papel, haciendo algoritmos. Claro que

  • para ver si los algoritmos funcionan puede ser ms cmodo utilizar un lenguaje deprogramacin. En este caso lo nico que recomiendo es utilizar un lenguaje simple que no seaorientado a objetos, ni grfico. Una buena eleccin puede ser Basic, Pascal, Python y sobretodola sintaxis de estos ltimos ser de mayor utilidad ms adelante. Pero no deberiamos excluirningun lenguaje ya que incluso el lenguaje de una calculadora puede ser suficiente para probaralgoritmos simples. Tambin, es bueno tener una idea de los tipos de lenguaje, de lo que es uncompilador y otras cosas generales. (http://es.kioskea.net/langages/langages.php3). A estasalturas, ya tenemos algunas bases para comenzar a programaralgo ms, no hay queprogramar por programar, hay que tener un objetivo, una idea, la necesidad de crear unprograma. Aqu, yo nada puedo hacer por ti, esto est en funcin de tus gustos,conocimientos,..y ahora debemos tomar las primeras decisiones tcnicas: Lenguaje orientadoa objetos? Multiplataforma? Con mquina virtual? Interfaz usuario? Acceso a una base dedatos? Si es as, cul? Una vez que hayas respondido a estas interrogantes, el nmero delenguajes de programacin ser ms reducido. A continuacin vamos a ver los lenguajes deprogramacin que mayormente son recomendados para iniciarse en programacin, teniendo encuenta el punto de vista del aprendizaje. Nota: existe tambin un medio muy ldico paradescubrir la programacin: KPL. KPL significa Kid's Programming Language (la pgina web:http://phrogram.com/kpl.aspx). Interfaz impecable (colores, sonido, grafismo) y un aprendizaje dela programacin orientada a la concepcin de juegos. La idea es: aprender divirtindose. Sirealmente no sabes nada de nada en informtica ni programacin, ste puede ser la puerta deentrada. Del mismo modo, ste es un medio para que aprendan los nios. Este programa es unfreeware y no est limitado a los juegos, y por supuesto, la pgina es multilenguaje (ingls,portugus, francs y algunas lenguas nrdicas), al igual que el programa. En cuanto al lenguaje,ste utiliza los trminos comnmente empleados en otros lenguajes: Begin, End, Main, False,True, etc.

    Los lenguajes de programacin que podemos utilizar

    Delphi/PascalUna buena solucin, los compiladores y entornos de desarrollo se encuentra gratuitamente (bajociertas condiciones). Podemos comenzar haciendo pequeos programas en el Shell de Pascal yluego podemos pasar (despus de haber aprendido la nocin de objeto) a cosas ms potentescon entornos grficos gracias a Delphi (y Kylix bajo Linux). El lenguaje es relativamente intuitivoy riguroso, la creacin de interfaz grfica es simple, rpidamente podemos sentirnos a gusto. Laportabilidad es mediocre pero existe hacia algunas plataformas (Kylix) Para aprender Pascalhttp://www.programacionfacil.com/programacion:manual_pascal Pgina oficial Delphi (Ingls):http://www.codegear.com/en/products/delphi Desacargar Free Pascal

    JavaLenguaje orientado a objetos, muy portable, sintaxis utilizada tambin para los scripts de Internet(la sintaxis, no el lenguaje). Existen gran cantidad de entornos de desarrollo gratuitos en laweb: no hay ms que elegir en funcin de nuestros gustos, sin embargo, no tiene la facilidad deDelphi en lo que respecta a la interfaz grfica. Este es un lenguaje de ltima generacin quedar una experiencia interesante a los que deseen trabajar en informtica. Para aprender Java:

  • http://www.manual-java.com/ Lo siento, no tengo ms enlaces, no dudes en aadirlos si conocesbuenos

    PythonSimple, rpido, crea buenas costumbres de programacin, ligero (tanto as que pasar a otrolenguaje despus se hace pesado), abierto, gran cantidad de documentacin en Internet. Estenos permite rpidamente entrar en accin, ya sea creando scripts potentes (gracias a laprogramacin orientada a objetos) u otras cosas. Es tambin de ultima generacin y portable.Funciona con una mquina virtual que puede ser empaquetada gracias a algunas clasesdisponibles en la web (se encuentran de todo tipo y para todos los fines) en un exe paradistribuir la aplicacin de manera simple e independiente. Pgina oficial de Python (en ingls):http://www.python.org/ Gua de aprendizaje de Python:http://www.programacion.com/tutorial/python/

    .NetEs el futuro segn Microsoft, hay cosas buenas y malas en esta plataforma pero permiteprogramar aplicaciones grficas de manera simple, slo corre en Windows y con algunasadaptaciones en Linux. Yo recomendara C# que es el lenguaje nativo de esta plataforma: susintaxis muy similar a la de C y Java, no hay punteros, todo se hace en un nivel de abstraccinsuperior a los antiguos lenguajes de Microsoft. Se compara a Java y a Python, excepto que noes libre. Un entorno de desarrollo gratuito y Open source para .Net:http://www.icsharpcode.net/OpenSource/SD/

    SmalltalkPara m el lenguaje orientado a objetos por excelencia. Gratuito, sintaxis simple, impone un rigorsin igual en la programacin orientada a objetos. Desgraciadamente no es muy utilizado, es raroencontrar un empleo con ste, pero da una referencia solida, y con cosas como Squeakpermiten hacer gran cantidad de cosa con l. Squeak: http://www.squeak.org/ Tutorial DolphinSmalltalk: http://www.dolphinmap.net/wiki/Documentation

    Los que podemos utilizar en ltima instancia

    C/C++Estos son buenos lenguajes, pero con una sintaxis complicada que no facilita su aprendizaje.Adems el uso de punteros hace que su uso, incluso para los profesionales, sea complicado. Laventaja es que estos lenguajes pueden ser utilizados en diversas plataformas (despus decompilacin) y que, una vez dominados, hacen que los otros parezcan simples. Estos lenguajesson an muy utilizados en el mundo profesional. Utilzalo si se deseas hacer de la informtica tuprofesin. Para aprender C: http://sopa.dis.ulpgc.es/so/cpp/intro_c/ Para aprender C++:http://zator.com/Cpp/E1_2.htm Pgina de Borland C++:http://www.codegear.com/en/products/cppbuilder

  • PHPUn lenguaje inicialmente previsto para el desarrollo de pginas web dinmicas. Su sintaxis esmuy similar a la de C++. PHP es bastante simple de abordar y permite conectarse fcilmente auna base de datos. Para desarrollar pginas web dinmicas, se requiere tambin un buenconocimiento de Html y eventualmente de Sql si se necesita una base de datos. Permite verrpidamente el trabajo, ponindolo en lnea, y de este modo tener los comentarios/sugerenciasde los internautas. Tambin podemos desarrollar otras aplicaciones que no sean para la webcon este lenguaje. Podemos programar de manera procedural u orientada a objetos, a nuestraeleccin. Es un buen lenguaje pero no necesariamente el mejor para aprender. Es potente ypermisivo pero con el riesgo de aprender malas costumbres. Especialmente en lo que respectaa las pginas web, ste no influye para que se programe con propiedad desde el inicio. Sibuscas un lenguaje que sea fcil de aprender, que te permita aprender la programacinorientada a objetos, y que te deje buenas costumbres de programacin, entonces elije mas bienun lenguaje como Python. Para aprender PHP: http://geneura.ugr.es/~maribel/php/ Pginaoficial: http://www.php.net/

    AdaLenguaje an utilizado en la programacin de sistemas de tiempo real. Es fcil de aprender peroes recomendado sobretodo para los futuros informticos, si no, no hay mucho inters. Es mejorpasar a Ada solamente con el objetivo del tiempo real ya que tiende a desaparecer. Paraaprender Ada: http://www.wikilearning.com/curso_gratis/curso_de_ada-introduccion/10578-1 Losiento, no tengo ms enlaces, no dudes en aadirlos si conoces buenos

    Lisp/Caml/...Los lenguajes funcionales son numerosos, estn clasificados en dos grandes familias: los puros(haskell) y los no puros (familia lisp). A la vez la familia de los puros estn 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 relacin a los otroslenguajes. La programacin funcional es otra manera de ver un programa y eso no impide porejemplo tener un lenguaje funcional y orientado a objetos (scala por ejemplo) o incluso unlenguaje funcional que asocie imperativo/orientado a objetos/funcional (Ocaml). Conocer uno deestos permite tener buenas bases y permitir tambin a las personas ms orientadas a lasmatemticas pasarse suavemente a la informtica. Estos por lo general son utilizados enanlisis numrico o en inteligencia artificial (pero es slo a causa de su origen). Podemosutilizarlos para programar todo lo que se puede programar con otros lenguajes (la comunidadcommonlisp es muy activa) http://fr.wikipedia.org/wiki/Common_Lisphttp://www.paulgraham.com/onlisp.html http://www.scala-lang.org/index.html

    Los que no podemos utilizar

    (x)HTML/CSSVoy a ser breve, escribir una pgina web o un sitio web en HTML es a la programacin lo que

  • beber un vaso de agua es al alcoholismo. Aqu se trata de presentar un documento, no deprogramar, y no porque se agregan algunos scripts esto cambia gran cosa. Para aprenderHTML: http://es.kioskea.net/html/htmlintro.php3 Para aprender DHTML:http://www.programacion.net/html/dinamico/tutorial/principal.htm

    PerlSeamos claros, este lenguaje aparentemente simple no es en lo absoluto adaptado alaprendizaje de la programacin. Su flexibilidad y potencia pueden hacer que adquieras malascostumbres de programacin e incluso te pueden desalentar por los errores que se estnautorizados a cometer. Es mejor comenzar aprendiendo un lenguaje riguroso, para luegoexplotar al mximo Perl. Para aprender Perl: http://www.wikilearning.com/...

    Visual Basic/Basic: DLos profesionales que han trabajado con l lo desaconsejan. Este crea malas costumbres deprogramacin (no es necesaria la declaracin de variables, ninguna nocin de valor/referencia,tentativa fracasada de programar con objetos,), y adems Microsoft (se trata de un lenguajepropietario) lo ha abandonado para privilegiar a Framework.Net. Para terminar, no existeninguna versin gratuita, por lo tanto necesariamente hay que pagar. El slo punto positivo quele reconocera es su lado ldico y la facilidad de hacer interfaces grficas para Windows (algoque olvidaba, tampoco es portable), pero no es el nico, si es el que te interesa, ms bieninclnate hacia Delphi o .Net. El caso de Basic es ms o menos el mismo, existen compiladoresgratuitos, pero se trata de un lenguaje obsoleto que no es ni rpido, ni portable, ni orientado aobjetos, ni riguroso. Inclnate por Pascal que te permitir luego evolucionar hacia Delphi. Paraaprender Visual Basic: http://www.lopezdearenas.com/informatica/curso-vb.pdf Para losmatemticos, pueden intentar los lenguajes de sistemas de gestin de pruebas. Por el momento,su potencia es limitada pero se espera que se desarrollen con el tiempo. Por el momento los quems sobresalen son la familia ML o Haskel. Para Ocaml, tenemos a Coq. Los paradigmas estnbasados en la lgica. Para aprender Coq: http://coq.inria.fr/ (en ingls) Un consejo, es muycomn en el mundo de la programacin tener que leer artculos en ingles, por lo queaprenderemos a programar en mejores condiciones si podemos leer en ingls o mejor aun si lopodemos escribir. (para hacer preguntas en los foros especializados). Bueno, espero quehaya sido lo ms completo posible. ------------------------------- Puedes encontrar muchoscompiladores gratuitos para diferentes lenguajes en esta direccin:http://www.thefreecountry.com/ PD: Iniciarse en programacin, es tambin estar confrontado auna espinosa cuestin: Pero por qu mi programa no corre? Los mensajes de error mostrados(o no) por los entornos de compilacin o de ejecucin (o el comportamiento de los dos) a vecessumergen al principiante en una confusin total que puede volverse exasperante. Un buenmtodo es dar el cdigo a alguien con experiencia para que lo lea primero, y/o explicar a otrapersona el problema. A veces decir en voz alta nuestro razonamiento nos pondr en la vacorrecta. Finalmente la capacidad a programar (bien) va (a menudo) de la par con la deabstraerse de este mundo material en el cual nos encontramos sumergidos. Bienvenido almundo donde nada es realmente concreto. Si te gusta demasiado la programacin, quizssoaras con ella Entonces ten en ese momento un papel y un lpiz (el arma de todoinformtico) en el velador, toma nota de las soluciones que te vienen a la mente y prubalas porla maana.Este documento intitulado Qu lenguaje de programacin aprender primero? de Kioskea (es.kioskea.net) esta

  • puesto a diposicin bajo la licencia Creative Commons. Puede copiar, modificar bajo las condiciones puestas por lalicencia, siempre que esta nota sea visible.