Ir al contenido principal

¿Qué lenguaje de programación elegir?

Elegir lenguaje de programación es el primer paso para realizar un proyecto, pero para ello hay que saber lo que queremos conseguir con nuestro programa.

elegir-lenguaje-de-programacion
Existen una inmensa variedad de lenguajes de programación que podemos elegir para satisfacer distintas necesidades. Si bien es cierto que muchos de ellos se pueden utilizar en diferentes ámbitos, siempre suele haber algún lenguaje que destaque entre los demás para dicha área. Para alguien novato en el desarrollo de programas, elegir lenguaje de programación no suele ser tarea fácil y si pregunta las opiniones que encontrará al respecto serán muy diferentes.
Este artículo pretende ser una guía básica para que toda persona interesada enaprender a programar en un área concreta sepa por qué lenguaje o página web podría empezar. Como me es imposible mencionar todas las opciones que existen, sería fantástico que las personas que tengan experiencia en dichas áreas nos compartan su experiencia en los comentarios, siempre hay algo nuevo que aprender.

Desarrollo web

Cuando queremos hacer páginas o aplicaciones web hay que diferenciar si queremos hacer para frontend (lado del usuario) o backend (lado del servidor).
  • Frontend: lo primero es aprender el lenguaje que servirá como estructura para la interfaz, su nombre es HTML y es un lenguaje de marcado, no de programación. Con el podremos poner títulos, negrita, subrayado, enlaces... etc. Para darle estilos (colores, dimensiones) usaremos CSS. Para interacción y efectos como animaciones podremos aprender JavaScript, y una vez que tengamos unos conceptos básicos de cómo funciona este claros, probablemente nos pasaríamos a librerías que con funciones de JavaScript listas para usar como JQuery para agilizar el trabajo, pero hay más alternativas.
  • Backend: aquí necesitamos un lenguaje de programación que genere páginas de forma dinámica. Pensad el inmenso trabajo que sería tener que hacer una página individual para cada enlace que se pulsa. Estos lenguajes del lado del servidor buscarán en una base de datos la información que buscamos y la mostrarán en la interfaz. Un ejemplo para el lenguaje podría ser PHP, aunque Python (usando Django) o Ruby (usando Ruby on Rails) entre otros, también son otras opciones válidas. Para la base de datos también tenemos muchas opciones MySQLSQlite o MongoDB son algunas que se me ocurren.

Para escritorio

Por cada sistema operativo pueden existir diferentes lenguajes específicos que solo servirán para dicha plataforma. Sin embargo, sería sabio pensar en desarrollar con lenguajes multiplataforma, es decir, hacer programas que se podrán utilizar en distintos sistemas. Hay una gran variedad en este aspecto, pero aquí mi opción personal para alguien que se inicia en este mundo sería el lenguaje de programación Python, principalmente por su enorme versatilidad y lo fácil que es de aprender. Podemos hacer aplicaciones que se usen en unaterminal o con interfaz gráfica si lo combinamos con GTK+ o Qt entre otros. También existen distintas opciones para utilizar aplicaciones web como programas de escritorio.
Usar lenguajes multiplataforma nos permitirá** crear versiones de nuestro programa para una mayor variedad de plataformas** diferentes. Si aún así queremos que sea específico para la plataforma, os dejo un enlace paradesarrollar en Windows y otro para desarrollar en Mac OS X. Para Linux no se me ocurre un lenguaje específico (¿existe?), así que os dejo un enlace paracrear aplicaciones con GTK+, que servirá para los tres anteriores.

Para móvil

De la misma forma que para el escritorio, aquí también existen lenguajes específicos. También podemos usar HTML para hacer aplicaciones para móvil pero de momento al menos, la experiencia no es tan fluida como podría ser una aplicación nativa.
Hace poco descubrí Kivy, que sirve para hacer aplicaciones multitouch multiplataforma, incluso para el escritorio. Tiene buena pinta, no le perdáis la pista.

Para las ciencias

Para ciencias el lenguaje estrella yo diría que es Pyhon. La comunidad ha creado tantas librerías que se puede interactuar desde este con webs sobre bioinformática, astronomía, meteorología... etc. De hecho, incluso se pueden llamar a otros lenguajes desde este. De esa forma, podríamos utilizar el lenguaje de programación para estadística R dentro de Python y usar las herramientas citadas anteriormente como Qt para crear una aplicación gráfica que nos haga estadísticas. Un ejemplo de esto último es lo que han hecho los desarrolladores de open-meta. Cuando se necesita un lenguaje de programación más potente se suele recurrir a C++.

Videojuegos

En lugar de ponernos a programar todo desde el principio, podemos echarles un vistazo a los diferentes motores de juego que existen, los cuales nos permitirán desarrollar juegos sin recurrir a la programación en un principio. Una vez que aprendamos a usar el motor, estaría bien echarle un vistazo a los lenguajes de programación que soporta y crear así nuestras propias implementaciones. Unreal Engine y Unity son dos ejemplos de motores multiplataforma. En cuanto a lenguajes de programación, veremos sobretodoC++.

Dónde aprender a programar

La primera parada que recomiendo hacer es en Codecademy, una página que ofrece cursos totalmente gratuitos. La interfaz es maravilloso y muy cómoda de usar. Tiene cursos sobre crear páginas y aplicaciones web, APIs, PHP, Python. Ruby, JavaScript, JQuery y cursos creados por la comunidad.
Otros enlaces de interés
He mencionado distintas opciones que podemos usar según el objetivo que se busca. ¿Me ayudáis a completar la lista?

Comentarios

Entradas más populares de este blog

Sailfish OS certificado como alternativa a Android en Rusia

Los finlandeses de  Jolla  están de enhorabuena, especialmente si recordamos que no hace mucho estaban casi en la bancarrota, tras embarcarse en una aventura algo arriesgada para la fabricación de tablets. Ahora la vida les sonríe: las autoridades rusas  han certificado  el  sistema operativo Sailfish OS  para su uso por parte del gobierno y corporaciones del país. Se trata de un sistema con base open source ( Linux ), pero con una  capa privativa  presente en algunos de sus componentes como puede ser la interfaz o determinadas aplicaciones. La gran ventaja de Sailfish respecto a otros competidores en el mercado del smartphone –como el ya desaparecido  Firefox OS  o  Ubuntu –, es su  compatibilidad con las aplicaciones de Android. Las intenciones de Rusia es  reducir el uso de sistemas operativos extranjeros  (Android, iOS) en móviles del 95% actual  a la mitad en 2025 . Disminuir la  dependen...

Selfies en 3D llegan a Venezuela y hasta las podrás imprimir en plástico

La empresa 3DUP lanzó al mercado venezolano las líneas de impresoras 3D,  Cube3  y CubePro  de 3D Systems Corporation, a través de las cuales se podrán imprimir modelos, diseños o escaneos en 3D. De igual manera, también está disponible el servicio de selfie3D y el servicio de modelado 3D. La impresora Cube3 tiene dos cabezales de impresión y es única en su clase, posee una amplia combinación de materiales ABS, PLA y una variedad de 18 colores. Es el equipo más fácil de utilizar en el mercado y tiene un software de construcción apto para Windows y Mac; además cuenta con conexión wifi. La nueva CubePro, impresora 3D de calidad profesional ofrece el mayor volumen de impresión entre las impresoras de su clase, sus versiones cuentan con uno, dos o tres cabezales de impresión. Además, posee una amplia combinación de materiales ABS, PLA y Nylon con una variedad de 25 colores, cuenta con una cámara calefaccionada y cerrada para optimizar los trabajos de impresión 3D. P...

Crea una página profesional en minutos con Google Sites

Google  tiene de todo . Además de buscador, cuenta con un portal de vídeo (YouTube), un atlas geográfico (Mapas), una suite ofimática (Drive), un cliente de correo electrónico (Gmail), un espacio donde compartir tus fotos, una tienda de apps (Google Play)… Con Google incluso puedes  poner en marcha un blog  en segundos gracias a  Blogger . Entras, te registras, configuras una plantilla y sólo tendrás que crear contenido. Apenas requiere mantenimiento. Por otro lado, si eras  cliente de G Suite , antes Google Apps, además de contar con espacio en Drive, correo electrónico Gmail, calendarios y otros servicios enfocados a la empresa, podías crear  la página web de tu negocio  usando Google Sites. Los usuarios particulares, o quienes no querían una suscripción de pago a G Suite, para montar una página web con Google debían  acudir a Blogger o al espacio gratuito que ofrece Drive . Pero desde hace varios años ya es posible usar Google Sites p...