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

7 aplicaciones para gestionar proyectos de forma eficiente

¿Estás trabajando en equipo pero todo es un caos? entonces deberías probar estas aplicaciones para gestionar proyectos que te ayudarán a organizarlo todo. Shutterstock Sin duda  trabajar en equipo  es una tarea que generalmente se nos complica debido a problemas de comunicación, sincronización de tiempos, bajo presupuesto o falta de organización, lo que repercute en el resultado final o en la calidad del trabajo realizado. Afortunadamente ya no tiene que ser así. La tecnología ha permitido que hoy en día tengamos muchas herramientas digitales de donde escoger. Éstas nos permiten estar a cargo de tareas y administrar nuestro tiempo para  trabajar con otras personas sin necesidad de estar físicamente en un lugar . A este tipo de herramientas se le conoce como  aplicaciones de gestión de proyectos  y hoy te traemos las mejores opciones que existen para que puedas empezar a organizar tus tareas. Trello Trello  es la aplicación por defecto...

10 excelentes webs para aprender nuevos idiomas gratis

¿Te gustaría aprender un nuevo idioma? Ahora no tienes que invertir tanto tiempo y dinero, con estas webs para aprender idiomas ya no hay pretexto. Luis Molinero | Shutterstock Actualmente,  hablar más de un  idioma  no es un lujo, es una necesidad . Las exigencias globales del mundo en el que vivimos requieren de nuevas competencias de comunicación y por ello, es fundamental que las personas podamos comunicarnos en más de un idioma. Por ejemplo,  el inglés, aunque no es el idioma más hablado, es considerado el idioma universal , razón por la cual, muchas veces, se da por sentado que todos lo conocemos, lo que puede hacernos pasar más de alguna vergüenza. Entre los  hispanohablantes , aprender inglés no era una tarea sencilla, quizás por la cuestión de la pronunciación, pero hoy ya no tiene porque ser así. Y es que aprender un nuevo idioma nos abre las puertas a nuevos mundos, a nuevas oportunidades de empleo y a nuevas relaciones personales. Si esto ...

3 tácticas para gestionar el tiempo que te ayudarán a aumentar tu productividad

Uno de los grandes problemas que tenemos y del que no siempre somos conscientes los profesionales de marketing online es que  necesitamos pautas para gestionar nuestro tiempo y ser más eficientes . De nada sirve ocupar buena parte de tu jornada leyendo las últimas novedades y actualizaciones si no te queda tiempo para ponerlas en práctica. Trabajar con información no es fácil Hoy me gustaría explicarte  3 reglas de oro  que te ayudarán a ser mucho más productivo en todo lo que hagas y a  eliminar bloqueos mentales , que muchas veces es el  verdadero problema encubierto de la gestión del tiempo . # 1. Simplifica Simplificar es una cuestión de prioridades . ¿Cuántas horas pasas delante del ordenador atendiendo las tareas menos importantes mientras las importantes las retrasas un día tras otro hasta que dejan de serlo? Por ejemplo, te conectas a Facebook o Twitter en cuanto recibes una notificación, respondes al email que acaba de llegar, buscas conten...