miércoles, 1 de octubre de 2014

Tecnologías Emergentes en Lenguajes de Programación


Lenguajes de Programación

Un lenguaje de programación" es un lenguaje diseñado para describir el conjunto de acciones consecutivas que un equipo debe ejecutar. Estas herramientas  permiten crear programas y software. Los lenguajes de programación facilitan la tarea de programación, ya que disponen de formas adecuadas que permiten ser leídas y escritas por personas, a su vez resultan independientes del modelo de computador a utilizar.
  • Go
  • Dart
  • Python
_________________________________________________________________________

Go

Es un nuevo lenguaje de programación para sistemas lanzado por la todopoderosa Google en Noviembre del 2009. Aunque empezó a ser desarrollado en Septiembre del 2007 por Robert Griesemer, Rob Pike y Ken Thompson. Lenguaje de programación compilado, concurrente, imperativo, estructurado, no orientado a objetos.



_________________________________________________________________________

Dart

Es un lenguaje de código abierto, estructurado y flexible, orientado a objetos, basado en clases, con herencia simple y soporte de interfaces, clases abstractas y tipado opcional de datos. Permitir que los desarrolladores puedan crear aplicaciones web más complejas, con un mantenimiento más estructurado y con un rendimiento muchísimo superior a lo que nos tienen acostumbrados las aplicaciones web.

_________________________________________________________________________

Python

Python es un lenguaje de programación poderoso y fácil de aprender. Cuenta con estructuras de datos eficientes y de alto nivel y un enfoque simple pero efectivo a la programación orientada a objetos. La elegante sintaxis de Python y su tipado dinámico, junto con su naturaleza interpretada, hacen de éste un lenguaje ideal para scripting y desarrollo rápido de aplicaciones en diversas áreas y sobre la mayoría de las plataformas.


_________________________________________________________________________________

Tabla Comparativa de Tecnologías Emergentes en Lenguajes de Programación
Tecnología
Características
Ventajas
Desventajas















GO
Concurrente.- soporta canales de comunicación basados en el lenguaje CSP de Sir Charles Antony Richard Hoare.

Recolector de Basura.- para elevar al máximo la eficiencia y reducir la latencia todo lo posible.

Simplicidad.- La sencillez es la característica principal de Go, su sintaxis es clara y concisa.

Tipificación Dinámica.- presente en multitud de lenguajes dinámicos como por ejemplo JavaScript, Ruby o Python. Un struct puede implementar una interfaz de forma automática, lo cual es una característica potente y novedosa.

Innovación.- nos aporta una sintaxis sencilla, clara 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.

Goroutines.- La comunicación entre goroutines se realiza a través de una característica del lenguaje llamada canales —basada en CSP—, que es mcho más seguro y fácil de usar

Compila muy rápidamente.
Soporta la concurrencia en el  nivel de idioma.

Las funciones son objetos de primera clase en Go.

Tiene la recolección de basura
Es todavía lenguaje  experimental sujeta a cambios.

No muy utilizable en Windows todavía.

No cuenta con todas las bibliotecas















Dart

Programación estructurada a la vez que flexible la idea de los ingenieros de Google ha sido que Dart pueda ser usado tanto en proyectos realizados por una sola persona hasta desarrollos complejos.
Un lenguaje que resulte familiar a los programadores y que sea fácil de aprender.
Permitir la adecuación de la nueva herramienta a cualquier navegador web.
Lenguaje basado en clases e interfaces o POO.
El lenguaje en sí es muy sencillo de comprender y más aun de implementar
Se pueden crear modelos de datos muy eficientes.
Es posible crear etiquetas personalizadas con sus propios modelos y eventos
Programación orientada a objetos (herencia, declaración variables privadas publicas).
El ide que proporciona es muy simple, y ya viene con todo lo necesario para hacer tu primer webapp.
Puede correr en el lado del cliente como en el servidor (bah bye php).
Con la creación de componentes puedes reutilizar el mismo código en otro proyecto.
Administrador de paquetes. (librerías).
Pruebas unitarias.
JavaScript compilado genera muchas líneas de código para un simple hello world
Poca Documentación o mas bien ejemplos concretos
Aun esta en beta y constantemente esta cambiando
A veces las librerías son incompatibles entre si.
Aun no es un proyecto maduro.
Para utilizar librerías  de javascript  se utiliza una especie de proxy haciendo complicada una integración con aplicaciones ya existentes.










Python
Portabilidad.
Versatilidad.
Simplicidad.
Interactividad.
Sintaxis clara y legible.
Productividad.
Popularidad.
Facilidad y rapidez de aprendizaje.
Open Source.
Desarrollo más rápido: Puedes escribir un programa, salvarlo y ejecutarlo. En un lenguaje compilado tienes que pasar por los pasos de compilar y ligar el software, lo cual puede ser un proceso lento.
Multiplataforma: El mismo código funciona en cualquier arquitectura, la única condición es que disponga del intérprete del lenguaje. No es necesario compilar el código una vez para cada arquitectura.
Lentitud: Los programas interpretados son más lentos que los compilados. Sin embargo los programas interpretados suelen ser cortos, en los que la diferencia es inapreciable

Referencias:

No hay comentarios:

Publicar un comentario