# data[].attributes.attachment_link.title
¿Qué tipos de lenguajes de programación existen?

# data[].attributes.attachment_link.title
Cuales son los lenguajes de programación mas usados | Clasificación de los lenguajes de programación

# data[].attributes.headline
Presentación de los lenguaje de programación.

# data[].attributes.subject
Presentación de los lenguaje de programación.

# data[].attributes.body
En esta presentación se adjunta conceptos básicos de los lenguajes de programación.

# data[].attributes.body
Es un proceso que se diseña, codifica, escribe, prueba y depura un código básico para las computadoras.

# data[].attributes.body
Es un sistema estructurado de comunicación.

# data[].attributes.attachment_link.title
lenguaje de programación 1 video explicativo

# data[].attributes.attachment_link.title
Estructura basica de un algoritmo PSEUDOCÓDIGO | capítulo 11

# data[].attributes.attachment_link.title
💬 ¿QUÉ es el PSEUDOCÓDIGO en PROGRAMACIÓN? [Diccionario del PROGRAMADOR]

# data[].attributes.body
Fue creado por Ada Lovelace en 1843, con la construcción de una máquina de calculadora mecánica, ganó el título de la primera programadora de computadora del mundo.

# data[].attributes.headline
Los lenguajes de programación en la historia 

# data[].attributes.subject
Los lenguajes de programación en la historia 

# data[].attributes.attachment_link.readable_text
Cuando te planteas aprender Inteligencia Artificial o, hablando con más propiedad, aprendizaje automático, una de las preguntas que cualquier programador se va a hacer es ¿qué lenguajes existen para IA?, ¿qué lenguaje debo utilizar? ¿me vale alguno de los lenguajes que ya conozco?...

Lo primero que debemos tener claro es que la programación orientada a la inteligencia artificial es muy diferente a la programación convencional y, por lo tanto, los lenguajes de programación se emplean de una manera muy distinta. En programación convencional tú le dices a la máquina exactamente qué tiene que hacer, mientras que en Machine Learning le tienes que enseñar a la máquina a programarse sola, es decir, la entrenas para ello.

Se trata de un cambio de punto de vista muy radical, que se visualiza perfectamente con este gráfico:

Como vemos, a un programa convencional le decimos exactamente qué hacer con la información que procesa de modo que se obtengan unos resultados concretos. Pero en Machine Learning es justo al contrario: partiendo de unos datos y de unos resultados previos ya conocidos, se entrena un modelo para que genere automáticamente las reglas para procesar nuevos datos y obtener resultados futuros.

Una consecuencia de esto es que el proceso de trabajo para Aprendizaje Automático es muy diferente a la construcción de una aplicación convencional y, por el mismo motivo, la manera de utilizar los lenguajes de programación es diferente, así como las características de estos que se utilizan, sus objetivos, etc...

Popularidad y ecosistema, los dos factores determinantes

No hay muchos análisis sobre este tema que estén orientados específicamente a IA/ML, pero en 2019, GitHub analizó todos los proyectos de Machine Learning que había en su ingente colección de repositorios, clasificando los lenguajes más populares así como los paquetes más utilizados entre otras cosas. Así que, dado su tamaño e importancia, aunque ya ha pasado tiempo, sigue siendo una fotografía muy relevante que nos ayuda a entender las preferencias del mundillo y a orientarnos sobre qué elegir.

Más recientemente, la popular herramienta de Machine Learning Anaconda, hizo una encuesta global a sus usuarios sobre los lenguajes de programación que utilizaban, que seguramente está mucho más sesgada dado el enfoque de la herramienta, pero que es una buena representación de lo que usan los profesionales.

La popularidad de un lenguaje importa porque es una señal del tamaño de su comunidad, de la ayuda que puedes recibir, de qué pedirán en las empresas... Pero, su ecosistema es tanto o más importante ya que te indica si dispones de las herramientas necesarias para llevar a cabo el trabajo y tener mayor productividad. Finalmente, la idoneidad del lenguaje para el trabajo es otro factor relevante, ya que si un lenguaje está diseñado con una determinada tarea o propósito en mente, hará que esta sea mucho más eficiente y productiva.

Basándonos en popularidad, uso en proyectos, ecosistema y utilidad real, esta es nuestra elección de lenguajes para Inteligencia Artificial:

#1: Python para Inteligencia Artificial / Machine Learning / Ciencia de Datos

Una de los principales motivos por los que Python se está convirtiendo en el lenguaje de programación más popular del mundo es por su sencillez unida a una gran versatilidad. Lo puedes aprender rápido y luego utilizarlo para casi todo: desde desarrollo web hasta inteligencia artificial, pasando por el desarrollo de juegos. Pero, de hecho, su gran crecimiento en los últimos años viene de la mano de la inteligencia artificial, a pesar de no ser el más rápido o el más potente.

Aparte de su popularidad, el principal motivo para aprender Python para machine learning es, sin duda, el enorme ecosistema de cosas ya hechas que existen alrededor del lenguaje. Los paquetes de aprendizaje automático y deep learning más conocidos y utilizados del mundo, como , , TensorFlow, , Scikit-learn... y miles más, están todos escritos en Python.

Python te da un soporte sobresaliente para cada uno de los pasos del proceso de aprendizaje automático. Por ejemplo, con Pandas podrás importar y manipular los datos casi de cualquier manera que puedas imaginar, algo crucial para esta disciplina, y con TensorFlow podrás crear los modelos más potentes basados en redes neuronales. ¿Necesitas automatizar alguna tarea? Con Python lo tienes hecho en unos minutos... Elige cualquier paso o disciplina que quieras y lo tienes Python, te lo da solucionado (o casi).

El lenguaje ha evolucionado en paralelo a la disciplina de inteligencia artificial y ello hace que sea casi indispensable conocerlo si vas a trabajar en este campo. Aunque luego uses también otros.

Además, nos proporciona un código muy claro y por tanto fácil de entender, flexibilidad, capacidades de prototipado rápido y colaboración con otros gracias a cuadernos Jupyter y muchas cosas más.

Su mayor "pega": que no es tan rápido como otros lenguajes, aunque en la actualidad existen proyectos como Cinder, PyPy y otros similares que lo compilan y aceleran su rendimiento muchísimo si fuese necesario.

Para no darle más vueltas: en la actualidad si vas a trabajar en este campo, Python es un lenguaje que debes aprender sí o sí. Por eso lo incluimos de primero de la lista.

#2: Lenguaje R para Inteligencia Artificial / Machine Learning / Ciencia de Datos

R es otro lenguaje de programación popular en esta disciplina. Si bien en los rankings aparece debajo de otros y se ha relacionado tradicionalmente con entornos más académicos, es nuestro número 2 por una razón muy importante: se trata de un lenguaje específico para trabajar en análisis de datos y aprendizaje automático, lo cual lo dota de una gran ventaja frente a otros lenguajes de propósito general.

Está diseñado desde el primer momento para orientarlo a este tipo de trabajos. Por eso, incluso muchos programadores acostumbrados a lenguajes convencionales, lo acaban adoptando como lenguaje principal. También lo utilizan muchas personas que no tienen un perfil de programador, como analistas de datos, financieros o especialistas en estadística. No tiene la misma flexibilidad para hacer otras cosas fuera del ámbito de la IA, pero está diseñado para moverse en él como pez en el agua.

Es un lenguaje open source, multiplataforma, funcional y también orientado a objetos, y fácil de aprender. Dispone de un entorno de desarrollo muy popular que es específico para el lenguaje ( R-Studio, que también soporta Python).

Al igual que Python dispone de una cantidad increíble de paquetes listos para ser utilizados para casi cualquier cosa que necesites en ciencia de datos: carga y procesado de datos, visualización de datos, regresión no lineal, algoritmos genéticos, redes neuronales... También facilita mucho el hacer cosas muy rápido y compartir la información y trabajar en equipo a través de cuadernos Jupyter, como con Python.

Su mayor inconveniente es, seguramente, que no se parece a los lenguajes convencionales que tienes costumbre de ver. Sin embargo, su simbiosis con la materia y su amplio uso en el mundillo hacen que sea un lenguaje que toda persona que se dedique a ciencia de datos debería conocer, al menos en sus fundamentos.

3: Lenguaje SQL para Inteligencia Artificial / Machine Learning / Ciencia de Datos

El lenguaje SQL ( Structured Query Language) lleva con nosotros desde hace muchas décadas. Es un lenguaje declarativo pensado para facilitar la consulta de datos de forma parecida al habla natural (en inglés) y es la manera principal de comunicarse con cualquier gestor de datos relacional.

Ya hemos comentado en este blog que SQL es quizá uno de los conocimientos más valiosos a largo plazo que puedes adquirir. Y si haces cualquier cosa relacionada con ciencia de datos o IA, sin duda esto aplica...

¿Entrenarás modelos con él? Pues seguramente no o no a menudo. ¿Hay un ecosistema de paquetes con algoritmos ya implementados? Tampoco. Pero si trabajas en ciencia de datos el 80% de tu tiempo o más lo vas a dedicar a interactuar con información. Así que, SQL va a ser una de las herramientas más valiosas de tu arsenal. Lo usarás para leer y guardar datos, limpiar y transformar información, exportarla, hacer scripts que la actualicen periódicamente...

Además, la mayor parte de los gestores de datos relacionales como SQL Server, Oracle o PostgreSQL incorporan ya capacidades de entrenamiento de modelos en sus productos, de modo que puedes llevar a cabo gran parte del workflow de aprendizaje automático sin salir de la base de datos.

No se concibe trabajar con datos y no conocer SQL, así que es otro lenguaje indispensable que deberás aprender.

#4: JavaScript para Inteligencia Artificial / Machine Learning / Ciencia de Datos

¿Cómo? ¿JavaScript, el lenguaje de la Web? Pue sí. No hay ranking de lenguajes que no tenga a JavaScript en los primeros lugares en cuanto a uso y no hay programador en el mundo que no chapurree al menos en este lenguaje de programación. Y, además, es un lenguaje pensado para crear scripts, macros y cosas por el estilo, algo muy apropiado para la Web de mediados de los años '90.

La principal ventaja de JavaScript es su sencillez de aprendizaje para las cosas comunes (luego se vuelve endemoniado si quieres meterte a fondo, pero eso es otra cuestión) y que funciona tanto en los navegadores como en el servidor (a través de plataformas como Node.js).

Y además, muchas veces es necesario llevar a la Web los resultados de los algoritmos de aprendizaje automático e, incluso, por qué no, aplicarlos en tiempo real en el navegador (o en el servidor).

Pero ¿qué pasa con el ecosistema? ¿Hay paquetes/librerías enfocadas a ciencia de datos que trabajen con JavaScript? Pues sí, y cada vez más, y también APIs de todo tipo que se pueden llamar desde un navegador aunque el procesamiento se haga en otro lado. Por ejemplo, TensorFlow.js es la versión para JavaScript de la archiconocida biblioteca de aprendizaje automático y te permite implementarla en el navegador. ¿Que necesitas hacer procesamiento de imágenes con IA en el navegador? pues OpenCV.js al rescate. ¿Redes neuronales avanzadas? Ningún problema con Synaptic.js. ¿Visualización de resultados? Pues Chart.js es una gran opción. Es evidente que no tiene tanta oferta como otros Python o R, pero cada día hay más, y la oferta actual no es nada desdeñable.

De todos modos hay que ser realista: JavaScript no será tu lenguaje principal para desarrollo en Inteligencia Artificial, pero sí que es un gran complemento para hacer muchas cosas, especialmente visualización, y conviene aprenderlo porque te va a servir para todo un poco. Y, si quieres exponer tus modelos hacia el exterior, seguramente lo acabarás haciendo a través de alguna interfaz web.

En conclusión

Hay muchos lenguajes que se pueden utilizar en Machine Learning para alguno de los pasos de su flujo o para alguna de sus facetas. Sin embargo, a la hora de aprender el tiempo es escaso y hay que decidirse por aquellos que te permitan obtener el mayor beneficio con el menor esfuerzo. En este artículo hemos listado 4 lenguajes de programación que te permiten precisamente eso, y nos hemos basado en su popularidad/demanda, su ecosistema que permite obtener resultados rápidos, y las facetas que cubren.

Con los 4 elegidos cubres la mayor parte de los aspectos que puedas necesitar. Si solo te quieres quedar con uno, seguramente sería Python, ya que es el más completo y que más "checks" marca. SQL Sería otra recomendación casi indispensable, ya que gran parte del trabajo de ciencia de datos implica la interacción con datos, algo para lo que SQL está especialmente diseñado.

Fecha de publicación:

# data[].attributes.attachment_link.title
Los 4 mejores lenguajes de programación para Inteligencia Artificial / Machine Learning - campusMVP.es

# data[].attributes.attachment_link.description
Cuando te planteas aprender Inteligencia Artificial, una de las preguntas que cualquier programador se va a hacer es ¿qué lenguajes existen para IA?, ¿qué lenguaje debo utilizar? ¿me vale alguno de los lenguajes que ya conozco?... En este artículo te contamos cuáles son los principales lenguajes del mundo del aprendizaje automático.

# data[].attributes.attachment_link.readable_text
Para que un ordenador realice un proceso, se le debe suministrar en primer lugar un algoritmo adecuado, que llamamos programa. El procesador debe ser capaz de interpretar el algoritmo, lo que significa:

Comprender las instrucciones de cada paso.

Realizar las operaciones correspondientes.

Clasificación de los lenguajes de programación

Lenguaje Máquina

Son aquellos que están escritos en lenguajes que directamente entiende el ordenador, ya que sus instrucciones son cadenas binarias (secuencias de ceros y unos) que especifican una operación y las posiciones (dirección) de memoria implicadas en la operación. Se denominan instrucciones de máquina o código máquina. Características:

Las instrucciones en lenguaje máquina dependen del hardware del ordenador y por tanto serán diferentes de un ordenador a otro.

Se puede transferir un programa a memoria sin necesidad de traducción posterior, lo que supone una mayor velocidad de ejecución a cualquier otro lenguaje.

Dificultad y lentitud en la codificación.

Conjunto de instrucciones reducido (operaciones muy elementales)

Lenguaje de bajo nivel (Ensamblador)

Los lenguajes de bajo nivel son más fáciles de utilizar que los lenguajes máquina, pero, al igual que ellos, dependen de la máquina en particular. El lenguaje de bajo nivel por excelencia es el ensamblador.

Las instrucciones en lenguaje ensamblador son instrucciones conocidas como mnemónicos.

Un programa escrito en lenguaje ensamblador no puede ser ejecutado directamente por la máquina, sino que requiere una fase de traducción al lenguaje máquina. El programa original escrito en lenguaje ensamblador se denomina programa fuente y el programa traducido en lenguaje máquina se conoce como programa objeto, ya directamente entendible por el ordenador.

Lenguaje de alto nivel

Los lenguajes de alto nivel son los mas utilizados por los programadores. Están diseñados para que las personas escriban y entiendan los programas de un modo mucho más fácil que los lenguajes máquina y ensambladores. Otra razón es que un programa escrito en un lenguaje de alto nivel es independiente de la máquina, o sea, las instrucciones del programa del ordenador no dependen del diseño hardware de un ordenador en particular. Por lo tanto los programas escritos en lenguajes de alto nivel son portables o transportables, lo que significa la posibilidad de poder ser ejecutados con poca o ninguna modificación en diferentes tipos de ordenadores.

Al igual que sucede con los lenguajes ensambladores, los programas fuente tienen que ser traducidos por programas traductores, llamados en este caso compiladores o intérpretes.

Ejemplos de lenguajes de programación de alto nivel:

BASIC, COBOL, PASCAL, C, VISUAL BASIC, JAVA, PYTHON, PERL, GO, PHP, RUBY,...

Programas traductores

Los traductores transforman programas escritos en un lenguaje de alto nivel en programas escritos en código máquina. Podemos indicar distintos tipos:

Compiladores

Convierte un programa escrito en alto nivel (código fuente) a un programa máquina (código ejecutable).

Para generar el código ejecutable el código no debe tener errores de sintaxis.

Necesitamos un compilador para cada arquitectura y sistema operativo.

Los programas ejecutables no son compatibles entre plataformas.

Una vez generado el programa ejecutable, no es necesario tener el código fuente.

Ejemplos: C, Pascal,...

Interpretes

La traducción y ejecución de código fuente a código máquina se hace línea por línea.

Los errores de sintaxis aparecen cuando se interpreta la instrucción con error.

Necesitamos el código fuente para ejecutar el programa.

Los lenguajes interpretados suelen ser más lentos en su ejecución

Ejemplos: Python, PHP, ...

Máquina virtual

La traducción se hace en dos pasos.

Primero se compila el código fuente a un código intermedio (bytecode).

Segundo, este bytecode se interpreta y ejecuta por una "máquina virtual".

El bytecode es multiplataforma.

Necesito una "máquina virtual" para cada plataforma.

No necesito el código fuente.

Ejemplo: Java, C#, ...

# data[].attributes.attachment_link.title
Introducción a los lenguajes de programación

# data[].attributes.attachment_link.description
Para que un ordenador realice un proceso, se le debe suministrar en primer lugar un algoritmo adecuado, que llamamos programa. El procesador debe ser capaz de interpretar el algoritmo, lo que significa:

# data[].attributes.attachment_link.title
Curso de Java #3: Compiladores e intérpretes

# data[].attributes.attachment_link.authors[].name
Guillermo Gerard: Videítos para mi futuro yo

# data[].attributes.attachment_link.title
Consejos para programar mejor: Comentarios en el codigo. Cuando si? Cuando no?

# data[].attributes.attachment_link.readable_text
¿Te interesa aprender sobre programación y no sabes por dónde comenzar? Sin duda alguna la respuesta para esta pregunta es: Lógica de programación. Por esta razón preparé este artículo, para ayudarte a que des el primer paso y comiences a acercarte al inmenso mundo de la informática y la programación. ¡Ven, entérate de la importancia de la lógica de programación y los algoritmos!

Antes de entrar en materia, es importante que tengas en cuenta que practicar y aprender de los errores son aspectos esenciales para aprender sobre lógica de programación, y bueno... una cierta afinidad con las matemáticas y el inglés te vendrían como anillo al dedo, ya te diré por qué:

El estudio de la programación está conectado directamente al área de las ciencias exactas; y las matemáticas, con sus reglas, estarán presente en diversos momentos. Por otro lado el inglés, hoy fundamental en cualquier profesión, también será importante, ya que al programar encontrarás una mayor variedad de cursos y materiales en este idioma. Y además, la mayoría de los lenguajes de programación utilizan el inglés como base.

Muy bien, basta de conversa y ¡comencemos!

Primeros pasos en la lógica de programación

Lo que te puede generar más confusión al inicio de este camino es escoger el lenguaje de programación indicado. Sin embargo, déjame decirte que el lenguaje en sí no importa mucho al inicio, puesto que la lógica es la misma para todos, por esta razón no te preocupes, comenzar aprendiendo la lógica de programación es el mejor camino.

La lógica es la base de todo el conocimiento en programación, ya que es posible aprender a escribir un código para que la computadora interprete correctamente. Es decir que aprendes a comunicarte con la máquina a partir de un lenguaje.

¿Qué es exactamente la lógica de programación?

Lógica es la técnica utilizada para desarrollar instrucciones en una secuencia para lograr determinado objetivo.

Es la organización y planificación de instrucciones en un algoritmo, con el objetivo de tornar visible la implementación de un programa o software.

La lógica de la programación es la organización coherente de las instrucciones del programa para que su objetivo sea alcanzado.

Desafío del programador:

El gran desafío del programador es entonces montar la estructura del programa para que este sea ejecutado por la computadora. Y es necesario partir del principio de que la computadora no piensa de la misma forma que el ser humano, y no es inteligente para saber qué es lo que tiene que hacer, ni comprender mensajes subjetivos.

Por eso organizar la información de forma clara y en el orden adecuado es primordial para que la acción sea ejecutada correctamente.

¿Qué es un algoritmo en lógica de programación?

El algoritmo es la propia secuencia de instrucciones para la ejecución de una tarea. De una forma más simple, el algoritmo es una receta o ruta que indica todos los procedimientos necesarios para realizar algo o resolver un problema.

La información en un algoritmo no puede ser redundante o subjetiva. Tiene que ser clara y detallada para que la computadora interprete correctamente. Ejemplificando mejor vamos a hacer un algoritmo para freír papas de una forma bien simple y didáctica. ¡Vamos!

Algoritmo "Papa-frita"

Inicio:

Tomar las papas

Pelar las papas

Cortar las papas en tiras

Tomar el sartén y colocarla sobre la estufa

Encender el fuego de la estufa

Colocar el sartén con aceite para calentar

Esperar hasta que el aceite esté caliente

Colocar las papas para freir

Aguardar 10 minutos hasta que las papas estén fritas

Retirar las papas y servir

Fin

Con este paso a paso cualquier persona logra hacer papas fritas, ¿no lo crees?.

¡Este es un algoritmo! Es importante que estés pendiente de tener una secuencia correcta y bien definida de las acciones, porque como en el ejemplo, no podríamos cortar las papas después de freírlas.

Hay diversas formas de representar un algoritmo, como formas gráficas, flujogramas, formas textuales o en pseudocódigo. La diferencia entre el algoritmo que creamos y el que es utilizado en la programación, es el lenguaje para que la computadora entienda.

Es importante resaltar que el flujo puede seguir diferentes caminos y convertirse en algo más complejo con cada información que se agrega. Por ejemplo, podríamos sumarle la condición de que si el aceite estuviera frío es necesario esperar, y si no (si estuviera caliente) podría colocar las papas para freír. Pero de esta forma entramos en otros factores y variables que pueden ser asunto para otros artículos.

Tengamos en cuenta también que para comprender instrucciones subjetivas, es importante tener algunas reglas o indicaciones para entender la tarea "freír papas" y ejecutarla correctamente. De igual manera en el caso de las computadoras; necesitamos saber algunos conceptos para mejorar nuestros algoritmos, facilitando la comprensión y ejecución de los mismos.

Variables y constantes

Seguramente ya has escuchado hablar sobre variables y constantes cuando se trata de programación, ¿no es verdad? Son valores que componen cálculos o condiciones y están presentes en todas las partes del programa.

Una variable es un espacio para almacenar un tipo de dato que puede ser modificado cuando sea necesario.

En cambio la constante posee un dato definido al inicio del programa y no podrá ser alterado.

Utilizando el ejemplo de la papa frita, podemos decir que el aceite es una variable, ya que puede estar caliente o frío. Y el tiempo que demoran las papas fritas en estar listas es una constante; pues siempre serán 10 minutos, por ejemplo.

Lógica de programación en la rutina diaria

Creamos este ejemplo para mostrar la importancia de escribir la secuencia correcta de las acciones, y para entrenar el razonamiento. Eso es algo que ya utilizas en la vida cotidiana sin percibirlo

Detente y piensa un momento en tu rutina al despertar. Si lo escribes en un papel verás que es más compleja de lo que parece, pero la ejecución es automática. Imagina entonces comenzar a pensar en lo que podría ser variable y constante en esa rutina. Este es un excelente ejercicio para entrenar la lógica de programación y el uso de algoritmos.

Ahora sólo tienes que entrar de lleno en el mundo de la programación e ir descubriendo los otros elementos importantes para programar.

Dónde aprender y entrenar lógica de programación

Gracias a los avances tecnológicos de hoy en día, estudiar programación o cualquier otro tipo de disciplina, es posible a través de internet. Existe una gran cantidad de cursos, videos y comunidades digitales donde puedes aprender a programar y conocer las herramientas necesarias que te ayudarán en esta tarea.

Uno de los cursos más famosos para aprender programación desde cero, es el curso gratuito de desarrollo de juegos y animaciones del MIT (Massachusetts Institute of Technology), llamado Scratch. Si ya hiciste clic en el link, seguramente habrás visto parece un sitio web para niños, y en verdad lo es, y esta es una de las razones:

Recientemente conversamos con el equipo de nuestros desarrolladores para contar un poco más . Muchos de ellos comentaron que su primer paso para entrar al mundo de la programación, fue su sobre la vida profesional de un dev en HostGator pasión desde niños por los videojuegos y el sueño de algún día conseguir programar uno de estos.

Así que ya sabes, aprender programación y jugar puede ser una combinación exitosa.

Si quieres conocer otras opciones de cursos para aprender a programar jugando, preparamos este artículo , donde podrás dar tus primeros pasos en programación con juegos.
¡Descarga nuestro ebook gratuito de lógic de Programación aquí:

# data[].attributes.attachment_link.title
Lógica de programación: el primer paso para aprender a programar

# data[].attributes.attachment_link.description
¿Te interesa aprender sobre programación y no sabes por dónde comenzar? Sin duda alguna la respuesta para esta pregunta es: Lógica de programación. Por esta razón preparé este artículo, para ayudarte a que des el primer paso y comiences a acercarte al inmenso mundo de la informática y la programación.