Lenguaje c

11
LENGUAJE C CARLOS ESCALONA CI 11.425.928

Transcript of Lenguaje c

Page 1: Lenguaje c

LENGUAJE C

CARLOS ESCALONACI 11.425.928

Page 2: Lenguaje c

CONCEPTO DE LENGUAJE C

C es un lenguaje de programación de propósito general que ofrece economía sintáctica, control de flujo y estructuras sencillas y un buen conjunto de operadores. No es un lenguaje de muy alto nivel y más bien un lenguaje pequeño, sencillo y no está especializado en ningún tipo de aplicación. Esto lo hace un lenguaje potente, con un campo de aplicación ilimitado y sobre todo, se aprende rápidamente.

En poco tiempo, un programador puede utilizar la totalidad del lenguaje.

Page 3: Lenguaje c

PROPIEDADES 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.

Page 4: Lenguaje c

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.

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

Soporte nativo para programación multihilo.

Page 5: Lenguaje c

Ventajas Lenguaje muy eficiente puesto que es

posible utilizar sus características de bajo nivel para realizar implementaciones óptimas.

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

Proporciona facilidades para realizar programas modulares y/o utilizar código o bibliotecas existentes.

Page 6: Lenguaje c

Inconvenientes El mayor problema que presenta el lenguaje C frente a los

lenguajes de tipo de dato dinámico es la gran diferencia en velocidad de desarrollo: es más lento programar en C, sobre todo para el principiante. La razón estriba en que el compilador de C se limita a traducir código sin apenas añadir nada. La gestión de la memoria es un ejemplo clásico: en C el programador ha de reservar y liberar la memoria explícitamente. En otros lenguajes (como BASIC, Matlab o C#) la memoria es gestionada de forma transparente para el programador. Esto alivia la carga de trabajo humano y en muchas ocasiones evita errores, aunque también supone mayor carga de trabajo para el procesador.

El mantenimiento en algunos casos puede ser más difícil y costoso que con ciertos lenguajes de más alto nivel. El código en C se presta a sentencias cortas y enrevesadas de difícil interpretación[cita requerida].

Page 7: Lenguaje c

Variantes

Desde el inicio del lenguaje han surgido varias ramas de evolución que han generado varios lenguajes:

Objective-C es un primer intento de proporcionar soporte para la programación orientada a objetos en C, pero actualmente usado en Mac OS X, iOS y GNUstep.

C++ (pronunciado C Plus Plus) diseñado por Bjarne Stroustrup fue el segundo intento de proporcionar orientación a objetos a C y es la variante más difundida y aceptada. Esta versión combina la flexibilidad y el acceso de bajo nivel de C con las características de la programación orientada a objetos como abstracción, encapsulación y ocultación.

Page 8: Lenguaje c

Herramientas de Programación Al programar en C, es habitual usar algunas herramientas de

programación de uso muy extendido, sobre todo en entorno de tipo unix:

make: Herramienta para automatizar el proceso de compilación, enlazado, etc.

lint: Herramienta utilizada para detectar código sospechoso, confuso o incompatible entre distintas arquitecturas

valgrind: Herramienta utilizada para detectar posibles fugas de memoria.

gdb : Debugger de GNU utilizado para seguir la ejecución del programa.

dbx : Debugger que suele venir instalado con todos los UNIX. ddd : Interfaz gráfico para el depurador gdb o dbx.

Page 9: Lenguaje c

Aplicaciones Embebidas C es el lenguaje común para programar sistemas embebidos.[cita requerida] El código ligero que un compilador C genera, combinado con la capacidad de acceso a capas del software cercanas al hardware son la causa de su popularidad en estas aplicaciones.

Una característica donde C demuestra comodidad de uso particularmente valiosa en sistemas embebidos es la manipulación de bits. Los sistemas contienen registros mapeados en memoria (en inglés, MMR) a través de los cuales los periféricos se configuran.

Page 10: Lenguaje c

Bibliotecas C Una biblioteca de C es una colección de funciones

utilizadas en el lenguaje de programación C. Las bibliotecas más comunes son la biblioteca estándar de C y la biblioteca del estándar ANSI C, la cual provee las especificaciones de los estándares que son ampliamente compartidas entre bibliotecas. La biblioteca ANSI C estándar, incluye funciones para la entrada y salida de archivos, alojamiento de memoria y operaciones con datos comunes: funciones matemáticas, funciones de manejo de cadenas de texto y funciones de hora y fecha.

Page 11: Lenguaje c

CONCLUSIÓN

Es un lenguaje muy versátil aunque tiene mucho tiempo de haber sido creado su economía sintáctica lo hacen de mucha ventaja para los programadores así como también su periodo de aprendizaje.