10 razones para aprender C

Como sabéis, C es un lenguaje de bajo nivel en comparación a otros lenguajes (C++, C#, Java). Bien, la programación a bajo nivel le permitirá un mejor entendimiento de los ordenadores. Por ejemplo, Device Drivers y Sistemas Operativos son escritos exclusivamente en C, bueno, tal vez nunca requiera escribir un device driver o sistema Operativo, pero que pasa si es que usted requiere modificarlos?, entonces en esta situación, usted necesitará saber C. El saber programar en C le abre la puerta de conseguir un empleo como por ejem.  programador de microcontroladores. Además, C es un lenguaje que tiene muchos años, existe un gran comunidad y mucho código base que le permitirá rápida y eficientemente implementar nuevos algoritmos o funciones que fueron programados antes. No hay pretextos para no aprender C !!!!!.

Siempre que tengo tiempo libre me dedico a programar en C, y aunque no espero trabajar como programador de Sistemas Operativos o Microcontroladores, siento que esto me da mayor abstración y agudez para programar en los lenguajes modernos como C# .NET (a pesar que no me considero programador pero me gusta). Aquí no queda todo, si usted desea iniciarse en C, entonces le dejo una lista de 10 razones para aprender C, claro tal vez en estos tiempo a casi nadie le importe pero por lo menos hay que saberlo. :)

10 razones para aprender C [Fuente]

  1. C is lower level then other programming languages (C++, Java). Programming at a lower level allows you to further your understanding of computers, as a whole.
  2. Device drivers and operating systems are written exclusively in C. Now, you may never write a device driver or an operating system, but what if you are ever required to modify one?
  3. What if you ever want to get a job programming microcontrollers? They are programmed in C. Are you going to limit your possible list of jobs because you didn't want to learn a new language?
  4. C programs are smaller and faster then any other program created in a different language. Sometimes your program needs that speed boost that only C can give it.
  5. If you have learned C, you can learn any modern programming language. The reason behind this is that all modern programming languages are based on C (Java, C++, C#, etc).
  6. Because C has been around for many years, it has a large community and collective code base. This allows you to quickly and efficiently implement new algorithms or functions that have been programmed before.
  7. C is the language of the Open Source community. The Open Source poster child, Linux, was coded in C. If you know C, you can participate in and contribute to numerous Open Source communities like Source Forge.
  8. C is the only language that teaches you what pointers really are. C# and Java skip the subject completely. It is pointers that give C its power.
  9. C is still the most commonly required language for programming jobs. It is well worth your time to get C under your belt.
  10. Anything that has a microprocessor in it has support for C. From your microwave to your cell phone, C powers technology.
Published 26/11/2006 16:40 por Percy Reyes
Comparte este post:
http://geeks.ms/blogs/ozonicco/archive/2006/11/26/10-razones-para-aprender-c.aspx

Comentarios

# re: 10 razones para aprender C

C es un lenguaje espectacular. Precioso. En su momento, lo que aprendí, lo aprendí de uno de los mejores libros de programación con los que me he cruzado: "El Lenguaje de Programación C", de Kernighan y Ritchie. Pequeño. Pero lo tiene todo. Creo que es bueno saberlo por muchos motivos. Sin embargo, algunos de los que das me parecen discutibles. Por ejemplo:

4.- C programs are smaller and faster then any other program created in a different language. Sometimes your program needs that speed boost that only C can give it.

En realidad, esto no es exacto. Si te lees el libro CLR via C#, de Jeffrey Richter, hay un pasaje muy curioso en el que menciona que con .NET se consigue bastante más velocidad que con C. Y da sus motivos. El JIT compiler de .NET tiene un overhead, está claro. Cada método que se vaya a ejecutar se compila en tiempo de ejecución, y esto no ocurre con C. Sin embargo, el código que genera está optimizado para tu procesador exacto. A diferencia de lo que suele ocurrir con C. A menos que dispongas del código máquina para compilarlo en tu máquina completamente optimizado, tu código estará compilado para correr a lo mejor en un x86 genérico. Con lo que desaprovechas las mejoras de los procesadores posteriores. Que son significativas.

8.- C is the only language that teaches you what pointers really are. C# and Java skip the subject completely. It is pointers that give C its power.

En realidad, sabes muy bien que los punteros en C son a la vez su potencia y su peor fallo. Utilizar punteros correctamente no es trivial. El uso de punteros puede conducir a inestabilidad. Las indirecciones como las manejan .NET y Java proporcionan también mucha potencia, pero de forma segura.

9.- C is still the most commonly required language for programming jobs. It is well worth your time to get C under your belt.

¿De verdad? Yo diría que en España no. Mira Infojobs, si quieres. Yo diría que lo que más se busca es VB, o Java. Algún día lo miraré en serio.

Wednesday, November 29, 2006 10:57 AM por Tio_Luiso

# re: 10 razones para aprender C

Hola hermano!!!,

gracias por el comentario.

claro tenéis razon, pero debo recordarte que C está orientado a bajo nivel, y actualmente no tengo de conocimiento de que algún soft que pueden ser desarrollados con C hayan sido también desarrollados con C#, como microcontroladores, :S... C# es un lenguaje moderno, rápido y muy potente, eso nadie lo discute(mejor que java) pero si C aún sigue vivo es por algo o no ??... para desarrollar soft comercial es obvio que no se usará C (los motivos ya se sabe)para esto tenemos a C# .NET.

En este post sólo estoy motivando a la gente a revisar C, más por cultura geek que por otra cosa :D

salu2.

C#  developer... Percy Reyes.

Wednesday, November 29, 2006 4:45 PM por Percy Reyes

# re: 10 razones para aprender C

bueno ke puedo decir de C, ya todo se ha dicho, lo mas importante kreo es ke todos los otros lenguajes heredan de el, en cuanto a el mercado ke lo rodea, kreo ke su fuerte no son las aplicaciones comerciales debido a ke estas rekieren kortos tiempos de desarrollo, C nunka dejara su merkado pero tampoko podra konkistar el entorno ke dominan los lenguajes como C# o Java...

salu2

Wednesday, November 29, 2006 6:23 PM por emiaj