martes, 13 de diciembre de 2016

Tarea 9/08/2016 ¿Qué es un lenguaje de programación?

9/agosto/2016

(TAREA)

¿Qué es un lenguaje de programación?
Un lenguaje de programación consiste en todos los símbolos, caracteres y reglas de uso que permiten a las personas "comunicarse" con las computadoras.
En todo caso los lenguajes de programación deben tener instrucciones que pertenecen a las categorías ya familiares de entrada/salida, cálculo/manipulación de textos, lógica/comparación y almacenamiento / recuperación.
Aunque todos los lenguajes de programación tienen un conjunto de instrucciones que permiten realizar dichas operaciones, existe una marcada diferencia en los símbolos, caracteres y sintaxis de los lenguajes de máquina, lenguajes ensambladores y lenguajes de alto nivel.


CARACTERÍSTICAS:
Existen muchos lenguajes de programación, que responden a necesidades específicas y que poseen características y funcionalidades específicas. Por lo tanto, la elección del lenguaje de programación depende, sobre todo, de los requerimientos a satisfacer, así como de los recursos existentes para la comprensión y la práctica del lenguaje. Criterios de selección de un lenguaje de programación.

·         Utilidad: fácil de aprender, fácil de usar por un programador experimentado
·         Rendimiento: velocidad de ejecución de los programas, velocidad de ejecución del compilador.
·         Portabilidad y flexibilidad a posibilidad de desarrollar el lenguaje y su implementación, existencia de bibliotecas de funciones, clases, etc.
·         Continuidad: continuidad del fabricante, continuidad del lenguaje, continuidad de implementación, existencia de una norma internacional para definir el lenguaje, conformidad de implementación con respecto a la norma, existencia de varios fabricantes para un mismo lenguaje.
Clasificación
Lenguajes de bajo nivel.
Son lenguajes totalmente dependientes de la máquina, es decir que el programa que se realiza con este tipo de lenguajes no se puede migrar o utilizar en otras máquinas, al estar prácticamente diseñados a la medida del hardware, aprovechan al máximo las características del mismo.
Lenguajes de alto nivel
Se encuentran más cercanos al lenguaje natural que al lenguaje máquina, están dirigidos a solucionar problemas mediante el uso de EDD’s (Estructuras Dinámicas de Datos), son estructuras que pueden cambiar de tamaño durante la ejecución del programa, permiten crear estructuras de datos que se adapten a las necesidades reales de un programa, son lenguajes independientes de la arquitectura de la computadora, es decir que en principio, un programa escrito en un lenguaje de alto nivel, se puede migrar de una máquina a otra sin ningún tipo de problema.
Lenguajes de Medio nivel
Estos lenguajes se encuentran en un punto medio entre los dos anteriores, dentro de estos lenguajes podría situarse C ya que puede acceder a los registros del sistema, trabajar con direcciones de memoria, todas ellas características de lenguajes de bajo nivel y a la vez realizar operaciones de alto nivel.



Sistema operativo
Es el software básico de una computadora que provee un interfaz entre el resto del ordenador, los dispositivos hardware y el usuario.
Operativos móviles
Operativos en ordenadores
iOS 
Mayor integración con OSX y la extensión de su ecosistema hacía los wearables y el Internet of Thinks con el healthkit y homekit respectivamente.
Microsoft Windows
Viene preinstalado en la mayoría de las computadoras. El sistema esta protegido del acceso ilegal. Muestra estadística de errores de sistema.
Tiene ciertas limitaciones por RAM
No soporta archivos NES
No soporta la ejecución de algunas aplicaciones para DOS.
Android
Se caracteriza por ser abierto y disponible para cualquier fabricante interesando en utilizarlo para sus dispositivos móviles.
Mac OS X
Compatibilidad al conectar un periférico a la Mac, el SO lo detecta automáticamente.
La interfaz es intuitiva.
Buena organización. Es más barato que Windows y solo existe una versión.
Es más vulnerable a virus y malware.
Las piezas pueden ser costosas.
En algunos de ellos la capacidad de expandirlos es limitada.
Windows Phone
Se destaca por su pantalla de inicio personalizable que ofrece las notificaciones de las apps de una manera sencilla y limpia. Además ofrece una experiencia de usuario muy buena independientemente del tipo y gama de terminal en que se esté usando.
Aunque con menos apps disponibles que en Android y iOS, Windows Phone 8.1, cuenta ya con más de 300.000 apps en su tienda, además de ofrecer aplicaciones propias de la compañía como Skype, OneDrive o Xbox Live.
Linux Ubuntu
Es un sistema operativo de código abierto, esto significa que puede ser modificado y distribuido por cualquier usuario. Esta es una de sus ventajas y que no se tiene q pagar por él, y se puede elegir en las diferentes versiones que existen.
En los computadores Linux a pesar de ser gratuito es muy poco usado, pero la mayoría de servidores, en las empresas utiliza Linux por su facilidad en la personalización.
Firefox OS
Un sistema operativo basado en HTML5 con núcleo Linux, de código abierto.
Pensado para ser un sistema operativo realmente abierto, a diferencia de Android, donde Google controla ciertos aspectos del sistema. Esta característica, permite a Firefox OS llegar a cubrir el nicho de mercado de la gama baja con mayor facilidad que Android.

Blackberry
Blackberry 10 tiene una interfaz más fluida, un teclado inteligente y táctil más depurado y otra serie de opciones que lo acercan a las de la competencia. Al igual que con iOS, el SO es software propietario y solamente los teléfonos de la compañía llevan su sistema instalado.

Ubuntu Touch
Otro sistema operativo basado en Linux pero en esta ocasión bajo la famosa firma Ubuntu.
utiliza las mismas tecnologías de la versión de escritorio, por lo que ambas comparten apps sin problemas de compatibilidad. Dispone también de algunas de las aplicaciones más populares como Facebook y Youtube.


Compilador
Un compilador es un programa informático, que se encarga de traducir el código fuente de una aplicación que este en desarrollo, es decir convierte un programa hecho en lenguaje de programación de alto nivel a un lenguaje de máquina , el cual es conocido como de bajo nivel, de tal forma que sea  más entendible y mucho más fácil de procesar en el equipo en el que se está ejecutando.
Interprete
Los intérpretes se diferencian de los compiladores o de los ensambladores en que mientras estos traducen un programa desde su descripción en un lenguaje de programación al código de máquina del sistema, los intérpretes sólo realizan la traducción a medida que sea necesaria, típicamente, instrucción por instrucción, y normalmente no guardan el resultado de dicha traducción.
Algoritmo
Se puede definir como una secuencia de instrucciones que representan un modelo de solución para determinado tipo de problemas. O bien como un conjunto de instrucciones que realizadas en orden conducen a obtener la solución de un problema. Por lo tanto podemos decir que es un conjunto ordenado y finito de pasos que nos permite solucionar un problema.
Los algoritmos pueden ser creados de dos formas:
1)      Seudocódigo.- Es un conjunto pequeño y claro de instrucciones; en secuencia, que permite llevar a cabo una tarea. El pseudo código se refiere a crear un código para orientar a los programadores, pero sin la sintaxis ni la estructura propia de ningún lenguaje.



2)      Diagrama de flujo.- Es la representación de la secuencia, a través de símbolos, de la tarea que se va a realizar. Es un esquema para representar gráficamente un algoritmo. Se basan en la utilización de diversos símbolos para representar operaciones específicas, es decir, es la representación gráfica de las distintas operaciones que se tienen que realizar para resolver un problema, con indicación expresa el orden lógico en que deben realizarse.







No hay comentarios:

Publicar un comentario