---
title: "Cómo aprender un nuevo lenguaje de programación este verano"
date: "2021-07-21"
categories: 
  - "development"
  - "json"
  - "software"
  - "technology"
  - "xquery"
tags: 
  - "altova-online-training"
  - "c"
  - "java"
  - "mobile-development"
  - "xquery"
description: Explore lenguajes de programación esenciales como C, Java y Python para mejorar tus habilidades de desarrollo. Descubre consejos sobre cómo elegir el lenguaje adecuado para aprender.
---
Status: #blog

Tags:  #altova-online-training #c #java #mobile-development #xquery

Categories: [development](/blog/es/category/development.md) 
# Cómo aprender un nuevo lenguaje de programación este verano

¿Qué mejor objetivo para este verano que aprender un nuevo lenguaje de programación? Olvídese de los "libros de playa" este verano y propóngase aprender un nuevo lenguaje de programación, pero ¿cuál debería elegir?

Según lo reportado por [EDC](https://evansdata.com/press/viewRelease.php?pressID=278), existen aproximadamente 24 millones de desarrolladores de software profesionales en el mundo, y casi 700 lenguajes de programación relevantes (según [Wikipedia](https://en.wikipedia.org/wiki/List_of_programming_languages)). Apuesto a que hay un número igualmente sorprendente de sitios web donde se puede aprender uno u otro lenguaje de programación. Ya sea que sea uno de esos 11 millones de expertos en programación o un principiante, existe una gran cantidad de información disponible para explorar.

Para los fines de esta entrada de blog, analizaremos, sin duda, el panorama mundial.. [Los lenguajes de programación más utilizados en 2021](https://bootcamp.berkeley.edu/blog/most-in-demand-programming-languages/), pero también en lenguajes importantes para la manipulación y consulta de datos, por lo que hablaremos de: C y sus derivados (C++, C#, y Objective-C), Java, Python, R, JavaScript, Ruby, SQL y XQuery.

La decisión de por dónde empezar depende completamente del tipo de escenarios de desarrollo que tenga en mente, por lo que hemos simplificado las cosas para facilitarle la tarea. No importa si es un programador experimentado que busca añadir un nuevo lenguaje a su conjunto de habilidades, o si es un principiante que aún no conoce la diferencia entre C, C++, Objective-C o C#. Hemos preparado una lista de explicaciones para ayudarle a elegir qué lenguaje podría querer aprender a continuación.

![shutterstock_416174497_700py](/blog/images/shutterstock_416174497_700py.png)

<!--more-->

Antes de profundizar en los detalles de cada lenguaje de programación, hablemos de las seis áreas principales en las que se utilizan actualmente y qué lenguajes podrían ser útiles en cada contexto. Esto les proporcionará una guía y una idea inicial de qué lenguaje podría ser el más adecuado para que ustedes lo aprendan.

## **Aplicaciones móviles**

Cuando desea desarrollar aplicaciones para teléfonos inteligentes o tabletas, la elección del lenguaje depende en gran medida de la plataforma para la que desea desarrollar. Si desea dirigirse a dispositivos iOS, el lenguaje estándar es Objective-C; si desarrolla para Android, el lenguaje predeterminado es Java; y para Microsoft Surface (y, en general, para dispositivos Windows 10 o 11), es C#. Si su aplicación móvil requiere un servidor en la nube, consulte el párrafo sobre el desarrollo del lado del servidor a continuación para obtener información sobre lenguajes adicionales. Si desea dirigirse a las tres plataformas móviles y considera que aprender todo a la vez es demasiado, le recomiendo que explore herramientas multiplataforma como [Altova MobileTogether](https://www.altova.com/es/mobiletogether), que le permiten crear una única aplicación móvil para todas las plataformas a partir de una única fuente, utilizando XQuery y la programación visual ActionTree.

## **Desarrollo web**

Para el desarrollo de sitios web, tanto para dispositivos móviles como para navegadores de escritorio tradicionales, el lenguaje de programación que se utiliza y que es ejecutado por el navegador web es JavaScript. Es cierto que el contenido principal de su sitio web se escribirá en HTML5, y esperamos que toda la información de estilo se codifique en hojas de estilo CSS3, pero estos no son lenguajes de programación en sí mismos. Hasta ahora, solo he hablado de la programación del lado del cliente.

## **Desarrollo del lado del servidor**

Independientemente de si se trata del "backend" de una aplicación móvil o de un servidor web tradicional, existen numerosos lenguajes de programación que son adecuados para el desarrollo del lado del servidor. Es en este ámbito donde se utilizan con mayor frecuencia Java, C#, Python, PHP y Ruby. Esto es válido tanto para los servidores web tradicionales como para los servidores basados en la nube, que pueden funcionar en las plataformas en la nube de AWS o Azure.

## **Aplicaciones clásicas para PC y ordenadores de escritorio**

Si bien las aplicaciones de Java y Visual Basic a veces se utilizan en entornos empresariales, la mayoría de las aplicaciones de escritorio basadas en PC se han desarrollado y aún se están desarrollando en C, C++ o C#. Sin embargo, lenguajes como Python están ganando popularidad, incluso en el ámbito de escritorio, como lenguaje de scripting para automatizar tareas comunes.

## **Cálculo científico**

Para el análisis de datos, la estadística y las matemáticas avanzadas, existen tres lenguajes de propósito específico que se utilizan comúnmente: Matlab, Mathematica y R. Basándonos únicamente en su popularidad, R ha superado a los otros dos en los últimos años, por lo que a continuación me limitaré a hablar de R.

## **Dispositivos integrados y el Internet de las Cosas**

Cuando se trata de dispositivos integrados, C y C++ siguen siendo los lenguajes predominantes. Este campo ha experimentado cambios significativos en los últimos años, ya que cada vez más dispositivos integrados y de IoT terminan siendo computadoras Linux de pleno derecho, pero para el desarrollo de software que está muy cerca de la capa de hardware, así como para muchas funciones del sistema operativo y controladores de dispositivos, la potencia, la velocidad y la eficiencia de C siguen convirtiéndolo en la opción preferida para este ámbito.

## **Consultas a la base de datos y manipulación de datos**

Independientemente del área específica que tenga en mente, casi siempre necesitará conocer un lenguaje que le permita consultar un subconjunto de datos de una base de datos. Si bien Hadoop/MapReduce y otras plataformas centradas en el análisis de grandes volúmenes de datos están generando mucha atención en la actualidad, SQL (Structured Query Language) existe desde la década de 1970 y sigue siendo el lenguaje de consulta de bases de datos más utilizado, siendo compatible con todos los sistemas de bases de datos principales.

Además de SQL, también recomendaría que se familiarice con XQuery, el lenguaje de consulta para XML, ya que gran parte de los datos están disponibles en formato XML o JSON en la actualidad, y XQuery es muy potente como lenguaje funcional para manipular estos datos de manera eficiente. En particular, herramientas móviles avanzadas como [Altova MobileTogether](https://www.altova.com/es/mobiletogether) utilizan XQuery para permitir la programación funcional de la manipulación de datos a partir de diversas fuentes, incluyendo XML, JSON, HTML y bases de datos SQL.

![shutterstock_249533239_700px](/blog/images/shutterstock_249533239_700px.png)

Ahora que les he dado una visión general de dónde se utilizan con mayor frecuencia algunos de estos idiomas, espero que tengan una idea de qué idioma podría ser una opción adecuada para que aprendan a continuación. Así que, ahora vamos a hablar de cada idioma en detalle y de dónde pueden aprenderlos en línea

### C

C y sus derivados (C++, C# y Objective-C) son lenguajes de programación de propósito general, y C ha gozado de una gran popularidad desde la publicación del influyente libro de 1978 _El lenguaje de programación C_ de Kernighan y Ritchie. Si está realmente interesado en una carrera en informática, el conocimiento de C sigue siendo fundamental, pero no lo recomendaría como la mejor opción para principiantes, ya que se utiliza principalmente para trabajos relacionados con el hardware u otras aplicaciones de nivel inferior. C fue originalmente diseñado para su uso en el sistema operativo UNIX y, en la actualidad, se utiliza principalmente para implementar sistemas operativos, controladores de dispositivos y aplicaciones integradas.

Lugares donde se puede aprender C incluyen:
[https://alison.com/courses/Diploma-in-Programming-in-C](https://alison.com/courses/Diploma-in-Programming-in-C)
[https://www.udemy.com/c-programming-for-beginners/](https://www.udemy.com/c-programming-for-beginners/)
[http://c.learncodethehardway.org/book/](http://c.learncodethehardway.org/book/)

### C++

C++ se deriva del lenguaje C y también lleva bastante tiempo en uso. Para empezar a aprender este lenguaje, se requiere al menos un nivel intermedio de conocimientos de programación. C++ cuenta con características de programación imperativa, orientada a objetos y genérica, lo que lo convierte en un lenguaje extremadamente potente, pero también exige comprender varios conceptos avanzados de informática para dominarlo por completo. Este lenguaje se utiliza principalmente para el desarrollo de software de sistemas, videojuegos, aplicaciones de software y aplicaciones cliente/servidor, así como para software de servidores basado en la nube.

Sitios web para aprender C++ incluyen:
[http://www.learncpp.com/](http://www.learncpp.com/)
[http://www.cplusplus.com/doc/tutorial/](http://www.cplusplus.com/doc/tutorial/)

### C#

C#, originalmente diseñado por Microsoft como parte de su iniciativa .NET, se utiliza para desarrollar aplicaciones de software para plataformas Windows. Dado que C# es una parte fundamental del framework .NET, si su objetivo es desarrollar para Microsoft, este es el lenguaje adecuado para usted. Se parece mucho a Java, por lo que si conoce uno de ellos, aprender el otro no será tan difícil. Al igual que Java, C# fue creado originalmente para introducir conceptos de programación orientada a objetos en un lenguaje similar a C, pero sin toda la complejidad de C++.

Lugares para aprender C# incluyen:
[https://docs.microsoft.com/en-us/learn/paths/csharp-first-steps/](https://docs.microsoft.com/en-us/learn/paths/csharp-first-steps/)
[https://channel9.msdn.com/Series/C-Fundamentals-for-Absolute-Beginners](https://channel9.msdn.com/Series/C-Fundamentals-for-Absolute-Beginners)

### Java

Java es un lenguaje de programación orientado a objetos y, actualmente, uno de los más utilizados. Los programadores prefieren Java porque, por diseño, es un lenguaje portable y funciona bien en múltiples plataformas de software. Java es un lenguaje versátil que se puede utilizar para desarrollar aplicaciones móviles, aplicaciones del lado del servidor, así como software empresarial.

Lugares donde se puede aprender Java:
[https://ocw.mit.edu/courses/electrical-engineering-and-computer-science/6-092-introduction-to-programming-in-java-january-iap-2010/](https://ocw.mit.edu/courses/electrical-engineering-and-computer-science/6-092-introduction-to-programming-in-java-january-iap-2010/)
[https://www.codecademy.com/edn/courses/learn-java/](https://www.codecademy.com/learn/learn-java)

### R

R es un lenguaje especializado, utilizado para el análisis estadístico y la creación de gráficos, incluyendo el análisis bivariado y la correlación. Este lenguaje ha ganado popularidad debido a la alta demanda de profesionales en ciencia de datos, tanto en el ámbito académico como en el empresarial, donde la visualización y el análisis de datos son esenciales para el avance de los proyectos. R es una excelente opción si necesita desarrollar cualquier tipo de proyecto de análisis de datos, o si considera que las capacidades básicas de Excel son demasiado limitadas para analizar completamente las correlaciones que puedan existir en sus datos.

Lugares donde aprender R incluyen:
[https://cran.r-project.org/manuals.html](https://cran.r-project.org/manuals.html)
[https://www.edx.org/course/r-programming-fundamentals](https://www.edx.org/course/r-programming-fundamentals)
[https://www.datacamp.com/courses/free-introduction-to-r](https://www.datacamp.com/courses/free-introduction-to-r)

![shutterstock_29603806_700p](/blog/images/shutterstock_29603806_700p.png)

### Python

Python, considerado uno de los lenguajes de programación más fáciles de aprender, es un lenguaje de scripting de alto nivel y de propósito general. Se utiliza para crear todo, desde sitios web y aplicaciones móviles hasta análisis de datos, y cuenta con una biblioteca estándar amplia y completa. Debido a su simplicidad, Python también es uno de los lenguajes de programación más enseñados en las escuelas de Estados Unidos. Si eres nuevo en la programación, este es, sin duda, un excelente punto de partida.

Lugares donde se puede aprender Python:
[https://www.python.org/doc/](https://www.python.org/doc/)
[http://ocw.mit.edu/courses/electrical-engineering-and-computer-science/6-189-a-gentle-introduction-to-programming-using-python-january-iap-2011/](http://ocw.mit.edu/courses/electrical-engineering-and-computer-science/6-189-a-gentle-introduction-to-programming-using-python-january-iap-2011/)
[https://developers.google.com/edu/python/?hl=en](https://developers.google.com/edu/python/?hl=en)

### Rubí

Ruby es otro lenguaje de scripting excelente que ha gozado de cierta popularidad en los últimos 10-15 años, pero que parece estar experimentando una ligera disminución en su uso en la actualidad. Se utiliza para el desarrollo de sitios web y aplicaciones móviles. Este lenguaje de código abierto cuenta con una comunidad activa que facilita la búsqueda de recursos para aprender Ruby. Ruby fue creado a mediados de la década de 1990 en Japón por Yukihiro Matsumoto, quien combinó elementos de algunos de sus lenguajes favoritos (Perl, Smalltalk, Eiffel, Ada y Lisp) para crear un nuevo lenguaje que es inherentemente orientado a objetos y funcional.

Algunos lugares donde se puede aprender Ruby son:

[https://www.ruby-lang.org/en/documentation/quickstart/](https://www.ruby-lang.org/en/documentation/quickstart/)  
[https://rubymonk.com/](https://rubymonk.com/)

### JavaScript

JavaScript es un lenguaje basado en Java que se utiliza con frecuencia para añadir funcionalidades programables a las páginas web HTML. Es un lenguaje relativamente sencillo de aprender, y se pueden encontrar numerosos tutoriales prácticos en internet para ayudar a los principiantes. Normalmente, se ejecuta dentro de un navegador web, aunque también es posible utilizarlo en otras aplicaciones del lado del servidor. En los últimos años, JavaScript se ha extendido a otros ámbitos, incluyendo aplicaciones móviles e incluso algunos dispositivos integrados.

JavaScript utiliza un formato de serialización integrado para escribir objetos desde la memoria en un disco o flujo de datos, llamado [JSON](https://www.altova.com/es/json-tools) (Notación de Objetos JavaScript). JSON ha ganado popularidad para transmitir datos entre computadoras de una manera similar a XML, ya que es una forma rápida y eficiente de transferir datos. Por lo tanto, conocer JavaScript le proporciona las bases para dominar JSON y [JSON Schema](https://www.altova.com/es/xmlspy-xml-editor/json_schema_editor), ambos requisitos previos para desarrollar aplicaciones web y servicios web.

Algunos lugares donde se puede aprender JavaScript son:
[https://developer.mozilla.org/en-US/docs/Web/JavaScript/Guide](https://developer.mozilla.org/en-US/docs/Web/JavaScript/Guide)
[https://www.codecademy.com/tracks/javascript](https://www.codecademy.com/tracks/javascript)

### SQL

SQL, o Lenguaje Estructurado de Consulta, es un lenguaje de consulta de bases de datos que se utiliza para gestionar datos en bases de datos relacionales. ¿Quién debería aprender SQL? ¡Todo el mundo! SQL está presente en todas partes, y aprenderlo no es tan difícil. Si alguna vez necesita recuperar o manipular datos en una base de datos (y seamos honestos, ¿quién no se beneficiaría de esta habilidad?), este es un lenguaje excelente para aprender.

Lugares para aprender SQL:
[https://www.codecademy.com/learn/learn-sql](https://www.codecademy.com/learn/learn-sql)
[http://www.sqlcourse.com/](http://www.sqlcourse.com/)
[http://www.w3schools.com/sql/](http://www.w3schools.com/sql/)
[http://www.tutorialspoint.com/sql/](http://www.tutorialspoint.com/sql/)

### XQuery

XQuery es un lenguaje de programación funcional diseñado tanto para consultar como para transformar datos XML y JSON. Según el [W3C](https://www.w3.org/XML/Query/), XQuery está reemplazando programas complejos de Java o C++ con unas pocas líneas de código, ya que es más sencillo de utilizar y más fácil de mantener. XQuery también es ahora el lenguaje preferido para la manipulación de datos en plataformas móviles, gracias a su capacidad para acceder a una amplia variedad de fuentes de datos, como por ejemplo [Altova MobileTogether](https://www.altova.com/es/mobiletogether). XQuery es muy potente y no es un lenguaje difícil de aprender.

Recursos para aprender XQuery:
[https://www.altova.com/training/xquery3/](https://www.altova.com/es/training/xquery3/)
[https://www.w3schools.com/xml/xquery\_intro.asp](https://www.w3schools.com/xml/xquery_intro.asp)
[http://www.tutorialspoint.com/xquery/](http://www.tutorialspoint.com/xquery/)

  
Además de todos estos recursos en línea, también hay muchos libros excelentes sobre todos estos idiomas disponibles en Amazon. Asegúrese de revisarlos también y busque reseñas de los clientes antes de decidir cuál comprar.

![sumérgete en un nuevo idioma](/blog/images/dive_into_new_language.png)

No hay un lenguaje de programación "malo" al que no puedas añadir a tu repertorio; de hecho, cada uno solo aumentará tu valor en el mercado laboral. ¡Así que adelante, sumérgete y empieza a aprender un nuevo lenguaje de programación este verano!
