UNIDAD 1
“Introducción a la Teoría de Lenguajes
Formales.”
ASIGNATURA: Lenguajes Y Autómatas 1
PROFESOR: I.S.C. Luis Gilberto Tec Cetz
ALUMNO: Can Gutiérrez Angel Gabriel
SEMESTRE: Sexto
GRUPO: A
TRABAJOS:
o Ada 2. Cuadro comparativo
1.3 LENGUAJES, TIPOS Y HERRAMIENTAS
Introducción:
Para definir de manera sencilla qué es un lenguaje de programación voy a definir cada
palabra; lenguaje es una forma o sistema de comunicación y la programación es el
procedimiento de escritura del código fuente de un software o programa.
Según los conocimientos ya adquiridos durante mi formación académica un lenguaje
de programación es un lenguaje formal que especifica una serie de instrucciones para que
una computadora u ordenador produzca diversas clases de datos.
Si tenemos en cuenta que la programación hoy en día puede afectar diferentes tipos
de dispositivos desde ordenadores, dispositivos móviles como smartphone o tabletas,
televisores, frigoríficos y otros dispositivos electrónicos, lo cierto es que la definición que
presentó se queda un poco obsoleta, sobre todo en los dispositivos y en la forma en los que
se puede aplicar.
Puedo mencionar que existen tres tipos de lenguajes claramente diferenciados; el
lenguaje máquina y los lenguajes de bajo nivel y los de alto nivel, Cada uno de ellos trabaja
de una forma única, puedo plantear:
I. El Lenguaje Máquina: es el lenguaje de programación que entiende directamente la
máquina (computadora). Este lenguaje de programación utiliza el alfabeto binario, es
decir, el 0 y el 1.
II. Lenguajes de programación de bajo nivel: Son mucho más fáciles de utilizar que el
lenguaje máquina, pero dependen mucho de la máquina o computadora como sucedía
con el lenguaje máquina.
III. Lenguajes de programación de alto nivel. Los lenguajes de programación de alto
nivel son más fáciles de aprender porque se usan palabras o comandos del lenguaje
natural, generalmente del inglés. Este es el caso del BASIC, el lenguaje de
programación más conocido.
Cada Tipo de lenguajes de programación de alto nivel trabajada sobre el punto de vista
de trabajar los programas y la filosofía de su creación es una forma de clasificarlos. Otra
clasificación de los lenguajes de programación de alto nivel es teniendo en cuenta el
desarrollo de las computadoras según sus diferentes generaciones.
CUADRO COMPARATIVO DE DIFERENTES LENGUAJES DE
PROGRAMACIÓN
Lenguajes Paradigma Características Ventajas Desventajas
C Programación Tiene un conjunto Rápido eficiente, es No es popular
imperativa. completo de un lenguaje orientado para la creación
instrucciones de a la implementación de aplicación,
control, permite la de Sistemas sintaxis compleja.
agrupación de Operativos,
instrucciones, concretamente Unix.
Incluye el concepto
de puntero, lenguaje
estructurado.
C++ Multiplataforma, Tiene un conjunto Es potente en cuanto No es atractivo
orientado a objetos, completo de a lo que se refiere a visualmente, no
imperativo y instrucciones de creación de sistemas soporta para
programación control, permite la complejos un creación de
genérica agrupación de lenguaje muy robusto. páginas web
instrucciones,
incluye el concepto
de puntero, Los
argumentos de las
funciones se
transfieren por su
valor.
C# Está orientado a Sencillez de uso, Se desempeña de Requiere un
objetos. Está compatible, forma plena en los mínimo de 4 GB
estandarizado por moderno, sistemas operativos para su
Microsoft como recolección de Windows. Sintaxis instalación
parte de su basura más en comparación
plataforma .net con C y C++,
Posibilidad de realizar
aplicaciones web, de
escritorio y móviles.
Java Orientado a objetos Simple, Orientado a Al ser orientado a Es un lenguaje
Objetos, tipado objetos permite su interpretado así
estáticamente, modularización. que es
distribuido, Permite la creación de relativamente
Interpretado, aplicaciones de lento en
robusto, seguro, de escritorio. Tiene comparación con
arquitectura neutral, soporte a desarrollo otros lenguajes
multihilo, con de aplicaciones
recolector de basura, móviles y web.
portable, dinámico.
Python Orientado a objetos Permite la creación libre y código fuente Los lenguajes
de todo tipo de abierto, lenguaje de interpretados
programas incluso propósito general, suelen ser
sitios web, no portable. relativamente
requiere de lentos
compilación es un
código interpretado.
Ruby Orientado a objetos, Se caracteriza por Diferencia entre Es relativamente
preocuparse más por mayúsculas y nuevo y no
el desarrollador que minúsculas, maneja cuenta con mucha
por la máquina, esto excepciones, puede documentación
se traduce en dos cargar librerías si el en comparación
cosas: a) La sintaxis sistema operativo lo con otros
es muy amigable y permite, portátil, lenguajes de
se lee casi como desarrollo de bajo programación.
lenguaje natural. b) costo, software libre.
El performance no No está muy
es igual que en difundido en
lenguajes de más relación a otros
bajo nivel. lenguajes.
PHP Multiparadigma, Utilizado para Su sintaxis es muy Como es un
imperativo, generar páginas web similar a otros lenguaje que se
orientado a objetos, dinámicas, se lenguajes, fácil, es un interpreta en
ejecuta en el lenguaje muy popular ejecución, para
procedural y servidor, no se tiene una comunidad ciertos usos
reflexivo. necesita la muy grande, rápido, puede resultar un
instalación de PHP bastante inconveniente
en el lado del documentado, libre y que el código
cliente, versiones gratuito, no requiere fuente no pueda
resiente permiten la definición de ser ocultado. La
POO, lenguaje de variables puede ser ofuscación es una
alto nivel. combinado junto a técnica que puede
HTML dificultar la
lectura del
código, pero no la
impide y, en
ciertos casos,
representa un
costo en tiempos
de ejecución.
JavaScript Orientado a objetos La característica El script tiene No soporta
principal, es la de capacidad limitada herencias, código
ser un lenguaje de por razones de visible por
scripting, pero, seguridad, se ejecuta cualquier usuario,
sobre todo, la de ser del lado del cliente, el código debe
el lenguaje de lenguaje de scripting ser descargado
scripting por seguro y fiable completamente.
excelencia y, sin
lugar a dudas, el
más usado.
HTML (Hyper Text Markup E s un lenguaje de Sencillo que permite Lenguaje
Language) es el hipertexto, es decir, describir hipertexto, estático, la
lenguaje con el que un lenguaje que archivos pequeños, interpretación de
se escriben las permite escribir lenguaje de fácil cada navegador
páginas web. texto de forma aprendizaje, lo puede ser
estructurada, y que admiten todos los diferente, guarda
está compuesto por exploradores. muchas etiquetas
etiquetas, que que pueden
marcan el inicio y el convertirse en
fin de cada elemento “basura” y
del documento, dificultan la
además puede ser corrección, lento
creado y editado con para ejecutar
cualquier editor de archivos pesados.
textos básico.
Visual Imperativo de alto Es un lenguaje de Posee una curva de Problema de
nivel programación aprendizaje muy versionado
Basic
dirigido por eventos, rápida, integra el asociado con
posee un manejo diseño e varias librerías
muy sencillo de implementación de DLL, conocido
cadenas de formularios de como DLL
caracteres, posee Windows, e s uno de HELL, pobre
varias bibliotecas los lenguajes de uso soporte para
para manejo de más extendido, por lo programación
bases de datos. que resulta fácil orientada a
encontrar objetos,
información, incapacidad para
documentación y crear aplicaciones
fuentes para los multihilo, sin
proyectos. tener que recurrir
a llamadas del api
de Windows.
CONCLUSIÓN:
Los lenguajes de programación son utilizados para el procesamiento en un ordenador.
Hablando de Los lenguajes de programación han ido evolucionando a través del tiempo y
gracias a esto existen lenguajes específicos para cada tarea, muchos de ellos ya no se usan,
mientras que las nociones de otros han sido incorporadas a otros lenguajes diferentes.
Los lenguajes y las técnicas de Programación son importantes para la utilización de la
computadora como herramienta para resolver problemas.
Los lenguajes deben ser confiables, comprensibles, eficientes en términos de tiempo
de ejecución y consumo de espacio, y deben satisfacer las necesidades de una comunidad, ya
sean científicos, hombres de negocios o usuarios no técnicos. Cada uno estos grupos están
acostumbrados a un vocabulario particular y una manera de ver las cosas, de este modo,
existe una gran variedad de lenguajes y muy probablemente esto continuará así.
Bibliografías:
1. Mihaela Juganaru Mathieu. (2014). Introducción a la Programación. México: Grupo
Editorial Patria.
2. Cedano Olvera, Marco Alfredo y otros. (2014). Fundamentos para Computación para
ingenieros. México: Grupo Editorial Patria
3. David Evans. (2011). Introduction to Computing. Explorations in Languaje, Logic
and Machines. E.E.U.U.: Creative Commons.
4. Luis Joyanes Aguilar. (2008). FUNDAMENTOS DE PROGRAMACIÓN.
Algoritmos, estructura de datos y objetos. España: McGraw-Hill.