Calificación:
  • 0 voto(s) - 0 Media
  • 1
  • 2
  • 3
  • 4
  • 5
¿Por qué deberías saber Lenguaje C?
#1
Información 
¿Por qué deberías saber Lenguaje C?


Artículo publicado en la Universidad Internacional de Valencia (España) el 15 de Agosto de 2016.


[Imagen: programacion-en-c-971x319.jpg]

La programación en C se utiliza, entre otras cosas, para el desarrollo de sistemas operativos. El primer sistema operativo escrito en C fue Unix. Más tarde, otros sistemas operativos como Linux también fueron escritos en C. Pero C no es sólo el lenguaje de programación de los sistemas operativos. C es el precursor e inspirador para casi todos los lenguajes de alto nivel más populares disponibles en la actualidad. De hecho, Perl, PHP, Python y Ruby están escritos mediante programación en C. 
  
Ventajas de aprender programación en C 

¿Por qué aprender a programar en C hoy en día cuando existen otros lenguajes de más alto nivel? 

Existen ventajas de aprender programación en C antes de C ++ o Java, por ejemplo. Cuando se trabaja en lenguajes como Java o incluso Python, te inicias inmediatamente alejándote del aprendizaje de los fundamentos de un lenguaje de programación y comienzas a aprender librerías y frameworks asociados. Pero con C tienes un par de llamadas a librerías, y después tienes que mantener la concentración en la semántica del lenguaje, y C a menudo te obliga a pensar más y más profundo acerca de lo que está realmente sucediendo. 

C es un lenguaje de nivel medio. Es el lenguaje de los compiladores, intérpretes, editores, sistemas operativos y programación embebida. Cuando se aprende programación en C casi tienes que aprender cómo se ejecutan los programas. Aprendes lo que significan cosas como registro, pila, mapeado de memoria, etc. 

Algunas de las ventajas adicionales de aprender programación en C son: 
  
Simplicidad y velocidad 

C es simple, elegante y endiabladamente rápido. Es también compacto y eficiente. C tiene punteros puros, operadores bit a bit, y las keywords extern, volatile, static, y register lo que significa que vas a entender más acerca de cómo escribir el código eficiente que se puede obtener de cualquier lenguaje de alto nivel. La única cosa que te enseñará estas cosas mejor es un lenguaje de más bajo nivel, pero con los complejos procesadores modernos no sería recomendable utilizar ensamblador o similar. 

La sintaxis de C es la razón por la que los programadores hablan de la “familia C de lenguajes de programación”, que por lo general incluye lenguajes como C, C ++, Java, JavaScript, Objective-C y muchos otros. 
  
Disciplina 

La programación en C también pasa por ser exigente, fastidiosa, meticulosa y a veces francamente críptica. Puedes escribir fácilmente código que puede ser difícil de leer y de mantener. Sin embargo, y esto es un punto clave, no tienes por qué hacerlo. Aprender a escribir código mantenible en C requerirá disciplina de codificación. En la mayoría de los lenguajes solucionar errores de sintaxis puede ser trivial. Sin embargo, encontrar y corregir un punto y coma que falta o sobra en C puede ser a veces una empresa épica. 
  
Pocas distracciones 

C no es un lenguaje orientado a objetos por lo que no te distrairás con cosas como herencia y polimorfismo. No es que estos no sean conceptos importantes, es sólo que puedes simplificar las cosas un poco, aprendiendo programación procedimental en primer lugar. De hecho, una vez que has aprendido C, y has escrito un par de programas, el aprendizaje de C ++ es un paso natural. 
  
Programación embebida 

Un argumento final para aprender programación en C está ligado a hacer programación embebida. Hacer que un ordenador haga lo que quieres puede ser satisfactorio. Pero cuando integras tu código embebido con un poco de hardware y ves cómo provoca que ocurran cosas fuera de un ordenador, como por ejemplo mover un brazo robótico, es una emoción incomparable. Esa emoción sólo ocurre cuando aprendes programación en  C. 

  
¿Dónde se utiliza todavía la programación en C? 

Muchos de los proyectos de C que existen en la actualidad se iniciaron hace décadas. 

El desarrollo del sistema operativo UNIX se inició en 1969, y su código fue reescrito en C en 1972. El desarrollo de base de datos Oracle comenzó en 1977, y su código fue reescrito también con programación en C en 1983. Y se convirtió en una de las bases de datos más populares en el mundo. En 1985 se lanzó Windows 1.0. Aunque el código fuente de Windows no está disponible al público, se ha dicho que su núcleo estaba escrito principalmente en C, con algunas partes en ensamblador. El desarrollo del kernel de Linux comenzó en 1991, y también está escrito en C… 

Pero la programación en C no se limita a los proyectos que se iniciaron hace décadas. Todavía hoy muchos proyectos se inician en C. A pesar de la prevalencia de los lenguajes de alto nivel, C sigue fortaleciendo el mundo. 
Los siguientes son algunos de los sistemas que son utilizados por millones de personas y están programados en el lenguaje C. 
  
Microsoft Windows 

El kernel de Microsoft Windows se desarrolla principalmente en C, con algunas partes en lenguaje ensamblador. Durante décadas, el sistema operativo más utilizado del mundo, con aproximadamente el 90 por ciento de la cuota de mercado, ha sido impulsado por un núcleo escrito en C. 
  
Linux 

Como ya hemos dicho Linux también está escrito principalmente en C, con algunas partes, al igual que windows, en ensamblador. Alrededor del 97 por ciento de los 500 superordenadores más potentes del mundo corren el núcleo de Linux. También se utiliza en muchos ordenadores personales. 
  
Mac 

Los ordenadores Mac también son soportados por una programación en C. El núcleo OS X está escrito principalmente en C y cada programa y driver en un Mac, igual que en Windows y Linux, se ejecuta con un kernel C. 
  
Móvil 

Los kernels de iOS, Android y Windows Phone también están escritos en C. En realidad son sólo adaptaciones móviles de los kernels existentes en Mac OS, Linux y Windows. Así que los teléfonos inteligentes que utilizamos todos los días se están ejecutando en un núcleo con programación en C. 
  
Bases de datos 

Las bases de datos más populares del mundo, incluyendo bases de datos Oracle, MySQL, MS SQL Server y PostgreSQL, están codificados en C (los primeros tres de ellos en realidad tanto en C como C ++). Las bases de datos se utilizan en todo tipo de sistemas: financieros, gubernamentales, en medios de comunicación, entretenimiento, telecomunicaciones, salud, educación, comercio minorista, redes sociales, web, y similares. 
  
Películas 3D 

Las películas en 3D son creadas con aplicaciones que generalmente están escritas en C y C ++. Esas aplicaciones tienen que ser muy eficientes y rápidas, ya que manejan una gran cantidad de datos y hacen muchos cálculos por segundo. Cuanto más eficientes son, menos tiempo toma a los responsables de crearlas para generar los fotogramas de las películas. Y eso no solo es tiempo sino también mucho dinero ahorrado. 
  
Sistemas embebidos, un ejemplo del uso diario 

Como ya dijimos, muchos sistemas embebidos utilizan programación en C en la actualidad. Pero vamos a verlo con un ejemplo de una rutina diaria. 

Imagina que te despiertas un día para irte de compras. El despertador que te despierta probablemente tiene programación en C. A continuación utilizamos el microondas y la cafetera express para hacer el desayuno. También tienen sistemas integrados y por lo tanto probablemente están programados en C. Si enciendes el televisor o la radio mientras desayunas, estarás utilizando también sistemas integrados que funcionan con C. Al abrir la puerta del garaje con el mando a distancia también estás usando un sistema embebido que es más que probable que tenga programación en C. 

Después entras en tu coche y te encuentras las siguientes características, también programadas en C: 


  • Transmisión automática
  • Sistemas de detección de presión de los neumáticos
  • Sensores ( temperatura, nivel de aceite, etc.)
  • La configuración de los espejos retrovisores
  • La pantalla del salpicadero
  • Los frenos ABS
  • El control automático de la estabilidad
  • El control de velocidad de crucero
  • El climatizador
  • Las cerraduras a prueba de niños
  • La apertura sin llave
  • Los asientos con calefacción
  • El control del airbag



Llegas a la tienda, aparcas el coche y vas a una máquina expendedora para obtener un refresco. ¿Qué lenguaje utilizan para programar esta máquina expendedora? Probablemente C. Luego compras algo en la tienda. La caja registradora está programada también en C. ¿Y cuando pagas con tu tarjeta de crédito? Lo has adivinado: el lector de tarjetas de crédito está, otra vez, probablemente programado en C. 

Todos estos dispositivos son sistemas embebidos. Son como pequeños equipos que tienen un microcontrolador / microprocesador interno en el que se está ejecutando un programa, también llamado firmware. Ese programa debe detectar pulsaciones de teclas y actuar en consecuencia, y también mostrar información al usuario. Por ejemplo, el reloj de alarma debe interactuar con el usuario, detecta la pulsación del botón, y a veces incluso, el tiempo que está siendo presionado. 

Y después programa el dispositivo en consecuencia, a la vez que presenta al usuario la información relevante. El sistema de frenos antibloqueo del coche, por ejemplo, debe ser capaz de detectar de bloqueo repentino de los neumáticos y actuar para liberar la presión en los frenos por un pequeño periodo de tiempo para desbloquearlos, evitando de este modo el arrastre no controlado del vehículo. 

Todos los cálculos se realizan mediante un sistema integrado programado. Aunque el lenguaje de programación utilizado en sistemas embebidos puede variar de una marca a otra, con mayor frecuencia utilizan programación en C, debido a las características de este lenguaje como flexibilidad, eficiencia, rendimiento y cercanía con el hardware.
 
#2
Mencionas Phyton.... mi padre tiene libros gruesos de los viejos todos sobre Phyton y varios otros lenguajes, como pasa el tiempo
#3
Un día intenté aprender a programar en C y wow, mis respetos, para mí no fue nada sencillo y hasta ahora no he logrado aprender mucho de C ...

Lo interesante (y se mencionó en la información que compartiste) es que C a pesar de tener ya bastantes años es un lenguaje que todavía se encuentra vigente hoy en día, y supongo, que durará así por mucho tiempo más ... mis respetos para los que programan en C, creo que tienen una destreza muy alta Lengua
WWW
#4
Pués yo creo que lo 1o es aprender pseudocódigo, incluso la idea de hacerlo como asignatura para todos los niños lo veo lógica.
Aprender C o otro lenguaje... yo lo reservaría a los programadores que se quieran especializar en algo que necesite ese lenguaje en concreto.
#5
(06-09-2016, 11:20 AM)NewProject escribió: Pués yo creo que lo 1o es aprender pseudocódigo, incluso la idea de hacerlo como asignatura para todos los niños lo veo lógica.
Aprender C o otro lenguaje... yo lo reservaría a los programadores que se quieran especializar en algo que necesite ese lenguaje en concreto.

Lo primero, lo primero de todo, es aprender metodología de programación, y normalmente para eso se utiliza pseudocódigo. Y esto no es sólo bueno para programar, sino también para pensar de forma lógica y útil de cara a resolver problemas cotidianos de nuestra propia vida.

Y ya luego ponerte con un lenguaje, y ahí la verdad que sí que recomendaría C, aunque tiene lo suyo, claro está.
#6
en teoria sin c no existiera linux ni windows ni mac os nada de lo que conocemos hoy en dia
#7
C es uno de los lenguajes de programación más potentes, el año pasado lo estudio pero solo a nivel básico, pero apartir de ésto me ayudo a enteder más rapido otros lenguajes de programación. Es muy recomendable aprender lenguaje C.
WWW
#8
Excelente info, es un lenguaje que me gustaría aprender, entre otros que figuran mencionados en el post!
Muy buen post, dedito arriba ¡Me gusta!
#9
C (y todas sus variantes) y Java creo que son los lenguajes mas usados y con mas aplicaciones del mercado. Lenguajes obligatorios para los programadores de hoy en día.
#10
Tienes razón, el código C es absolutamente vigente aún. Respeto mucho a quienes programan en este lenguaje, creo que son maestros de la informática. Algún día aprenderé a programar como ellos...


Posibles temas similares...
Tema Autor Respuestas Vistas Último mensaje
  herramienta para saber si tu PC es vulnerable a Eternal Blue carlsmartg 6 348 10-08-2017, 10:18 PM
Último mensaje: Rorschak
  Cómo saber fecha y hora de instalación original Windows 10 CarlosAlberto 2 408 02-12-2016, 06:25 AM
Último mensaje: shek
  Discos duros: cómo saber cuándo van a “morir” elcarnes 12 903 31-07-2016, 08:06 PM
Último mensaje: habacuc78
  Cosas que no deberías hacer si tienes un SSD elcarnes 12 1,014 12-05-2016, 08:01 PM
Último mensaje: Shirow_Aramaki
  Windows 10: Todo lo que quieres y debes saber CarlosAlberto 8 1,844 03-11-2015, 08:09 AM
Último mensaje: dormio
  Magical Jelly Bean KeyFinder (Saber serial del pograma que vas a reinstalar) XimiTuto 1 443 12-12-2014, 05:17 PM
Último mensaje: betiko2424
  Speccy (Programa para saber especificaciones del pc) XimiTuto 1 427 29-11-2014, 02:25 PM
Último mensaje: fercol
  Como saber la Contraseña del Facebook [Tutorial] caesloco 8 2,013 02-05-2013, 06:43 PM
Último mensaje: andrex.nava
  Lo que necesitas saber del Nokia World mrcarnes15 2 475 20-11-2011, 12:33 PM
Último mensaje: Arrakis
  Google crea el lenguaje Dart para competir con JavaScript remy.hn 4 824 14-10-2011, 03:57 PM
Último mensaje: Gn7



Usuarios navegando en este tema: 1 invitado(s)