No tienes acceso a esta clase

¡Continúa aprendiendo! Únete y comienza a potenciar tu carrera

Diseño de lenguajes de programación: recomendaciones

10/11
Recursos

Aportes 13

Preguntas 2

Ordenar por:

¿Quieres ver más aportes, preguntas y respuestas de la comunidad?

No es sencillo hacer un lenguaje de programación, lleve la materia de Autómatas I y II en la Universidad donde “Apenas” pase las materias. y para ser sincero me fui con muchas deficiencias. Hoy estoy aquí en este curso para poder retomar aquel analizador léxico que hicimos y poder darle continuidad.

No te rindas, las cosas son difíciles, pero para eso se debe de seguir intentando, si estas pensando en “Abandonar” porque ya te diste cuenta que “es difícil” No, no te rindas, continua porque se que puedes, por algo estas leyendo esto y por algo estas en Platzi, porque ademas de nunca parar de aprender, nunca paras de intentar.

La verdad es que aún no me creo que vayamos a hacer un lenguaje de programación, es decir, es que lo escucho y yo lo veo como algo difícil de hacer, y David lo confirma xD Pero ahí está el curso, esperando a ser lanzado… Me da mucha cursiosidad ver esto jaja
.
Ya desearía yo tener mi propio lenguaje de programación famoso y que mi foto salga en algún futuro en el slide de algún próximo David Aroesti en alguna plataforma Platzi 2.0 donde el profesor este hypeando a sus alumnos para crear sus propios lenguajes de programación para programar Inteligencia Artificial de una forma ultra sencilla o incluso programar computadoras cuánticas:'D
.
Como sea, me parece genial esto, y yo considero que muchos de la comunidad de Platzi vamos a estar dándole amor a LPP y contribuyendo activamente para crear comunidad al rededor de él y sacarlo adelante xD

Cuando te pones a pensar en un lenguaje nuevo es complejo jaja porque es como imaginar un idioma nuevo y piensas: Para qué? será un JavaScript pero en español? un Python 100% POO? es complejo imaginar algo nuevo y que no suene loco jaja

  • Yo por ejemplo pensé en un lenguaje de programación para finanzas. Donde los tipos de datos (Aparte de los primitivos: String, Entero, Boolean, etcétera) tuviera tipos de datos basados en divisas (crear una variable de tipo dólar, peso, sol, etcétera) algo muy enfocado a las finanzas mediante procesos automatizados

  • Otro sería un lenguaje de programación científico, con tipado en unidades para trabajar problemas matemáticos, físicos o químicos con las unidades. jaja se me acaba de ocurrir, como en JavaScript manejamos eventos o interacciones, pues que el lenguaje escuchará reacciones químicas (simuladas obviamente jaja) o fenómenos físicos no sé algo así jaja

  • Y algo que podría ser un lenguaje o hasta un framework es un Lenguaje Web todo en 1. Que te permita hacer HTML, CSS y JS juntos (Claro compilando HTML, CSS y JS al final)

Ya que Platzi quiere crear un lenguaje jaja sería genial hacer lo mismo (Entender cómo funciona y hacer uno propio) un navegador 🤩 que reciba HTML, CSS y programar la función de crear un DOM y CSSOM 🤩 como dijo el Chicharito: imaginemos cosas chingona!! jajaj

Hacer un lenguaje es algo muy chevre… cuando cree FF (el cual esta en fase beta para liberar OpenSource) lo primero que sufrí fue del famoso Sindrome del Impostor y del FUD… Cómo lo sobrelleve? en mi caso fue usar el lenguaje en mi día a día, primero reemplace mi consola con kitt que esta hecha y usa FF, configure mi vscode para que me coloreara el código y usarlo para programar prácticamente todo porque FF es un lenguaje de propósito general… La siguiente parte porque hacer algo “que ya esta”, esta es la realidad por varias cosas primero por diversión y segundo es porque a veces el propósito de algo no se sabe sino más adelante…

Me imagino un lenguaje para sistemas embebidos que permita programar metiendo documentos markdown con bloques que definan estructuras de datos que se puedan visualizar de forma gráfica, LaTeX y programación funcional.

yo aquí sin saber ni hacer una variable, :D ¡ JAJAJJA vamos adelante!

Jonathan Blow decidió crear su propio lenguaje de programación Jai, ya que C++ (el estándar para los videojuegos), no era lo suficiente para el y veía muchísimas deficiencias en él.
Aquí un poco más acerca de eso:
https://www.youtube.com/watch?v=uZgbKrDEzAs

Dice que “Porque tienes mucho tiempo en la pandemia” me imagino la gente del futuro recordando los tiempos aquellos.

Hacer un lenguaje de programación open source es vital porque promueve la colaboración y la mejora continua. Permite que la comunidad de desarrolladores contribuya con mejoras, corrección de errores y nuevas características, generando un ecosistema más robusto. Además, al ser open source, se fomenta la transparencia, lo que genera confianza entre los usuarios y desarrolladores. Esto es especialmente importante en el diseño de lenguajes, donde los cambios son difíciles de implementar una vez que una comunidad se ha formado.
El "featurism" se refiere a la tendencia de los usuarios a solicitar características adicionales para un lenguaje de programación o software, a menudo sin considerar si estas mejoras realmente añaden valor. Esto puede llevar a una complejidad innecesaria y a un aumento en el tamaño del lenguaje, lo que dificulta su mantenimiento y evolución. Es crucial que los diseñadores de lenguajes evalúen qué características son verdaderamente útiles y cuáles pueden ser implementadas como librerías externas, manteniendo el lenguaje más limpio y manejable.

yo logré crear un lenguaje de programación a los 19 años y lo hice sin tener nada de conocimiento sobre el tema jajaj lo hice en c# el código es un poco largo en esa época no estaba apenas aprendiendo, pero logré que fuera funcional, puedes crear variables funciones condicionales bucles un algo similar a las clases e importar librerías lo cree en c# y fue una bonita experiencia

Es fascinante pensar que puede haber lenguajes para diferentes areas (abogados, doctores, pedagogos) y que hay mucha oportunidad de poder crear tu propio lenguaje para ayudar a tu comunidad!

Imagino un lenguaje con tipado fuerte, que utilices una sintaxis muy parecido a las matemáticas, del paradigma funcional, algo como esto

let Printer(menssages, format) | menssages :: [String] && format :: String
	  Printer = do 
			apply(format) o Iter(printLn, menssage);
Printer(["\n", "\t", "Hello, World", "\n"], "standard")

Aún es una idea inmadura, ¿Qué opinan? 🤔