Orientacion c/c++

Iniciado por Pirat3net, 20 Mayo 2011, 17:38 PM

0 Miembros y 1 Visitante están viendo este tema.

Pirat3net

bueno, pongo este post para pedir orientacion y opiniones,
mi situacion es la siguiente: tengo un nivel medianamente bueno en java, un nivel bajo en bath, medio en http, (pongo esto para una mejor orientacion), y me planteo seriamente hacer mis pinitos en c o en c++, si no e tenido malas fuentes C es el padre de los SO y puede trabajar a bajo nivel y a alto nivel(ne se como pero bueno) y c++ esta orientado a objetos(no se si sera demasiado parecido a java(no me interesaria en ese caso, a no ser que permita manejo de punteros por ejemplo)). la cuestion es que no quiero arrependirme de mi eleccion. si alguien me da su opinion para mi situacion (C O C++) y si sabe algun libro(español preferentemente) que me pueda servir(saviendo que no es la primera vez que veo un codigo) y la mayor prieridad es que los ejemplos tengan que ver con(cualquier cosa relacionada con malware), mayormente porque es la lectura que mas facil se me hace y mas me motiva para aprenter(por otro lado tambien este verano queria empezar a trastear con programacion de juegos en 3d(gusanillo que me vino despues de leer el hilo que hay en la sección de juegos).
desde ya muchas gracias.
espero que alguien haya yegado hasta aqui leyendo xD sin aburrirse.
me acabo de dar cuenta que inconscientemente estoy sustituyendo comas por encerrar entre parentesis y otras barbaridades.
bueno no me dilato mas. :)

ShotgunLogic

Creo que todos te dirán que C/C++ es muy útil, y que es un lenguaje que se ha usado en muchísimas cosas. Si no estoy mal informado C++ se parece bastante a Java(mas bien Java se parece a  C++) y de hecho los dos son lengajes orientados a objetos e interpretados, pero C++ te permite hacer muchas más virguerias con punteros. Yo te recomendaria que si puedes aprendas C++ o C, ya que creo que son bastante básicos.
The clans are marching against the law, bagpipers play the tunes of war, death or glory I will find, rebellion on my mind.

Pirat3net

el aprender uno de los dos esta decidido, la duda que queria plasmar perdon si lo hice mal es por cual me conviene decantarme desde el punto de vista personal de los lectores c o c++

Queta

Ambos: primero C y luego C++.
"Intenta no volverte un hombre de éxito, sino volverte un hombre de valor." Albert Einstein.

D4RIO

Yo primero aprendí C++, después ASM, después C, y lo amé.

Con C++ tenés punteros y prácticamente todo lo de C, más algo parecido a OO, aunque no te va a gustar si sos purista de objetos.

Si los objetos te gustan, entonces C++ es lo tuyo. Personalmente el paradigma OO me da asco, y AMO C.

Si me pedís una opinión: C
Si me pedís un consejo: Aprendé los dos, usá los dos, después elegí. Al fin y al cabo no son muy diferentes, no es que vas a malgastar tu vida por aprenderlos.

Saludos.
OpenBSDFreeBSD

Littlehorse

#5
Cita de: ShotgunLogic en 20 Mayo 2011, 18:01 PM
Creo que todos te dirán que C/C++ es muy útil, y que es un lenguaje que se ha usado en muchísimas cosas. Si no estoy mal informado C++ se parece bastante a Java(mas bien Java se parece a C++) y de hecho los dos son lengajes orientados a objetos e interpretados, pero C++ te permite hacer muchas más virguerias con punteros. Yo te recomendaria que si puedes aprendas C++ o C, ya que creo que son bastante básicos.

Ni C ni C++ son lenguajes interpretados.

Cita de: Pirat3net en 20 Mayo 2011, 17:38 PM
bueno, pongo este post para pedir orientacion y opiniones,
mi situacion es la siguiente: tengo un nivel medianamente bueno en java, un nivel bajo en bath, medio en http, (pongo esto para una mejor orientacion), y me planteo seriamente hacer mis pinitos en c o en c++, si no e tenido malas fuentes C es el padre de los SO y puede trabajar a bajo nivel y a alto nivel(ne se como pero bueno) y c++ esta orientado a objetos(no se si sera demasiado parecido a java(no me interesaria en ese caso, a no ser que permita manejo de punteros por ejemplo)). la cuestion es que no quiero arrependirme de mi eleccion. si alguien me da su opinion para mi situacion (C O C++) y si sabe algun libro(español preferentemente) que me pueda servir(saviendo que no es la primera vez que veo un codigo) y la mayor prieridad es que los ejemplos tengan que ver con(cualquier cosa relacionada con malware), mayormente porque es la lectura que mas facil se me hace y mas me motiva para aprenter(por otro lado tambien este verano queria empezar a trastear con programacion de juegos en 3d(gusanillo que me vino despues de leer el hilo que hay en la sección de juegos).
desde ya muchas gracias.
espero que alguien haya yegado hasta aqui leyendo xD sin aburrirse.
me acabo de dar cuenta que inconscientemente estoy sustituyendo comas por encerrar entre parentesis y otras barbaridades.
bueno no me dilato mas. :)


No quedo claro cual es el objetivo final pero por ahí se lee que también queres programar juegos así que yo optaría por C++.

El paradigma orientado a objetos es uno de los mas usados actualmente en infinidad de áreas, y C++ lo implementa perfectamente. Por supuesto no es Java, tenes mas libertades en C++ que podrían traerte complicaciones si no conoces el lenguaje, pero en fin, no creo que te cueste mucho aprenderlo. Esas complicaciones son ventajas cuando dominas el lenguaje.

Para bajo nivel, podes usar C o C++. Pero dependiendo a que te refieras específicamente, se suele utilizar C dado que la claridad de código posible es mayor y esto es necesario en código critico, pero por supuesto esto depende de quien este programando. En resumidas cuentas podes usar cualquiera de los dos; no serias el primero!

Cual aprender primero es una pregunta difícil y la respuesta correcta depende de vos. Pero lo que si te puedo decir es que no necesitas aprender C para aprender C++, mas aun sabiendo que venís de otro lenguaje como Java.

Saludos
An expert is a man who has made all the mistakes which can be made, in a very narrow field.

ShotgunLogic

Cita de: Littlehorse en 21 Mayo 2011, 18:09 PM
Ni C ni C++ son lenguajes interpretados.


Estaba hablando de Java y C++. De hecho me he confundido, y es que estaba mirando un libro porque no me acordaba de la palabra interpretado, y he leido C# como C++. Ya me parecia a mi muy raro que C++ fuese interpretado...Fallo mio sorryxDDD
The clans are marching against the law, bagpipers play the tunes of war, death or glory I will find, rebellion on my mind.

pucheto

Cita de: ShotgunLogic en 21 Mayo 2011, 22:21 PM
Estaba hablando de Java y C++. De hecho me he confundido, y es que estaba mirando un libro porque no me acordaba de la palabra interpretado, y he leido C# como C++. Ya me parecia a mi muy raro que C++ fuese interpretado...Fallo mio sorryxDDD
Ninguno de los q nombraste ahi es interpretado...  Compilan a bytecode y una maquina virtual ejecuta el bytecode.

ShotgunLogic

Cita de: pucheto en 22 Mayo 2011, 00:04 AM
Ninguno de los q nombraste ahi es interpretado...  Compilan a bytecode y una maquina virtual ejecuta el bytecode.

Si es que según esto Java y C# son interpretados, y en cambio PHP y Python tienen compilador e intérprete en un mismo programa que almacena el fichero con el lenguaje intermedio en memoria, y que el programa es de traducción e interpretación a la vez y que suele llamarse solamente intérprete.

¿Opiniones?
The clans are marching against the law, bagpipers play the tunes of war, death or glory I will find, rebellion on my mind.

Queta

Lo que pasa es que con este libro, creo yo, vas a tener muchos problemas. Si eres estudiante de primer curso y empiezas con las matemáticas pueden enseñarte 2 + 2 o 2 x 4 + 6 - 2 - (2 x 2 x 2), ambos con el mismo resultado pero con procedimientos distintos. Lógicamente, si al alumno se le enseña mediante la segunda opción no se va a enterar de nada, a parte de que es más rápido y sencillo de la primera forma. Este ejemplo se puede aplicar a los lenguajes de programación.

Teóricamente, todos los lenguajes pueden ser compilados o interpretados, pero no te van a enseñar interpretar por ejemplo C/C++ debido a que no te será fácil depurar, juntar archivos (librerías, archivos de cabecera...) entre otras cosas. Lo mismo pasa con .NET y Java.

http://en.wikipedia.org/wiki/Interpreted_language

En cuanto a la duda principal ya se dieron múltiples opiniones y todo queda a gusto del autor.
"Intenta no volverte un hombre de éxito, sino volverte un hombre de valor." Albert Einstein.