Aprender a Programar en C ¿Aún tiene sentido?

Aprender a Programar en C. ¿Aún tiene sentido?

Hoy quiero aprovechar este post para dar respuesta a una pregunta que me suelen hacer con bastante frecuencia (y que me parece muy interesante): ¿Tiene sentido hoy en día aprender a programar en C?

Lejos de simples valoraciones personales, vamos a analizar el panorama actual para poder concluir si finalmente tiene sentido o no aprender a programar con este mítico lenguaje de programación.

Vamos allá! : )

¿Por qué esta fijación con el lenguaje C?

Bueno… Supongo que la razón principal por la que las personas siguen preguntándose si merece la pena aprender este lenguaje o no, es que aún a día de hoy sigue estando muy presente en lo que se refiere al mundo de la programación.

En las universidades se sigue formando a los alumnos para que aprendan a programar en C. Y no me estoy refiriendo sólo a los alumnos de carreras como Informática o Ingeniería del Software… A día de hoy, este lenguaje está presente en los planes de estudio de muchas carreras “técnicas”, como puede ser cualquier ingeniería, matemáticas, física, etc, etc.

Y es que desde que Dennis M. Ritchie en los Laboratorios Bell, allá por 1972, desarrollara el lenguaje de programación C, su uso y evolución estuvo muy ligado al mundo universitario y al sector de la investigación.

Dennis Ritchie, creador del lenguaje C

Dennis Ritchie, creador del lenguaje C

 

¿Qué tiene de especial el lenguaje C?

C es un lenguaje de programación concebido para la implementación de sistemas operativos; concretamente los basados en Unix. Y es aquí donde este lenguaje puede sacar pecho y exponer una de sus principales virtudes: la eficiencia del código que produce.

C se considera un lenguaje de “medio nivel” (a diferencia de la mayoría de lenguajes de programación actuales, que son considerados de “alto nivel”). Esto quiere decir que el nivel de abstracción que aporta al programador está en un plano inferior al de otros lenguajes de programación que facilitan estructuras de datos y sentencias típicas de estos lenguajes de “alto nivel”.

Pero, al mismo tiempo, C ofrece sentencias, operadores y mecanismos que permiten un control de la máquina a muy “bajo nivel” (algo que no está permitido a la mayoría de lenguajes de programación).

Las principales características del lenguaje de programación C son:

  • Es un lenguaje con un núcleo simple; aunque proporciona algunas bibliotecas de funciones muy útiles (funciones matemáticas, manejo de ficheros…).
  • Conjunto reducido de palabras clave.
  • Es un lenguaje flexible, que permite programar con varios paradigmas; aunque el más extendido es su uso en la programación estructurada.
  • Se trata de un lenguaje débilmente tipado; aunque con restricciones para evitar operaciones sin sentido.
  • Ofrece el Preprocesador de C, un lenguaje de preprocesado que permite definir macros, constantes, o incluir archivos de código.
  • Permite un acceso de bajo nivel a la memoria de la máquina (uno de sus puntos fuertes, sin lugar a dudas), mediante el uso de punteros.
  • Permite hacer interrupciones al procesador.
  • Punteros a funciones y variables estáticas.
  • Permite definir estructuras de datos.

Sin embargo, a diferencia de otros lenguaje de programación de alto nivel más actuales, C no dispone de:

  • Recolector de basura nativo (la gestión de la memoria debe hacerla manualmente el programador).
  • Soporte para Programación Orientada a Objetos (para esto se creó C++).
  • Funciones anidadas.
  • Soporte nativo para programación multihilo.

Resumiendo todo este rollo…

En resumen, y dejando de lado ya tanto tecnicismo y palabrejas raras: C es el lenguaje de programación capaz de producir un código más rápido y eficaz (tan sólo es superado por la programación en lenguaje ensamblador).

El lenguaje de programación C es considerado como la “lingua franca” de los lenguajes de programación. Se trata de uno de los lenguajes de programación más antiguos (de los que realmente se siguen utilizando ampliamente hoy en día). Es un lenguaje de programación muy respetado dentro de la comunidad, y sirvió para sentar las bases de otros lenguajes más modernos.

Siendo sincero, lo considero un lenguaje de dificultad media. Yo sinceramente no lo recomendaría como primer lenguaje para aprender a programar. Efectivamente, C sienta unas bases teóricas que son excelentes para el que quiera dedicarse a esto de la programación; pero también es cierto que su enfoque de “medio nivel”, más próximo a los entresijos internos de los computadores, puede provocar que más de uno salga corriendo y decida que la programación no es algo para él… o pero aún, que decida que la detesta (como le pasa a muchos de esos estudiantes universitarios que te comentaba antes).

Creo que hay lenguajes más adecuados para una primera toma de contacto con el mundo de la programación: como Python, Javascript… (lenguajes que además, son de los más populares utilizados y demandados hoy en día…).

Por otro lado, ya sabes que si quieres aprender a programar y no sabes por donde empezar o qué es lo que más te conviene según tu caso concreto, te recomiendo que te apuntes a nuestro curso online 100% gratuito. Allí te hablo sobre los lenguajes más populares y te propongo un método paso a paso para aprender a programar con el que resulte más adecuado para ti.

Bueno, que me desvío del tema, como te decía: el lenguaje de programación C es muy popular para el desarrollo de sistemas operativos (como por ejemplo, el desarrollo de módulos del sistema en Linux, así como para la programación de software “embebido” en microcontroladores u otros dispositivos programables más cercanos al mundo del hardware.

Con el lenguaje C vas a poder desarrollar aplicaciones de escritorio, programar sistemas operativos, programar dispositivos y microcontroladores hardware, y más recientemente se está utilizando también para el desarrollo de aplicaciones móviles.

Resumen del Lenguaje de Programación C | EscuelaDeInformaticos.com

Resumen del lenguaje de programación C (EscuelaDeInformaticos.com)

 

Aprender a Programar en C por la Demanda

A estas alturas del post, sé lo que estarás pensando: “Vale, vale… todo esto está muy bien, pero ¿qué hay de la demanda y el salario de los programadores de C?, ¿hay empresas que aún siguen demandando a estos profesionales?, ¿qué salario ofrecen?…

Vamos a verlo!

Para ello, iremos a la web de dice.com (portal americano para búsqueda de empleo relacionado con la Informática y la Tecnología) y haremos una búsqueda para este tipo de programadores.

El buscador arrojó un resultado con más de 35.000 ofertas de empleo!

Resultados de Dice.com para programadores de C

Resultados de Dice.com para programadores de C

Tranquilo, tranquilo… Antes de que me grites con eso de “Ya, pero eso es sólo en Estados Unidos”, “Spain is different”… Vamos a hacer una búsqueda para ver la situación en España.

Para ello, iremos a la web de infojobs.net y haremos una búsqueda similar.

El buscador arrojó un resultado con más de 145 ofertas de empleo… No son demasiadas, pero ¿no decían que el lenguaje de programación C ya apenas se utilizaba?…

Resultados de InfoJobs.net para programadores de C

Resultados de InfoJobs.net para programadores de C

 

Aprender a Programar en C por el Sueldo

¿Y qué hay del salario de los programadores de C? (algo, sin duda, a considerar cuando uno se planteo aprender a programar en C).

Para obtener esta información podemos recurrir a webs como indeed.com o salary.com (plataformas que recopilan datos sobre los salarios medios de las distintas profesiones/empleos en los Estados Unidos).

A modo de resumen, podemos concluir el que el salario medio para un programador de C está en torno a los $77.000 anuales.

Salarios medios de los programadores de C

Salarios medios de los programadores de C (Indeed.com)

En España el panorama es muy diferente y, según datos de InfoJobs, la media está en torno a los 27.000€ anuales. (aunque a mí me cuesta creerlo…). En cualquier caso, ya lo sabes, “Spain is different”!

Bueno, hasta aquí este repaso que quería hacerte del lenguaje de programación C y tratar de dar respuesta a esa pregunta recurrente que suelen hacerme (sobretodo estudiantes) de si merece o no la pena aprender a programar en C.

Creo que con lo que hemos comentado aquí, tienes información suficiente para empezar a investigar por ti mismo y sacar tus propias conclusiones.

Si finalmente decides que sí, que quieres aprender a programar en C, te recomiendo el libro que escribió el propio Dennis Ritchie: El Lenguaje de Programación C. Se trata de un libro muy pequeño (pero muy denso…), está muy bien escrito y explicado, y lo considero un manual de referencia para todo el que quiera convertirse en un experto programador de C (aunque no es un libro nada fácil de encontrar en español en las librerías. Quizás te resulte más fácil encontrarlo en alguna biblioteca…).

Libro El Lenguaje de Programación C

Portada del libro “El Lenguaje de Programación C”

 

Yo particularmente, me reitero en mi opinión de que existen lenguajes más adecuados como primera toma de contacto con este mundo y aprender a programar con mucho menos sufrimiento.

Pero es sólo una opinión! 😉
¿Te ha gustado el artículo? Entonces compártelo con alguien a quien también le pueda gustar.

Opt In Image
¿Te gustaría Aprender a Programar pero no sabes por dónde empezar?
Esto te interesa...

¡Ya está disponible nuestro Curso Online GRATUITO!

Sin comentarios

Deja un comentario

Tu dirección de correo electrónico no será publicada. Los campos obligatorios están marcados con *