Investigación de programación
Estudiantes: Carlos Moreno, Yosue Solís año:11°M Fecha:26/03/2025
1). cuales son las características de un lenguaje de programación
R=1. Sintaxis – Conjunto de reglas para escribir código correctamente. Cada lenguaje
tiene su propia estructura y reglas gramaticales.
2. Semántica – Define el significado de cada instrucción escrita en el lenguaje. Dos
lenguajes pueden tener una sintaxis similar, pero diferente semántica.
3. Paradigma de Programación – Estilo de programación que sigue el lenguaje:
Imperativo: Se ejecutan instrucciones paso a paso (Ej: C, Python).
Orientado a Objetos (OOP): Basado en clases y objetos (Ej: Java, C++).
Funcional: Usa funciones como elementos principales (Ej: Haskell, Lisp).
Lógico: Basado en reglas y hechos (Ej: Prolog).
4. Tipado – Define cómo maneja los tipos de datos:
Tipado estático: Se definen los tipos en tiempo de compilación (Ej: C, Java).
Tipado dinámico: Se determinan los tipos en tiempo de ejecución (Ej: Python,
JavaScript).
Fuertemente tipado: No permite conversiones implícitas (Ej: Java, Python).
Débilmente tipado: Permite conversiones automáticas (Ej: JavaScript, PHP).
5. Nivel de Abstracción – Indica qué tan cercano es el lenguaje al hardware:
Bajo nivel: Lenguajes cercanos al hardware (Ej: Ensamblador, C).
Alto nivel: Más fáciles de leer y escribir (Ej: Python, Java).
6. Compilado o Interpretado – Cómo se ejecuta el código:
Lenguajes compilados: Se convierten a código máquina antes de ejecutarse (Ej:
C, C++).
Lenguajes interpretados: Se ejecutan línea por línea en tiempo real (Ej: Python,
JavaScript).
Lenguajes híbridos: Usan ambos enfoques (Ej: Java con JVM).
7. Biblioteca y Ecosistema – Disponibilidad de librerías y frameworks para facilitar el
desarrollo (Ej: TensorFlow en Python, React en JavaScript).
8. Portabilidad – Capacidad de ejecutarse en diferentes sistemas operativos sin cambios
(Ej: Java con la JVM).
9. Seguridad – Algunos lenguajes incluyen manejo automático de memoria para evitar
errores como desbordamiento de buffer (Ej: Java, Rust).
10. Concurrencia y Paralelismo – Permiten ejecutar varias tareas al mismo tiempo,
optimizando el rendimiento (Ej: Go, Rust).
2). realizar una linea de tiempom sobre los lenguaje de programación
1957 – FORTRAN: Primer
R= lenguaje de alto nivel,
1964 – BASIC: Fácil usado en cálculos
de aprender, popular científicos.
en la educación. 1958 – LISP: Enfocado en
1969 – B: Predecesor inteligencia artificial y
1950s - Primeros Lenguajes
de C, usado en programación funcional.
sistemas operativos. 1959 – COBOL: Diseñado
para negocios y
administración
1960s - Expansión y
Estandarización
1972 – C: Rápido y
eficiente, base de muchos
1983 – C++: Extiende C otros lenguajes.
con características de 1972 – Prolog: Enfoque
OOP. en lógica e inteligencia
1983 – Ada: Usado en 1970s - artificial.
sistemas críticos como Surgimiento de 1978 – SQL: Lenguaje
aviación. los Lenguajes para bases de datos.
1987 – Perl: Popular en Modernos
scripting y
administración de
sistemas.
1980s -
Programación
Orientada a
1991 – Python: Fácil de aprender,
Objetos (OOP)
usado en IA y desarrollo web.
1991 – Visual Basic: Lenguaje de
Microsoft con interfaz gráfica.
1990s - 1993 – Ruby: Sintaxis sencilla, base del
Internet y framework Ruby on Rails.
Lenguajes 1995 – Java: Portátil y seguro, usado
2001 – C#: Desarrollo de Populares en aplicaciones web y móviles.
software con .NET de 1995 – JavaScript: Lenguaje de la
Microsoft. web, esencial en desarrollo frontend.
2003 – Scala: Mezcla 1995 – PHP: Creado para desarrollo
funcional y orientado a web dinámico.
objetos. 2000s - Lenguajes
2009 – Go: Lenguaje eficiente para Nuevas
creado por Google. Tecnologías
2010 – Rust: Enfocado en
2011 – Kotlin: Alternativa a Java
seguridad y rendimiento.
para desarrollo Android.
2014 – Swift: Lenguaje de Apple
para iOS y macOS.
2010s - Lenguajes 2016 – TypeScript: Extiende
Especializados y JavaScript con tipado estático.
Modernos
3). investigar cuales son los diferentes aspectos generales de un lenguaje de
programación
R=1. Sintaxis:Reglas y estructura que define cómo se escriben los programas en
ese lenguaje.
Ejemplo: En Python, los bloques se definen con indentación, mientras que en C
usan {}.
2. Semántica:Se refiere al significado de las instrucciones escritas en el lenguaje.
Ejemplo: x = 5 + "Hola" en Python genera un error, pero en JavaScript convierte el
número en texto.
3. Paradigma de Programación:Forma en que el lenguaje organiza y ejecuta el
código. Los principales paradigmas son:
Imperativo: Se basa en ejecutar instrucciones paso a paso (Ej: C, Python).
Orientado a Objetos (OOP): Usa clases y objetos para organizar el código
(Ej: Java, C++).
Funcional: Usa funciones y evita cambiar estados (Ej: Haskell, Lisp).
Lógico: Basado en hechos y reglas (Ej: Prolog).
4. Tipado:Define cómo maneja los tipos de datos el lenguaje.
Estático: Se especifica el tipo antes de ejecutar (Ej: Java, C++).
Dinámico: El tipo se asigna en tiempo de ejecución (Ej: Python,
JavaScript).
Fuerte: No permite conversiones automáticas entre tipos incompatibles (Ej:
Python, Java).
Débil: Permite conversiones implícitas entre tipos (Ej: JavaScript, PHP).
5. Nivel de Abstracción:Relación entre el lenguaje y el hardware:
Bajo nivel: Cercano a la máquina, más rápido pero difícil de leer (Ej:
Ensamblador, C).
Alto nivel: Más fácil de leer y programar (Ej: Python, Java).
6. Modo de Ejecución:Forma en que el código se traduce y ejecuta:
Compilado: Se traduce antes de ejecutarse (Ej: C, C++).
Interpretado: Se ejecuta línea por línea (Ej: Python, JavaScript).
Híbrido: Mezcla ambos métodos (Ej: Java con la JVM).
7. Manejo de Memoria:Cómo administra los recursos del sistema:
Automático: Usa recolección de basura para liberar memoria (Ej: Java,
Python).
Manual: El programador debe liberar la memoria (Ej: C, C++).
8. Biblioteca y Ecosistema:Conjunto de herramientas y librerías que facilitan el
desarrollo de software.
Ejemplo: Python tiene NumPy para matemáticas, mientras que JavaScript tiene
React para interfaces web.
9. Seguridad:Algunos lenguajes incluyen mecanismos para evitar errores y
vulnerabilidades.
Ejemplo: Rust previene errores de memoria, mientras que C permite manipulación
directa de punteros.
10. Concurrencia y Paralelismo: Capacidad de ejecutar múltiples procesos
simultáneamente.
Ejemplo: Go y Rust tienen soporte avanzado para concurrencia.
4). realizar una lista de los diferentes lenguaje de programasion brindar
breve resumen
R= 1. Python
Uso: Desarrollo web, análisis de datos, inteligencia artificial,
automatización, desarrollo de aplicaciones.
Ventajas: Sintaxis sencilla, gran comunidad, muchas bibliotecas
disponibles.
2. JavaScript
Uso: Desarrollo web (principalmente frontend), aplicaciones web
interactivas, servidores ([Link]).
Ventajas: Se ejecuta en el navegador, ampliamente utilizado para
aplicaciones web dinámicas.
3. Java
Uso: Desarrollo de aplicaciones móviles (Android), aplicaciones de servidor,
aplicaciones empresariales.
Ventajas: Portabilidad (se puede ejecutar en diferentes plataformas sin
cambios), gran rendimiento.
4. C
Uso: Desarrollo de sistemas operativos, software embebido, programación
de bajo nivel.
Ventajas: Control total sobre el hardware, rápido y eficiente.
5. C++
Uso: Desarrollo de videojuegos, software de alto rendimiento, aplicaciones
de escritorio.
Ventajas: Más eficiente que otros lenguajes, permite el manejo de memoria
de manera precisa.
6. C#
Uso: Desarrollo de videojuegos (con Unity), aplicaciones de escritorio,
aplicaciones web ([Link]).
Ventajas: Integración con el ecosistema de Microsoft, fácil de aprender si
ya conoces C++.
7. Ruby
Uso: Desarrollo web, especialmente con el framework Ruby on Rails.
Ventajas: Sintaxis sencilla y amigable, excelente para prototipos rápidos.
8. Swift
Uso: Desarrollo de aplicaciones para iOS y macOS.
Ventajas: Rápido, fácil de aprender, optimizado para los productos de
Apple.
9. PHP
Uso: Desarrollo web del lado del servidor.
Ventajas: Muy utilizado en el desarrollo web, especialmente para sitios
dinámicos (WordPress, etc.).
10. Go (Golang)
Uso: Sistemas distribuidos, servidores web, programación de alto
rendimiento.
Ventajas: Rápido, con excelente rendimiento y facilidad para gestionar
concurrencia.
11. Rust
Uso: Desarrollo de sistemas, aplicaciones con alto rendimiento.
Ventajas: Seguridad en el manejo de memoria, rápido y eficiente.
12. SQL
Uso: Lenguaje de consulta estructurado, utilizado para gestionar bases de
datos.
Ventajas: Fundamental para interactuar con bases de datos, fácil de
aprender y ampliamente utilizado.
13. R
Uso: Análisis de datos, estadística, ciencia de datos.
Ventajas: Potente en el análisis de datos y gráficos estadísticos.
14. Kotlin
Uso: Desarrollo de aplicaciones Android.
Ventajas: Sintaxis concisa, interoperabilidad con Java, recomendado por
Google para el desarrollo de Android.
15. MATLAB
Uso: Cálculos matemáticos, simulaciones, análisis de datos científicos y de
ingeniería.
Ventajas: Potente para trabajos científicos y de ingeniería, bibliotecas
matemáticas integradas.