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.




viernes, 25 de septiembre de 2020

GO

 

Go es un lenguaje de programación concurrente y compilado inspirado en la sintaxis de C, que intenta ser dinámico como Pythony con el rendimiento de C o C++. Ha sido desarrollado por Google, y sus diseñadores iniciales fueron Robert Grisemer, Rob Pike y Ken Thompson. Actualmente está disponible en formato binario para los sistemas operativos Windows, GNU/Linux, FreeBSD y Mac OS X, pudiendo también ser instalado en estos y en otros sistemas mediante el código fuente.​ Go es un lenguaje de programación compilado, concurrente, orientado a objetos y con recolector de basura que de momento es soportado en diferentes tipos de sistemas UNIX, incluidos Linux, FreeBSD, Mac OS X y Plan 9 (puesto que parte del compilador está basado en un trabajo previo sobre el sistema operativo interno). Las arquitecturas soportadas son i386, amd64 y ARM.



Go no utiliza excepciones. Los creadores del lenguaje han dado varios motivos para que esto sea así. La principal es que añadir una capa de excepciones agrega una complejidad innecesaria al lenguaje y al entorno de ejecución. Por definición las excepciones deberían ser excepcionales, pero al final se acaban usando como controladores del flujo de la aplicación y dejan de tener la finalidad de excepcionalidad. Según los creadores, las excepciones tienen que ser realmente excepcionales y el uso que se le da mayoritariamente no justifica su existencia. 

Durante muchos años, los desarrolladores han tenido que elegir entre lenguajes de programación de tipado estático compilados, por regla general, bastante complejos pero que proveen grandes características relacionadas con la optimización y el rendimiento y lenguajes de tipado dinámico interpretados con características de mucho más alto nivel que hacían su aprendizaje, uso y sintaxis más sencilla y por tanto divertido programar en ellos, eso sí, sacrificando rendimiento y control.

 Go mezcla lo mejor de ambos mundos y nos aporta una sintaxis sencilla, fácil de interpretar y divertida junto a la potencia que nos ofrece un lenguaje fuertemente tipado y compilado incorporando además características de alto nivel que facilitan el uso del lenguaje por los desarrolladores.



viernes, 18 de septiembre de 2020

RUBY

 

Ruby es un lenguaje de programación interpretado, reflexivo y orientado a objetos, creado por el programador japonés Yukihiro "Matz" Matsumoto, quien comenzó a trabajar en Ruby en 1993, y lo presentó públicamente en 1995. Combina una sintaxis inspirada en Python y Perl con características de programación orientada a objetos similares a Smalltalk. Comparte también funcionalidad con otros lenguajes de programación como Lisp, Lua, Dylan y CLU. Ruby es un lenguaje de programación interpretado en una sola pasada y su implementación oficial es distribuida bajo una licencia de software libre.


CaracterísticaS

·         Cuatro niveles de ámbito de variable: global, clase, instancia y local.

·         Iteraciones y clausuras o closures (pasando bloques de código)

·         Es nativas similares a las de Perl a nivel del lenguaje

·         Posibilidad de redefinir los operadores (sobrecarga de operadores)

·        Hilos de ejecución simultáneos en todas las plataformas usando hilos verdes, o no gestionados por el sistema operativo.

·   Carga dinámica de DLL/bibliotecas compartidas en la mayoría de las plataformas Introspección, reflexión y metaprogramación.




viernes, 11 de septiembre de 2020

Swift

 El lenguaje de programación Swift es el utilizado actualmente para los desarrollos digitales de apps para entornos iOS y macOS. Es decir, que es el lenguaje ideal a la hora de programar una app que deba ser compatible con los dispositivos de la marca Apple.

Este lenguaje de programación Swift fue presentado oficialmente en el año 2014, durante la Conferencia Anual de Desarrolladores que ofrece la misma compañía Apple.

La presentación de Swift tenía su explicación en la búsqueda de un lenguaje de programación que fuera más asequible que las opciones existentes en aquel momento, con Objective-C a la cabeza, además de ofrecer mejoras en cualquier desarrollo.

El éxito fue inmediato. Las características de Swift han motivado que se haya estandarizado como lenguaje de programación propio de iOS. En la actualidad, todo profesional que se precie, debe dominarlo, para poder trabajar en el desarrollo de cualquier app compatible.

¿Cuáles son sus características?

Las características de Swift son las que han respaldado su éxito. De forma general, este lenguaje de programación destaca en comparación a otros desarrollos anteriores, por ser más seguro, más rápido en su desarrollo y también que permite mejores resultados.

·  La seguridad de Swift se basa en la menor probabilidad de cometer errores durante su escritura. Al basarse en un código más limpio, con una estructura de variables menos propensa a incorrecciones y con gestiones automáticas, la existencia de errores o problemas es menor.

·  Un lenguaje de programación sin errores o con menos probabilidades de que aparezcan, tiene como ventaja consecuente que el desarrollo digital basado en este código, también sea más estable. En consecuencia, las apps en Swift son más seguras que las creadas con otros lenguajes de programación.

·  La rapidez también es una característica importante y diferencial del lenguaje de programación Swift.

Hay que entender que su existencia deriva de la necesidad de mejorar o incluso sustituir lenguajes como Objetive-C. De hecho, no solo lo supera, sino que también se le considera mejor que usar C o C++, en los que también se basa.


viernes, 4 de septiembre de 2020

Objective-C

Objetive-C se trata de un lenguaje de programación orientado a objetos.

El mismo está compuesto por superconjuntos de C, sin duda alguna uno de los lenguajes de programación más comunes, lo que permite generar objetos los cuales contienen similitud con Smalltalk.

El lenguaje de programación Objetive-C, fue creado por Brad Cox, de la mano con la corporación StepStone, esto para el año 1980.

En el año 1988, esta creación fue afiliada al lenguaje de programación Nextstep, luego de esto en el año 1992 este lenguaje de programación fue liberado por medio de licencia GPL para el software de compilación GCC.

En la actualidad el lenguaje de programación Objetive-C, es usado como principal lenguaje de programación en iOS, Mac OS X, GNUstep, incluyendo a esta lista Swift.

A pesar de tener cierto tiempo de haber sido lanzado, Objective-C se puede catalogar como uno de los lenguajes de programación menos conocidos, una de las plataformas que ha usado este lenguaje de programación para catapultarse y darse a conocer ha sido en las aplicaciones de Iphone.


Características de Objective-C

Objetive-C se presenta con ciertas características que terminan por ser de gran ayuda para los programadores, más aún para los amantes del lenguaje en C.

El lenguaje de programación Objetive-C es compatible con muchos software y contextos de programación.

· Las sentencias del control de flujo, tales como while, for, do while, están inmersas en Objetive C.

· Las conversiones, sean explicitas e implícitas entre tipos, también se encuentran entre las características de este lenguaje de programación.

· Ámbitos de variables, ya sean globales, estáticas y locales.

· Estructuras, datos fundamentales








viernes, 28 de agosto de 2020

R

 R es un entorno de software libre (licencia GNU GLP) y lenguaje de programación interpretado, es decir, ejecuta las instrucciones directamente, sin una previa compilación del programa a instrucciones en lenguaje máquina. El término entorno, en R, se refiere a un sistema totalmente planificado y coherente, en lugar de una acumulación de herramientas específicas e inflexibles, como suele ser el caso en otros softwares de análisis de datos.

Este entorno es comúnmente utilizado para la computación estadística y gráfica, ya que dispone de una amplia variedad de técnicas estadísticas (modelos lineales y no lineales, pruebas estadísticas clásicas, análisis de series de tiempo, clasificación, agrupamiento, etc.) y gráficas. Funciona en plataformas UNIX y sistemas similares (incluidos FreeBSD y Linux), Windows y MacOS.

Su desarrollo actual es responsabilidad del R Development Core Team. Forma parte de un proyecto colaborativo y abierto donde los usuarios pueden publicar paquetes que extienden su configuración básica (repositorio oficial de paquetes). 




Características de R 

– Manejo y almacenamiento efectivo de los datos.

– Un conjunto de operadores para la realización de cálculos con matrices

– Una gran colección de herramientas para el análisis de datos.

– Utilidades gráficas para la visualización de datos.

– Un lenguaje de programación bien desarrollado que incluye saltos condicionales, bucles, funciones recursivas, utilidades para la entrada y salida de datos, etc.

– Tiene un formato de documentación basado en LaTeX, que se utiliza para proporcionar documentación completa tanto en formato físico como digital.



viernes, 21 de agosto de 2020

PHP

PHP es un lenguaje de código abierto muy popular, adecuado para desarrollo web y que puede ser incrustado en HTML. Es popular porque un gran número de páginas y portales web están creadas con PHP. Código abierto significa que es de uso libre y gratuito para todos los programadores que quieran usarlo. Incrustado en HTML significa que en un mismo archivo vamos a poder combinar código PHP con código HTML, siguiendo unas reglas.

HP se utiliza para generar páginas web dinámicas. Hay que recordar que llamamos página estática a aquella cuyos contenidos permanecen siempre igual, mientras que llamamos páginas dinámicas a aquellas cuyo contenido no es el mismo siempre. Por ejemplo, los contenidos pueden cambiar en base a los cambios que haya en una base de datos, de búsquedas o aportaciones de los usuarios, etc.

¿Cómo trabaja PHP? El lenguaje PHP se procesa en servidores, que son potentes ordenadores con un software y hardware especial. Cuando se escribe una dirección tipo http://www.aprenderaprogramar.com/index.php en un navegador web como Internet Explorer, Firefox o Chrome, ¿qué ocurre? Se envían los datos de la solicitud al servidor que los procesa, reúne los datos (por eso decimos que es un proceso dinámico) y el servidor lo que devuelve es una página HTML como si fuera estática.

El esquema es: Petición de página web al servidor --> El servidor recibe la petición, reúne la información necesaria consultando a bases de datos o a otras páginas webs, otros servidores, etc --> El servidor responde enviando una página web “normal” (estática) pero cuya creación ha sido dinámica (realizando procesos de modo que la página web devuelta no siempre es igual).





viernes, 14 de agosto de 2020

PYTHON

Python es la navaja suiza de los programadores. Se trata de un veterano lenguaje de programación presente en multitud de aplicaciones y sistemas operativos. Podemos encontrarlo corriendo en servidores, en aplicaciones iOS, Android, Linux, Windows o Mac. Esto es debido a que cuenta con una curva de aprendizaje moderada ya que su filosofía hace hincapié en ofrecer una sintaxis de código legible.

Es un lenguaje de programación versátil multiplataforma y multiparadigma que se destaca por su código legible y limpio. Una de las razones de su éxito es que cuenta con una licencia de código abierto que permite su utilización en cualquier escenario. Esto hace que sea uno de los lenguajes de iniciación de muchos programadores siendo impartido en escuelas y universidades de todo el mundo. Sumado a esto cuenta con grandes compañías que hacen de este un uso intensivo. Tal es el caso de Google, Facebook o Youtube, ya que permite, entre otras de sus características la automatización de procesos y ejecución de tareas en tanto en entorno cliente como servidor.

Python es ideal para trabajar con grandes volúmenes de datos ya que, el ser multiplataforma, favorece su extracción y procesamiento, por eso lo eligen las empresas de Big Data. A nivel científico, tiene una gran biblioteca de recursos con especial énfasis en las matemáticas para aspirantes a programadores en áreas especializadas. Y si esto fuera poco, es posible crear videojuegos aunque no es tan eficiente como Java o C#.

Python nació a principios de los 90 y, en un inicio, fue desarrollado como una afición por Guido Van Rossum, un ingeniero holandés que trabajaba en ese momento en el CWI de Amsterdam, el Centro de Investigación de Ciencias de la Computación holandés y como curiosidad el nombre elegido, Python, fue tomado del grupo cómico británico Monty Python, del que Guido era un gran fan.

viernes, 7 de agosto de 2020

JAVA

Java es un lenguaje de programación de propósito general, concurrente, orientado a objetos que fue diseñado específicamente para tener tan pocas dependencias de implementación como fuera posible. Su intención es permitir que los desarrolladores de aplicaciones escriban el programa una vez y lo ejecuten en cualquier dispositivo, lo que quiere decir que el código que es ejecutado en una plataforma no tiene que ser recompilado para correr en otra. Java es, a partir de 2012, uno de los lenguajes de programación más populares en uso, particularmente para aplicaciones de cliente-servidor de web, con unos 10 millones de usuarios reportados.

El lenguaje de programación Java fue originalmente desarrollado por James Gosling de Sun Microsystems (la cual fue adquirida por la compañía Oracle) y publicado en 1995 como un componente fundamental de la plataforma Java de Sun Microsystems. Su sintaxis deriva en gran medida de C y C++, pero tiene menos utilidades de bajo nivel que cualquiera de ellos. Las aplicaciones de Java son generalmente compiladas a bytecode que puede ejecutarse en cualquier máquina virtual Java (JVM) sin importar la arquitectura de la computadora subyacente.

La compañía Sun desarrolló la implementación de referencia original para los compiladores de Java, máquinas virtuales, y librerías de clases en 1991 y las publicó por primera vez en 1995. A partir de mayo de 2007, en cumplimiento con las especificaciones del Proceso de la Comunidad Java, Sun volvió a licenciar la mayoría de sus tecnologías de Java bajo la Licencia Pública General de GNU. Otros también han desarrollado implementaciones alternas a estas tecnologías de Sun, tales como el Compilador de Java de GNU y el GNU Classpath.