Quiero aprender un lenguaje de programacion y no se cual


Algunos amigos me han hecho esa pregunta, quieren aprender algún lenguaje de programación y no saben cual, supongo que ellos no son la excepción y muchas personas tienen duda y curiosidad, les llama la atención poder crear sus propias aplicaciones o incluso ganar dinero gracias a esto pero simplemente no saben por donde empezar.

Normalmente si tenemos poco o ningún conocimiento sobre la programación buscamos un lenguaje ideal, que sirva para todo y trascienda en el tiempo, que sirva para cualquier propósito  en cualquier sistema operativo, equipo y que además sea fácil!, pues esto es bastante difícil  y te aconsejo que primero te formules una pregunta. ¿Que quieres programar?.


Dejare por acá algunos consejos según mi punto de vista, en ningún momento quiero decir que un lenguaje sea mejor que el otro, simplemente son consejos desde mi punto de vista y experiencia como programador, además hablare de los lenguajes como base (sin ningún framework, aunque lo ideal es trabajar organizadamente usando uno) y evitare lenguajes privativos.

En caso de que quieras programar aplicaciones de escritorio lo mas aconsejable por mi parte es que uses un lenguaje multiplataforma, en la actualidad no puedes obligar a tus usuarios a usar determinado sistema operativo para tener acceso a tu aplicación  ya que te veras mas afectado en esto tu, ya que llegaras a un mercado menor, por mi parte aconsejaría aprender lenguajes como python, ruby o incluso java aunque este no es de mis favoritos (personalmente me parece que consume muchos recursos). un lenguaje muy útil es C++, aunque el problema de este lenguaje es que al trabajar muy a fondo y directamente con las APIs es muy complejo y requiere mucho tiempo.

En cuanto a programar aplicaciones para móvil, mi consejo es android. No es un secreto para nadie que android esta dominando en gran parte el mercado de los dispositivos móviles y si tienes conocimientos en Java o C ya tienes gran parte ganada.

Ahora bien en el campo donde tengo mas experiencia es en la programación web, me gusta mucho esta parte y es en la que mas me he enfocado, una ventaja es que así tu pagina, o aplicación estará disponible para cualquier dispositivo conectado a internet, escritorio, móvil  tablet, consolas etc. Ahora bien este mundo de la web es un poco mas complejo con respecto a los lenguajes y no puedes aprender uno solo y olvidarte de lo demás. Vamos a dividir esto en Frontend y Backend.

Frontend es la parte delantera de la pagina, es decir con la que el usuario interactua, en esta parte aconsejo lenguajes como HTML5(es un lenguaje de marcado y actualmente es posible subir vídeos  música e incluso eliminar muchas lineas de JavaScript, adicional puedes hacer un curso básico en este mismo blog), CSS3 (es un lenguaje que sirve para hacer la presentación de la pagina, es decir los estilos como tal, colores, ubicación, formas, tamaños, sombras, degradados etc), JavaScript(no confundir con Java, no tiene ninguna relación, es un lenguaje del lado del cliente, muy útil y además es posible crear algunos efectos en la pagina con el).

Backend es la parte trasera, la que se encarga de que el sistema funcione, interactue con la base de datos y controle todas las áreas del sistema, como lenguaje del lado del servidor existen muchos lenguajes interesantes como PHP (Mucha documentación y un gran numero de programadores), Python (Rápido, funcional, sencillo y documentación mediana), Ruby (Elegante, bien estructurado, poca documentación , otra propuesta del lado del servidor que me parece interesante es Node.js ya que usa JavaScript del lado del servidor, aunque no lo he usado me llama mucho la atención  también es importante aprender Ajax que es JavaScript Asíncrono y por supuesto una base de datos, una básica para empezar podría ser MySql la cual es muy compatible con php y hay mucha documentación de esta, otras opciones mas rápidas para bases de datos son MongoDB y Redis.

7 comentarios:

  1. Respuestas
    1. Que bien, Ruby me parece excelente y siempre me ha parecido muy atractivo aprenderlo, pero no he encontrado tiempo y mis conocimientos en el son muy basicos ahora

      Eliminar
  2. Lo importante es aprender a programar (poo, estructuras de datos básicas, diseño de algoritmos, ...). El lenguaje es lo de menos. Eso ya lo elijes según el tipo de aplicación a desarrollar, o según la capa de la misma.

    ResponderEliminar
  3. Primeramente, disculpad mis faltas de ortografia, estoy usando un teclado ingles.

    Francamente, creo que tienes algunos errores en tu articulo.

    En primer lugar siquiera mencionar a la gente que intente C++ como primer lenguaje es cuanto menos arriesgado, currarse toda la gestion de memoria es chungo, sobre todo para principiantes.

    Respecto a que Java consume muchos recursos, es un mito (hay una version de java que corre en el lego mindstorms, en 32KB de memoria!)

    HTML y CSS no son lenguajes de programacion (no se trabaja con variables), en el caso de HTML5 me callo porque lo desconozco.

    Buena mencion a que Java y JavaScript no tienen nada que ver (eso lo has hecho muy bien)

    Definir PHP como lenguaje de backend... pufff, vale, si lo puedes usar, pero no es lo mas adecuado, no tiene threads nativos y francamente no es precisamente lo mas rapido (aqui, Java ganaria por goleada).

    AJAX no es un lenguaje de programacion, de hecho es solo una funcion de JavaScript (XMLHttpRequest inicialmente, hoy por hoy todo el mundo usa los envoltorios de jQuery o similares)

    Sobre que mySQL es muy compatible con PHP... pues hombre, siempre y cuando haya funciones que la sporten PHP soporta facilmente postgres, mysql, oracle... personalmente si alguien quiere empezar, que empiece con SQLite, que muy chorra pero estupenda para comenzar.

    Sobre que REDIS o MongoDB son mas rapidas que MySQL, pues de nuevo, no necesariamente, REDIS y MondoDB son bases de datos NoSQL, lo que significa que se prescinde toda la estructura de tablas para ganar velocidad, a costa de perder funcionalidad (esencialmente, es mucho mas facil rular reportes contra tablas, porque porporcionan mas flexibilidad), lo que quiero decir es que MongoDB, Redis o cualquier base de datos NoSQL son muy rapidas para ciertas cosas y no tanto para otras, depende del uso que le des.

    Ah! y finalmente, como alguien dijo, se trata mas bien de conocer las estructuras de datos y los algoritmos, el lenguaje es menos relavante, de todos modos, creo que si alguien empieza de cero, lenguajes como Python o Ruby son muy adecuados, sobre PHP, su orientacion a objetos es un ascazo (si, odio PHP).

    ResponderEliminar
    Respuestas
    1. Hola, gracias por el comentario. primeramente si me he dado cuenta de tu odio contra php y creeme que hace un tiempo habia querido cambiarlo y mire otras opciones, pero sin embargo en el mercado en que estoy me ha ido mejor con php que con otros lenguajes pero claro, no digo que haya otros malos.

      Pues si HTML es un lenguaje de marcado y CSS un lenguaje de presentación (aunque usando JADE en HTML o LESS en CSS podrías obtener igual acceso a variables) igualmente es cierto que no lo son como tal.

      MySQL es muy compatible con PHP, claro que puedes usar otras base de datos no digo que no, pero estoy comentando es su compatibilidad en conjunto

      Eliminar
  4. la mayoria de empresas tienen aplicaciones en visual basic 6 o .net 2003 k kieren actualizar...lo mejor para el mundo laboral seria desde mi punto de vista como profesional del sector, .net o java

    ResponderEliminar

Ads by Smowtion

Blogger Template by Clairvo