Tarea 1
Tarea 1
Tarea 1
Matrícula: 2017-5331.
C++
C# - ASP.NET
Java - JSP
JavaScript
Perl
PHP
Python
Ruby
C++
Está basado en el lenguaje de programación C, que apareció en el mercado a mediados del año 1979.
Por ello, es una excelente opción para desarrollar aplicaciones variadas, ya que te ofrece una biblioteca
de funciones.
Es un software poderoso y bien diseñado que se ha actualizado con el pasar de los años. Su potencia y
capacidad de programación le permite seguir siendo una de las mejores opciones para programar hoy
en día. Es perfecto para construir aplicaciones con HTML, CSS y JavaScript, las páginas web responden
de manera eficiente.
-Ventajas:
Alto desempeño: C++ se caracteriza por su eficiencia al momento de realizar llamadas directas al
sistema operativo. Además, es un lenguaje compilado y ofrece una diversidad de parámetros de
optimización y se acopla de manera efectiva con el lenguaje ensamblador.
Uso de compiladores: Este ítem guarda relación con el punto anterior, los compiladores de los diversos
lenguajes están hechos en C++, por ello su versatilidad al momento de programar del lado del Backend.
Es más, es común ver aplicaciones bancarias desarrolladas en este lenguaje de programación.
Es multiparadigma: C++ soporta todos los paradigmas de programación como, por ejemplo: orientado a
objetos, orientado a aspectos, modular, lógico, funcional, imperativo, estructurado, declarativo, entre
otros.
-Desventajas
Su curva de aprendizaje es alta: Para aprender a programar en C++, requieres primero programar en
lenguaje C. Es decir, necesitas estudiar a profundidad su sintaxis, palabras reservadas, estructuras,
manejo de librerías, por lo que te tomará algún tiempo dominar el software.
Su depuración es bastante complicada: Esto es debido a los errores que aparecen al momento de la
codificación.
No es muy usable en el diseño de sitios web: Aunque muchos de los programas web están hechos bajo
este lenguaje, en el apartado de elaboración de páginas web no es una opción inteligente. Sobre todo,
cuando trabajas del lado del Frontend, así que te recomiendo usar otro lenguaje como Python.
C# - ASP.NET
ASP.NET es un Framework (conjunto de módulos que te permiten desarrollar aplicaciones web) que
puedes emplear para el desarrollo de páginas web dinámicas, así como formularios. Este código te
provee de un modelo de desarrollo combinado para qué crees aplicaciones dentro de tu página web en
otros lenguajes como C#.
Este modelo de desarrollo utiliza tecnología de libre uso y fue creada por Microsoft. Por otro lado, es
considerada una tecnología script del lado del servidor ya que procesa las peticiones de los usuarios en
el servidor web y en consecuencia genera páginas HTML dinámicas.
Ventajas y desventajas de C#
-Ventajas:
Capacidad de combinación con otros lenguajes: ASP.NET te ofrece todo lo necesario para que
desarrolles aplicaciones web, redes sociales, webs empresariales y sistemas de gestión de contenido
(CMS). Ello se debe a que te permite combinar su marco de desarrollo con XML, PHP y HTML para qué
crees webs interactivas con éxito y con un mantenimiento nada complicado.Tiene soporte MVC: se trata
del modelo vista controlador y es una arquitectura que separa la sección de desarrollo web de la interfaz
de diseño. Esto te otorga mayor flexibilidad a la hora de trabajar en equipo, ya que mientras unos
desarrollan código otros se dedican al diseño, sin que ninguno tenga que interrumpirse. Esto te ofrece
escalabilidad y facilidad para ejecutar el mantenimiento del programa desarrollado.
Formularios web: es un marco de desarrollo que te permite crear aplicaciones web sencillas dentro de
tus páginas. Tiene la ventaja de que desarrollas el código en una interfaz que posee la misma apariencia
del producto final. También te da control para llevar a cabo grandes proyectos sin utilizar tanto código.
Solo se compila el ejecutable: significa que solo el producto final (programa desarrollado) es el que
debes compilar para su ejecución.
-Desventajas
Menor rendimiento en comparación a Linux: el rendimiento y velocidad del sistema de archivos NTFS
(New Technology System) de Microsoft Windows es menor comparado con el sistema de archivos de
Linux.
No es multiplataforma: este marco de desarrollo funciona solo con el sistema operativo Windows y
presenta muchos problemas de compatibilidad con el resto de sistemas operativos. Para trabajar sin
problemas, necesitas tener una PC con capacidad de trabajo en dicho sistema e instalar el servidor IIS de
Microsoft. No obstante, esta limitación es un punto en contra, ya que otros sistemas de desarrollo se
ejecutan en Linux, Windows o derivados de Mac OS.
Mayor tiempo de desarrollo: aunque solo necesitas compilar el programa que vas a ejecutar, esto te
lleva más tiempo en comparación con otros marcos de desarrollo. Asimismo, le agrega más tiempo a
todo el proceso de elaborar una solución web.
Elevado consumo de recursos: el uso de ASP.NET necesita muchos recursos para su correcto
funcionamiento y compilación de recursos programados, ello significa más memoria RAM y velocidad de
procesamiento del CPU.
Java – JSP (Java Server Pages)
Java es un lenguaje de programación con el que podemos realizar cualquier tipo de programa. En la
actualidad es un lenguaje muy extendido y cada vez cobra más importancia tanto en el ámbito de
Internet como en la informática en general.
JSP es un lenguaje de programación web que permite la generación de sitios web dinámicos en lenguaje
Java. Es un lenguaje soportado por múltiples plataformas y como PHP y ASP se ejecuta en el lado del
servidor.
Este lenguaje fue desarrollado por Sun Microsystems que fue absorbida por Oracle. Tiene ventajas
similares a las de ASP.NET y es un lenguaje, como este último, pensado para desarrollar aplicaciones
web complejas y potentes. Las páginas se compilan cuando son solicitadas por primera vez.
-Ventajas
El código está bien estructurado y resulta fácil de leer si se conoce bien el lenguaje.
La parte de JSP dinámico se escribe en Java, permitiendo una integración total con módulos Java y la
utilización de un motor de páginas basado en servlets de Java.
-Desventajas
Ventajas y desventajas de JS
-Ventajas
Es muy versátil: JS es un lenguaje estándar en la industria web, por tanto, se puede integrar con otras
tecnologías. Por esta razón, el código se puede insertar en cualquier página independientemente de la
extensión del archivo, es decir, añadir scripts en archivos JSP, PHP, Perl, por mencionar algunos.
Carga del servidor: como el programa se ejecuta del lado del cliente se reduce la carga en el servidor de
la página web. En consecuencia, tu sitio va a responder de manera más rápida y los usuarios lo van a
percibir.
Crea interfaces dinámicas: es otra ventaja notable, con JavaScript puedes desarrollar elementos como
menús desplegables, botones, formularios de registros, encuestas, agregar efectos al texto, cambiar el
color de la fuente, etc.
-Desventajas
Sus scripts lo hacen vulnerable: como es un programa que se ejecuta en el lado del cliente, sus códigos
pueden ser leídos por otros usuarios.
Es posible desactivar el JavaScript: a veces los usuarios por desconocimiento pueden desactivar la
funcionalidad de JavaScript en el navegador, esto genera que no se ejecuten los códigos dinámicos en la
página web.
Requiere de otras aplicaciones: para poder diseñar un sitio web completo se debe usar con otros
lenguajes de programación.
Perl
-Ventajas
Propósito general: significa que lo usas en el desarrollo web, pero también en otros entornos como
aplicaciones Linux, administración de sistemas, manejo de paquetes de datos, etc.
Lenguaje interpretado: esto quiere decir que el código ya escrito no se compila (traducción del lenguaje
a código ejecutable por la web), sino que se ejecuta directamente.
Extensible: por lo que puedes programar páginas web y aprovechar partes de códigos escritos en otros
lenguajes.
-Desventajas
Lentitud al inicio de su ejecución: al programar una página web requieres rapidez para poner a prueba
tus creaciones o modificaciones. Sin embargo, en Perl, al inicio de su ejecución suele ser lento ya que
antes de su uso se debe compilar, comparado con otros lenguajes como Python.
Sin control de excepciones: a pesar de ser un lenguaje de alto nivel con estructuras de control, no posee
control de excepciones.
Utiliza muchos recursos de cómputo: significa que no es tan ligero como otros lenguajes de
programación y puede llegar a consumir mucha RAM y recursos del CPU durante su ejecución.
PHP
Es un lenguaje de programación orientado a objeto creado por Rasmus Lerdorf en el año 1994, para
desarrollar páginas y aplicaciones web.
PHP es el acrónimo recursivo de la frase en inglés Hypertext Preprocessor, que en español se conoce
como preprocesador de hipertexto. Es un poderoso lenguaje de programación orientado a objetos,
usado por miles de programadores para desarrollar aplicaciones cliente/servidor.
-Ventajas
Código abierto: usar PHP no genera costo para los programadores que desean trabajar con él. Ello
debido a que fue desarrollado bajo la licencia GNU, basado en proyectos de software libre y de código
abierto.
Soporta gran cantidad de datos: evidentemente los sitios web como las tiendas online manejan grandes
volúmenes de datos. PHP permite procesar de manera inteligente y eficiente los registros generados por
los usuarios al interactuar con la aplicación. El lenguaje de programación fue elaborado para trabajar
con cualquier gestor de base de datos. Entre ellos se encuentran: Oracle, MySQL, Interbase, SQLite,
Sybase, PostgreSQL, SQL Server, etc.
Soporta el modelo vista controlador: recuerda que este patrón reduce el tiempo de desarrollo de
cualquier sistema web, incluso tienes la opción de trabajar por separado el Frontend y Backend.
Además, soporta todos los paradigmas de programación como el orientado objeto, funcional,
declarativo, imperativo, entre otros.
Ofrece seguridad: es otra ventaja de desarrollar aplicaciones web con PHP, su tecnología ofrece a los
programadores niveles de seguridad para minimizar los ataques de hackers. Puedes construir sitios web
más confiables, aspecto valorado por los usuarios al momento de realizar cualquier operación como una
compra en línea.
Es escalable: PHP tiene múltiples extensiones y es extremadamente escalable, por ello es una
alternativa inteligente al momento de seleccionar un lenguaje para desarrollar un proyecto web de
mediana y alta complejidad.
-Desventajas
Es vulnerable: para garantizar la seguridad de los datos en el sitio web requieres de tener conocimientos
profundos para configurar correctamente las brechas de seguridad en tu servidor.
Es un lenguaje de programación de alto nivel que consiste en una sintaxis muy sencilla de comprender.
Fue creado a principios de los 90 en los países bajos y se considera un proyecto relativamente joven
respecto a otros lenguajes, como por ejemplo Pascal, Fortran y Java.
Debido a las ventajas proporcionadas por este lenguaje de programación, se usa ampliamente en la
web. Por ejemplo, es muy popular en los mapas de Yahoo, Ultraseek y Linux Weekly News. Además, lo
puedes emplear para crear sitios web interactivos, interfaz estándar de conexión de servidores, entre
otros.
-Ventajas
Estilo flexible: ello se debe a que te aporta muchas herramientas para crear código de manera flexible.
Por ejemplo, si deseas tener listas para varios tipos de datos, no es necesario que declares cada uno de
estos (esto se hace para determinar la clase del dato). Por otro lado, la sintaxis es comprensible y en
algunas funciones se asemejan a estructuras de otros lenguajes.
Ordenado y limpio: significa que este lenguaje es legible y entendible para cualquier programador que
quiera trabajar sobre una estructura ya establecida y ello se debe a la organización de sus módulos.
Cuenta con una comunidad activa: a diferencia de otros tipos de lenguajes menos populares, Python
cuenta con una comunidad activa de usuarios comprometidos a ayudar en las actualizaciones.
Es Open Source: este lenguaje de programación es de software libre, significa que puedes emplearlo en
cualquier momento para tus proyectos. Además, puedes utilizarlo como base para crear extensiones o
desarrollar módulos.
Simplificado y rápido: es muy simplificado ya que cuenta con varios patrones orientados a acciones.
Además, por ser un lenguaje interpretado su ejecución se hace de manera rápida debido a que no
necesita ser compilado. Con esto te ahorras un montón de tiempo para programar y crear proyectos.
Estilo sano de programación: una de las principales ventajas de usar Python es que los programadores
mantienen un estilo sano de programar, direccionado a las reglas perfectas. Además, ello sumado a sus
otros beneficios hace que sea un lenguaje productivo.
Multiplataforma: este lenguaje lo puedes emplear en varios sistemas operativos como Linux, Windows
o Mac OS. Por otra parte, incluye las librerías más populares dentro del intérprete, de manera que no
debes perder tiempo en instalarlas como ocurre con otros lenguajes.
-Desventajas
Problemas con hosting: existen muchos servidores que no soportan Python y en caso de hacerlo, su
configuración suele ser compleja.
Lentitud al ejecutar múltiples hilos: a pesar de que no necesita compilarse, si quieres ejecutar múltiples
hilos de programación puede que no aproveches toda la potencia de tu PC. Por ejemplo, pueden surgir
errores por parte del intérprete o simplemente tener problemas para usar todos los núcleos del
procesador.
No dispone de buena documentación: Python no cuenta con buena documentación, por lo que puedes
tener problemas para comprender algunas librerías y ciertas estructuras, sobre todo si no has
programado antes. Todo ello comparado con otros lenguajes de programación como Java, PHP o C++.
Curva de aprendizaje: aunque el lenguaje es comprensible, para el desarrollo web puede tomar algo de
tiempo aprenderlo, sobre todo si no se tiene ninguna idea sobre programación orientada a objetos.
No tiene identificadores protegidos: a diferencia de otros tipos de lenguajes como PHP, Python no
cuenta con identificadores protegidos, por lo que los métodos empleados son públicos.
Simulaciones: para simulaciones físicas el lenguaje Python puede resultar complejo, ya que no trabaja
con matrices por defecto, tal como ocurre con otros lenguajes como Matlab. En definitiva, este lenguaje
te es útil siempre que no dependas de una matriz o tengas que trabajar con un vector complejo, ya que
de lo contrario debes importar bibliotecas.
Ruby
Te ofrece un conjunto de librerías y convenciones destinados a resolver los problemas más comunes a la
hora de desarrollar una aplicación web. Por ello, el programador se puede concentrar en los aspectos
únicos y diferenciales de su proyecto en lugar de los problemas recurrentes.
-Ventajas
Es código libre y no debes preocuparte de pagar licencias por su uso, e incluso es gratis y tampoco tienes
que tener dinero para costear la descarga desde la web. De esta manera puedes utilizar, copiar,
modificar y distribuir este lenguaje de programación sin preocuparte por las leyes nacionales e
internacionales.
Te permite programar en la web viendo todo como un objeto, ya que su estructura y sintaxis es
orientada a objetos. De esta manera puedes asignar propiedades y acciones a cualquier forma de código
que escribas usando a Ruby como base. Esta es una excelente forma de usar las variables de instancias y
clases, establecer métodos para cualquier proyecto online que se te ocurra, sin importar si usas
números y otros tipos primitivos.
Cuenta con flexibilidad para modificarlo a tu gusto, ya que te permite eliminar o redefinir cualquier
parte de código esencial de Ruby. Esto significa que tienes acceso a lo que necesites para adicionar
funciones extras a las formas de código que ya existen, de modo que no te límites al programar. Esto
último lo puedes hacer hasta el punto de modificar el operador “+” para sumar por la palabra “suma”
con tan sólo adicionar un método a la clase Numeric.
Te ofrece bloques para que agregues cláusulas a cualquier método dentro del código de programación.
Para muchos desarrolladores, tanto novatos como experimentados, se trata de una funcionalidad que
aporta flexibilidad. Esto último te permite describir de manera natural como debe actuar cada
fragmento del lenguaje que esté relacionado con aquellos. Además, estos últimos están inspirados en
lenguajes funcionales como Lisp o Perl.
Utiliza convenciones simples para determinar y mencionar a las variables, lo que mejora su legibilidad
frente a otros lenguajes.
-Desventajas
No cuenta con comunidades y soporte de atención al cliente tan amplio como otros lenguajes de
programación. Esto es un punto negativo ya que si estás empezando con la programación web y apenas
usas Ruby vas a necesitar libros y documentación técnica a la que no puedes tener fácil acceso. Ello
comparado con otros códigos tales como PHP y C#, los cuales tienen amplia comunidad y ayuda
extendida online, incluyendo muchos más recursos literarios.
En vista de ser nuevo en el campo de los lenguajes de programación web, requieres mayor tiempo para
que te familiarices con las estructuras y su funcionamiento general.
Las actualizaciones son más lentas comparadas con otros lenguaje de programación como PHP, que una
vez creado se ha actualizado para corregir errores varias veces al año.
No encuentras muchas Framework creadas con Ruby, lo que limita un poco el desarrollo de aplicaciones
para la web. Sin embargo, una de las mejores es Ruby on Rails, muy aceptada por la comunidad de
desarrolladores ya que favorece la convención antes que la configuración.