|

¡Hola, mundo!Cuando buscas una aplicación que lleve a cabo una función determinada y no consigues encontrarla, te enfrentas a un triste hecho: hay programas que todavía no existen. Tal cual.

Puedes sentarte, llorar y esperar a que alguien programe esa aplicación... o puedes hacerla tú mismo. ¿Cómo? Pues aprendiendo un lenguaje de programación y creando desde cero el programa deseado.

Si decides emprender este camino de auto-aprendizaje, consulta la lista de consejos y recursos que presentamos a continuación. Quién sabe, un día podrías ver tu programa publicado en Softonic...

No me hables en chino. ¿Qué es eso de programar?

Tu ordenador es una máquina que acepta y ejecuta órdenes. Estas órdenes pueden ser tan simples como escribir una letra en la pantalla o calcular una suma, y pueden tener varias formas, dependiendo del lenguaje empleado. A un ordenador no puedes decirle lo siguiente:

Ordenador, quiero que me bajes esa caja de la estantería, la roja a la derecha.

No lo entenderá. En cambio, si escribes algo así, puede que te preste atención:

010101010111010101001010111010101010111010011010100101010110011

Ceros y unos, código máquina, el único idioma que sabe hablar un PC. Para nosotros no es práctico hablar así, con lo que recurrimos a lenguajes artificiales, que no son más que versiones simplificadas de nuestros idiomas. La frase inicial se parecería entonces a algo así:

caja.Bajar(EstanteriaRoja3) = Verdad;

Es feo, sí. Pero es mucho mejor que escribir ceros y unos, ¿no te parece? Esos puntos, espacios, puntos y coma y paréntesis sirven para delimitar exactamente lo que se quiere decir a la máquina, al igual que ocurre al escribir fórmulas matemáticas. Un ejemplo con coloreado de sintaxis:

Código Python de ejemplo

Organizadas en párrafos especiales, todas las líneas de órdenes conforman lo que se conoce como "código fuente", las entrañas de un programa. Para convertirlo en un programa ejecutable, el código se "compila", esto es, se traduce a código máquina. Si no hay fallos (bugs), el programa se abrirá normalmente.

Eso está muy bien. Pero ¿qué lenguajes hay? ¿Cuál elijo?

Como los idiomas naturales, también los lenguajes de programación tienen su léxico, sintaxis y normas de puntuación, que varían en función de la complejidad del lenguaje. Algunos son más fáciles de leer que otros, y entonces se les llama "de alto nivel", pues se aproximan al habla humana; los de bajo nivel son más "robóticos".

Lenguaje de bajo nivelLas máquinas solo hablan con ceros y unos, un lenguaje incomprensible para un humano

Para imprimir una palabra en un lenguaje de alto nivel como BASIC, basta con escribir PRINT "Hola" (print, en inglés, quiere decir "imprimir"; la mayoría de lenguajes usan palabras en inglés). En un lenguaje de nivel bajo, como el Ensamblador, la cosa cambia (no te asustes por lo que vas a ver, no son palabrotas):

SWI "OS_WriteS" EQUS "Hola" EQUB 0 ALIGN MOV PC,R14

Te estarás preguntando quién puede preferir Ensamblador frente a otros lenguajes. Es una cuestión de rendimiento: el código de bajo nivel se ejecuta más rápido y aprovecha más la potencia de la máquina a la cual está ligado, mientras que un lenguaje de alto nivel es más universal; Java, por ejemplo, se ejecuta en cualquier sistema.

Los lenguajes de programación Casi todos los lenguajes de programación están emparentados entre sí (imagen)

Hay cientos de lenguajes de programación, y, al igual que ocurre con los idiomas humanos, muchos tienen pocos "hablantes". Los hay que jamás han salido de las universidades y empresas donde los crearon, mientras que los más populares, por el contrario, se enseñan por doquier y cuentan con amplias comunidades de usuarios.

Para crear aplicaciones de escritorio, los lenguajes más populares son C/C++, Java, Python, Visual Basic y Delphi. Su estilo es parecido, con lo que pasar de uno a otro requiere menos esfuerzo que hacerlo, por ejemplo, de Basic a Ensamblador. Sobre ellos hay una infinidad de libros, cursos y foros técnicos.

Me aburro. Quiero programar ya.

¡Vale! ¿Quieres saber qué se siente al hablar directamente con el ordenador? Empieza por probar alguno de los siguientes programas y enlaces. No hace falta saber muchas matemáticas, aunque algo de inglés te vendrá bien.

1. Practica con robots virtuales

La metáfora del robot -tienes un robot y le das órdenes- ha sido usada con éxito en miles de aulas. Hay varios programas que implementan esa metáfora para enseñar los fundamentos de la programación: Guido Van Robot, RoboMind y RobotProg son tres representantes destacados. Para algo más visual, prueba Kodu.

RoboMind

2. Lenguajes de programación educacionales

Hay lenguajes para todo los gustos: industriales, militares, académicos, empresariales... y también educacionales. Estos lenguajes, como LOGO, son más fáciles de aprender y tienen menos instrucciones.

ElicaElica es un estupendo entorno de aprendizaje basado en el lenguaje LOGO

Microsoft Small Basic es el proyecto de Microsoft para enseñar programación a todos los públicos, mientras que MIT Scratch es el alabado proyecto del Massachussets Institute of Technology.

Microsoft Small Basic

3. Prueba un lenguaje directamente en el navegador

Las páginas TryRuby, TryPython y TryHaskell son demostraciones interactivas de tres de los lenguajes más potentes y amenos que existen. No necesitas instalar nada: tan solo sigue las instrucciones en pantalla y comprueba por tu cuenta lo fácil que es crear y modificar órdenes con sentido.

TryRuby

¡Quiero aprender un lenguaje de verdad!

En ese caso ármate de paciencia y toma en consideración el apuntarte a algún curso de programación. Para aprender por tu cuenta, necesitarás estos ingredientes:

Una vez hayas elegido un lenguaje, hazte con la documentación, los editores de código, el intérprete (o compilador) y mucho tiempo libre. En caso de duda, consulta foros especializados para preguntar dudas, ayudar a los demás y compartir código y conocimientos.

¿Conoces algún lenguaje de programación? ¿Te gustaría aprender uno?

Comentarios

  • HitsuByakuray |
    16/06/11
    HitsuByakuray

    Muy bueno el artículo... aunque creo que olvidaron las mejores casas de desarrollo como la familia Microsoft .NET, Oracle JAVA y Adobe Flex (ActionScript 3)

  • danilson |
    16/06/11
    danilson

    me gusta

  • Superbio1974 |
    16/06/11
    Superbio1974

    Esto es como HTML, javascript o php (que básicamente también son lenguajes de programación)... cualquiera puede montar una paginita web sencilla con dos o tres funcionalidades, pero amigo, hacer algo realmente serio y profesional no está al alcance de cualquiera.

    Eso si, recursos hay con internet para convertirte en el mayor experto de cualquier cosa que elijas.

  • Esteban Cerrato |
    16/06/11
    Esteban Cerrato

    Huy yo tengo 16 años siempre he querido programar pero no se mucho en esto no me si los codigos ni nada pero se mucho de como usar mi compu pero ese no es el caso programar seria lo mejor que podria hacer espero en el futuro aprende a hacerlo para mi es algo muy importante gracias por la informacion.

  • Henry |
    16/06/11
    Henry

    ujuyyyyyyyyyyyyyyyyyyy me paece eto ami, voy a intentarlo xq algun dia quisiera crear un programa y primero ponerlo en Softonic!!!!!!!!!!!!!!!!

  • The Kel |
    16/06/11
    The Kel

    No lo entenderá. En cambio, si escribes algo así, puede que te preste atención:

    010101010111010101001010111010101010111010011010100101010110011

    Ceros y unos, código máquina

    este 010101010111010101001010111010101010111010011010100101010110011 significa UuJꮚ•3 XD buen post

  • The Kel |
    16/06/11
    The Kel

    esta pagina traduce texto a binario y viseversa http://www.eztigma.tk/juegos/binary.php lean esto 01010100 01101000 01100101 01011111 01001011 01100101 01101100

  • Punker92 |
    16/06/11
    Punker92

    A un ordenador no puedes decirle lo siguiente:

    "Computadora, ¡Mata a Flanders!" XD

  • Camotubi |
    17/06/11
    Camotubi

    ultra fatal para superbio1974 Html no es un lenguaje de progrmacion es un codigo de diseño de paginas web

  • sv3008- Jaime Molano |
    17/06/11
    sv3008- Jaime Molano

    Permíteme felicitarte, esta actividad que realizas es loable, gracias por compartir tu conocimiento con nosotros, te felicito realmente. Por demás esta decir que el artículo está sobradisimo. Nuevamente infinitas gracias y Bendiciones para ti y tu Familia

  • nicolas |
    17/06/11
    nicolas

    Lean esto 01100010 01110101 01100101 01101110 00100000 01110000 01101111 01110011 01110100 00100000 01110011 01100101 00100000 01110000 01100001 01110011 01100001 01110010 01101111 01101110

  • paola |
    18/06/11
    paola

    esta muy bueno es el mejor

  • Jose Arana Luna |
    18/06/11
    Jose Arana Luna

    El tema se las trae,a quien no le gustaria conocer, la forma de trabajar de una maquina.Sinceramente he odiado desde que recuerdo,el hacer cualquier cosa sin comprender lo que estoy haciendo,es una de las cosas menos gratificante que conozco, yo he sido reparador de aparatos electronicos,los primeros dias fueron sencillamente fabulosos pero ha medida que pasaba el tiempo,se convirtio en rutina,deprimente,actualmente no trabajo (enfermedad)y claro mi objetivo,es ese, poder dar pequeñas ordenes, y salir de la rutina en que se esta convirtiendo esto pero he leido algunos libros que tratan el tema, y la forma de enfocar el"aprendizaje" es un desastre.Habra que seguir en std bay .Muchas gracias por todo.

  • tu padre 2009 |
    20/06/11
    tu padre 2009

    Nomas faltó gml (game maker languaje) para quienes no tenemos paciencia para aprender un lenguaje complejo jeje.

  • karritos |
    20/06/11
    karritos

    Hola... fantastico con el articulo,a todos aquellos que les gustaria programar, no se queden con este articulo, busquen mas, es muy chido esto de la programacion, eso si , con mucha paciencia porque no es cosa facil, por cierto, leean esto 011010110010110101011011010101101010101001101010101010100101101101, hay me dicen que escribi xD

  • darkseven54 |
    21/06/11
    darkseven54

    que buenísimo me gusta su articulo

  • Noestoyclonada |
    21/06/11
    Noestoyclonada

    Para aquellos que quieren empezar a programar aplicaciones para PC, con resultados estupendos, les recomiendo el programa Neobook existente en español, que funciona mediante scripts que te ahorran teclear y equivocar la sintaxis. En el año 1982 empecé a programar con Basic, aplicándolo a la realización de programas educativos para mi uso personal. Tras unos años de inactividad programadora, descubrí Neobook, que está al alcance de cualquiera porque puede parecerse en su aspecto más simple, al modo de trabajo de Power Point. Además, su gran ventajas es que, una vez terminado tu programa, lo compilas creando un archivo autoejecutable (archivo.exe) y así, no estarás expuesto a que te lo manipulen, o empleen las herramientas y recursos que has creado y que conforman el programa en sí. Probadlo, porque se puede adaptar el nivel de dificultad, al nivel de conocimientos que se tenga, aunque sea cero. Quien haya programado anteriormente con Basic, lo va a encontrar "chupado", pues teniendo en la mente la idea y estructura de lo que la programación, la creación de algoritmos y fórmulas no le va resultar difícil. Tiene un tutorial para iniciación, y ejemplos prácticos del uso de órdenes, comandos, etc. Lo podéis encontrar en http://neosoftware.com/ y es barato.

  • homosabio |
    21/06/11
    homosabio

    realmente sencillo pero estimulante,me gustaria aprender mas en forma amena sensilla pero eficas GRACIAS por compartir

  • homosabio |
    21/06/11
    homosabio

    realmente sencillo pero estimulante,me gustaria aprender mas en forma amena sensilla pero eficas GRACIAS por compartir

  • scabi |
    21/06/11
    scabi

    Mi recomendación: AutoIt. Es sencillo y bastante completo. Es gratuito, y aunque muchos dicen que no es mas que un programa para hacer scripts y macros de teclado, da mucho mas juego: http://www.autoitscript.com/site/autoit/

  • jass_hop |
    21/06/11
    jass_hop

    Los que sabemos programar, recordaremos los dolores de cabeza que nos han dado algunos programas...

    Por ejemplo cuando hice mi primera calculadora .sh

    Los que no saben programar y les gustaría aprender, no es necesario pagar un curso profesional, en google sale todo. buscan calculadora en C++, o cualquier cosa que quieran y podrán empezar a aprender... Suerte para los nuevos y, ¡Cómprense unas buenas Aspirinas! XD

  • mariangel |
    21/06/11
    mariangel

    Interesante comentario, gracias por las opciones para enseñar a principiantes a programar.

  • juan |
    21/06/11
    juan

    010101010111010101001010111010101010111010011010100101010110011 = codigo binario

  • razielfb |
    21/06/11
    razielfb

    Me hubiese gustado que hablasen de que tipos de lenguajes podemos elegir, sean de alto, medio o bajo nivel.

  • pornoman |
    22/06/11
    pornoman

    Mejor me dedico al porno

  • Lannier U |
    22/06/11
    Lannier U

    me gusto este articulo es de mi interes aprender algun lenguaje de programacion intente aprender vb pero solo es un poco dificil voy seguir tu consejo

  • Alonso2011 |
    22/06/11
    Alonso2011

    Hola que interesante!! En lo personal hace unos dias me entro la curiosidad de aprender a programar en Java (J2ME), alguien conoce un programa y un tutorial eficaz para programar esto?? En si es para hacer aplicaciones para celulares. :D

  • seba |
    23/06/11
    seba

    01110111 01100101 01101110 01100001 01100001 01100001 00100000 01100011 01101000 01110101 01100011 01101000 01100101 01110100 01110101 01101101 01100001 01110010 01100101 00100001 00100001 00100001 xD no me aguante buen post

  • Keji1 |
    23/06/11
    Keji1

    Excelente articulo, en la prepa me enseñaron algo de visualbasic me gusto mucho, es interesante realmente usar la pc con el teclado y escribir el lenguaje, lamentablemente se perdieron todos mis apuntes, ahora me pidieron hacer un programa para una alquiladora y no lo pude hacer, es una lastima; me encantaria volver a programar, ojala y saquen un segundo articulo para los que queremos recordar y los que quieren empezar. Gracias por el articulo, no cabe duda de que son los mejores.

  • draco_bellum |
    24/06/11
    draco_bellum

    Me sacó de onda el comentario del porno...

    Pero muy buen tema, actualmente estudio programacion, mi maestra de java no sabia ni jugar buscaminas. En C++, diablos, no compila...

    Y si que saca dolores de cabeza, actualmente estoy buscando un manual, porque no es suficiente con la teoria...

    P. D.: Faltó .NET, entre otros varios, pero aun así, está muy completo.

  • UMOTHER |
    25/06/11
    UMOTHER

    unbelievable!

  • Mablung |
    26/06/11
    Mablung

    MUY GRANDE! desde luego, si alguien podia recopilar toda esta informacion super util, erais vosotros!! os aseguro que voy a exprimir el articulo hasta el ultimo 1001001 xD

  • hans |
    27/06/11
    hans

    si porq olvidaron java y c/c++

    bueno creo q mejor lo escribo en maquina

    10101010101000010111111010101010101010101010101010101010101010101010101010101

    jajajajaj

  • zurlly |
    03/07/11
    zurlly

    Realmente interesante..

  • José |
    04/07/11
    José

    Definitivamente voy a aprender a programar. Me encanta la idea de hacer mi propio programa.

  • hector caplan |
    06/07/11
    hector caplan

    no entiendo esta programaciom pero gracias

  • RaulF_V |
    06/07/11
    RaulF_V

    Es bueno, deje de programar mas de 10 años, y parti en Basic, pero mi "fuerte" fue programar en Cobol, sistemas financieros de la empresa, que hubo que mejorar, me dieron ganas de comenzar de nuevo, veo muy buenas herramientas que se estan mostrando ahora.

  • M |
    08/07/11
    M

    Un buen lenguaje para empezar es el C, ya que es muy potente y es la base de muchos de los mejores lenguajes. Si aprendes C tienes la base para los demas.

  • Champion Snake |
    06/08/11
    Champion Snake

    01010010 01000101 01011001 00100000 01000100 01000101 00100000 01000011 01000001 01000011 01000001 01001000 01010101 01000001 01010100 01000101 00001101 00001010 01001000 01100001 01100010 11101101 01100001 01101110 00100000 01110101 01101110 01100001 00100000 01110110 01100101 01111010 00100000 01110101 01101110 00100000 01110010 01100101 01101001 01101110 01101111 00100000 01101000 01100101 01100011 01101000 01101111 00100000 01100100 01100101 00100000 01100011 01101000 01101111 01100011 01101111 01101100 01100001 01110100 01100101 00100000 01110000 01100001 01100011 01101001 01100110 01101001 01100011 01101111 00100000 01111001 00100000 01110000 01110010 01101111 01110011 01110000 01100101 01110010 01101111 00101100 00100000 01110000 01100101 01110010 01101111 00100000 01100101 01101100 00100000 01110010 01100101 01101001 01101110 01101111 00100000 01100100 01100101 00100000 01100011 01100001 01110010 01100001 01101101 01100101 01101100 01101111 00100000 01100011 01101111 01101110 00100000 01110011 01110101 00100000 01110010 01100101 01101001 01101110 01100001 00100000 01000111 01100001 01101110 01100011 01101001 01110100 01101111 00100000 01000110 01100101 01101111 00101100 00100000 01100001 01110100 01100001 01100011 01101111 00100000 01100001 01101100 00100000 01110010 01100101 01111001 00100000 01100100 01100101 00100000 01100011 01100001 01100011 01100001 01101000 01110101 01100001 01110100 01100101 00100000 01100100 01100101 01101100 00100000 01110010 01100101 01101001 01101110 01101111 00100000 01100100 01100101 00100000 01100011 01101000 01101111 01100011 01100001 01110100 01100101 00100000 01100011 01101111 01101110 00100000 01100111 01100001 01110010 01111010 01100001 01110011 00001101 00001010 01111001 00100000 01100101 01101100 00100000 01110010 01100101 01111001 00100000 01100100 01100101 00100000 01100011 01100001 01100011 01100001 01101000 01110101 01100001 01110100 01100101 00100000 01100011 01101111 01101110 01110100 01110010 01100001 01100001 01110100 01100001 01100011 01101111 00100000 01100011 01101111 01101110 00100000 01100111 01110101 01110011 01100001 01101110 01101111 01110011 00100000 01100101 01111000 01110000 01101100 01101111 01100011 01101001 01110110 01101111 01110011 00100000 01100100 01100101 00100000 01100111 01101111 01101101 01101001 01110100 01100001 01110011 00100000 01101100 01101111 01110011 00100000 01100011 01110101 01100001 01101100 01100101 01110011 00100000 01100100 01100101 01110010 01110010 01101001 01110100 01101001 01100101 01110010 01101111 01101110 00100000 01100101 01101100 00100000 01100011 01100001 01110010 01100001 01101101 01100101 01101100 01101111 00100000 01111001 00100000 01101100 01100101 00100000 01110110 01101111 01101100 01100001 01110010 01101111 01101110 00100000 01101100 01100001 00100000 01100011 01100001 01100010 01100101 01111010 01100001 00100000 01100001 00100000 01101100 01100001 00100000 01110010 01100101 01101001 01101110 01100001 00101110 00001101 00001010 00100000 00100000 00100000 00100000 00100000 00100000 00100000 00100000 00100000 00100000 00100000 00100000 01000110 01001001 01001110

  • KeoH |
    06/08/11
    KeoH

    muy buen artículo .. aunq no habeis nombrado al lenguaje de DIV Games Studio y a los que salieron de ahí como Fenix y BennuGD xD

  • yolanda martinez |
    07/08/11
    yolanda martinez

    bueno para comenzar yo soy una persona que no curso ni primaria tengo 47 años y tengo muchos deseos de aprender se

    yo hise la primaria para adultos la secundaria y preparatoria y estoy interesada en aprender como programar no se nada de ingles pero voy atomar un curso

  • wjvelasquez |
    08/08/11
    wjvelasquez

    @yolanda marti: Esa es la Actitud.

    Yo programo en varios lenguajes desde hace mucho, de finales de los 80's, aunque ahora estoy solo dedicado a usar Visual Studio 6 y Visual Studio 2010. En la gran Mayoria de los casos solo uso VisualBasic que se puede hacer de todo.

    Mi programa mas reciente es en VisualBasic. Un sistema Online para apuestas que le estoy haciendo a una empresa y de verdad que me resulta muy facil y usando un DB MySql.

    A finales de 80's me llamo la atencion ver un cajero electronico arrancando y ver que el programa del mismo era en Basic y desde ese momento quise violarle la seguridad y poner un dinero en mi cuenta, cosa que nunca hice por ser ilegal (aunque para la fecha era bastante facil). Esa fue mi motivacion para aprender a programar.

    Saludos desde venezuela

  • Alan Juarez |
    09/08/11
    Alan Juarez

    buenisimo el articulo ! yo estoi en 1año de informatica , y siempre me piden de trabajos con temas referidos a los numeros binarios xD asique creo qe esto me viene como anillo al dedo jaa un saludo (H

  • Carlos19 |
    10/08/11
    Carlos19

    Pues yo ya llevo 2 años con el Visual Basic (a ver si doy el salto ya al python y al c#) y con tres programas y varios mensajes enviados aquí a softonic hace poco,la única manera de hacer que me lo publiquen es por softonic ads,cuando yo lo quería con su ficha,...

  • ZAM16 |
    11/08/11
    ZAM16

    01010011 01100001 01101100 01110101 01100100 01101111 01110011 00100000 01010011 01101111 01100110 01110100 01101111 01101110 01101001 01100011 .....Kiere decir Saludos Softonic xD

  • Kendall@ |
    11/08/11
    Kendall@

    Donde ha una galeria de programas no profesionales hechos en VB

  • Adolfo González Hernández |
    15/08/11
    Adolfo González Hernández

    La verdad, no entiendo, por ahora, lo que habéis explicado ampliamente; pero mi deseo es aprender y lucharé hasta obtener algo importante. Es un programa muy interesante. Felicitaciones. Muchas gracias por situar a nuestra disposición estos interesantes conocimientos tecnológicos. Respetuosamente:

  • pelopo2001 |
    18/08/11
    pelopo2001

    no entendi no jota

  • MANUEL SANTIAGO |
    19/08/11
    MANUEL SANTIAGO

    EN VERDAD ES MUY IMPORTANTE EL SABER PROGRAMAR, A LAS JUSTAS E APRENDIDO A FORMATEAR A INSTALAR Y DESINSTALAR PROGRAMAS A TRAVES DEL INTERNET, PERO CREO QUE CON UN POCO DE ESFUERZO Y ESTUDIO NUEVAMENTE EN EL INTERNET APRENDERE A PROGRAMAR, VOY A PONERME LAS PILAS, YO CREO QUE PARA ESTO NO HAY EDAD, SOLAMENTE PACIENCIA Y DEDICACION. GRACIAS PATRICIO FERRY. BUENO Y SI POR AHI ME MANDAS ALGUNOS ESTUDIOS QUE NO SEAN MUY CONPLICADOS PARA UN INICIADO TE LO AGRADECERIA BASTANTE, POR QUE YO CREO QUE HAY QUE EMPEZAR POR LO FACIL PARA TENER IDEA DE LO QUE ES UNA PROGRAMACION. POR QUE A TRAVES DE LOS COMENTARIOS QUE HAN HECHO LOS QUE YA SABEN MAS O MENOS ME HAN DADO UNA IDEA DE LO QUE ES PROGRAMACION.

  • juan |
    20/08/11
    juan

    yo soy un capo en binario siempre 0 y 1 en el colegio jaja igual ta bueno

31/10/14
Tu imagen de usuario
  1. 1
  2. 2
  3. 3
  4. Siguiente