Introducción
En esta entrada del blog voy a hablar
sobre unos conceptos muy relacionados con el mundo de la informática: los lenguajes
de programación y los frameworks
Lenguajes de programación
Los lenguajes de programación son
herramientas que utilizan los programadores para crear software y existe un
gran número de ellos.
Seleccionar los más característicos es una tarea compleja, puesto que su uso
depende en gran medida del tipo de proyecto a realizar, las funcionalidades que
tengan que implementarse… E incluso se puede realizar un proyecto utilizando
diferentes lenguajes en diferentes módulos en función de las especificaciones.
¿Cómo tomar esta decisión?
Siguiendo la idea anterior, se debe escoger el lenguaje que mejor se adapte al
tipo de aplicación a realizar y a sus funcionalidades, teniendo en cuenta una
visión a futuro de la posible escalabilidad del sistema.
A continuación hablaré de lenguajes que
se utilizan en diferentes ámbitos de programación.
Desarrollo de páginas Web Dinámicas: PHP
PHP es un lenguaje de programación de
código abierto, es decir, de uso libre y gratuito, que fue originalmente
diseñado para el desarrollo de páginas webs dinámicas y que puede ser
introducido en HTML.
Además, con PHP se puede sacar gran
partido a un servidor de bajo coste o modesto, siendo capaz de poder realizar
millones de peticiones diarias.
Una de las características por la cual
este lenguaje ha sido tan bien acogido por la comunidad de desarrolladores es
su portabilidad, ya que puede ser utilizado en casi cualquier máquina sin
necesidad de hacer ningún tipo de variación o modificación en el código.
Al tratarse de un lenguaje tan apreciado
por su comunidad los nuevos desarrolladores pueden encontrar fácilmente
material para el aprendizaje o resolución de errores.
Administración de base de datos: SQL
SQL(Structured Query Language) es un
lenguaje de carácter declarativo el cual se encarga de describir el
"que" se desea obtener a partir de la declaración de un conjunto de
condiciones.
Este lenguaje ganó mucha popularidad
debido a su sencillez y a la completitud que aportaba en un entorno de
administración y gestión de los datos, permitiendo la utilización del algebra y
el calculo relacional con el fin de crear consultas capaces de obtener de
manera sencilla y rápida cierta información de interés procedente de una base
de datos.
Además de poder realizar labores de
búsqueda en una base de datos, el lenguaje SQL es capaz de realizar
modificaciones de la estructura interna de la base de datos introduciendo
únicamente sentencias de este lenguaje.
Debido a la importancia de este lenguaje,
se han creado diversos de gestores de bases de datos entorno a este lenguaje
como son SQLServer, PostgreSQL o MySQL
Elaboración de grandes proyectos: C++
C++ es un lenguaje hibrido o
multiparadigma, ya que cumple labores de los paradigmas de programación
estructurado (paradigma de programación utilizado para obtener una mejora en
tanto en calidad, claridad como en tiempo de desarrollo de un programa,
caracterizado por el uso subrutinas, sentencias, condiciones e iteraciones, y por
evitar el uso de la sentencia GOTO) y del paradigma de programación orientado a
objetos (paradigma basado en la utilización de objetos para el diseño de sus
aplicaciones)
Sus principales características son:
Rapidez de aprendizaje: es un lenguaje
bastante intuitivo por lo que la curva de aprendizaje se realiza de manera más
rápida que otros
Funcionalidad: es un lenguaje amplio, que
otorga al desarrollador las herramientas necesarias para elaborar la aplicación
que el desee.
Gran similitud con otros lenguajes: Al
poseer rasgos similares con otros lenguajes como PHP o Java, el conocimiento
aprendido o la sintaxis utilizada es fácilmente reutilizable en otros
lenguajes.
Frameworks
La labor del programador no solo reside
en tener claro el tipo de aplicación que desee que crear y seleccionar un
lenguaje acorde al proyecto que tenga que realizar, si no que va más allá,
necesita elaborar una estructura mediante la cual crear el programa, para ello,
se utilizan los patrones de diseño y frameworks.
Los patrones de diseño se encargan de
identificar que clases y que objetos participan en la aplicación, así como sus
papeles, comunicaciones, colaboraciones y distribución de responsabilidades que
poseen dentro de dicha aplicación.
Los framework por otro lado, son un
conjunto de clases que cooperan para formar un diseño especifico y reutilizable
de un software. Ofrece una estructura partiendo del diseño de las clases
abstractas y a partir de la definición de sus colaboraciones y
responsabilidades.
El objetivo es que, mediante su uso, el desarrollo de las aplicaciones sea más simple mediante la automatización de patrones, estructuración de código fuente, encapsulando en instrucciones sencillas operaciones de mayor complejidad...
A continuación, algunos de los frameworks son:
Spring
Spring es un framework de código abierto orientado a la
creación de aplicaciones J2EE (Java 2 Enterprise Edition), y usa archivos con
formato XML para la configuración y ficheros planos o Beans para la lógica de
negocio de la aplicación.
Permite utilizar esta tecnología en los módulos de la aplicación que
sean necesarios.
Está orientado al método de programación de Inversión de Control, de tal manera que la interacción de componentes se realiza de manera imperativa y efectuando llamadas a las funciones o procedimientos necesarios, de tal manera que se establecen una serie de respuestas para determinadas solicitudes o sucesos y una arquitectura externa es la que se encarga de controlar de llevar a cabo las acciones necesarias.
De esta manera, Spring está basado en el uso de contenedores que gestionan las instancias de los objetos.
Symfony
El modelo contiene la representación de la información, los datos de los que se va a servir la aplicación para operar con ellos.
Envía los datos a la vista mediante el controlador.
La vista es la interfaz con la que el usuario interactúa, por lo que mostrará la salida de los datos del sistema.
El controlador es el encargado de responder a los eventos, actuando de intermediario entre la vista y el modelo.
Bibliografía
- http://ocw.uoc.edu/computer-science-technology-and-multimedia/bases-de-datos/bases-de-datos/P06_M2109_02149.pdf
- https://es.wikipedia.org/wiki/Programación_declarativa
- http://aprenderaprogramar.es/index.php?option=com_content&view=article&id=492:ique-es-php-y-ipara-que-sirve-un-potente-lenguaje-de-programacion-para-crear-paginas-web-cu00803b&catid=70:tutorial-basico-programador-web-php-desde-cero&Itemid=193
- https://es.wikipedia.org/wiki/SQL
- https://ramonmorillo.wordpress.com/2011/10/28/caracteristica-y-ventajas-de-sql/
- http://www.tiobe.com/tiobe_index
- http://www.juntadeandalucia.es/servicios/madeja/contenido/recurso/93
- http://martinfowler.com/bliki/InversionOfControl.html
- http://librosweb.es/libro/symfony_1_4/capitulo_1/symfony_en_pocas_palabras.html
No hay comentarios:
Publicar un comentario