¿Por qué la programación en C todavía vale la pena aprender?

¿Por qué la programación en C todavía vale la pena aprender? / Programación

En 2016, C fue el noveno lenguaje más activo en GitHub con 202k solicitudes de extracción en el año. Compare eso con los tres idiomas principales: JavaScript con 1,604k solicitudes de extracción, Java con 763k solicitudes de extracción y Python con 744 solicitudes de extracción. Ruby, PHP, C ++ y CSS también vencen a C.

A primera vista, puede parecer que C ha sido dejado en el polvo por lenguajes más nuevos, más frescos y más emocionantes: C es Después de todo, tiene 45 años, pero GitHub no es exactamente la imagen más precisa. ¿Qué es Git y por qué debería usar el control de versiones si es un desarrollador? ¿Qué es GitHub y por qué debería usar el control de versiones? Desarrolladores web, muchas veces tendemos a trabajar en sitios de desarrollo local y luego simplemente cargamos todo cuando hayamos terminado. Esto está bien cuando es solo usted y los cambios son pequeños,… Lea más sobre la industria del software. GitHub tiene un enorme sesgo hacia el código abierto y la tendencia.

C no es una lengua muerta. De hecho, IEEE Spectrum la revista lo clasificó como el principal idioma número 2 en 2017 por delante de Java, C # y JavaScript. Si fueras a aprender C este año, sería no Sé un desperdicio de tu tiempo o energía. Aquí hay cinco razones por las que.

1. Una comprensión más profunda de las computadoras

Es posible que hayas oído que C es una “lenguaje de nivel inferior.” En el contexto de la programación, la “nivel” es una descripción de lo cerca que está del conjunto de instrucciones nativas de la computadora. Cuanto más bajo sea el nivel, más cerca estás de escribir el código de la máquina. Cuanto más alto sea el nivel, más abstracción se hace con el lenguaje para alejar la escritura del código de máquina.

C es un lenguaje de nivel inferior con algo de abstracción. Puede escribir código que esté bastante cerca del hardware y manipular directamente la memoria, mientras que en un lenguaje de nivel superior como Java, el lenguaje mismo maneja la memoria a través de un recolector de basura..

Crédito de la imagen: Casimiro PT a través de Shutterstock

Si bien esto es parte de lo que hace que C sea difícil de aprender, también es la razón por la que los programadores de C tienden a estar más en sintonía con el funcionamiento de las computadoras.. Para escribir un buen código C, debe pensar como piensa una computadora: administración de memoria, flujos de entrada / salida, orden de bytes, etc..

Los idiomas de nivel inferior al de C sí existen (por ejemplo, ensamblaje), pero C es el nivel más bajo que querría ir. Retiene la mayor parte del poder y el control de los lenguajes de nivel inferior, pero se abstrae lo suficiente como para que el código sea legible para el ser humano y no te haga arrancar los ojos..

2. Recoger otros idiomas más fácil

A algunos programadores les gusta decir que “Una vez que conoces un lenguaje de programación, casi todos los conoces.” Aunque es un sentimiento alentador, no es del todo cierto, a menos que aprendas C.

La cuestión es que pasar de un idioma a otro es más suave cuando asciendes en abstracción. Pasar de un lenguaje de nivel inferior como C a un lenguaje de nivel superior como Python es bastante fácil porque Python le da más mano. ¿Pero ir de Python a C? No tan fácil.

Crédito de la imagen: Sashkin a través de Shutterstock

O consideremos otro ejemplo. C # es el primer idioma popular para los novatos en la actualidad, especialmente para aquellos que desean ingresar al desarrollo de juegos (porque el amado Unity engine usa C # 5 Software de desarrollo de juegos gratuito. Herramientas para crear tus propios juegos. 5 Software de desarrollo de juegos gratis. Herramientas para crear tus propios juegos. Estos son los mejores software y herramientas de desarrollo de juegos gratuitos que puede utilizar para comenzar a hacer el juego de sus sueños hoy. Leer más). Pero aunque el lenguaje C # es muy abstracto y fácil de usar, los novatos a menudo se confunden porque no entienden lo que se está abstrayendo.

Al aprender C, esencialmente estás aprendiendo los fundamentos de la programación moderna.. Si realmente puedes entender C, podrás aprender cualquier otro idioma porque casi todos los lenguajes modernos tienen un nivel más alto que C.

3. Mejor apreciación de otros idiomas

La baja nivelación de C tiene un costo: complejidad y tedio.

Piense en ello como hacer un sándwich de jamón. En un lenguaje de nivel superior, puede usar un makeSandwich (“jamón”) Método que produce un sándwich listo para comer. En C, tendrías que escribir tu propia función makeSandwich () que reúne y prepara todos los ingredientes necesarios, ensambla el sándwich y luego lo guarda todo..

Crédito de la imagen: Zakharchuk via Shutterstock

Por un lado, poder controlar todos los aspectos de tu sándwich es genial. Incluso puedes escribir un makeSandwich () más rápido que omita ciertos pasos que no te interesan. Pero a veces solo quieres que alguien te haga un sándwich, y la comida hecha para ti a menudo sabe mejor que la comida que tú mismo hiciste..

La mayoría de los lenguajes modernos nacieron en respuesta a deficiencias en otro lenguaje: C ++ en respuesta a C, Java en respuesta a C ++, C # en respuesta a Java, etc.. Al aprender C, puede comprender mejor por qué ciertos idiomas están diseñados de esta manera y apreciar mejor la comodidad que ofrecen los idiomas de nivel superior.

4. Proyectos y aplicaciones no convencionales

La mayoría de los lenguajes de programación modernos se usan para las mismas tres cosas: aplicaciones empresariales, aplicaciones web y móviles, y análisis de datos.

Los lenguajes de nivel superior son excelentes para estos porque no hay necesidad de sumergirse en los detalles esenciales de la arquitectura de la computadora. En cambio, los ciclos de desarrollo rápido y el robusto control de la mano son dos de los principales beneficios de usar un lenguaje de nivel superior..

Crédito de la imagen: Inspiring via Shutterstock

Pero si desea desarrollar software que interactúe directamente con el hardware, necesitará un lenguaje de nivel inferior, y C es el más utilizado.. Las aplicaciones notables incluyen sistemas operativos, lenguajes de programación y compiladores, sistemas integrados, motores de juegos, etc..

Por ejemplo, el kernel de Linux está escrito en C y Assembly. Los lenguajes populares como Python, PHP, Perl y Ruby se implementan en C. ¿Sabías que incluso C está escrito en C? Y dado que muchos sistemas integrados tienen límites de recursos estrictos, C es a menudo el idioma de elección porque tiene muy pocos gastos generales..

5. Mejora tus oportunidades de trabajo

Hay dos formas de garantizar un trabajo en la industria del software:

  1. Especializado en puestos de alta demanda..
  2. Especializado en puestos de bajo suministro..

Posiciones de alta demanda 10 Trabajos de programación de computadoras que están en demanda en este momento 10 Trabajos de programación de computadoras que están en demanda en este momento Dado que conseguir un trabajo de programación puede ser difícil en el panorama actual, considere enfocarse en una de las siguientes concentraciones para mejorar sus posibilidades de éxito. Leer más implica lenguajes de moda que se pueden usar en múltiples campos: JavaScript, Python y Java son los mejores ejemplos. Las posiciones de bajo suministro tienden a incluir lenguajes arcaicos, sistemas heredados y proyectos no tan llamativos. C es popular, pero los programadores de C están disminuyendo.

Desde la mayoría de los campos de entrenamiento de codificación Campo de inicio de codificación para principiantes: ¿debería tomar uno? Codificación Boot Camp para principiantes: ¿Debes tomar uno? Los campos de arranque de codificación integrales proporcionan una entrada en el espacio de codificación. Descubra qué son, qué aprenderá y si es el ajuste adecuado para su viaje de programación. Leer más y los cursos de capacitación en línea empujan a los programadores novatos hacia lenguajes de alta demanda, podría diferenciarse al aprender C en su lugar. Esto puede abrir muchas oportunidades de trabajo que simplemente no están disponibles en idiomas de nivel superior.

Empezando con C

C no es fácil de aprender, especialmente si es su primer lenguaje de programación. Es por eso que recomendamos leer estos tres artículos antes de sumergirse: preguntas que debe hacerse antes de aprender a codificar, cómo aprender a programar sin estrés y trucos para dominar un nuevo lenguaje de programación 7 trucos útiles para dominar un nuevo lenguaje de programación 7 trucos útiles para Dominar un nuevo lenguaje de programación Está bien sentirse abrumado cuando está aprendiendo a codificar. Probablemente olvidará las cosas tan rápido como las aprende. Estos consejos pueden ayudarlo a conservar mejor toda la información nueva. Lee mas .

Pero si eres serio acerca de aprender C, definitivamente comienza con Lenguaje de programación C, 2da edición (a menudo referido como “K&R”). Es básicamente la biblia de programación en C. Es bastante viejo, pero todo lo que contiene todavía se aplica a C hoy. Una vez que haya terminado, puede leer sobre los cambios que ocurrieron en las revisiones de lenguaje C89, C99 y C11.

Si no puedes pagar ese libro, entonces comienza con El libro c. Ya no está impreso, pero está disponible en línea en formato HTML en su totalidad..

¿Qué piensas? ¿Es C obsoleto e inútil o los nuevos programadores deberían aprenderlo antes de explorar lenguajes más modernos? Comparte tus pensamientos con nosotros a continuación!