Qué significa aprender el lenguaje C?

Iniciado por edr89, 18 Mayo 2013, 06:14 AM

0 Miembros y 4 Visitantes están viendo este tema.

edr89

Hola,
estoy llevando introducción a la programación en la universidad y nos dan C, aprendemos las funciones principales, definicion de variables, uso de loops, la sintaxis, etc.
Creo que aprender C es importante pero no fundamental, empiezo a familiarizarme con C++  y me di cuenta que algunas cosas cambian como printf por cout, scanf por cin, detalles de sintaxis; pero el algoritmo y diseño del programa no cambia.

¿Qué pasa por ejemplo si quiero trabajar con java, visual basic, authorware? Es indispensable el conocimiento de C? Si quisiera enfocarme en GUI's?

Desconozco el panorama general de la programacion pero me parece un poco atrasado aprender C, tal vez estoy en lo incorrecto, tengo esta impresión por un libro que encontre en la biblioteca, era el manual del header file graphics.h, no tenia idea que la libreria ya es obsoleta y que la manera de manejar los gráficos ha cambiado, pero eso lo descubrí hasta que terminé de transcribir un ejemplo de código y no compilaba.  ;-)

Saludos!



CodeSource

Cita de: edr89 en 18 Mayo 2013, 06:14 AM
Hola,
estoy llevando introducción a la programación en la universidad y nos dan C, aprendemos las funciones principales, definicion de variables, uso de loops, la sintaxis, etc.
Creo que aprender C es importante pero no fundamental, empiezo a familiarizarme con C++  y me di cuenta que algunas cosas cambian como printf por cout, scanf por cin, detalles de sintaxis; pero el algoritmo y diseño del programa no cambia.

¿Qué pasa por ejemplo si quiero trabajar con java, visual basic, authorware? Es indispensable el conocimiento de C? Si quisiera enfocarme en GUI's?

Desconozco el panorama general de la programacion pero me parece un poco atrasado aprender C, tal vez estoy en lo incorrecto, tengo esta impresión por un libro que encontre en la biblioteca, era el manual del header file graphics.h, no tenia idea que la libreria ya es obsoleta y que la manera de manejar los gráficos ha cambiado, pero eso lo descubrí hasta que terminé de transcribir un ejemplo de código y no compilaba.  ;-)

Saludos!




C y C++ son casi lo mismo como tu dices son cambios en las palabras clave pero la estructura es la misma, C es un lenguaje estructurado, cada lenguaje tiene su sintaxis y palabras clave, si quieres programar en otro como java es probable que te sea más familiar pues java es hijo de C , java es derivado de C, pero si te vas de C a python , wow es diferente tanto la sintaxis como las palabras clave por ejemplo en python no hay un switch y en C no hay objetos si me entiendes?, claro conocer un lenguaje amplia tu panorama pero no quiere decir que sea obligatorio.


saludos
Creo en un solo lenguaje de programación, "C"
Todo poderoso, Creador de Windows `98 y el XP.
Creo en un solo señor "C++", hijo único de "C",
Nacido de "C" antes que de "Visual C++",
"C" de "C", compilador de Compilador,
"C" © copyrighted de © copyrighted.
Compilado, no creado,
De los mismos programadores que el padre,
Por quien todo es programado, ...

Cönnectome

Cita de: edr89 en 18 Mayo 2013, 06:14 AM
Hola,
estoy llevando introducción a la programación en la universidad y nos dan C, aprendemos las funciones principales, definicion de variables, uso de loops, la sintaxis, etc.
Creo que aprender C es importante pero no fundamental, empiezo a familiarizarme con C++  y me di cuenta que algunas cosas cambian como printf por cout, scanf por cin, detalles de sintaxis; pero el algoritmo y diseño del programa no cambia.

¿Qué pasa por ejemplo si quiero trabajar con java, visual basic, authorware? Es indispensable el conocimiento de C? Si quisiera enfocarme en GUI's?

Desconozco el panorama general de la programacion pero me parece un poco atrasado aprender C, tal vez estoy en lo incorrecto, tengo esta impresión por un libro que encontre en la biblioteca, era el manual del header file graphics.h, no tenia idea que la libreria ya es obsoleta y que la manera de manejar los gráficos ha cambiado, pero eso lo descubrí hasta que terminé de transcribir un ejemplo de código y no compilaba.  ;-)

Saludos!


Con C/C++ lo puedes hacer todo. El problema es que puede que te se complique la cosa, y por eso existen lenguajes como Visual Basic que te facilitan la tarea. Aunque, también existen librerias y API de Windows que te permiten entrar en el entorno grafico.

Para hablar en temas actuales, Curiosity fue escrito en lenguaje C, el robot que fue lanzado a Marte. Para hablar de tiempos pasados, el sistema operativo más importante fue escrito en C (UNIX). Y, si te fijas, mucha sintaxis de otros lenguajes, como Java, PHP, lenguaje de Arduino, se asemeja mucho a C.

Por eso, en mi opinión, es fundamental aprender C. Al menos, con l'aprendizaje de este lenguaje te servira para ayudar a aprender de otros "mas especificos".

C y C++ varian mucho. Notaras la diferencia cuando entres en Programación Orientada a Objetos que tiene C++, cosa que C no tiene, y es una herramienta muy importante si quieres entrar en programación más avanzada(según tengo entendido).

Saludos,

Cönnectome

edr89

Cita de: CodeSource en 18 Mayo 2013, 07:59 AM
por ejemplo en python no hay un switch y en C no hay objetos si me entiendes?, claro conocer un lenguaje amplia tu panorama pero no quiere decir que sea obligatorio.

saludos
Si, lo entiendo y por eso creo que se puede dar en primer curso otro lenguaje distinto de C, aunque los academicos parecen admirar los estandares americanos. Aprendí procesos muy especificos hace 2 años de Visual Basic Aplicado en office, todo enfocado a documentos, hojas de calculo, busqueda de info, cosas triviales, y nunca me paso por la cabeza la sintaxis de C o sus caracteristicas.

Ahora que estoy formalmente aprendiendo en un curso la primera impresion que me da es muy amarga, todo el conocimiento relativo a visual basic se convierte en algo inutil a la hora de trabajar en C. Lo que hice en Basic hace tiempo no lo podre hacer en C hasta que no lleve aprobados al menos un par de cursos me ha dicho el profesor, en fin quedé decepcionado y frustrado, sobre todo porque los temas que necesito aprender son de C++ (Steinberg SDK y Juce C++). Por esto no se si pueda comenzar con C++ o deba enfocarme y perfeccionar C).


Cita de: Cönnectome en 18 Mayo 2013, 17:38 PM
Con C/C++ lo puedes hacer todo. El problema es que puede que te se complique la cosa, y por eso existen lenguajes como Visual Basic que te facilitan la tarea. Aunque, también existen librerias y API de Windows que te permiten entrar en el entorno grafico.

Para hablar en temas actuales, Curiosity fue escrito en lenguaje C, el robot que fue lanzado a Marte. Para hablar de tiempos pasados, el sistema operativo más importante fue escrito en C (UNIX). Y, si te fijas, mucha sintaxis de otros lenguajes, como Java, PHP, lenguaje de Arduino, se asemeja mucho a C.

Por eso, en mi opinión, es fundamental aprender C. Al menos, con l'aprendizaje de este lenguaje te servira para ayudar a aprender de otros "mas especificos".

C y C++ varian mucho. Notaras la diferencia cuando entres en Programación Orientada a Objetos que tiene C++, cosa que C no tiene, y es una herramienta muy importante si quieres entrar en programación más avanzada(según tengo entendido).

Saludos,

Cönnectome

La programacion orientada a objetos! ¿Qué relacion tiene con C? imagino que al trabajar con objetos la codificacion se torna distinta.

En general, qué pasa si el plan de trabajo incluye html, php, bases de datos y multimedia (todo lo relacionado con imagen, audio y video), es relevante el conocimiento de C? A medida que uno programa paraa dispositivos contemporaneos, una tablet un ipad un smartphone, el lenguaje C es necesario?. Espero que entiendan el punto de todo esto.

Me han comentado incluso que quiero aprender temas de moda y que no vale la pena porque despues van a desaparecer y nada podre hacer.

saludos!

amchacon

Cita de: edr89 en 18 Mayo 2013, 23:59 PM
La programacion orientada a objetos! ¿Qué relacion tiene con C? imagino que al trabajar con objetos la codificacion se torna distinta.
Con C no tiene ninguna relación puesto que no la soporta.

C++ sí, Ahora bien, C++ es retrocompatible (quiero decir, que un programa de C lo puedes compilar en un compilador de C++ o incluso puedes irlos mezclando (un archivo en C y otro en C++)).

De modo que no te preocupes, lo único que aporta nuevo C++ es la programación orientada a objetos y es opcional (la puedes usar o no)). Cuando la veas te darás cuenta que es una metodología de programar muy bonita y elegante.

Cita de: edr89 en 18 Mayo 2013, 23:59 PMEn general, qué pasa si el plan de trabajo incluye html, php, bases de datos y multimedia (todo lo relacionado con imagen, audio y video), es relevante el conocimiento de C?
Si tu pregunta es: ¿Es necesario saber C para crear páginas web? La respuesta es no, puesto que C es un lenguaje compilado y las páginas web son interpetradas.

Cita de: edr89 en 18 Mayo 2013, 23:59 PMA medida que uno programa paraa dispositivos contemporaneos, una tablet un ipad un smartphone, el lenguaje C es necesario?. Espero que entiendan el punto de todo esto.
Pues depende del dispositivo donde te vallas:

- Windows Mobile: C++
- Iphone/Ipad: Objetive-C (es una modificación del lenguaje C realizada por Apple...).
- Android: Java, pero si quieres usar alguna función nativa del movil (o alguna operación que necesite un rendimiento alto) tienes que usar unas librerías en C++.

Cita de: edr89 en 18 Mayo 2013, 23:59 PMMe han comentado incluso que quiero aprender temas de moda y que no vale la pena porque despues van a desaparecer y nada podre hacer.
C se inventó en los años 70 y aún se sigue usando a dia de hoy (no hay ningún otro lenguaje que ofrezca el mismo rendimiento aparte de ensamblador).

C/C++ nunca desaparecerá.
Por favor, no me manden MP con dudas. Usen el foro, gracias.

¡Visita mi programa estrella!

Rar File Missing: Esteganografía en un Rar

edr89

Cita de: amchacon en 19 Mayo 2013, 01:26 AM
lo único que aporta nuevo C++ es la programación orientada a objetos y es opcional (la puedes usar o no)). Cuando la veas te darás cuenta que es una metodología de programar muy bonita y elegante.

No lo veremos este curso... y tengo dudas respecto a si trabajar con C o C++, la uni insiste en C, claro.

saludos!

CodeSource

CitarDe modo que no te preocupes, lo único que aporta nuevo C++ es la programación orientada a objetos y es opcional
?? y la función ++? por algo se llama C++.
Creo en un solo lenguaje de programación, "C"
Todo poderoso, Creador de Windows `98 y el XP.
Creo en un solo señor "C++", hijo único de "C",
Nacido de "C" antes que de "Visual C++",
"C" de "C", compilador de Compilador,
"C" © copyrighted de © copyrighted.
Compilado, no creado,
De los mismos programadores que el padre,
Por quien todo es programado, ...

edr89

Cita de: CodeSource en 19 Mayo 2013, 08:26 AM
?? y la función ++? por algo se llama C++.
Leí que se llamaba "C with classes" y posteriormente se le cambio a C++ que representa el incremento que tuvo C.  :silbar:

0xDani

Cita de: amchacon en 19 Mayo 2013, 01:26 AM
C se inventó en los años 70 y aún se sigue usando a dia de hoy (no hay ningún otro lenguaje que ofrezca el mismo rendimiento aparte de ensamblador).

C/C++ nunca desaparecerá.

En realidad fue creado en el 69, no en los 70.

Cita de: CodeSource en 19 Mayo 2013, 08:26 AM
?? y la función ++? por algo se llama C++.

Si te refieres al operador unario de incremento, creo que ya existía en C.

@edr89:

En Visual Basic lo tienes mucho más fácil para trabajar con GUIs, bases de datos, multimedia, etc... porque tienes un montón de APIs "prehechas", en cambio el estándar de C o C++ no cubre esos aspectos, porque trabaja más a bajo nivel y pretende ser más portable. Ten en cuenta que Visual Basic es una versión de Basic creada por Microsoft.

De todas formas, C sigue siendo hoy día el lenguaje más usado del mundo, y su sintaxis ha marcado la programación irreversiblemente, de forma que nunca está de más saber C, ya que te da una base excelente para aprender otros muchos lenguajes y ejercitar la algorítmica.

Saludos.
I keep searching for something that I never seem to find, but maybe I won't, because I left it all behind!

I code for $$$
Hago trabajos en C/C++
Contactar por PM

Cönnectome

Cita de: 0xDani en 19 Mayo 2013, 14:53 PM

Si te refieres al operador unario de incremento, creo que ya existía en C.


Existe, seguro. Si no, nadie se acuerda de como hacer un bucle for en C? En el incremento se pone i++, i no i=i+1.

@edr89:
Una cuestión que te puedes plantear para ayudarte, es preguntarte porque aprendes C en la universidad y no aprendes otro lenguaje de programación. Todas las universidades, en las ingenierias, según tengo entendido, tienen el lenguaje C en su plan de estudios.

Si realmente quieres deducir si vale la pena o no, mira el perfil que buscan ciertas empresas como analista/programador o algo relacionado con ingeniería informatica/electronica/telecomunicación..etc. Veras, que, daran importancia a C, C++, o si no, C#, pero no cabe duda que te pondrian C/C++ como base.  Eso depende, claro de la empresa y su intenciones...(si han llevado toda la vida programando en Python porque ya tienen todas sus librerias y eso con este lenguaje, no te pediran que aprendas LISP...)

Creo que vi alguna encuesta sobre los lenguajes que se utilizan más en este foro. El que ganaba creo que era C/C++..., está clarisimo y no es nada paradoxal.

Saludos,

Cönnectome