Foro de elhacker.net

Programación => Programación General => Mensaje iniciado por: Yidu en 29 Enero 2013, 21:57 pm



Título: ¿Es malo recomendar C/C++ a un principiante?
Publicado por: Yidu en 29 Enero 2013, 21:57 pm
Hola!

Bueno, yo también he preguntado a veces que lenguaje recomiendan para aprender. Y las respuestas, las conozco. Se busca la orientación de los foreros. Y que tienen grandes conocimientos en programación.

Esta claro, que no todo el mundo quiere aprender a programar para hacer de ello su profesión. Si no, mas bien, como un hobby. Por eso, la gente que pregunta, debería hacerlo bajo esta premisa.

Pienso, que no tiene mucho sentido saber veinte idiomas distintos, si uno no se va a mover de su barrio. Una persona, que sea comercial y viaje por el mundo, si deberá saber cuantos mas, mejor. Con los lenguajes informáticos, supongo, pasa lo mismo.

Yo llevo tiempo dudando entre escoger Python o C++. Antes, claro esta, deberé coger los fundamentos de la programación. Los consejos que se dan por los foros, cuando se hace esta pregunta, ya los conozco. Y las mayoría tienen razón.

Cosa distinta ocurre cuando se pregunta por que lenguaje escojer: Que si Visual Basic no merece la pena (malas costumbres), que Python es el mejor para los no iniciados en este mundo, que C++ te da la base de todos, etc...

La mayoría de la gente suele recomendar Python para iniciarse. Aunque yo, con saber uno y bien, me conformaría. Pero siempre tengo esa duda que me corroe el alma ¿Python o C++?

El C++ me da terror...entre los mas expertos siempre lanzan dardos envenenados sobre los punteros y saber gestionar la memoria. Eso, sin contar, con que es mas fácil crear errores de sintaxis al no estar tan tipado. Y eso, para los aprendices, es fatal ¿No?

A mí me gusta el diseño o modelado 3D. Y me gustan los motores de vídeo juegos. Y claro, la mayoría de estos funcionan con C++ o C#. Bueno, el Unity con un derivado de Python (Pero pocos tutoriales sobre su uso). Ya he aclarado que lo hago todo como hobby y en plan auto didacta.

Cuando me he puesto manos a la obra con Python, miraba con recelo a C++. Pensaba, que escogía a Python, por no tener lo que hay que tener, para aprender C++. Pero claro, uno mira los foros y las opiniones de aprender C++ asustan. No me refiero a ser un experto en C++. Pero...poder hacer programas nosotros mismos ¿Es imposible? Me refiero estudiando C++ de forma auto didacta sin querer ser un genio. Pregunto...





Título: Re: ¿Es malo recomendar C/C++ a un principiante?
Publicado por: Stakewinner00 en 29 Enero 2013, 22:34 pm
YO soy autodidácta y tengo 16 años, llevo como 4 años en este mundo, y cuando comenze escuche hablar de c++ pero me entro "miedo" y comenze por bat, ahora que ya se algo de c++ te puedo decir que no es tan díficil y quizas si quieres hacer un programa bien optimizado si que debes conocer exactamente como se organiza la memoria pero sino puedes tirar sin muchos quebraderos de cabeza.

Yo no conozco mucho python pero visto desde fuera prefiero C++ ya que python es menos veloz que C++ o eso creo.

Bueno resumiendo, yo te diría que comenzaras por C++.


Título: Re: ¿Es malo recomendar C/C++ a un principiante?
Publicado por: amchacon en 29 Enero 2013, 22:54 pm
Cuando me he puesto manos a la obra con Python, miraba con recelo a C++. Pensaba, que escogía a Python, por no tener lo que hay que tener, para aprender C++. Pero claro, uno mira los foros y las opiniones de aprender C++ asustan. No me refiero a ser un experto en C++. Pero...poder hacer programas nosotros mismos ¿Es imposible? Me refiero estudiando C++ de forma auto didacta sin querer ser un genio. Pregunto...
Yo aprendi con C y después me pase a C++. Y en mi carrera tambien empezaron con C++.

Python es un lenguaje interpetrado mientras que C++ es un lenguaje compilado por lo que podrás crear "los programas típicos" (firefox, chrome, skype...).

El C++ me da terror...entre los mas expertos siempre lanzan dardos envenenados sobre los punteros y saber gestionar la memoria. Eso, sin contar, con que es mas fácil crear errores de sintaxis al no estar tan tipado. Y eso, para los aprendices, es fatal ¿No?
La ventaja que tiene tener una sintaxis rígida esque te estimula a que cojas buenas costumbre. A mi ya programar en C++ me resulta tan natural como escribir esta frase.

Lo de los punteros no te preocupes, puedes aguantar un tiempecillo sin ellos... Y cuando los necesites te pones manos a la obra, no son nada complicados cuando les cojes el tranquillo.

Aquí tienes unos videotutoriales de como programar en C++, muy intuitivos y fáciles:
http://minidosis.org/C++/


Título: Re: ¿Es malo recomendar C/C++ a un principiante?
Publicado por: 0xDani en 30 Enero 2013, 15:58 pm
Si no quieres hacer sistemas operativos, firmware, o aplicaciones que requieran de una velocidad y una optimizacion grandes: puedes coger Python sin miedo. Que tenga una sintaxis sencilla y no tengas que gestionar manualmente la memoria no significa que sea un lenguaje solo para principiantes ni que sea peor, al contrario, permite un desarrollo rapido y bastante portabilidad, incluso de los ejecutables porque es un lenguaje de scripting.

Yo personalmente uso C o C++ (pero siempre por separado, no me gustan las mezclas) y un poquito de ensamblador, lo justo para entender programas en C/C++ que lleven ASM inline.

En fin, todo depende de que quieras hacer con el lenguaje, pero si es cierto que se suele recomendar C porque con el adquieres buenas costumbres.

Saludos.


Título: Re: ¿Es malo recomendar C/C++ a un principiante?
Publicado por: Yidu en 30 Enero 2013, 20:40 pm

Aquí tienes unos videotutoriales de como programar en C++, muy intuitivos y fáciles:
http://minidosis.org/C++/

Gracias por el link. Ya conocía esos vídeos. Pero incluso, el mismo autor, en su canal recomienda el Python para los "no iniciados". Estos consejos me hicieron decantarme por el Python. Pero creo que iré a por el C++. Creo que soy un poco cabezón...jejeje. Un saludo!


Título: Re: ¿Es malo recomendar C/C++ a un principiante?
Publicado por: Stakewinner00 en 30 Enero 2013, 20:54 pm
Citar
recomienda el Python para los "no iniciados". Estos consejos me hicieron decantarme por el Python.

Entonces no deberías comenzar con C++? segun el autor dijo que python era para los no iniciados osea para los que tenian algo de experiéncia sin embargo tu no tienes demasiada has dicho, así que el autor recomienda C++, ademas estos consejos te hicieron decantar por python?

no entiendo nada....


Título: Re: ¿Es malo recomendar C/C++ a un principiante?
Publicado por: Yidu en 30 Enero 2013, 21:16 pm
Entonces no deberías comenzar con C++? segun el autor dijo que python era para los no iniciados osea para los que tenian algo de experiéncia sin embargo tu no tienes demasiada has dicho, así que el autor recomienda C++, ademas estos consejos te hicieron decantar por python?

no entiendo nada....

No. Igual me he explicado mal. El autor contestaba a alguien diciendo que si no tenia nociones de programación era mas "fácil" empezar por Python. Ya, que comentaba, que el C++ era mas complicado desde el principio y podría desilusionar al que empezaba a programar.

Cuando uno no tiene nociones sobre algo, es fácil que se deje llevar por consejos de gente mas experta. Y la mayoría de las veces veo que comentan que el C++ es algo mas complicado. Y que necesita un exceso de código para hacer algo simple.



Título: Re: ¿Es malo recomendar C/C++ a un principiante?
Publicado por: Stakewinner00 en 30 Enero 2013, 21:21 pm
Bueno esto que dices del exeso del codigo quizas si que es cierto pero tampoco es para tanto.

Ejemplo.

Supongo que en piton un hello world es algo tipo
Código:
print "Hello, world"

mientras que en C++es.
Código:
#include <iostream>

int main () {
std::cout << "Hello world";
}

Cuando comencé copiaba y pegaba casi todo pero cuando lo memorizas tampoco lo ves tan pesado, solo son 3 lineas más.


Título: Re: ¿Es malo recomendar C/C++ a un principiante?
Publicado por: amchacon en 30 Enero 2013, 22:58 pm
Y que necesita un exceso de código para hacer algo simple.
Falso, necesita las líneas necesarias.

Si algun lenguaje se salta 2-3 líneas menos es porque el lenguaje/libreria las hace "por su cuenta". Por lo cual ya estás perdiendo control sobre el programa.


Título: Re: ¿Es malo recomendar C/C++ a un principiante?
Publicado por: Yidu en 1 Febrero 2013, 19:01 pm
Una duda mas... :rolleyes:

Cuando haya practicado con el pseudo código y quiera aprender el C++ ¿Recomendáis primero aprender C o ir a C++ directamente?  Por que C++ ya contiene todo lo de C ¿No?


Título: Re: ¿Es malo recomendar C/C++ a un principiante?
Publicado por: Eleкtro en 1 Febrero 2013, 21:06 pm
Yo no sé C/C++, pero eso de practicar pseudocode antes de empezar lo véo una tontería,
mientras vas aprendiendo un lenguaje vas aprendiendo a resolver problemas y a "plasmar" el pseudocódigo de cada problema y de su resolutividad en tu cabeza.

EDITO: Yo en lugar de perder tiempo aprendiendo pseudocode, lo que haría es aprender sobre el lenguaje en sí, sobre los puntos técnicos del lenguaje, porque C++ es un lenguaje estricto, y eso te puede gustar o te puede espantar,
es como Python, yo no uso Python porque literálmente me da asco que séa tan estricto y me hace perder tiempo al escribir códigos porque siempre hay que ponerlo todo al milímetro y cuidar cada detalle, eso está bien para hacer proyectos/script GRANDES, pero se vuelve muy pesado con proyectos pequeños o simples códigos de 10 líneas para proporcionarle ayuda a alguien, en fín, es un asco, con otro lenguaje hago lo mismo y en la mitad de tiempo e igual de bien y sin restricciones de sintaxis ni de m*erdas, y por ese mismo motivo uso VB.NET en lugar de C# (Aparte de otras cosas), piénsatelo bien antes de elegir, si no te gusta lo estricto...

Un saludo!


Título: Re: ¿Es malo recomendar C/C++ a un principiante?
Publicado por: 0xDani en 1 Febrero 2013, 21:11 pm
Yo no sé C/C++, pero eso de practicar pseudocode antes de empezar lo véo una tontería,
mientras vas aprendiendo un lenguaje vas aprendiendo a resolver problemas y a "plasmar" el pseudocódigo de cada problema y de su resolutividad en tu cabeza.

Un saludo!

+1


Título: Re: ¿Es malo recomendar C/C++ a un principiante?
Publicado por: Yidu en 3 Febrero 2013, 21:22 pm
Yo en lugar de perder tiempo aprendiendo pseudocode, lo que haría es aprender sobre el lenguaje en sí, sobre los puntos técnicos del lenguaje, porque C++ es un lenguaje estricto, y eso te puede gustar o te puede espantar,
es como Python, yo no uso Python porque literálmente me da asco que séa tan estricto y me hace perder tiempo al escribir códigos porque siempre hay que ponerlo todo al milímetro y cuidar cada detalle, eso está bien para hacer proyectos/script GRANDES, pero se vuelve muy pesado con proyectos pequeños o simples códigos de 10 líneas para proporcionarle ayuda a alguien, en fín, es un asco, con otro lenguaje hago lo mismo y en la mitad de tiempo e igual de bien y sin restricciones de sintaxis ni de m*erdas, y por ese mismo motivo uso VB.NET en lugar de C# (Aparte de otras cosas), piénsatelo bien antes de elegir, si no te gusta lo estricto...

Un saludo!

Caray...¡Vaya con el consejito! Un tanto radical si es. Pero no quiero ponerlo en duda. Por que, supongo, sabes programar. Todo el mundo recomienda Python para iniciarse y a ti te da asco. Claro esta, que es algo subjetivo. Y en cuando al C++, parece que opinas parecido. En cambio, la opinión general, comenta que es difícil pero uno de los mejores lenguajes de propósito general. Y luego sueltas lo de VB.Net, cuando la opinión general lo tacha de mala práctica para programadores noveles y uso de ventanitas y cosas de esas. Hablo desde mi sincera ignorancia.



Título: Re: ¿Es malo recomendar C/C++ a un principiante?
Publicado por: Eleкtro en 3 Febrero 2013, 22:34 pm
Todo el mundo recomienda Python para iniciarse y a ti te da asco. Claro esta, que es algo subjetivo.

Casi todo el mundo va a la respuesta fácil, deberías saberlo,
y ojo, no malinterpretes mis palabras, he dicho lo que he dicho, que la sintaxis de python me da asco, pero no he dicho que Python séa malo ni nada parecido, es uno de los mejores lenguajes de scripting, pero cuando ya has tocado y sabes unos cuantos lenguajes, tienes donde elegir, tienes muchas cosas que poder comparar entre cada lenguaje, tienes muchas opiniones/recomendaciones que ofrecer, y yo, sin lugar a dudas, me quedo con Ruby en lugar de Python.

Lo mismo de arriba digo de C/C++/C#, aunque en este caso de los 3 solo he tocado C# y muy muy poco.

EDITO: La cuestión es no ir siempre a "lo mejor", sinó a lo que mejor se adapte a tí y tus necesidades, es lo que intenté decirte en mi último comentario,
si yo tengo que ser sincero, considero python el mejor lenguaje de programación de scripting, y C# el mejor lenguaje de programación, pero no por eso voy a usarlos, porque prefiero las características de otros lenguajes.

luego sueltas lo de VB.Net, cuando la opinión general lo tacha de mala práctica para programadores noveles y uso de ventanitas y cosas de esas. Hablo desde mi sincera ignorancia.

¿Mala práctica?, los lenguajes no tienen malas prácticas, es el desarrollador quien decide si usar malas prácticas o no, lo que pasa es que como ya te he dicho, VB.NET no es tán estricto como C#, por eso se pueden aplicar malas prácticas, pero si se es un buen programador no hay mala práctica alguna.

Sobre lo de las "ventanitas"... imagino que te refieres a la interfaz gráfica, de lo contrario no es necesario que sigas leyendo xD,
Si te refieres a eso, díme quien ha tachado eso como un punto en contra de la programación, porque sería ridículo, es un punto MUY a favor, casi todas las aplicaciones de hoy en dia son con "ventanitas".

Si te vas a introducir a C++ puedes usar las "ventanitas" también (por tu comentario parece que no lo sabías), es lo que diferencia al scripting de esto, aunque en los lenguajes de scripting como Python también puedes hacer las GUIS ("ventanitas") para tus scripts, pero de una forma muuucho más engorrosa, hay que hardcodear cada aspecto de la GUI para el script.

Depende de gustos, Interfaz gráfica VS. Interfaz commandline, pero yo opino que para hacer cualquier buena aplicación hoy en día hay que usar "ventanitas", no se puede estar toda una vida programando siempre aplicaciones de consola porque eso no da pa nah...

Saludos!!


Título: Re: ¿Es malo recomendar C/C++ a un principiante?
Publicado por: The_Mushrr00m en 3 Febrero 2013, 22:43 pm
No tienes experiencia programando, así que en mi opinión, cualquier lenguaje te puede parecer complicado, cuando yo empece lo hice con python y con C++ al mismo tiempo, después de unas 2 semanas me decante por python, ¿por qué? simple, me parece el indicado para noveles, y a pesar de lo que se dice puede ser tan poderoso como los módulos creados en "C" te lo permitan  :xD si se pueden hacer cosas grandes, sino no seria uno de los lenguajes más importantes actualmente, en fin, la ultima palabra la tienes tu, en mi opinion si te recomiendo python pero no dejes su aprendizaje de lado hasta que de verdad hagas proyectos complejos, yo me pase 8 meses sin despegarle los ojos a sus manuales, leyendo códigos y cosas así, ahora retome C++ y la verdad se me esta facilitando mucho.  ;-)

Saludos..!


Título: Re: ¿Es malo recomendar C/C++ a un principiante?
Publicado por: Yidu en 4 Febrero 2013, 19:48 pm
pero cuando ya has tocado y sabes unos cuantos lenguajes, tienes donde elegir, tienes muchas cosas que poder comparar entre cada lenguaje, tienes muchas opiniones/recomendaciones que ofrecer, y yo, sin lugar a dudas, me quedo con Ruby en lugar de Python.

No te puedo contradecir. Por que por tus palabras, veo que dominas el tema. Pero estarás de acuerdo conmigo que para aprender de forma auto didacta es más fácil hacerlo en Python que en Ruby. Mas que nada por que las fuentes de información y documentación es mas extensa y actual ¿No?


La cuestión es no ir siempre a "lo mejor", sinó a lo que mejor se adapte a tí y tus necesidades, es lo que intenté decirte en mi último comentario,
si yo tengo que ser sincero, considero python el mejor lenguaje de programación de scripting, y C# el mejor lenguaje de programación, pero no por eso voy a usarlos, porque prefiero las características de otros lenguajes.

Bueno, a mi me pasa con Python. Me atrae mas que C++. Pero eso no se si es suficiente para decantarme por Python. Es la duda que tengo. Es decir, no veo que sea mi decisión sea muy racional. Mas bien instintiva.


Sobre lo de las "ventanitas"... imagino que te refieres a la interfaz gráfica, de lo contrario no es necesario que sigas leyendo xD,
Si te refieres a eso, díme quien ha tachado eso como un punto en contra de la programación, porque sería ridículo, es un punto MUY a favor, casi todas las aplicaciones de hoy en dia son con "ventanitas".

Ese comentario, lo hice, por que he leí que la programación visual no crea buenos hábitos. Pero ya te digo que hablo desde la ignorancia total.

De todas formas, gracias por tus consejos. Me son muy útiles. Un saludo!



Título: Re: ¿Es malo recomendar C/C++ a un principiante?
Publicado por: Yidu en 4 Febrero 2013, 19:53 pm
No tienes experiencia programando, así que en mi opinión, cualquier lenguaje te puede parecer complicado

Una gran verdad. Hasta el pseudo código me lo parece. Es decir, complicado. Pero en esas estoy. Aunque por aquí ya han dicho que aprender pseudo es una perdida de tiempo. Pero si escoges un manual donde enseñan un lenguaje, muchas cosas no te las enseñan. Las dan por sentado. Por eso pienso que no es mala idea antes aprender pseudo. Pero lees a gente que lleva tiempo en el foro y habla con esa seguridad, que ya lo pongo en duda. Osea, que deba aprender primero pseudo. Gracias por el consejo...



Título: Re: ¿Es malo recomendar C/C++ a un principiante?
Publicado por: Eleкtro en 4 Febrero 2013, 20:03 pm
Pero estarás de acuerdo conmigo que para aprender de forma auto didacta es más fácil hacerlo en Python que en Ruby. Mas que nada por que las fuentes de información y documentación es mas extensa y actual ¿No?

Depende del método en el que quieras estudiar, si quieres estudiar buscando en Google tutoriales/manuales/sources/ejemplos, entonces te doy la razón, obviamente vas a encontrar mucha más información para Python, porque en general se usa más... (pero debo decir que para Ruby hay muchísima información de terceros también, no faltan ejemplos de Ruby en Google)

Pero hay otra forma de estudiar un lenguaje, es la forma dificil, y esa forma es leyendo al milímetro la documentación oficial de Python/Ruby y poniendo en práctica cada cosa, ahí lo aprendes TODO acerca de él, y en ese caso se puede decir que existe la misma documentación para los dos lenguajes, porque la documentación oficial es COMPLETA, pero es la forma dificil, porque solo es documentación, sin ejemplos de uso casi.
PD: La documentación oficial existe tanto online, como offline en el instalador de dichos lenguajes.

un saludo


Título: Re: ¿Es malo recomendar C/C++ a un principiante?
Publicado por: Yidu en 5 Febrero 2013, 20:37 pm
Bueno, después de daros un poco el coñazo a todos, me he decidido por Python. Quizás he errado en mi decisión. Pero es un lenguaje que siempre me a atraído. Seguro que los habrá de mejores. Pero tengo que escoger uno y a sido este. Gracias a todos por los consejos ¡Nos vemos por el foro!  ;)


Título: Re: ¿Es malo recomendar C/C++ a un principiante?
Publicado por: DarkSorcerer en 5 Febrero 2013, 20:48 pm
¿ Encuentran justificable que deberían empezar con C para luego seguir con C++ o Java ?


Título: Re: ¿Es malo recomendar C/C++ a un principiante?
Publicado por: seba123neo en 5 Febrero 2013, 21:06 pm
anda por algun lenguaje que te de comer en algun futuro, a lo que voy es que sea un lenguaje con gran oferta de trabajo, podes ser un capo en Python pero si despues nadie te ofrece trabajo en este lenguaje te cagas de hambre y perdiste tiempo.

si vamos al tema de comenzar a programar, cualquier lenguaje te enseña a programar, imaginate yo empeze con pascal y aca muchos tambien.

esos que dicen que VB da malos habitos es un argumento que se extendio por internet ya algun tiempo, de algun ignorante que no debe tener la mas palida idea de nada.

hoy en dia los que seguro mas ofertas de trabajo dan son Java, .NET y C/C++.

saludos.



Título: Re: ¿Es malo recomendar C/C++ a un principiante?
Publicado por: Yidu en 5 Febrero 2013, 21:39 pm
anda por algun lenguaje que te de comer en algun futuro, a lo que voy es que sea un lenguaje con gran oferta de trabajo, podes ser un capo en Python pero si despues nadie te ofrece trabajo en este lenguaje te cagas de hambre y perdiste tiempo.

si vamos al tema de comenzar a programar, cualquier lenguaje te enseña a programar, imaginate yo empeze con pascal y aca muchos tambien.

esos que dicen que VB da malos habitos es un argumento que se extendio por internet ya algun tiempo, de algun ignorante que no debe tener la mas palida idea de nada.

hoy en dia los que seguro mas ofertas de trabajo dan son Java, .NET y C/C++.

saludos.



No te contradigo en lo que dices. Por eso ya dije, al empezar el tema, cual eran los objetivos con dicho lenguaje. En mi caso es solo como un hobby. Es decir, no me voy a ganar la vida con ello. Eso no quiere decir que lo vaya aprender a lo tonto. Pero si es un hobby y escojo un lenguaje que me aburre en exceso ¡Vaya hobby seria! ¿No? Yo no creo que Python sea mal lenguaje.
 
Aparte, esto se renueva tan rápido que si uno se dedica a esto profesionalmente debe aprender uno nuevo cada dos telediarios. 

Saludos!


Título: Re: ¿Es malo recomendar C/C++ a un principiante?
Publicado por: Yidu en 5 Febrero 2013, 21:43 pm
¿ Encuentran justificable que deberían empezar con C para luego seguir con C++ o Java ?

Por lo poco que sé, el C++ ya contiene al C. Solo que el primero trabaja con POO. Por lo tanto se puede aprender directamente C++. Ya que con este, también se puede trabajar la programación estructurada.

Aunque si se empieza primero con C, un camino para luego seguir con C++ ya estará hecho. No se empezará de cero. Digo yo...


Título: Re: ¿Es malo recomendar C/C++ a un principiante?
Publicado por: Stakewinner00 en 5 Febrero 2013, 21:53 pm
Yo he leído varias veces que o programas en C o en C++ por que si estas en uno y después cambias tienes que cambiar tambien de tipo de porgramación y recomiendan hacer o uno o otro.