¿Quien soy?

Soy Daniel Alejandro Bulnes Reyna, mi número de matricula es 1441186 y estoy inscrito en la materia de Lenguajes de programación en el horario de Martes M1 y Lab. Lenguajes de programación los Jueves a V1, las dos con la Dra. Elisa Schaeffer.



Espero que mi blog les agrade y puedan comentar en el, ya sea positiva o negativamente, y que cada dia mejoren mas los posts.



domingo, 21 de noviembre de 2010

SUPER ENTRADA 13/24- LABORATORIO LENGUAJES DE PROGRAMACIÓN

LENGUAJE C


Uno de los objetivos de diseño del lenguaje C es que sólo sean necesarias unas pocas instrucciones en lenguaje máquina para traducir cada elemento del lenguaje, sin que haga falta un soporte intenso en tiempo de ejecución. Es muy posible escribir C a bajo nivel de abstracción; de hecho, C se usó como intermediario entre diferentes lenguajes.

C se desarrolló originalmente (conjuntamente con el sistema operativo Unix, con el que ha estado asociado mucho tiempo) por programadores para programadores. Sin embargo, ha alcanzado una popularidad enorme, y se ha usado en contextos muy alejados de la programación de sistemas.

Entre sus propiedades están:

• Un núcleo del lenguaje simple, con funcionalidades añadidas importantes, como funciones matemáticas y de manejo de archivos, proporcionadas por bibliotecas.

• Es un lenguaje muy flexible que permite programar con múltiples estilos. Uno de los más 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 múltiples archivos de código 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 parámetros a una función se realiza por valor. El paso por referencia se consigue pasando explícitamente a las funciones las direcciones de memoria de dichos parámetros.

• Punteros a funciones y variables estáticas, 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").

Y entre sus carencias:

• Recolección 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 programación orientada a objetos, aunque la implementación original de C++ fue un preprocesador que traducía código fuente de C++ a C.

• Encapsulación.

• Funciones anidadas, aunque GCC tiene esta característica como extensión.

• Polimorfismo en tiempo de código en forma de sobrecarga, sobrecarga de operadores y sólo dispone de un soporte rudimentario para la programación genérica.

• Soporte nativo para programación multihilo y redes de computadores.

Este ha tenido unas variantes debido a sus certificaciones de calidad y otros aspectos, por lo que ha llegado a llamarse ANSI C e ISO C

Yo creo que un ejemplo estaría de mas ya que todos hemos programado en C y hasta un manual no creo que llegue a ser tan difícil…

DE TODAS MANERAS DEJARE UN MANUAL:
http://homepage.cem.itesm.mx/rogomez/Tutorial-LengC/

1 comentario: