Autor Tema: Ayuda c++  (Leído 2898 veces)

Desconectado robertoiui

  • PHPer@
  • **
  • Mensajes: 77
  • Karma: 0
    • Ver Perfil
Ayuda c++
« en: 11 de Abril de 2011, 13:55:17 pm »
Tengo pensado hacer un curso C++ este verano y me he fijado que uno de los cursos se llama así:

Borland C++ Builder 5


¿Recomendáis empezar aprendiendo este lenguaje? O abría que empezar por otro?

Comunidad PHPeros

Ayuda c++
« en: 11 de Abril de 2011, 13:55:17 pm »

Desconectado CarlosRdrz

  • Moderador Global
  • PHPero Master
  • *****
  • Mensajes: 2.505
  • Karma: 131
  • Sexo: Masculino
  • A.k.a. TLX
    • Ver Perfil
Re:Ayuda c++
« Respuesta #1 en: 11 de Abril de 2011, 19:51:13 pm »
Por lo general, te recomiendo aprender primero C, y luego ya C++, que es orientado a objetos.
Es mejor aprender primero programación estructurada, y luego meterse en objetos.
Además, dominar C te ayudará a dominar C++, puesto que solo cambiarán algunos conceptos teóricos y poco más.

Saludos
La dedicación de mi respuesta sera directamente proporcional a la dedicación de tu pregunta.
Hacer códigos que entiendan las máquinas es fácil, lo difícil y realmente útil es hacer códigos que entiendan las personas.
http://twitter.com/CarlosRdrz
http://www.carlosrdrz.es

Desconectado Physlet

  • PHPero Experto
  • *****
  • Mensajes: 822
  • Karma: 41
  • Sexo: Masculino
  • Todo es posible con esfuerzo, dedicación e interés
    • Ver Perfil
    • PanamaDev
Re:Ayuda c++
« Respuesta #2 en: 11 de Abril de 2011, 22:13:28 pm »
Por lo general, te recomiendo aprender primero C, y luego ya C++, que es orientado a objetos.
Es mejor aprender primero programación estructurada, y luego meterse en objetos.
No es del todo cierto, porque lamentablemente he visto a amigos estudiando Java (lenguaje puro orientado a objetos) con metodología estructurada.

Desconectado CarlosRdrz

  • Moderador Global
  • PHPero Master
  • *****
  • Mensajes: 2.505
  • Karma: 131
  • Sexo: Masculino
  • A.k.a. TLX
    • Ver Perfil
Re:Ayuda c++
« Respuesta #3 en: 12 de Abril de 2011, 01:31:08 am »
No es del todo cierto, porque lamentablemente he visto a amigos estudiando Java (lenguaje puro orientado a objetos) con metodología estructurada.

Yo también, y también he visto a gente intentar chuparse su propio codo, pero dejemos de lado las cosas sin sentido.
La dedicación de mi respuesta sera directamente proporcional a la dedicación de tu pregunta.
Hacer códigos que entiendan las máquinas es fácil, lo difícil y realmente útil es hacer códigos que entiendan las personas.
http://twitter.com/CarlosRdrz
http://www.carlosrdrz.es

Desconectado Physlet

  • PHPero Experto
  • *****
  • Mensajes: 822
  • Karma: 41
  • Sexo: Masculino
  • Todo es posible con esfuerzo, dedicación e interés
    • Ver Perfil
    • PanamaDev
Re:Ayuda c++
« Respuesta #4 en: 12 de Abril de 2011, 04:23:57 am »
Yo también, y también he visto a gente intentar chuparse su propio codo, pero dejemos de lado las cosas sin sentido.
A lo que me refería con eso es que muy bien puede estudiar C++ sin tener que comenzar a trabajar con C.

Desconectado CarlosRdrz

  • Moderador Global
  • PHPero Master
  • *****
  • Mensajes: 2.505
  • Karma: 131
  • Sexo: Masculino
  • A.k.a. TLX
    • Ver Perfil
Re:Ayuda c++
« Respuesta #5 en: 12 de Abril de 2011, 14:03:05 pm »
Ah! Si, si, si yo no digo que no.

Claro que no es necesario pasar por C si quieres estudiar C++.

Todo depende de lo que ya sabes, y de lo que quieres aprender, y cómo quieres aprender.

Si ya sabes Java, por ejemplo, que es orientado a objetos y estas acostumbrado a orientado a objetos, pues entonces puedes usar C++, solo tendrás que ver algunas cosas nuevas y listo.

Si no sabes nada de programación de aplicaciones de escritorio o de consola, entonces es mejor que aprendas primero C antes de C++, por el simple motivo de que, si por si solo el tema de punteros, estructuras y typedef ya suelen dar demasiados quebraderos de cabeza en C para los novatos, si a eso le sumas la programación orientada a objetos de C++, entonces ya la lias parda. Es demasiado si estas empezando. Lo natural es hacer algo en C, comprender perfectamente los punteros, la estructura de los programas, la estructura de la memoria y demás, y cuando tienes todos esos conceptos asimilados entonces comienzas a expandirte, aprendes orientación a objetos y entonces te pasas a C++.

Normalmente al comienzo cuesta comprender que es un puntero a un tipo char, imaginate si comienzas intentando comprender qué es un puntero a un objeto de la clase coche. Se mezclan los conceptos y cuesta mucho mas digerirlos.

Eso si, estamos hablando de APRENDER un lenguaje, no de usar un lenguaje. He visto mucha gente (entre ellas yo) que dicen estar aprendiendo un lenguaje, o que ya lo dominan, y luego realmente son incapaces de distinguir entre una variable pasada por referencia o por dato, entre un puntero a entero o un entero, o incapaz de explicar un poco por encima como se usa gestiona la memoria.

Hay que distinguir entre aprender a usar, aprender a dominar, usar y dominar. La mayoria de gente de este foro "aprende a usar" o "usa" pero a nadie le da por "aprender a dominar" o a "dominar". Mi consejo: aprende a dominar a C, y cuando lo domines medianamente, entonces pasa a aprender a dominar a C++.

No te quedes solo en PARA QUÉ sirven las cosas, si no en QUÉ son, CÓMO son, POR QUÉ son mejores unas que otras y CUAL es su naturaleza dentro del propio ordenador. En resumen: cuestíonate las cosas!

Mucha gente de este foro sabría decir para que sirve un int, pero pocos sabría decir qué es en realidad, cómo esta codificado, por qué se usa int y no char, o small int, y por cómo se gestiona un int en la memoria (cual es su naturaleza). Saber esas pequeñas diferencias, y interesarte en ellas, será lo que marque si aprendes a usar, o aprendes a dominar. Yo por mi parte todavía intento aprender a dominar.

Siento haber soltado el discursito!
Saludos
« Última modificación: 12 de Abril de 2011, 14:04:51 pm por TLX »
La dedicación de mi respuesta sera directamente proporcional a la dedicación de tu pregunta.
Hacer códigos que entiendan las máquinas es fácil, lo difícil y realmente útil es hacer códigos que entiendan las personas.
http://twitter.com/CarlosRdrz
http://www.carlosrdrz.es

Desconectado Physlet

  • PHPero Experto
  • *****
  • Mensajes: 822
  • Karma: 41
  • Sexo: Masculino
  • Todo es posible con esfuerzo, dedicación e interés
    • Ver Perfil
    • PanamaDev
Re:Ayuda c++
« Respuesta #6 en: 13 de Abril de 2011, 01:24:17 am »
Entiendo tu punto de vista sobre las diferencias entre usar un lenguaje y dominarlo.
A lo que me refiero, es que Java, al igual que C++ son lenguajes orientado a objetos, pero esto no les impide trabajarse de manera estructurada.

Por ejemplo, a unos compañeros les están dando Java de manera estructurada, y mucho después les explicarán el mismo lenguaje pero ahora aplicando conceptos de programación orientada a objetos.

También entiendo tu punto de vista sobre comenzar a estudiar con un lenguaje como C pues es la base de toda programación. Solo estaba dando mi punto de vista al respecto.

PD: Para los que lean, espero entiendan que saber C++ no es programar en C pero guardar el source code en .cpp

Desconectado CarlosRdrz

  • Moderador Global
  • PHPero Master
  • *****
  • Mensajes: 2.505
  • Karma: 131
  • Sexo: Masculino
  • A.k.a. TLX
    • Ver Perfil
Re:Ayuda c++
« Respuesta #7 en: 13 de Abril de 2011, 13:11:55 pm »
Entiendo tu punto de vista sobre las diferencias entre usar un lenguaje y dominarlo.
A lo que me refiero, es que Java, al igual que C++ son lenguajes orientado a objetos, pero esto no les impide trabajarse de manera estructurada.

Por ejemplo, a unos compañeros les están dando Java de manera estructurada, y mucho después les explicarán el mismo lenguaje pero ahora aplicando conceptos de programación orientada a objetos.

También entiendo tu punto de vista sobre comenzar a estudiar con un lenguaje como C pues es la base de toda programación. Solo estaba dando mi punto de vista al respecto.

PD: Para los que lean, espero entiendan que saber C++ no es programar en C pero guardar el source code en .cpp

Si, te entiendo y tienes razón. Pueden aplicarse los conceptos de programación estructurada para simular hacer esto en Java. Y digo "simular" porque realmente, cuando haces eso en Java, todo lo que te rodea son objetos y métodos estáticos de objetos (como System.out.println) que no es una función, pero al ser un método estático simula el comportamiento bastante bien.

El caso es que cuando programas así en Java, dejando de lado la programación orientada a objetos de lado, cuando alguien te pregunta: ¿Que significa class? ¿Por qué dice aquí static? Y cosas por el estilo, solo te queda decir: Ya lo veremos cuando veas orientación a objetos.

Por lo tanto, por eso quería decir que por ejemplo programar Java en programación estructurada sin pensar pasar luego a programación orientada a objetos, y sin un guía, puede ser algo caótico, mientras que si programas de forma estructurada en C y cuando ya sepas algo te lees un manual de los conceptos de POO y que significa cada cosa en Java, y bajo mi punto de vista te queda todo mas claro, a pesar de que tengas que aprender un nuevo lenguaje que es Java. Al fin y al cabo lo considero una ventaja, cuanto mas lenguajes domines mejor, y si además uno es compilado y el otro interpretado, aún mejor!

Saludos! :)
La dedicación de mi respuesta sera directamente proporcional a la dedicación de tu pregunta.
Hacer códigos que entiendan las máquinas es fácil, lo difícil y realmente útil es hacer códigos que entiendan las personas.
http://twitter.com/CarlosRdrz
http://www.carlosrdrz.es