Anda di halaman 1dari 9

A partir del material dispuesto para la Unidad 1 y

consultas que usted realice debe dar respuesta a los


siguientes interrogantes.
1 Que entiende por programación de computadoras
Programación de computadoras es un proceso de componer y organizar un
conjunto de instrucciones. Éstas le indican a una computadora/software qué
hacer en un lenguaje comprensible para la computadora. Estas
instrucciones pueden presentarse en diferentes lenguajes, tales como C++,
Java, JavaScript, HTML, Python, Ruby y Rust, Usando un lenguaje
apropiado, puedes programar/crear todo tipo de software. Por ejemplo, un
programa que ayude a científicos con cálculos complejos; una base de
datos que almacene grandes cantidades de datos; un sitio web que permita
a la gente descargar música, o un software de animación que permita a la
gente crear películas animadas.

2 Descripción de la evolución histórica de los


lenguajes de programación hasta los actuales

 Bajo nivel.
 1º Nivel
Se dice que el código binario es de "bajo nivel" o "primer nivel" (porque al usar
pocos signos logra muy difícilmente expresar cosas complicadas), mientras un
lenguaje humano es de "muy alto nivel" (con una cantidad mayor de signos y
con reglas combinatorias logra expresar con facilidad cosas muy complicadas).
Todo el esfuerzo, entonces, para facilitar la comunicación del hombre con la
computadora, ha de centrarse en el desarrollo de lenguajes de mayor nivel.
El fabricante de un procesador fija los bloques de bits que llevarán a la CPU
(unidad central de procesos) a reconocer y realizar diferentes operaciones.
Este el "código de máquina", primer lenguaje que la máquina puede interpretar
y transformar en acciones. Pero es evidentemente muy difícil de usar para un
ser humano. Supongamos que quiera hacer imprimir y para ello deba decir
"10011101 11100010": ¿cómo recordar órdenes de este tipo y no equivocarse
al escribirlas?
Prácticamente nadie trabaja hoy a este nivel, excepto los diseñadores de
"chips" procesadores. Del mismo modo que es posible pasar de un sistema
binario a un sistema decimal (más comprensible y más desarrollado en
términos de signos legibles) es posible asociar a los bloques de bits no solo
valores decimales sino también otros signos. Esto lleva a un segundo nivel de
expresión.
 2º Nivel
La creación de un lenguaje más comprensible por el hombre consiste por lo
tanto en establecer la equivalencia de bloques binarios con signos de nuestro
lenguaje habitual. Para permitir la programación (secuencia de comandos), se
usan pequeños conjuntos de signos ("palabras") de fácil memorización, con las
cuales se redactan programas, por ejemplo "ADC" significará "sumar con
reserva" (en inglés: "ADd with Carry"). Este tipo de lenguaje se llama
"Ensamblador”. La máquina misma hará la tarea de traducirlo en código binario,
para seguir las instrucciones, gracias a otro programa cuya función es traducir
la expresión humana en "lenguaje de máquina" (binario). Es programa se llama
"compilador".
Aunque el Ensamblador es un inmenso progreso con relación al código binario,
su desventaja reside en que permanece estrechamente ligado a los bloques
binarios que reconoce la CPU (es decir al "hardware"). Para facilitar más la
tarea, se han inventado lenguajes de "alto nivel", es decir más cercanos al
modo de expresar del hombre que de operación de la máquina. Los primeros y
más comunes son los llamados de "tercera generación", más fáciles de
manejar y más independientes de las características técnicas de los
procesadores. Ahora, hasta un aficionado puede llegar a redactar un programa,
sin tener que preocuparse por el código binario o de ensamble: si un programa
traductor podía resolver la transformación de bloques de signos en bloques
binarios, era cosa de extender las habilidades del traductor para "enseñar" a la
máquina cómo "entender" un lenguaje más complejo y agregar mecanismos
automáticos de manejo de la memoria para poder utilizar lenguajes aún más
comprensibles.
 Alto nivel.
 3º Nivel
El avance en el desarrollo de "compiladores" e "intérpretes" (los dos tipos de
programas traductores) ha sido por lo tanto fundamental en el desarrollo de los
lenguajes de "3º generación" cuyas ventajas además de la facilidad de
aprendizaje y lectura/escritura son las facilidades de corrección, transformación
y conversión de un lenguaje a otro.
Los más antiguos son el FORTRAN (para aplicaciones matemáticas y
científicas) y el COBOL (para aplicaciones de administración ycontabilidad).
Con los micro-computadores nació el BASIC y el PASCAL
 Generadores de aplicaciones o 4º Nivel
Posteriormente, usando estos lenguajes, se han redactado programas
destinados a facilitar un número variado de operaciones en campos de
aplicación específicos como simulación de fenómenos físicos, manipulación de
datos estadísticos, etc. Los más avanzados y flexibles de estos programas son
las planillas electrónicas u hojas de cálculo y los programas de administración
de archivos o bases de datos
Dados que tales aplicaciones no "hacen nada" sin que el usuario defina ciertas
estructuras y ciertas operaciones, pueden ser consideradas como
"generadores" de aplicaciones, aunque este nombre se reserva habitualmente
para niveles más avanzados en que los usuarios pueden generar sistemas muy
diferentes unos de otros, con "herramientas" que se parecen a lenguajes de
programación. Estas herramientas conforman los lenguajes de cuarto nivel que
son por esencia "programas para crear programas" con una finalidad
específica, como el "CASE" destinado a facilitar el trabajo de los analistas de
sistemas.
El estudio de los lenguajes de programación agrupa tres intereses diferentes; el
del programador profesional, el del diseñador del lenguaje y del Implementador
del lenguaje.
Además, estos tres trabajos han de realizarse dentro de las ligaduras y
capacidades de la organización de una computadora y de las limitaciones
fundamentales de la propia "calculabilidad". El término "el programador" es un
tanto amorfo, en el sentido de que camufla importantes diferencias entre
distintos niveles y aplicaciones de la programación. Claramente el programador
que ha realizado un curso de doce semanas en COBOL y luego entra en el
campo del procesamiento de datos es diferente del programador que escribe
un compilador en Pascal, o del programador que diseña un experimento
de inteligencia artificial en LISP, o del programador que combina sus rutinas de
FORTRAN para resolver un problema de ingeniería complejo, o del
programador que desarrolla un sistema operativo multiprocesador en ADA.
En este trabajo, intentare clarificar estas distinciones tratando diferentes
lenguajes de programación en el contexto de cada área de aplicación diferente.
El "diseñador del lenguaje" es también un término algo nebuloso. Algunos
lenguajes (como APL y LISP) fueron diseñados por una sola persona con
un concepto único, mientras que otros (FORTRAN y COBOL) son
el producto de desarrollo de varios años realizados por comités de diseño de
lenguajes.
Los lenguajes de " Alto Nivel" son los más utilizados como lenguaje de
programación. Aunque no son fundamentalmente declarativos, estos lenguajes
permiten que los algoritmos se expresen en un nivel y estilo
de escritura fácilmente legible y comprensible por otros programadores.
Además, los lenguajes de alto nivel tienen normalmente las características de "
Transportabilidad". Es decir, están implementadas sobre varias máquinas de
forma que un programa puede ser fácilmente " Transportado " (Transferido) de
una maquina a otra sin una revisión sustancial. En ese sentido se llama
"Independientes de la maquina". Ejemplos de estos lenguajes de alto nivel son
PASCAL, APL y FORTRAN (para aplicaciones científicas), COBOL (para
aplicaciones de procesamiento de datos), SNOBOL (para aplicaciones de
procesamiento de textos), LISP y PROLOG (para aplicaciones de inteligencia
artificial), C y ADA (para aplicaciones de programación de sistemas) y PL/I
(para aplicaciones de propósitos generales).
Los "Lenguajes Ensambladores" y los "Lenguajes Maquina" son dependientes
de la máquina. Cada tipo de máquina, tal como VAX de digital, tiene su propio
lenguaje maquina distinto y su lenguaje ensamblador asociado. El
lenguaje Ensamblador es simplemente una representación simbólica del
lenguaje maquina asociado, lo cual permite una programación menos tediosa
que con el anterior. Sin embargo, es necesario un conocimiento de
la arquitectura mecánica subyacente para realizar una programación efectiva
en cualquiera de estos niveles lenguajes.
 Tabla comparativa de por lo menos 5 lenguajes de
programación incluido C#

LENGUAJE VENTAJAS DESVENTAJAS SISTEMA


OPERATIVO
JAVA Se pueden Esperar la Sirve para todos
realizar distintos actualización los sistemas
Es orientado a
aplicativos, como siguiente para operativos y si no
objetos
Multiplataforma son applets, que que sea más es la versión
son aplicaciones rápido. adecuada para
Maneja algunas especiales, que dicho sistema, la
plataformas de se ejecutan misma aplicación
desarrollo: dentro de un java se encarga
navegador al ser de descargas o
cargada una actualizar versión
Java Platform,
página HTML en para un excelente
Standard Edition un servidor web, desempeño en el
o Java SE por lo general los pc.
applets (Ya son
Java Platform historia) son
programas
Enterprise Edition
pequeños y de
o Java EE propósitos
específicos.
Java Platform
Micro Edition o
Java ME

C# Se desempeña
de requerimientos La plataforma
forma plena en mínimos del
está orientado a los sistemas .Net Sirve para
sistema para
objetos operativos hacer
· Esta poder trabajar
Windows. adecuadamente aplicaciones de
estandarizado por
· Sintaxis más en
Microsoft como tales como contar escritorio,
comparación con
parte de su con Windows nt 4 aplicaciones web
C y C++
plataforma net. · Posibilidad de o superior, tener
y móviles.
realizar alrededor de 4
aplicaciones web, gigas de espacio
de escritorio y libre para la pura Sistema operativo
móviles. instalación, etc.
Windows
Atributos: cada
miembro de una
clase tiene un
atributo de
acceso del tipo
público,
protegido, interno,
interno protegido
y privado.
HTML Permite la El mayor informe Todos los
Lenguaje utilizado que las Sistemas
estructuración de
para la creación aplicaciones Operativos
la información XML. Es que el
de páginas web.
HTML significa navegador o el
“hypertext mark- Es la base de la visualizador que
up language”, que nueva generación el usuario utilice
significa, no cuente con un
de aplicaciones
“lenguaje para el parcer capas de
web–intercambio visualizar el
formato de
documentos de de datos contenido del
hipertexto”, es documento
decir, texto Poder etiquetar
presentado de los datos con su
forma
significado
estructurada y
agradable, con
enlaces Un lenguaje
(hyperlinks) que extendible
conducen a otros
documentos o
fuentes
RUBY e
. no cuenta con Sus sintaxis son
Lenguaje de alto Diferencia entre mucha muy simples y
nivel mayúsculas y documentación
· Sintaxis similar a fáciles de
minúsculas en comparación aprender y
Python y Perl · Maneja con otros
· Opensource posible utilizarlos
excepciones lenguajes de
Lenguaje para la en baria
· Puede cargar programación
creación de librerías si el · no está muy plataformas,
aplicaciones de sistema operativo difundido en además es
escritorio y lo permite relación a otros Opensource y
aplicaciones web· Multiplataforma lenguajes. libre.
· Portátil
· Desarrollo de
bajo costo
· Software libre
· multiplataforma

PHP Es un lenguaje Como es un Se usa


es un lenguaje de lenguaje que se
multiplataforma. principalmente
programación interpreta en
interpretado, ejecución, para para la
diseñado Orientado al ciertos usos interpretación del
originalmente desarrollo de puede resultar un lado del servidor,
para la creación aplicaciones web inconveniente páginas web y
de páginas web que el código
dinámicas con CMS
dinámicas fuente no pueda
acceso a ser ocultado. La
información ofuscación es una Se usa en todos
almacenada en técnica que los sistemas
una base de puede dificultar la operativos
lectura del código
datos.
pero no la impide
y, en ciertos
casos, representa
un costo en
tiempos de
ejecución.

 Tendencia en cuanto a los lenguajes de programación

Actualmente existen herramientas de software capaces de generar la


mayor parte del código que integra un sistema de información; donde
los propios programadores deben elegir el lenguaje de programación
apropiado, dependiendo obviamente de la tarea a realizar. Es
evidente que la transformación de los lenguajes de programación
abarca todo un proceso de maduración alineado con los avances
tecnológicos relacionados con la arquitectura de la computadora, dicho
proceso parece no tener límites, pues sus tendencias apuntan hacia
herramientas más simples, robustas y potentes, donde la interacción
con la computadora permita una comunicación hasta cierto punto
predecible
 Cuando se habla de buenas prácticas de
programación, a que se hace referencia y mencione
por lo menos 2 ejemplos

o No uses variables cuyo nombre no posea algún significado


descriptivo, una variable con nombres significativos permite al lector
entender el contexto del código y permite disminuir la cantidad de
documentación asociada, puesto que con un código legible y
nombres significativos, el código se ve auto documentado. Por
ejemplo, una variable llamada cantidad_recursos, tiene más
significado que una variable llamada c.
o Evitar el uso de sentencias goto, break y continue .

Evitar el uso de sentencias que rompan el flujo secuencial de


ejecución de un programa es el principio básico de
la programación estructurada. Las sentencias tipo goto (cf. [1])
dificultan la legibilidad, depuración y verficiación de programas, al
permitir a la ejecución de un programa realizar saltos arbitrarios.
Aquellas funciones que hacen uso de sentencias goto son mucho
más difíciles de reutilizar y depurar

Indague y comente un poco sobre el lenguaje de


programación C# (puede ser versión: 2013, 2015 o 2017

Anda mungkin juga menyukai