Foro de elhacker.net

Foros Generales => Dudas Generales => Mensaje iniciado por: MarcosARG en 6 Marzo 2018, 00:56 am



Título: Aprender C en 2018 vale la pena
Publicado por: MarcosARG en 6 Marzo 2018, 00:56 am
queria saer que se puede hacer con c si se puede hacer lo que sea o esta limitado por que es estruccturado, porque es viejo o por alguna otra razon??gracias!!!!


Título: Re: Aprender C en 2018 vale la pena
Publicado por: engel lex en 6 Marzo 2018, 01:08 am
el lenguaje tiene un fin y es ser eficiente, carece de estructuras de niveles más altos en pro de un manejo más eficiente de la memoria, windows, linux, opengl, opencv y otros están escritos en C incluso hoy dia por eso...

para ambito general vale la pena? probablemente no y es mejor aprender C++ ya que te da más posibilidades... vas a trabajar en ambientes donde la eficiencia es asunto escencial del sistema, si, C es lo que necesitas probablemente


Título: Re: Aprender C en 2018 vale la pena
Publicado por: Orubatosu en 7 Marzo 2018, 11:05 am
Diferentes lenguajes para diferentes escenarios, no tiene mucho sentido compararlos

C a día de hoy se usa sobre todo en partes criticas donde se requiere acceso directo al hardware y el pequeño plus de velocidad de ejecución. C++ es un lenguaje mas complejo pensado para proyectos mas grandes.

Por poner un ejemplo, el nucleo o "kernel" de Linux está escrito en lenguaje C por cuestiones se seguridad, optimización y rendimiento. Pero otras partes de un sistema operativo como Linux no están escritas en C, sino en otros lenguajes que sean mas cómodos y permitan obtener resultados mas rápidamente (por ejemplo Gnome está escrito en buena parte en C++, aunque también usa otros lenguajes en diferentes partes del mismo.

No existe el "lenguaje ideal". En términos generales cuanto mas rápida es la ejecución y mas cerca del hardware está un lenguaje, mas complicada es su programación y la creación, depuración y mantenimiento es mas compleja.

A medida que añades capas de abstracción (escritas en C y otros lenguajes) la programación se hace mas simple, y la ejecución mas lenta.

Claro, podemos decir "pues debería escribirse todo en C" (existe por debajo por ejemplo el ensamblador). Y la respuesta es incorrecta. Si pretendes desarrollar un gran proyecto exclusivamente en C tardarás mucho mas en hacerlo, el coste será mucho mayor, el mantenimiento será mucho mas difícil.

Imagina que quieres acceder a bases de datos, algo que hacen millones de programas habitualmente. ¿En serio querrías desarrollar desde cero el acceso a una base de datos?. Eso es terriblemente complejo y farragoso, y existen lenguajes a porrillo (incluso C si no recuerdo mal) que ya usan "capas de abstracción" para ello.

Es como si quieres diseñar un coche. Las compañías de automoción tienen ya modulos creados como son el chasis, centralitas electronicas, llantas de tamaños estandar, neumaticos, motores... no diseñas todo desde cero, usas en gran medida componentes que ya existen