Entradas

Mostrando las entradas de marzo, 2022

VIDEOS

  LENGUAJES DE PROGRAMACION

Clasificación de los lenguajes de programación

Imagen
 Los lenguajes de programación han sido históricamente clasificados atendiendo a distintos criterios: Clasificación histórica A medida que surgían nuevos lenguajes que permitían nuevos estilos de programación más expresiva, se distinguieron dichos estilos en una serie de generaciones, cada una representando lenguajes de programación surgidos en una época similar y con características genéricas comunes. Lenguajes de alto y de bajo nivel Los lenguajes de programación se suelen clasificar dentro de dos amplias categorías que se refieren a su "nivel de abstracción", es decir, en cuanto a lo específico o general que es respecto a la arquitectura de computación inherente al sistema que se está utilizando. Clasificación por paradigmas Los paradigmas de programación distinguen distintos modelos de cómputo y de estilos de estructurar y organizar las tareas que debe realizar un programa. Un lenguaje de programación puede ofrecer soporte a uno o varios paradigmas de programación, total

Paradigma de programación

Imagen
 Un paradigma de programación consiste en un método para llevar a cabo cómputos y la forma en la que deben estructurarse y organizarse las tareas que debe realizar un programa.7​ Se trata de una propuesta tecnológica adoptada por una comunidad de programadores, y desarrolladores cuyo núcleo central es incuestionable en cuanto que únicamente trata de resolver uno o varios problemas claramente delimitados; la resolución de estos problemas debe suponer consecuentemente un avance significativo en al menos un parámetro que afecte a la ingeniería de software. Representa un enfoque particular o filosofía para diseñar soluciones. Los paradigmas difieren unos de otros, en los conceptos y la forma de abstraer los elementos involucrados en un problema, así como en los pasos que integran su solución del problema, en otras palabras, el cómputo. Tiene una estrecha relación con la formalización de determinados lenguajes en su momento de definición. Es un estilo de programación empleado. Un paradigma

Matlab

Imagen
 MATLAB es un entorno de programación destinado al cálculo científico e ingenieril. El nombre MATLAB es la abreviatura de MATrix LABoratory, y hace referencia a la facilidad del manejo de matrices dentro del lenguaje de programación del entorno. Es probablemente el entorno de programación y cálculo más empleado en el mundo en el ámbito científico e ingenieril. La última versión disponible es la R2013b, cuya interfaz ha sido totalmente renovada, y ha roto el esquema visual que venían compartiendo todas las versiones anteriores MATLAB usa un intérprete del lenguaje M, un lenguaje de tipado dinámico, con una sintaxis limpia y sencilla de entender, que permite manejar matrices y realizar operaciones matriciales complejas con muy poco código. El lenguaje M tiene otros intérpretes disponibles, además de MATLAB, como por ejemplo GNU Octave y Octave UPM. MATLAB está disponible para diversas plataformas (Windows, GNU/Linux, MacOS) bajo diferentes tipos de licencias privativas. Estas licencias s

Swift

Imagen
  Swift es un lenguaje de programación multiparadigma creado por Apple enfocado en el desarrollo de aplicaciones para iOS y macOS. Fue presentado en la WWDC 20147​ y está diseñado para integrarse con los Frameworks Cocoa y Cocoa Touch; puede usar cualquier biblioteca programada en Objective-C y llamar a funciones de C. También es posible desarrollar código en Swift compatible con Objective-C bajo ciertas condiciones. Swift tiene la intención de ser un lenguaje seguro, de desarrollo rápido y conciso. Usa el compilador LLVM incluido en Xcode 6. Fue presentado como un lenguaje propietario, pero en el año 2015, con la versión 2.2, pasó a ser de código abierto8​ con la Licencia Apache 2.0. Chris Lattner comenzó su desarrollo en el 2010, eventualmente obtuvo colaboración de otros programadores. Swift se benefició de la experiencia de muchos lenguajes tomando ideas de Objective-C, Haskell, Rust, Ruby, Python, C#, CLU entre otros Swift es un lenguaje fuertemente tipado, aunque su declaración n

Objective-C

Imagen
 Objective-C es un lenguaje de programación orientado a objetos creado como un superconjunto de C para que implementase un modelo de objetos parecido al de Smalltalk. Originalmente fue creado por Brad Cox y la corporación StepStone en 1980. En 1988 fue adoptado como lenguaje de programación de NEXTSTEP y en 1992 fue liberado bajo licencia GPL para el compilador GCC. Actualmente se usa como un lenguaje principal de programación para Mac OS X, iOS y GNUstep, además de Swift. A principios de los 80, el software se desarrollaba usando programación estructurada. La programación estructurada se estableció para ayudar a dividir los programas en pequeñas partes, haciendo más fácil el desarrollo cuando la aplicación se volvía muy grande. Sin embargo, como los problemas seguían creciendo al pasar el tiempo, la programación estructurada se volvió compleja dado el desorden de algunos programadores para invocar instrucciones repetitivamente, llevando a código spaghetti y dificultando la reutilizaci

R

Imagen
 R es un entorno y lenguaje de programación con un enfoque al análisis estadístico. R nació como una reimplementación de software libre del lenguaje S, adicionado con soporte para ámbito estático. Se trata de uno de los lenguajes de programación más utilizados en investigación científica, siendo además muy popular en los campos de aprendizaje automático (machine learning), minería de datos, investigación biomédica, bioinformática y matemáticas financieras. A esto contribuye la posibilidad de cargar diferentes bibliotecas o paquetes con funcionalidades de cálculo y graficación. R es parte del sistema GNU y se distribuye bajo la licencia GNU GPL. Está disponible para los sistemas operativos Windows, Macintosh, Unix y GNU/Linux. Fue desarrollado inicialmente por Robert Gentleman y Ross Ihaka del Departamento de Estadística de la Universidad de Auckland en 1993.1​ Sin embargo, si se remonta a sus bases iniciales, puede decirse que se inició en los Bell Laboratories de AT&T y ahora Alca

C++

Imagen
 C++ es un lenguaje de programación diseñado en 1979 por Bjarne Stroustrup. La intención de su creación fue extender al lenguaje de programación C mecanismos que permiten la manipulación de objetos. En ese sentido, desde el punto de vista de los lenguajes orientados a objetos, C++ es un lenguaje híbrido. Posteriormente se añadieron facilidades de programación genérica, que se sumaron a los paradigmas de programación estructurada y programación orientada a objetos. Por esto se suele decir que el C++ es un lenguaje de programación multiparadigma. Actualmente existe un estándar, denominado ISO C++, al que se han adherido la mayoría de los fabricantes de compiladores más modernos. Existen también algunos intérpretes, tales como ROOT. El nombre "C++" fue propuesto por Rick Mascitti en el año 1983, cuando el lenguaje fue utilizado por primera vez fuera de un laboratorio científico. Antes se había usado el nombre "C con clases". En C++, la expresión "C++" signifi

Principales características de los lenguajes de programación

Imagen
 La popularidad de un lenguaje de programación depende de las funcionalidades y utilidades que proporcione a los programadores. Las características que debe tener un lenguaje de programación para destacar son las siguientes: Simplicidad: el lenguaje debe ofrecer conceptos claros y simples que faciliten su aprendizaje y aplicación, de manera que sea sencillo de comprender y mantener. La simplicidad no significa que se le pueda restar el poder óptimo de funcionamiento. Naturalidad: se refiere a que su aplicación en el área para la que fue diseñado debe hacerse de forma natural, proporcionando operadores, estructuras y sintaxis para que los operadores trabajen eficientemente. Abstracción: consiste en la capacidad de definir y utilizar estructuras u operaciones complicadas ignorando algunos detalles. Esto influye en la capacidad de escritura. Eficiencia: los lenguajes de programación deben traducirse y ejecutarse eficientemente para no ocupar demasiado espacio en la memoria ni gastar mucho

Introducción a los lenguajes de programación

Imagen
 ¿Qué es un lenguaje?  Conjunto de símbolos y palabras (vocabulario o léxico) y conjunto de reglas (sintaxis y semántica) que permiten agrupar los símbolos para formar las frases del lenguaje.  ¿De programación?  Que sirve para especificar algoritmos sobre un ordenador.  Un programa se escribe como una secuencia de frases del lenguaje.  Un lenguaje de programación viene definido por un léxico, una sintaxis y una semántica Léxico Conjunto de símbolos que se pueden usar en un lenguaje.  Estos símbolos o elementos básicos del lenguaje, podrán ser de los siguientes:  • Identificadores: nombres simbólicos que se darán a ciertos elementos de programación (p.e. nombres de variables, tipos, módulos, etc.).  • Constantes: datos que no cambiarán su valor a lo largo del programa.  • Operadores: símbolos que representarán operaciones entre variables y constantes.  • Instrucciones: símbolos especiales que representarán estructuras de procesamiento, y de definición de elementos de programación.  • C

Tipos débiles y tipos fuertes

Imagen
 Los lenguajes débilmente tipados permiten que un valor de un tipo pueda ser tratado como de otro tipo, por ejemplo una cadena puede ser operada como un número. Esto puede ser útil a veces, pero también puede permitir ciertos tipos de fallas que no pueden ser detectadas durante la compilación o a veces ni siquiera durante la ejecución. Los lenguajes fuertemente tipados evitan que pase lo anterior. Cualquier intento de llevar a cabo una operación sobre el tipo equivocado dispara un error. A los lenguajes con tipos fuertes se les suele llamar de tipos seguros. Lenguajes con tipos débiles como Perl y JavaScript permiten un gran número de conversiones de tipo implícitas. Por ejemplo en JavaScript la expresión 2 * x convierte implícitamente x a un número, y esta conversión es exitosa inclusive cuando x es muy, indefinid, un Array o una cadena de letras. Estas conversiones implícitas son útiles con frecuencia, pero también pueden ocultar errores de programación. Las características de estáti

Tipos estáticos versus tipos dinámicos

Imagen
 En lenguajes con tipos estáticos se determina el tipo de todas las expresiones antes de la ejecución del programa (típicamente al compilar). Por ejemplo, 1 y (2+2) son expresiones enteras; no pueden ser pasadas a una función que espera una cadena, ni pueden guardarse en una variable que está definida como fecha. Los lenguajes con tipos estáticos pueden manejar tipos explícitos o tipos inferidos. En el primer caso, el programador debe escribir los tipos en determinadas posiciones textuales. En el segundo caso, el compilador infiere los tipos de las expresiones y las declaraciones de acuerdo al contexto. La mayoría de los lenguajes populares con tipos estáticos, tales como C++, C# y Java, manejan tipos explícitos. Inferencia total de los tipos suele asociarse con lenguajes menos populares, tales como Haskell y ML. Sin embargo, muchos lenguajes de tipos explícitos permiten inferencias parciales de tipo; tanto Java y C#, por ejemplo, infieren tipos en un número limitado de casos. Los leng

Lenguajes tipados versus lenguajes no tipados

Imagen
 Se dice que un lenguaje es tipado si la especificación de cada operación debe definir los tipos de datos para los cuales es aplicable, con la implicación de que no es aplicable a otros tipos. Por ejemplo, "este texto entre comillas" es una cadena de caracteres. En la mayoría de los lenguajes de programación, dividir un número por una cadena de caracteres no tiene ningún significado. Por tanto, la mayoría de los lenguajes de programación modernos rechazarían cualquier intento de ejecutar dicha operación por parte de algún programa. En algunos lenguajes, estas operaciones sin significado son detectadas cuando el programa es compilado (validación de tipos "estática") y son rechazadas por el compilador, mientras en otros son detectadas cuando el programa es ejecutado (validación de tipos "dinámica") y se genera una excepción en tiempo de ejecución. Un caso especial de lenguajes de tipo son los lenguajes de tipo sencillo. Estos son con frecuencia lenguajes de

Sintaxis

Imagen
 A la forma visible de un lenguaje de programación se la conoce como sintaxis. La mayoría de los lenguajes de programación son puramente textuales, es decir, utilizan secuencias de texto que incluyen palabras, números y puntuación, de manera similar a los lenguajes naturales escritos. Por otra parte, hay algunos lenguajes de programación que son más gráficos en su naturaleza, utilizando relaciones visuales entre símbolos para especificar un programa. La sintaxis de un lenguaje de programación describe las combinaciones posibles de los símbolos que forman un programa sintácticamente correcto. El significado que se le da a una combinación de símbolos es manejado por su semántica (ya sea formal o como parte del código duro de la referencia de implementación). Dado que la mayoría de los lenguajes son textuales, este artículo trata de la sintaxis textual. La sintaxis de los lenguajes de programación es definida generalmente utilizando una combinación de expresiones regulares (para la estruc

PHP

Imagen
PHP es un lenguaje de programación destinado a desarrollar aplicaciones para la web y crear páginas web, favoreciendo la conexión entre los servidores y la interfaz de usuario. Entre los factores que hicieron que PHP se volviera tan popular, se destaca el hecho de que es de código abierto. Esto significa que cualquiera puede hacer cambios en su estructura. En la práctica, esto representa dos cosas importantes: es de código abierto, no hay restricciones de uso vinculadas a los derechos. El usuario puede usar PHP para programar en cualquier proyecto y comercializarlo sin problemas. está en constante perfeccionamiento, gracias a una comunidad de desarrolladores proactiva y comprometida. La función principal de PHP, en la práctica El PHP generalmente es definido como un lenguaje del lado del servidor. Esto significa que se aplica en la programación que tiene lugar en el servidor web responsable de ejecutar la aplicación o, más a menudo, en un sitio web. Este trabajo previo permite cargar l

C#

Imagen
 C# es un lenguaje de programación desarrollado por Microsoft, orientado a objetos, que ha sido diseñado para compilar diversas aplicaciones que se ejecutan en .NET Framework. Se trata de un lenguaje simple, eficaz y con seguridad de tipos . Las numerosas innovaciones de C# permiten desarrollar aplicaciones rápidamente y mantener la expresividad y elegancia de los lenguajes de estilo de C. La sintaxis viene derivada de C y C+ + y utiliza el modelo de objetos de la plataforma .NET, muy parecido al de Java, aunque incluye mejoras propias de otros lenguajes . Como curiosidad, el nombre de este lenguaje fue inspirado por la escala musical. En ella, la letra C equivale a la nota musical do y el símbolo # significa sostenido, lo que indica que es un semitono más alta. Así, C# sugiere que es superior a C y C++. Variables en C#   Las variables son identificadores asociados a valores. Se declaran indicando el tipo de dato que almacenará y su identificador. Un identificador puede: empezar por “_

JavaScript

Imagen
JavaScript (JS) es un lenguaje de programación ligero, interpretado, o compilado justo-a-tiempo (just-in-time) con funciones de primera clase. Si bien es más conocido como un lenguaje de scripting (secuencias de comandos) para páginas web, y es usado en muchos entornos fuera del navegador, tal como Node.js, Apache CouchDB y Adobe Acrobat JavaScript es un lenguaje de programación basada en prototipos, multiparadigma, de un solo hilo, dinámico, con soporte para programación orientada a objetos, imperativa y declarativa (por ejemplo programación funcional). Lee más en acerca de JavaScript. Esta sección está dedicada al lenguaje JavaScript en sí, y no a las partes que son específicas de las páginas web u otros entornos host. Para información acerca de APIs específicas para páginas Web, consulta APIs Web y DOM. El estándar para JavaScript es ECMAScript (ECMA-262) y la especificación de la API para la Internacionalización de ECMAScript (ECMA-402). La documentación en MDN está basada enterame

Java

Imagen
 ¿Qué es la tecnología Java y para qué la necesito? Java es un lenguaje de programación y una plataforma informática comercializada por primera vez en 1995 por Sun Microsystems. Hay muchas aplicaciones y sitios web que no funcionarán a menos que tenga Java instalado y cada día se crean más. Java es rápido, seguro y fiable. Desde portátiles hasta centros de datos, desde consolas para juegos hasta súper computadoras, desde teléfonos móviles hasta Internet, Java está en todas partes. ¿La descarga de Java es gratuita? Sí, la descarga de Java es gratuita. Puede obtener la última versión en java.com. Si está diseñando un dispositivo de consumo o integrado y le gustaría incluir Java, póngase en contacto con Oracle para solicitar información sobre cómo incluir Java en su dispositivo. ¿Por qué debería actualizarme a la versión más reciente de Java? La versión más reciente de Java contiene importantes mejoras para el rendimiento, estabilidad y seguridad de las aplicaciones Java que se ejecutan e

Python

Imagen
 Python es un lenguaje de programación potente y fácil de aprender. Tiene estructuras de datos de alto nivel eficientes y un simple pero efectivo sistema de programación orientado a objetos. La elegante sintaxis de Python y su tipado dinámico, junto a su naturaleza interpretada lo convierten en un lenguaje ideal para scripting y desarrollo rápido de aplicaciones en muchas áreas, para la mayoría de plataformas. El intérprete de Python y la extensa librería estándar se encuentran disponibles libremente en código fuente y de forma binaria para la mayoría de las plataformas desde la Web de Python, https://www.python.org/, y se pueden distribuir libremente. El mismo sitio también contiene distribuciones y referencias a muchos módulos libres de Python de terceros, programas, herramientas y documentación adicional. El intérprete de Python es fácilmente extensible con funciones y tipos de datos implementados en C o C++ (u otros lenguajes que permitan ser llamados desde C). Python también es ap

Historia de los lenguajes de alto nivel

Imagen
  En 1945, el matemático y químico Jonh (Janos) von Neumann presenta los principios generales que debe seguir una máquina de propósito general. El primer lenguaje en el que se programaron los ordenadores fue el propio del procesador, es decir, instrucciones análogas a las presentes en la máquina de Von Neumann. Sin embargo era necesario tener en cuenta los detalles propios de la máquina para poder realizar cualquier cálculo y además era muy tedioso introducir el programa en el ordenador. En 1951, apenas siete años después de que Von Neumann introdujera el concepto de programa almacenado en memoria, Wilkes, Wheeler y Gill describen un cargador de programas que realiza la conversión de valores decimales a binarios para permitir una mayor comodidad en la codificación de instrucciones y direcciones. Con objeto de simplificar la programación, los ensambladores fueron enriqueciéndose paulatinamente, hasta convertirse en traductores de representaciones simbólicas (mnemotécnicas) del lenguaje

Clasificación de lenguajes según la administración de memoria

Imagen
 Estáticos: Los requisitos de memoria del programa se pueden calcular antes de ejecutar el programa. No permiten recursividad. Fortran, Cobol. Basados en pila: Se calculan los requisitos de memoria generales del programa antes de ejecutarlo. El resto de la memoria necesaria durante la ejecución del programa se utiliza en forma de pila. Algol 60. Dinámicos: No se puede saber a priori la cantidad de memoria que utilizará el programa. El programa puede crear y destruir estructuras de datos en cualquier lugar del programa. Prolog, Lisp. C++ es un lenguaje principalmente basado en pila, pero que también tiene características dinámicas. Otras clasificaciones Por la forma en que se pasa a lenguaje máquina. • Lenguajes compilados → C, Pascal, C++,... • Lenguajes interpretados → BASIC Por el objetivo principal de los programas escritos en el lenguaje. • Lenguajes de propósito general → C, Delphi... • Lenguajes para la enseñanza → Logo, Pascal, Modula, BASIC... • Lenguajes para cálculo científic

Clasificación de los lenguajes de alto nivel

Imagen
 Paradigmas de programación. Por paradigma de programación se entiende una “filosofía” de programar, es decir, los lenguajes que utilizan un mismo paradigma de programación utilizarán los mismos conceptos básicos para programar. Se pueden definir cuatro tipos fundamentales: Imperativos: La unidad de trabajo es la sentencia (acción). Pascal, C. Orientados a Objetos : La unidad de trabajo es el objeto. Agrupa las estructuras de datos con sus algoritmos. Smalltalk. Funcionales : La unidad es la función. Consiste en combinar funciones para conseguir funciones más complejas hasta llegar a la función que es el programa. Lisp. Basado en el Cálculo Lambda. Lógicos : Se especifican los hechos y las propiedades que especifican el problema. El sistema utiliza esa información para encontrar la solución. Prologo. Basado en la Lógica de Predicados.

Lenguajes de alto nivel:

Imagen
 • Están basados en máquinas abstractas, que facilitan la comprensión por personas. • Instrucciones más flexibles y potentes. • Necesita un traductor para convertir el programa a lenguaje máquina, que es el que entiende el ordenador. • No depende del procesador, por lo que el mismo programa sirve para diferentes ordenadores. • Al tener que traducirlo, es más lento e ineficiente que el lenguaje de bajo nivel. Ejemplo: Suma de 3 + 5 en C++ x = 3 + 5

Lenguajes de bajo nivel

Imagen
- Lenguajes de bajo nivel: • Están basados directamente en la máquina de Von Neumann, por lo que están a un nivel muy cercano a la máquina. • Las instrucciones del lenguaje son las instrucciones del microprocesador del ordenador, que normalmente son demasiado simples. • Es exclusivo de cada ordenador. • Es difícil y costoso de programar. En lenguajes de bajo nivel distinguimos entre lenguaje máquina y lenguaje ensamblador. Lenguaje máquina: ƒ Instrucciones reconocidas por los circuitos del procesador. ƒ Se codifican en binario. ƒ Los datos se referencian por su posición de memoria. Lenguaje ensamblador: ƒ Codificación mnemotécnica del lenguaje máquina. ƒ Necesita un traductor. ƒ Se pueden utilizar etiquetas en vez de posiciones de memoria. Ejemplo: Suma de 3 + 5 en un procesador 8086 (también Pentium, Pentium II, …) Ensamblador Código máquina (Hexadecimal) mov ax, 0003 B8 03 00 add ax, 0005 05 05 00

¿ que es el significado de un programa ?

Imagen
 Al cálculo asociado por un lenguaje a un programa correcto se le considera el significado del programa. • a las metodologías para especificar el significado de los programas se les llama semántica de los lenguajes de programación. • las reglas de cada lenguaje deben permitir establecer el significado sin ambigüedad alguna, de forma clara y concisa ¿ que es el significado de un programa ? Ejemplo de significado: consideremos este programa El significado del anterior programa es el cálculo necesario para evaluar una determinada función f . • La función f es la que asocia, a una secuencia de números enteros, otra secuencia que contiene el factorial de cada uno de ellos. f ∈ N∗ → N∗ (a1, . . . , an) → f(a1, . . . , an) = (a1!, . . . , an!) • Existen varias aproximaciones a la semántica de los lenguajes de programación. • Lo que hemos visto se denomina semántica denotacional (un programa denota una función)

El concepto de Lenguaje de Programación

Imagen
El concepto de Lenguaje de Programación Un lenguaje de programación es un convenio entre personas que puede definirse así: Conjunto de reglas o normas que permiten asociar a cada programa correcto un cálculo que será llevado a cabo por un ordenador (sin ambigüedades). • por tanto, un lenguaje de programación es un convenio o acuerdo acerca de como se debe de interpretar el significado de los programas de dicho lenguaje • muchas veces se confunden los lenguajes con los compiladores, interpretes o con los entornos de desarrollo de software Estandarización  de los lenguajes El convenio suele estar reflejado en un documento (un libro) que se hace público y mediante el cual se determinan las reglas de interpretación correcta de los programas • algunos lenguajes están definidos por un documento estandarizado en un organismo oficial como ISO (p.ej. C++ es el estándar ISO/IEC 14882, de 1998 ) • en otros casos la descripción del lenguaje no está oficialmente estandarizada, el lenguaje se define