jueves, 8 de octubre de 2020

LENGUAJE C

 

C es un lenguaje de programación originalmente desarrollado por Dennis M. Ritchie entre 1969 y 1972 en los Laboratorios Bell, como evolución del anterior lenguaje B, a su vez basado en BCPL.

Al igual que B, es un lenguaje orientado a la implementación de Sistemas Operativos, concretamente Unix. C es apreciado por la eficiencia del código que produce y es el lenguaje de programación más popular para crear software de sistemas, aunque también se utiliza para crear aplicaciones.

Se trata de un lenguaje de tipos de datos estáticos, débilmente tipificado, de medio nivel, pero con muchas características de bajo nivel. Dispone de las estructuras típicas de los lenguajes de alto nivel, pero, a su vez, dispone de construcciones del lenguaje que permiten un control a muy bajo nivel. Los compiladores suelen ofrecer extensiones al lenguaje que posibilitan mezclar código en ensamblador con código C o acceder directamente a memoria o dispositivos periféricos.

La primera estandarización del lenguaje C fue en ANSI, con el estándar X3.159-1989. El lenguaje que define este estándar fue conocido vulgarmente como ANSI C. Posteriormente, en 1990, fue ratificado como estándar ISO (ISO/IEC 9899:1990). La adopción de este estándar es muy amplia por lo que, si los programas creados lo siguen, el código es portable entre plataformas y/o arquitecturas.


Características

· Un núcleo del lenguaje simple, con funcionalidades añadidas importantes, como funciones matemáticas y de manejo de archivos, proporcionadas por bibliotecas.

·   Es un lenguaje muy flexible que permite programar con múltiples estilos. Uno de los más empleados es el estructurado "no llevado al extremo" (permitiendo ciertas licencias de ruptura).

·   Un sistema de tipos que impide operaciones sin sentido.

·  Usa un lenguaje de preprocesador, el preprocesador de C, para tareas como definir macros e incluir múltiples archivos de código fuente.

·   Acceso a memoria de bajo nivel mediante el uso de punteros.

·   Interrupciones al procesador con uniones.

·   Un conjunto reducido de palabras clave.

·   Por defecto, el paso de parámetros a una función se realiza por valor. El paso por referencia se consigue pasando explícitamente a las funciones las direcciones de memoria de dichos parámetros.

·  Punteros a funciones y variables estáticas, que permiten una forma rudimentaria de encapsulado y polimorfismo.

 

 



ELIXIR

 

Elixir es un lenguaje funcional dinámico, creado para desarrollar aplicaciones fáciles de mantener y que sean escalables, diseñado especialmente para el manejo de grandes volúmenes de datos. Elixir corre bajo una maquina virtual de Erlang conocida como BEAM y fue creado por Jose Valim en un proyecto de investigación y de desarrollo de Plataformatec.


Ventajas

·   Baja latencia: Elixir fue diseñado para tener un nivel de latencia muy bajo, lo cual permite procesar grandes volúmenes de datos con retrasos mínimos. Los cambios casi ocurren en tiempo real, dándole un gran valor comercial, ya que no requiere el esfuerzo extra que se debe realizar en otros lenguajes de programación para reducir la latencia.

·   Concurrencia: Elixir presenta un alto nivel de concurrencia. Los procesos se ejecutan de forma simultánea y con un retraso mínimo, permitiéndole manejar múltiples operaciones y usuarios al mismo tiempo.

·  Potente Web Framework: Elixir está respaldado por un potente Web Framework conocido como Phoenix, este utiliza un modelo MVC, pero no compromete la mantenibilidad, ni la velocidad. Además, ofrece un amplio conjunto de herramientas a los programadores, permitiéndoles crear aplicaciones web escalables y con todos los beneficios que puede ofrecer los ambientes de Erlang.

Desventajas

·    Lenguaje funcional: Aunque su sintaxis es fácil de entender y escribir, es un cambio de paradigma de programación que muchos programadores no están acostumbrados a utilizar, esto requiere un esfuerzo adicional por parte del programador para acostumbrarse al paradigma funcional.

· Lenguaje Joven: Es un lenguaje en desarrollo y que está evolucionando constantemente, por lo tanto, está sujeto a sufrir constantes cambios, problema es que esto hace que sea un lenguaje no tan estable, ya que pueden ocurrir cambios importantes en una nueva actualización, dejando de lado un poco la seguridad y confiabilidad por parte de las organizaciones para utilizarlo.

·  Conocimiento en Erlang: En Elixir se utiliza el entorno de ejecución de Erlang, también existe la posibilidad de utilizar bibliotecas de Erlang en Elixir, por lo tanto, es importante que un programador tenga conocimientos de Erlang y eso supone una curva de aprendizaje adicional para utilizar el lenguaje.




viernes, 2 de octubre de 2020

SQL

El Lenguaje de Consulta Estructurado popularmente conocido por sus siglas en inglés como SQL, es un tipo de lenguaje de programación que ayuda a solucionar problemas específicos o relacionados con la definición, manipulación e integridad de la información representada por los datos que se almacenan en las bases de datos. 

Dada su fuerte conexión con la teoría del modelo relacionalSQL es un lenguaje de alto nivel orientado a conjuntos de registros. Esto implica que un solo comando SQL puede equivaler a decenas o cientos de líneas de código que se tendrían que utilizar en un lenguaje de más bajo nivel orientado a registros.

Como resultado de lo anterior, SQL permite lograr con mayor rapidez y facilidad la definición y manipulación de los objetos de base de datos, permitiendo así alcanzar una mayor eficiencia y productividad en el desarrollo.


¿Por qué es importante aprender SQL?

·   SQL simplifica tu código: no tienes que pensar en escribir rutinas complicadas y con muchísimas líneas de código para mantener tu información consistente.

· SQL te ahorrará en mucho: tiempo de desarrollo, calidad en tu código, esfuerzo y dinero que dejarías de ganar si por ejemplo tuvieras que abocarte a desarrollar tantas rutinas que ya están incorporadas en el DBMS.

·    Mejorarás tu lógica de programación aprendiendo SQL: tendrás una nueva visión sobre el arte de programación, lo que potenciará tus habilidades.

· Tu aplicación puede ejecutarse más rápidamente: una vez que hayas hecho todas las pruebas requeridas para comprobar que tu código es óptimo y funciona sin problemas, todavía puede ser factible que mejores su rendimiento muchas veces con sólo unos pequeños ajustes en tu base de datos.

·    SQL puede hacer que tu aplicación se vuelva independiente de los cambios en los datos.

·    SQL se mantiene en constante evolución pero el núcleo de SQL cambia muy poco: una vez que aprendas su funcionamiento solo tienes que concentrarte en las innovaciones posteriores.