
Edmund Richardson
0
2714
826
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 vencieron a C.
A primera vista, puede parecer que C ha sido dejado en el polvo por lenguajes más nuevos, frescos y 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é debe usar el control de versiones si es desarrollador? ¿Qué es Git y por qué debe usar el control de versiones si es desarrollador? desarrolladores web, muchas veces tendemos a trabajar en sitios de desarrollo local y luego cargamos todo cuando terminamos. Esto está bien cuando solo eres tú y los cambios son pequeños ... de la industria del software. GitHub tiene un enorme sesgo hacia el código abierto y la tendencia.
C no es un lenguaje muerto. De hecho, IEEE Spectrum la revista lo clasificó como el idioma principal número 2 en 2017 por delante de Java, C # y JavaScript. Si tuviera que aprender C este año, sería no ser una pérdida de tiempo o energía Aquí hay cinco razones por las cuales.
1. Comprensión más profunda de las computadoras
Es posible que hayas escuchado que C es un “lenguaje de nivel inferior.” En el contexto de la programación, el “nivel” es una descripción de lo cerca que estás del conjunto de instrucciones nativas de la computadora. Cuanto más bajo sea el nivel, más cerca estará de escribir el código de la máquina. Cuanto más alto sea el nivel, más abstracción se hace por el lenguaje para alejarte de escribir código de máquina.
C es un lenguaje de nivel inferior con cierta 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 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 cual 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: gestión de memoria, flujos de entrada / salida, orden de bytes, etc..
Existen lenguajes de nivel más bajo que C (por ejemplo, ensamblado), pero C tiene el nivel más bajo que querrá. Conserva la mayor parte del poder y el control de los lenguajes de nivel inferior, pero se abstrae lo suficiente para un código legible por humanos que no te hará arrancarte los ojos..
2. Elija otros idiomas más fácilmente
A algunos programadores les gusta decir que “una vez que conoces un lenguaje de programación, prácticamente los conoces a todos.” Aunque es un sentimiento alentador, no es del todo cierto, a menos que aprenda C.
La cuestión es que moverse de un idioma a otro es más fácil cuando te mueves 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 te sostiene más la mano. ¿Pero yendo de Python a C? No tan fácil.
Crédito de la imagen: Sashkin a través de Shutterstock
O considere otro ejemplo. C # es un primer idioma popular para los novatos hoy en día, especialmente para aquellos que desean ingresar al desarrollo de juegos (porque el querido motor Unity usa C # 5 Herramientas de software de desarrollo de juegos gratis para hacer tus propios juegos 5 Herramientas de software de desarrollo de juegos gratis para hacer tus propios juegos El software de desarrollo de juegos gratuito es una excelente manera de comenzar a crear videojuegos. Hemos compilado el mejor software de juegos del mercado). Pero a pesar de que el lenguaje C # es muy abstracto y más 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 puede entender C, podrá aprender cualquier otro idioma porque casi todos los idiomas modernos tienen un nivel más alto que C.
3. Mejor apreciación de otros idiomas
El bajo nivel 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ía que escribir su propia función makeSandwich () que reúne y prepara todos los ingredientes necesarios, ensambla el emparedado y luego vuelve a colocar todo.
Crédito de imagen: Zakharchuk a través de Shutterstock
Por un lado, ser capaz de controlar cada aspecto de tu sándwich es genial. Incluso podría escribir un makeSandwich () más rápido que omita ciertos pasos que no le interesan. Pero a veces solo quieres que alguien te prepare un sándwich, y la comida hecha para ti a menudo sabe mejor que la comida que hiciste tú mismo.
La mayoría de los lenguajes modernos nacieron en respuesta a deficiencias en otro idioma: 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 la manera en que están y apreciar mejor la comodidad que ofrecen los lenguajes 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 comerciales, 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 rápidos ciclos de desarrollo y la mano robusta reinan: dos de los principales beneficios de usar un lenguaje de nivel superior.
Crédito de imagen: inspirador a través de 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ía que incluso C está escrito en C? Y dado que muchos sistemas embebidos tienen límites de recursos estrictos, C suele ser el lenguaje de elección porque tiene muy poca sobrecarga.
5. Mejora tus oportunidades laborales
Hay dos formas de garantizar un trabajo en la industria del software:
- Especializarse en puestos de alta demanda..
- Especializarse en puestos de baja oferta..
Puestos de alta demanda 10 trabajos de programación de computadoras que están en demanda ahora 10 trabajos de programación de computadora que están en demanda ahora Dado que conseguir un trabajo de programación puede ser difícil en el panorama actual, considere centrarse en una de las siguientes concentraciones para mejorar sus posibilidades de éxito. implican lenguajes modernos que se pueden usar en múltiples campos: JavaScript, Python y Java son los mejores ejemplos. Los puestos de baja oferta tienden a involucrar 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 entrenamiento de codificación para principiantes: ¿debería tomar uno? Coding Boot Camp para principiantes: ¿debería tomar uno? Los campos de arranque de codificación integral proporcionan una entrada al espacio de codificación. ¡Descubra cuáles son, qué aprenderá y si es el adecuado para su viaje de programación! y los cursos de capacitación en línea empujan a los programadores novatos hacia los lenguajes de alta demanda, en lugar de eso, puedes distinguirte aprendiendo C. Esto puede abrir muchas oportunidades de trabajo que simplemente no están disponibles en idiomas de nivel superior.
Comenzando 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 el 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 aprende a codificar. Probablemente olvidará las cosas tan rápido como las aprenda. Estos consejos pueden ayudarlo a retener mejor toda esa información nueva. .
Pero si te tomas en serio el aprendizaje de C, definitivamente comienza con Lenguaje de programación C, segunda edición (a menudo referido como “K&R”) Básicamente es la biblia de programación C. Es bastante viejo, pero todo lo que contiene todavía se aplica a C hoy. Una vez que haya terminado, puede leer los cambios que ocurrieron en las revisiones de idioma C89, C99 y C11.
Si no puede pagar ese libro, comience con El libro c. Ya no se imprime, pero aún está disponible en línea en formato HTML en su totalidad.
¿Qué piensas? ¿C está desactualizado e inútil o los nuevos programadores aún deben aprenderlo antes de explorar lenguajes más modernos? Comparte tus pensamientos con nosotros a continuación!