frameworks.doc

25
INSTITUTO TECNOLOGICO SUPERIOR DE CIUDAD ACUÑA CARRETERA A PRESA LA AMISTAD KM. 9 C.P. 26280 CD. ACUÑA, COAHUILA TEL: (877)773 1800 FAX: EXT 107 www.tecnologicodeacuna.edu.mx ACADEMIA DE INGENIERÍA EN SISTEMAS COMPUTACIONALES. Framework. MATERIA: Arquitectura y diseño de software. CARRERA: Ingeniería en Sistemas Computacionales. CATEDRÁTICO: Ing. J. Christian Martínez Contreras ALUMNO: Marlene Rojas Sandoval MATRICULA: 2113S4846 SEMESTRE: 8vo. Turno Nocturno

Transcript of frameworks.doc

03 de Octubre de 2005

Framework.MATERIA:Arquitectura y diseo de software.CARRERA:Ingeniera en Sistemas Computacionales.CATEDRTICO:Ing. J. Christian Martnez ContrerasALUMNO:Marlene Rojas SandovalMATRICULA:2113S4846SEMESTRE:8vo. Turno Nocturno

CD. ACUA, COAHUILA, MXICO 13 de Abril del 2015

Frameworks.La palabra inglesa "framework" (marco de trabajo) define, en trminos generales, un conjunto estandarizado de conceptos, prcticas y criterios para enfocar un tipo de problemtica particular que sirve como referencia, para enfrentar y resolver nuevos problemas de ndole similar.

En el desarrollo de software, un framework o infraestructura digital, es una estructura conceptual y tecnolgica de soporte definido, normalmente con artefactos o mdulos de software concretos, que puede servir de base para la organizacin y desarrollo de software. Tpicamente, puede incluir soporte de programas, bibliotecas, y un lenguaje interpretado, entre otras herramientas, para as ayudar a desarrollar y unir los diferentes componentes de un proyecto.

Representa una arquitectura de software que modela las relaciones generales de las entidades del dominio, y provee una estructura y una especial metodologa de trabajo, la cual extiende o utiliza las aplicaciones del dominio.Para qu se utilizan?Los frameworks tienen como objetivo principal ofrecer una funcionalidad definida, auto contenida, siendo construidos usando patrones de diseo, y su caracterstica principal es su alta cohesin y bajo acoplamiento. Para acceder a esa funcionalidad, se construyen piezas, objetos, llamados objetos calientes, que vinculan las necesidades del sistema con la funcionalidad que este presta. Esta funcionalidad, est constituida por objetos llamados fros, que sufren poco o ningn cambio en la vida del framework, permitiendo la portabilidad entre distintos sistemas. Frameworks conocidos que se pueden mencionar por ejemplo son Spring Framework, Hibernate, donde lo esencial para ser denominados frameworks es estar constituidos por objetos casi estticos con funcionalidad definida a nivel grupo de objetos y no como parte constitutiva de estos, por ejemplo en sus mtodos, en cuyo caso se habla de un API o librera. Algunas caractersticas notables que se pueden observar:

La inversin de control: En un frame, a diferencia de las bibliotecas, el flujo de control no es dictado por el programa que llama, sino por el mismo. La funcionalidad o comportamiento predeterminado: Un marco tiene un comportamiento predeterminado. Este comportamiento por defecto debe ser un comportamiento til, definido e identificable. Su extensibilidad: Un marco puede ser ampliado para proporcionar una funcionalidad especfica. El frame, en general, no se supone que deba ser modificado, excepto en cuanto a extensibilidad. Los usuarios pueden ampliar sus caractersticas, pero no deben ni necesitan modificar su cdigo.Ventajas.

1. El desarrollo rpido de aplicaciones. Los componentes incluidos en un framework constituyen una capa que libera al programador de la escritura de cdigo de bajo nivel.

2. La reutilizacin de componentes software al por mayor. Los frameworks son los paradigmas de la reutilizacin.

3. El uso y la programacin de componentes que siguen una poltica de diseo uniforme. Un framework orientado a objetos logra que los componentes sean clases que pertenezcan a una gran jerarqua de clases, lo que resulta en bibliotecas ms fciles de aprender a usar.

Desventajas.

1. La dependencia del cdigo fuente de una aplicacin con respecto al framework. Si se desea cambiar de framework, la mayor parte del cdigo debe reescribirse.

2. La demanda de grandes cantidades de recursos computacionales debido a que la caracterstica de reutilizacin de los frameworks tiende a generalizar la funcionalidad de los componentes. El resultado es que se incluyen caractersticas que estn "de ms", provocando una sobrecarga de recursos que se hace ms grande en cuanto ms amplio es el campo de reutilizacin.Adaptive design.

La frase Adaptativo Diseo Web fue acuado por Aaron Gustafson , quien escribi el libro del mismo ttulo. Es esencialmente utiliza muchos de los componentes de mejora progresiva (PE) como una manera de definir el conjunto de mtodos de diseo que se centran en el usuario y no el navegador. El uso de un conjunto predefinido de tamaos de diseo basado en el tamao de pantalla del dispositivo junto con CSS y JavaScript, el enfoque AWD se adapta al dispositivo detectado. Un reciente post, " Comprensin de las tcnicas de mejora progresiva en el diseo web "describe las capas que componen el enfoque adaptativo.

Las tres capas de mejora progresiva:

Capa de contenido = rica marcado HTML semntico

Capa de presentacin = CSS y estilo

Capa de scripting del lado del cliente = JavaScript o jQuery comportamientos

En una reciente entrevista podcast, Aaron describe cmo se seleccion el trmino; quera eliminar la ambigedad de su libro del libro del Grupo Filamento, " Diseando con Progresista Enhancement ". Aaron contina mencionando en el podcast:

"Por lo tanto, estbamos tratando de pensar, ya sabes, lo que hace exactamente todo esto realmente significa, y fue sobre la creacin de experiencias ricas y adaptables que adaptan a s mismos en el dispositivo especial que estabas trabajando. Por lo tanto, la forma en que Veo mejora progresiva es mucho anlogo al diseo web adaptativo. Es esencialmente el mismo concepto".

La definicin resumida de un diseo adaptativo es que va a cambiar para adaptarse a un conjunto predeterminado de pantalla y tamaos de dispositivo.Responsive adaptive.

Diseos Responsive generalmente funcionan mejor que los diseos adaptativos, pero en algunos casos (webapps complejas, por ejemplo) un enfoque adaptativo podran servir mejor a los usuarios. De cualquier manera, el objetivo es hacer que su sitio web siempre se vea mejor en la resolucin deseada.

La mayora de las personas optan por utilizar preguntas de los medios para ello, como they un rerocksolid a menos que usted necesita soporte para IE8 o por debajo. Para aquellos de nosotros que todava tiene una audiencia en IE6 - 8 sin embargo, Scott Jehl ha creado una Jav una Scriptpoly fillcalled Respond.js que har que las cosas funcionen.

Antes, muchos diseadores web tenan mnima comunicacin con los desarrolladores hasta el traspaso. Ahora, sin embargo, los diseadores y los desarrolladores tienen que trabajar juntos a travs tanto del proceso de diseo y desarrollo para que todo funcione sin problemas. A partir de anlisis de los usuarios a lo que puede o no puede ser reordenado cuando cambian viewports-diseadores y desarrolladores estn ms cerca que nunca, si no es la misma persona. Las comparaciones y distinciones

La mayor similitud entre los dos mtodos es que ambos permiten sitios web para ser vistos en dispositivos mviles y diversos tamaos de pantalla, proporcionando en ltima instancia, a los visitantes una mejor experiencia de usuario mvil. Cuando los dos mtodos difieren es en su entrega de las estructuras de respuesta /adaptacin: RWD depender de redes flexibles y fluidas, y AWD confiar en tamaos de pantalla predefinidos. Una de las principales diferencias entre los dos es que RWD podra tomar ms estrategias de cdigo y de aplicacin con las redes de fluidos, CSS y fundaciones flexibles, mientras AWD tiene un enfoque por capas simplificado, que utiliza secuencias de comandos para ayudar con la adaptacin a diversos dispositivos y la pantalla tamaos.

Algunos podran argumentar que los trminos empleados invitan a la confusin, en particular, sensible, y podran no reflejar con exactitud lo que est ocurriendo en realidad cuando un sitio web cambia su diseo de acuerdo al dispositivo mvil particular que se utilice. Paul Gordon argumenta este punto en su blog, "Adaptive o el diseo de respuesta".Mejores 10 lenguajes de programacin.

1. C C es un lenguaje de programacin creado en 1972 por Dennis M. Ritchie en los Laboratorios Bell como evolucin del anterior lenguaje B, a su vez basado en BCPL.

Al igual que B, es un lenguaje orientado a la implementacin de Sistemas Operativos, concretamente Unix. C es apreciado por la eficiencia del cdigo que produce y es el lenguaje de programacin ms popular para crear software de sistemas, aunque tambin se utiliza para crear aplicaciones.

Ventajas.

Lenguaje muy eficiente puesto que es posible utilizar sus caractersticas de bajo nivel para realizar implementaciones ptimas.

A pesar de su bajo nivel es el lenguaje ms portado en existencia, habiendo compiladores para casi todos los sistemas conocidos.

Proporciona facilidades para realizar programas modulares y/o utilizar cdigo o bibliotecas existentes.Desventajas. Recoleccin de basura nativa, sin embargo se encuentran a tal efecto bibliotecas como la "libgc" desarrollada por Sun Microsystems, o el Recolector de basura de Boehm.

Soporte para programacin orientada a objetos, aunque la implementacin original de C++ fue un preprocesador que traduca cdigo fuente de C++ a C.

Funciones anidadas, aunque GCC tiene esta caracterstica como extensin.

Soporte nativo para programacin multihilo.

Caractersticas.

Un ncleo del lenguaje simple, con funcionalidades aadidas importantes, como funciones matemticas y de manejo de archivos, proporcionadas por bibliotecas.

Es un lenguaje muy flexible que permite programar con mltiples estilos. Uno de los ms 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 preprocesado, el preprocesador de C, para tareas como definir macros e incluir mltiples archivos de cdigo 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 parmetros a una funcin se realiza por valor. El paso por referencia se consigue pasando explcitamente a las funciones las direcciones de memoria de dichos parmetros.

Punteros a funciones y variables estticas, que permiten una forma rudimentaria de encapsulado y polimorfismo.

Tipos de datos agregados (struct) que permiten que datos relacionados (como un empleado, que tiene un id, un nombre y un salario) se combinen y se manipulen como un todo (en una nica variable "empleado").2. C++C++ es un lenguaje de programacin diseado a mediados de los aos 1980 por Bjarne Stroustrup. La intencin de su creacin fue el extender al lenguaje de programacin C mecanismos que permiten la manipulacin de objetos. En ese sentido, desde el punto de vista de los lenguajes orientados a objetos, el C++ es un lenguaje hbrido.

Posteriormente se aadieron facilidades de programacin genrica, que se sumaron a los paradigmas de programacin estructurada y programacin orientada a objetos. Por esto se suele decir que el C++ es un lenguaje de programacin multiparadigma.

Ventajas

Lenguaje de programacin orientado a objetos.

Lenguaje muy didctico, con este lenguaje puedes aprender muchos otros lenguajes con gran facilidad, como C#, Java, Visual Basic, Javascript, PHP, entre otros.

Es muy potente en lo que se refiere a creacin de sistemas complejos, un lenguaje muy robusto.

Actualmente, puede compilar y ejecutar cdigo de C, ya viene con libreras para realizar esta labor.

Desventajas

Es mucho ms difcil de usar q otros lenguajes de programacin.

Es difcil programar bases de datos

Los punteros (es muy complicado su sistema).

Caractersticas

Tiene un conjunto completo de instrucciones de control.

Permite la agrupacin de instrucciones.

Incluye el concepto de puntero (variable que contiene la direccin de otra variable).

Los argumentos de las funciones se transfieren por su valor.

E/S no forma parte del lenguaje, sino que se proporciona a travs de una biblioteca de funciones.

Permite la separacin de un programa en mdulos que admiten compilacin independiente.

Programacin de bajo nivel (nivel bit).3. Java

Java es un lenguaje de programacin de propsito general, concurrente, orientado a objetos que fue diseado especficamente para tener tan pocas dependencias de implementacin como fuera posible. Su intencin es permitir que los desarrolladores de aplicaciones escriban el programa una vez y lo ejecuten en cualquier dispositivo (conocido en ingls como WORA, o "write once, run anywhere"), lo que quiere decir que el cdigo 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 programacin ms populares en uso, particularmente para aplicaciones de cliente-servidor de web, con unos 10 millones de usuarios reportados.Ventajas.

Manejo automtico de la memoria. (para los que vienen de C/C++) " Si, no hay punteros! WOW!". El manejo de la memoria se hace automticamente y utilizando el garbage collector. Esto ahorra SIGNIFICANTE tiempo de programacin.

Lenguaje Multi-plataforma: El cdigo que escrito en java es ledo por un intrprete, por lo que su programa andar en cualquier plataforma.

Programacin Orientada a Objetos: Paradigma muy utilizado hoy en dia que facilita y organiza mucho la programacin.

Puede correr en el explorador y en dispositivos mviles.

Sintaxis similar a C/C++, pero mas simple.

Fcil de aprender.

Adems GRATIS!

Desventajas. Menos Eficiente, comparado a C/C++.

Requiere un intrprete.

Algunas implementaciones y libreras pueden tener cdigo rebuscado.

Una mala implementacin de un programa en java, puede resultar en algo muy lento.Caractersticas.

Lenguaje simple Orientado a objeto Distribuido Robusto

Disponibilidad de un amplio conjunto de bibliotecas. Interpretado y compilado a la vez. Indiferente a la arquitectura. Portable.

Alto rendimiento.

Dinmico.

4. Shell Una Shell de Unix o tambin shell, es el trmino usado en informtica para referirse a un intrprete de comandos, el cual consiste en la interfaz de usuario tradicional de los sistemas operativos basados en Unix y similares como GNU/Linux.Ventajas

Una de las ventajas que los scripts, es la manipulacin posicional de los parmetros que el programa recibe desde la lnea de comandos, mediante el uso del comando shift. Este comando puede hacer corrimiento de parmetros solamente de izquierda a derecha, posicionndonos en cualquiera de ellos.Caractersticas.La caracterstica ms destacable del shell es la versatilidad: facilidad de modificacin y de adaptacin a las necesidades y preferencias de cada usuario en particular.

Proporciona diversas facilidades al usuario: Redireccionamiento de la salida o la entrada standard.

Metacaracteres, caracteres especiales con significado propio.

Filtros, que se encargan de gestionar la informacin de los ficheros.

Conexionado entre rdenes, mediante el uso de tuberias (pipes). Cuando se interconexionan dos rdenes, la salida de un proceso se convierte en la entrada del siguiente. As se elimina la necesidad de crear ficheros temporales intermedios.

Lenguaje de programacin del shell, que permite concatenar rdenes en un fichero de texto ejecutable con permiso de ejecucin para automatizar procesos, lo que se conoce con el nombre de Explotacin Batch o por lotes.

5. JavascriptJavaScript (abreviado comnmente "JS") es un lenguaje de programacin interpretado, dialecto del estndar ECMAScript. Se define como orientado a objetos, basado en prototipos, imperativo, dbilmente tipado y dinmico.Ventajas.

JavaScript es una excelente solucin para poner en prctica la validacin de datos de un formulario en el lado del cliente. Si un usuario omite escribir su nombre en un formulario, una funcin de validacin en JavaScript puede desplegar en pantalla un mensaje popup para hacerle saber al usuario acerca de la omisin. Este tipo de funcionalidades son ms ventajosas que tener una rutina de validacin del lado del servidor para controlar el error, dado que el servidor en ste caso no tiene que hacer ningn tipo procesamiento de informacin adicional. Una rutina de ASP o PHP podra ser escrita para lograr la misma tarea pero un formulario desarrollado en JavaScript no permitira que la informacin se enviase a menos que se complete correctamente el formulario.Desventajas.

La seguridad sigue siendo el talon de aquiles de Javascript. Los fragmentos de cdigo de JavaScript una vez aadidos a las pginas web en los servidores, estos son descargados y ejecutados en el navegador del cliente permitiendo as que cierto cdigo malicioso pueda ser ejecutado en la mquina del cliente con el objetivo de explotar alguna vulnerabilidad de seguridad conocida en una de las aplicaciones, navegadores o el mismo sistema operativo. Es verdad que hoy da existen estndares de seguridad que restringen la ejecucin de cdigo por parte de los navegadores, pero aun as, se puede ejecutar cdigo que dae, robe o destruya informacin del lado del cliente.Otra desventaja de JavaScript es que este tiende a introducir una cantidad enorme de fragmentos de cdigo en nuestros sitios web.

Caractersticas.La caracterstica principal de Javascript, de hecho, es la de ser un lenguaje de scripting, pero, sobre todo, la de ser el lenguaje de scripting por excelencia y, sin lugar a dudas, el ms usado

6. PHP

PHP es un lenguaje de programacin de uso general de cdigo del lado del servidor originalmente diseado para el desarrollo web de contenido dinmico. Fue uno de los primeros lenguajes de programacin del lado del servidor que se podan incorporar directamente en el documento HTML en lugar de llamar a un archivo externo que procese los datos.Ventajas.

Es un lenguaje multiplataforma. Completamente orientado al desarrollo de aplicaciones web dinmicas con acceso a informacin almacenada en una Base de Datos. El cdigo fuente escrito en PHP es invisible al navegador y al cliente ya que es el servidor el que se encarga de ejecutar el cdigo y enviar su resultado HTML al navegador. Esto hace que la programacin en PHP sea segura y confiable. Capacidad de conexin con la mayora de los motores de base de datos que se utilizan en la actualidad, destaca su conectividad con MySQL y PostgreSQL. Capacidad de expandir su potencial utilizando la enorme cantidad de mdulos (llamados ext's o extensiones).

Desventaja:

Como es un lenguaje que se interpreta en ejecucin para ciertos usos puede resultar un inconveniente que el cdigo fuente no pueda ser ocultado. La ofuscacin es una tcnica que puede dificultar la lectura del cdigo pero no la impide y, en ciertos casos, representa un costo en tiempos de ejecucin

Caractersticas. Orientado al desarrollo de aplicaciones web dinmicas con acceso a informacin almacenada en una base de datos.

Es considerado un lenguaje fcil de aprender, ya que en su desarrollo se simplificaron distintas especificaciones, como es el caso de la definicin de las variables primitivas, ejemplo que se hace evidente en el uso de php arrays.

El cdigo fuente escrito en PHP es invisible al navegador web y al cliente, ya que es el servidor el que se encarga de ejecutar el cdigo y enviar su resultado HTML al navegador. Esto hace que la programacin en PHP sea segura y confiable.

Capacidad de conexin con la mayora de los motores de base de datos que se utilizan en la actualidad, destaca su conectividad con MySQL y PostgreSQL.

Capacidad de expandir su potencial utilizando mdulos (llamados ext's o extensiones).

Posee una amplia documentacin en su sitio web oficial, entre la cual se destaca que todas las funciones del sistema estn explicadas y ejemplificadas en un nico archivo de ayuda.

Es libre, por lo que se presenta como una alternativa de fcil acceso para todos.

Permite aplicar tcnicas de programacin orientada a objetos.

7. Perl

Perl es un lenguaje de programacin diseado por Larry Wall en 1987. Perl toma caractersticas del lenguaje C, del lenguaje interpretado bourne shell (sh), AWK, sed, Lisp y, en un grado inferior, de muchos otros lenguajes de programacin.

Estructuralmente, Perl est basado en un estilo de bloques como los del C o AWK, y fue ampliamente adoptado por su destreza en el procesado de texto y no tener ninguna de las limitaciones de los otros lenguajes de script.Ventajas.

Las principales ventajas de utilizar Perl se encuentran justamente en los objetivos que se tenan cuando se cre el lenguaje: Perl es un eficiente, completo y fcil de usar.

Otra de las ventajas de Perl est en la cantidad de aplicaciones que se le pueden dar al lenguaje en campos como la administracin de sistemas, aplicaciones web, entre otros.

Adems, el hecho de que Perl est disponible para gran cantidad de sistemas operativos, lo hacen un lenguaje accesible a cualquier usuario, sirviendo esto para extender la comunidad que existe acreedor del lenguaje y as convertir a Perl en un lenguaje muy usado y muy confiable.Desventajas.

La principal desventaja de Perl se encuentra en el tiempo de ejecucin de un programa, ya que un programa Perl es compilado cada vez que se ejecuta, por lo que puede resultar ms lento que un programa similar escrito en otro lenguaje. Sin embargo, se han implementado tcnicas para mejorar esta situacin como guardar el compilado del programa en memoria y retrasar la compilacin hasta que sea necesitada.Caractersticas.

La estructura completa de Perl deriva ampliamente del lenguaje C. Perl es un lenguaje imperativo, con variables, expresiones, asignaciones, bloques de cdigo delimitados por llaves, estructuras de control y subrutinas.

Perl tambin toma caractersticas de la programacin shell. Todas las variables son marcadas con un Sigilo precedente (Sigil, en ingls). Los sigilos identifican inequvocamente los nombres de las variables, permitiendo a Perl tener una rica sintaxis. Notablemente, los sigilos permiten interpolar variables directamente dentro de las cadenas de caracteres (strings). Como en los shell, Perl tiene muchas funciones integradas para tareas comunes y para acceder a los recursos del sistema.

Perl toma las listas del Lisp, hash (memoria asociativa) del AWK y expresiones regulares del sed. Todo esto simplifica y facilita todas las formas del anlisis sintctico, manejo de texto y tareas de gestin de datos.

8. Python

Python es un lenguaje de programacin interpretado cuya filosofa hace hincapi en una sintaxis que favorezca un cdigo legible.

Se trata de un lenguaje de programacin multiparadigma, ya que soporta orientacin a objetos, programacin imperativa y, en menor medida, programacin funcional. Es un lenguaje interpretado, usa tipado dinmico y es multiplataforma.

Es administrado por la Python Software Foundation. Posee una licencia de cdigo abierto, denominada Python Software Foundation License,1 que es compatible con la Licencia pblica general de GNU a partir de la versin 2.1.1, e incompatible en ciertas versiones anteriores.Ventajas.

Desarrollo ms rpido: 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 cdigo funciona en cualquier arquitectura, la nica condicin es que disponga del intrprete del lenguaje. No es necesario compilar el cdigo una vez para cada arquitectura.Desventajas.

Lentitud: Los programas interpretados son ms lentos que los compilados. Sin embargo los programas interpretados suelen ser cortos, en los que la diferencia es inapreciable.Caractersticas. Python es un lenguaje de programacin multiparadigma. Esto significa que ms que forzar a los programadores a adoptar un estilo particular de programacin, permite varios estilos: programacin orientada a objetos, programacin imperativa y programacin funcional. Otros paradigmas estn soportados mediante el uso de extensiones.

Python usa tipado dinmico y conteo de referencias para la administracin de memoria.

Una caracterstica importante de Python es la resolucin dinmica de nombres; es decir, lo que enlaza un mtodo y un nombre de variable durante la ejecucin del programa (tambin llamado enlace dinmico de mtodos).

Otro objetivo del diseo del lenguaje es la facilidad de extensin. Se pueden escribir nuevos mdulos fcilmente en C o C++. Python puede incluirse en aplicaciones que necesitan una interfaz programable.

Aunque la programacin en Python podra considerarse en algunas situaciones hostil a la programacin funcional tradicional del Lisp, existen bastantes analogas entre Python y los lenguajes minimalistas de la familia Lisp como puede ser Scheme.

9. SQLEl lenguaje de consulta estructurado o SQL (por sus siglas en ingls Structured Query Language) es un lenguaje declarativo de acceso a bases de datos relacionales que permite especificar diversos tipos de operaciones en ellas. Una de sus caractersticas es el manejo del lgebra y el clculo relacional que permiten efectuar consultas con el fin de recuperar de forma sencilla informacin de inters de bases de datos, as como hacer cambios en ellas.Ventajas.

Es un Sistema de Gestin de Bases de Datos Relacionales (SGBDR).

Puede ser til para manejar y/o obtener datos de la red de redes.

Ofrece una potente forma de unir SQL e Internet.

Utiliza una extensin al SQL estandar, que se denomina Transact SQL.

El Transact SQL, soporta la definicin, modificacin y eliminacin de bases de datos, tablas, atributos, ndices, etc., es decir, el lenguaje de definicin de datos (LDD), as como la consulta, actualizacin y borrado de tuplas de tablas, es decir, el lenguaje de manipulacin de datos (LMD).

Para empezar SQL Server nos permite olvidarnos un poco de los ficheros que forman la base de datos. En Access tenemos que abrir el fichero .mdb para ver el contenido. Aqu abrimos la consola de SQL Server y tenemos todas las bases de datos de todos nuestros programas. Esto es muy cmodo, ciertamente.

Si trabajamos en una red local nos permite agregar otros servidores de SQL Server. por ejemplo: yo tengo en mi ordenador una base de datos en mi servidor SQL y mi compaero tiene en su servidor otra base de datos. Yo puedo conectar mi SQL al suyo y as tengo sus bases de datos en mi SQL Server. Esto, tambin es muy cmodo.

Seguridad: SQL permite administrar permisos a TODO. Permisos a nivel de servidor, seguridad en tablas, permitir o no lectura, escritura, ejecucin; seguridad en los procedimientos almacenados (despus hablo de ellos)... todo se puede configurar. O sea, que podemos permitir que alguien conecte su SQL al nuestro pero sin embargo podemos decirle que no puede ver esta base de datos pero otra s.

Desventajas:

Los problemas de la 6.5 eran muchos: bloqueo a nivel de pgina, dispositivos con crecimiento manual, un tamao de pgina fijo y demasiado pequeo (2048KB), una psima implementacin de los tipos de datos variables como varchar.

La principal desventaja de Microsoft SQL SERVER es la enorme cantidad de memoria RAM que utiliza para la instalacin y utilizacin del software.

Una de las desventajas de SQL es que si lo quieres para prcticas no te va hacer til porque en l se prohben muchas cosas tiene restricciones en lo particular me parase ms viable usar MySQL es mucho mejor adems de ser un software gratis.

La relacin calidad-precio est muy debajo comparado con oracle.

Caractersticas. Lenguaje de definicin de datos: El LDD de SQL proporciona comandos para la definicin de esquemas de relacin, borrado de relaciones y modificaciones de los esquemas de relacin.

Lenguaje interactivo de manipulacin de datos: El LMD de SQL incluye lenguajes de consultas basado tanto en lgebra relacional como en clculo relacional de tuplas.

Integridad: El LDD de SQL incluye comandos para especificar las restricciones de integridad que deben cumplir los datos almacenados en la base de datos.

Definicin de vistas: El LDD incluye comandos para definir las vistas.

Control de transacciones: SQL tiene comandos para especificar el comienzo y el final de una transaccin.

SQL incorporado y dinmico: Esto quiere decir que se pueden incorporar instrucciones de SQL en lenguajes de programacin como: C++, C, Java, PHP, Cobol, Pascal y Fortran.

Autorizacin: El LDD incluye comandos para especificar los derechos de acceso a las relaciones y a las vistas.

10. C#

C#1 (pronunciado si sharp en ingls) es un lenguaje de programacin orientado a objetos desarrollado y estandarizado por Microsoft como parte de su plataforma .NET, que despus fue aprobado como un estndar por la ECMA (ECMA-334) e ISO (ISO/IEC 23270). C# es uno de los lenguajes de programacin diseados para la infraestructura de lenguaje comn.

Su sintaxis bsica deriva de C/C++ y utiliza el modelo de objetos de la plataforma .NET, similar al de Java, aunque incluye mejoras derivadas de otros lenguajes.Ventajas.

Las ventajas que ofrece C# frente a otros leguajes de programacin son:

Declaraciones en el espacio de nombres: al empezar a programar algo, se puede definir una o ms clases dentro de un mismo espacio de nombres.

Tipos de datos: en C# existe un rango ms amplio y definido de tipos de datos que los que se encuentran en C, C++ o Java.

Atributos: cada miembro de una clase tiene un atributo de acceso del tipo pblico, protegido, interno, interno protegido y privado.

Pase de parmetros: aqu se puede declarar a los mtodos para que acepten un nmero variable de parmetros. De forma predeterminada, el pase de parmetros es por valor, a menos que se use la palabra reservada ref, la cual indica que el pase es por referencia.

Mtodos virtuales y redefiniciones: antes de que un mtodo pueda ser redefinido en una clase base, debe declararse como virtual. El mtodo redefinido en la subclase debe ser declarado con la palabra override

Propiedades: un objeto tiene intrnsecamente propiedades, y debido a que las clases en C# pueden ser utilizadas como objetos, C# permite la declaracin de propiedades dentro de cualquier clase.

Inicializador: un inicializador es como una propiedad, con la diferencia de que en lugar de un nombre de propiedad, un valor de ndice entre corchetes se utiliza en forma annima para hacer referencia al miembro de una clase.

Control de versiones: C# permite mantener mltiples versiones de clases en forma binaria, colocndolas en diferentes espacios de nombres. Esto permite que versiones nuevas y anteriores de software puedan ejecutarse en forma simultnea.

Desventajas.

Las desventajas que se derivan del uso de este lenguaje de programacin son que en primer lugar se tiene que conseguir una versin reciente de Visual Studio .NET, por otra parte se tiene que tener algunos requerimientos mnimos del sistema para poder trabajar adecuadamente tales como contar con Windows NT 4 o superior, tener alrededor de 4 gigas de espacio libre para la pura instalacin, etc.

Adems para quien no est familiarizado con ningn lenguaje de programacin, le costar ms trabajo iniciarse en su uso, y si se quiere consultar algn tutorial ms explcito sobre la programacin en C# se tendra que contar adems con una conexin a Internet.Caractersticas.

C# es un lenguaje de programacin simple pero eficaz, diseado para escribir aplicaciones empresariales.

El lenguaje C# es una evolucin de los lenguajes C y C++. Utiliza muchas de las caractersticas de C++ en las reas de instrucciones, expresiones y operadores.

C# presenta considerables mejoras e innovaciones en reas como seguridad de tipos, control de versiones, eventos y recoleccin de elementos no utilizados (liberacin de memoria).

C# proporciona acceso a los tipos de API ms comunes: .NET Framework, COM, Automatizacin y estilo C. Asimismo, admite el modo unsafe, en el que se pueden utilizar punteros para manipular memoria que no se encuentra bajo el control del recolector de elementos no utilizados.Bibliografa.

http://promacion2.blogspot.mx/http://es.wikipedia.org/wiki/Frameworkhttp://www.webdesignerdepot.com/2014/05/responsive-vs-adaptive-webdesign-which-is-best-for-you/http://www.techrepublic.com/blog/web-designer/what-is-the-difference-between-responsive-vs-adaptive-web-design/http://www.somoslibres.org/modules.php?name=News&file=article&sid=2879http://lenguajedeprogramacion21.blogspot.mx/http://es.wikipedia.org/wiki/C_(lenguaje_de_programaci%C3%B3n)http://klarimartinezbenjumea.blogspot.mx/2011/04/ventajas-y-desventajas.htmlhttp://es.wikipedia.org/wiki/PHPhttp://es.wikipedia.org/wiki/Perlhttps://mx.answers.yahoo.com/question/index?qid=20110330212410AAwBvLhhttp://es.wikipedia.org/wiki/Pythonhttp://es.wikipedia.org/wiki/SQLhttps://mx.answers.yahoo.com/question/index?qid=20090919151521AARvnMj