Descargar como pdf o txt
Descargar como pdf o txt
Está en la página 1de 8

 

INSTITUTO TECNOLÓGICO DE MÉRIDA  

Lenguaje C 
23 de Marzo del 2020 

Ernesto Eduardo Xool Castro 

- Programación 
- Unidad 2 
- 1 Q 1   
- Actividad Número 2 
- Elsa Nabté 

 
 

¿Qué es el lenguaje C? 

C  es  un  lenguaje  de  programación  (considerado  como  uno  de  lo  más  importantes  en  la 
actualidad)  con el cual se desarrollan tanto aplicaciones como sistemas operativos a la vez que 
forma  la  base  de  otros  lenguajes  más  actuales  como  Java,  C++  o  C#,  por  lo  cual  el lenguaje C 
no es sencillo 

Características básicas 

• Estructura de C - Lenguaje estructurado 

•  Programación  de  nivel  medio  (beneficiándose  de  las  ventajas  de  la  programación  de  alto  y 
bajo nivel). 

• No depende del hardware, por lo que se puede migrar a otros sistemas. 

•  Objetivos  generales.  No  es  un  lenguaje  para  una  tarea  específica,  pudiendo  programar  tanto 
un sistema operativo, una hoja de cálculo o un juego. 

• Ofrece un control absoluto de todo lo que sucede en el ordenador. 

• Organización del trabajo con total libertad. 

• Los programas son producidos de forma rápida y son bastante potentes. 

• Rico en tipo de datos, operadores y variables en C. 

Como  inconvenientes,  siendo  también  características  del  lenguaje  C,  debemos  decir  que  no es 
un  lenguaje  sencillo  de  aprender,  que  requiere  una  continua  práctica  y  un  serio  seguimiento  si 
queremos tener el control de los programas 

Biblioteca de C 

Al  hablar  de  bibliotecas  en  lenguaje  C  nos  referimos  a  una serie de librerías que son usadas en 


este  lenguaje  de  programación  y  están  formadas  por  una  serie  de  código  con  el  que podemos 
leer  el  teclado,  realizar  operaciones  matemáticas,  imprimir  en  pantalla…  La biblioteca referente 

 
 

es  la  estándar  de  ANSI C formada por 24 archivos de cabecera. Según su tarea, se clasifican en 


categorías,  como  por  ejemplo  matemáticas, de salida y entrada, de uso de textos, de gestión de 
memoria…  Entre  las  librerías  más  destacadas  encontramos  stdio.h  (de  entrada  y  salida), 
conio.h  (potente  gestión  de  textos),  math.h  (encargada  de  operaciones  matemáticas),  time.h 
(obtienen fecha y hora actual para poder utilizarla según sus necesidades), etcétera. 

En  estos  momentos,  podemos  concluir  que  el  lenguaje  de  programación  C  es  el  idóneo  para 
programar  sistemas  operativos  debido  a  su  cercanía  en  el  lenguaje,  al  igual  que  cumple  con 
creces  en  la creación de programas de otra índole y ofrece a los programadores un control total 
sobre  la  memoria  pudiendo  asignarla  cómo,  cuándo  y  dónde  quieran.  Otro  punto a destacar es 
la  gran  variedad  de  bibliotecas (como las estándar ASCI) que facilitan mucho al programador la 
redacción de las acciones a realizar. 

Pese  a  sus  virtudes  a  la  hora  de  programar  a  nivel  de  sistema y su versatilidad para afrontar la 
creación  de  infinitas  clases  de aplicaciones, el lenguaje C no siempre es la mejor opción para el 
programador,  sobre  todo  para  el  desarrollo  de  aplicaciones,  ya  que  puede  tener  errores  de 
compilación  que  otros  lenguajes  basados  en  C,  como  Java  o  C++  solventan  sin  problemas. 
Tampoco  debemos  olvidar  que  no  es  un lenguaje de programación sencillo, por lo que necesita 
de mucha disciplina en su estudio y puesta en práctica. Esta dificultad puede verse reducida por 
la  perfecta  estructuración  del  código  y por la rapidez y potencia con la que las aplicaciones son 
generadas 

Ventajas y desventajas de C. 

Ventajas 

* El lenguaje C ha sido pensado para ser altamente transportable. 

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

Gracias  a  este  tipo  de  programas  la  tecnología ha podido alcanzar un gran avance en todos los 


ámbitos  tanto  nacionales  como  internacionales,  es  por  eso  que  es  necesario  que  este  tipo  de 
lenguaje  se  aprenda  para  poder  realizar  utilerías  capaces  de  trabajar  y  apoyar  proyectos  que 
ayudarán  al  manejo  mas  sencillo  de  una  empresa  ó  en  particular  pequeñas  aplicaciones  en  el 
hogar.  

Desventajas 

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

*  Carece  de  instrucciones  de  entrada/salida,  de  instrucciones  para  manejo  de  cadenas  de 
caracteres,  con  lo  que  este  trabajo  queda para la librería de rutinas, con la consiguiente pérdida 
de transportabilidad.   

La  excesiva  libertad  en  la  escritura  de  los  programas puede llevar a errores en la programación 


que,  por  ser  correctos  sintácticamente  no  se  detectan  a  simple  vista.  Por  otra  parte  las 
precedencias  de  los  operadores  convierten  a  veces  las  expresiones  en  pequeños 
rompecabezas.  A  pesar  de  todo,  C  ha  demostrado  ser  un  lenguaje  extremadamente  eficaz  y 
expresivo. 

Origen del lenguaje C. 

C  es  un  lenguaje  de  programación  creado  en  1972  por  Dennis  M.  Ritchie  en  los  Laboratorios 
Bell como evolución del anterior lenguaje B, a su vez basado en BCPL. 

Al  igual  que  B,  es  un  lenguaje  orientado  a  la  implementación  de  Sistemas  Operativos, 
concretamente  Unix.  C  es apreciado por la eficiencia del código que produce y es el lenguaje de 
programación  más  popular  para  crear  software  de  sistemas,  aunque  también  se  utiliza  para 
crear aplicaciones. 

Se  trata  de  un  lenguaje  fuertemente  tipificado  de  medio  nivel  pero  con  muchas  características 
de  bajo  nivel.  Dispone  de  las  estructuras  típicas  de  los  lenguajes  de  alto  nivel  pero,  a  su  vez, 
dispone  de  construcciones  del  lenguaje  que  permiten  un  control  a  muy  bajo  nivel.  Los 
compiladores  suelen  ofrecer  extensiones  al  lenguaje  que  posibilitan  mezclar  código  en 
ensamblador con código C o acceder directamente a memoria odispositivos periféricos. 

La primera estandarización del lenguaje C fue en ANSI, con el estándar X3.159-1989. El lenguaje 
que  define  este  estándar  fue conocido vulgarmente como ANSI C. Posteriormente, en 1990, fue 

 
 

ratificado  como  estándar  ISO  (ISO/IEC  9899:1990).  La  adopción  de  este  estándar  es  muy 
amplia  por  lo  que,  si  los  programas  creados  lo  siguen,  el  código  es  portátil  entre  plataformas 
y/o arquitecturas. 

Versiones Actuales de C. 

En  la  actualidad  son  muchos  los  fabricantes  de  compiladores  C,  aunque  los  más  populares 
entre los fabricantes de software son: Microsoft e Imprise. 

Una  evolución  de  C,  el  lenguaje  C++  (C  con  clases)  que  contiene  entre  otras,  todas  las 
características  de  ANSI  C.  Los  compiladores  más  empleados  son  Visual  C++  de  Microsoft, 
Builder C++ de Imprise (Antigua Borland), C++ bajo Unix y Linux. 

En  el  verano  del  2000,  Microsoft  patentó  una  nueva  versión  de  C++,  que  es  C#,  una  evolución 
del C++ estándar, con propiedades de Java y diseñado para aplicaciones en línea. 

Diferencias entre C, C# y C++ 

  C  fue  creado  como evolución del anterior lenguaje B; al igual que su predecesor, es un lenguaje 


orientado  a la implementación de sistemas operativos, concretamente Unix, y es valorado por la 
eficiencia  del  código  que  produce  .  C  es  el  lenguaje  de  programación  más  popular  para  crear 
software de sistemas, así como aplicaciones. 

Este  es  un  lenguaje  débilmente  tipificado  de  medio  nivel,  pero  a  su  vez,  con  muchas 
características  de  bajo  nivel  .  Asimismo,  cuenta  con  las  estructuras  típicas de los lenguajes de 
alto  nivel  pero,  también  dispone  de  construcciones  del  lenguaje  que  permiten un control a muy 
bajo  nivel  .  Sus  compiladores  suelen  ofrecer  extensiones  al  lenguaje  que  posibilitan  mezclar 
código  en  ensamblador  con  código  C  o  acceder  directamente  a  memoria  o  dispositivos 
periféricos . 

Por  su  parte,  C++  fue  creado  con  la  intención  de  extender  al  exitoso  lenguaje de programación 
C  con  mecanismos  que  permitan  la  manipulación  de  objetos  .  En  ese  orden  de  ideas,  desde el 
punto  de  vista  de  los  lenguajes  orientados  a  objetos,  C++  es  un  lenguaje  híbrido. 
Posteriormente  se  fueron  sumando  facilidades  de  programación  genérica,  a  los  dos 

 
 

paradigmas  ya  admitidos  -programación  estructurada  y  programación  orientada  a  objetos-, 


razón por la cual, se afirma que C++ es un lenguaje de programación multiparadigma . 

C#  es  un  lenguaje  de  programación orientado a objetos desarrollado y estandarizado, de hecho 


es  uno  de  los lenguajes de programación diseñados para la infraestructura de lenguaje común . 
Su  sintaxis  básica  deriva  de  C/C++  y  utiliza  el  modelo  de objetos de la plataforma .NET, similar 
al  de  Java, aunque incluye mejoras derivadas de otros lenguajes . Aún cuando forma parte de la 
plataforma  .NET,  ésta  es  una  API;  mientras  que  C#  es  un  lenguaje  de  programación 
independiente  diseñado  para  generar  programas  sobre  dicha  plataforma  .  La  nube  elástica  de 
Facilcloud permite trabajar con los tres, ya es elección del usuario con cuál prefiere hacerlo . 

Diferencias fundamentales de C 

•  C  es  un  lenguaje  estructurado,  estándar,  que  permite  trabajar  de  forma  algo  más  cercana  al 
hardware  que  la  mayoría  de  los  demás.  Es  potente  y  versátil,  se  puede  programar  de  todo, 
desde  aplicaciones  sencillas  de  escritorio  hasta  sistemas  operativos.  Su  desventaja  es  que  es 
complicado  hacer  proyectos  grandes  en  él, porque entrega muy pocas cosas hechas, y además 
ya no se emplea mucho. 

•  C  ++  es  una  extensión  a  C,  orientada  a  objetos,  cuenta  con  casi  todas  las  ventajas de C, pero 
además  posee  ciertas  características  propias  que  facilitan  mucho  la  programación.  Es  de  los 
lenguajes  más  utilizados actualmente, ya que gran parte del software comercial se realiza en él. 
Se  usa  sobre  todo  cuando  el  rendimiento  del  programa  es  importante,  porque  es  más  rápido y 
ligero que C#. 

•  C#  es  orientado  a  objetos,  y  es  estándar.  Utiliza el framework .NET que aporta funciones para 


casi  cualquier  cosa.  En  ese  sentido podría decirse que es más completo que C++ – aunque con 
C++  se  puede  hacer  lo  mismo,  pero  recurriendo  a  ciertas  librerías.  Entre  sus  desventajas 
destaca  que  no  genera  código  nativo  y  para  ejecutar  los  programas  que  se  realicen,  el 
computador  tiene  que  tener  instalado .NET.; también debe exige estar vinculado a Microsoft y a 
Windows, para poder disfrutar de sus ventajas.   

 
 

Referencias  

● Rena, F.: Manual de programación en C para principiantes y avanzados 


● Vidal,  Jesus,  (2002),  El  lenguaje  de  programación  AWK/GAWK,  Universidad  Nacional 
Autónoma  de  México,  en 
http://congresos.nnb.unam.mx/sites/default/files/TIB2014/manual_awk.pdf 
● Villegas,  Eduardo  (2000),  Informática  básica  con  énfasis  en  el  lenguaje  C,  Universidad 
Nacional de Colombia, en h
​ ttp://www.bdigital.unal.edu.co/9544/6/958-9322-60-3.pdf 

También podría gustarte