PDA

Ver la versión completa : Aprendiendo a programar



davoker
09/03/2013, 02:50
Bueno, estoy liado con esto un poco por encima, no quiero ponerme enserio aun hasta el dia 20, que marcho a Galicia unos dias, queria los que pilotais que echarais un vistazo a esto, que aqui es dodne estoy mirando para empezar con la programacion, me decidido a empezar con "C", aun que en el enlace que pongo hay para aprender a otros lenguajes inferiores y bueno, para pedir opinion, si podria empezar bien por C o si deberia hacerlo por basic por ejemplo, yo me decante por C pero vamos, opinion es lo que busco y a ver que os parece el sitio para aprender:

http://www.aprendeaprogramar.com/

Donde pone C,C++ y C# es por el que empece yo, lo que pido es que el que entienda, que me diga si esto vale para aprender de 0 completamente, o si deberia buscar algo mas sencillo aun, si echais un vistazo aqui: http://www.aprendeaprogramar.com/course/view.php?id=3 vereis un indice, considero que esta explicado para alguien que no sabe nada de programacion, pero como no estoy seguro, pues ya me direis vosotros, " mejor empieza por basic" o "por pascal" o lo que sea que me digais, pero ya puestos, tan superior no sera C del basic por ejemplo no? osea empezar a aprender con C no es tan descabellado pienso, y es el que mas me interesa, de ahi ya hacia delante jeje

pakoito
09/03/2013, 03:12
Hay dos escuelas de pensamiento: de abajo arriba y de arriba abajo.

Los abajo-arriba empiezan por C, que no te da nada nada nada nada nada nada hecho, es un quejica y una locaza sin control. A su favor tiene que es eficiente, multiplataforma, cuasiperfecto, óptimo. Un semental desbocado. Cuando después de mucho tiempo y cabezazos por fin lo tames, el resto de la manada te parecerán corderitos.

Los arriba-abajo empiezan por Python, Java o Javascript (¡ojo! muy distintos) que tienen mucho más margen de error y te permiten aprender los conceptos básicos de programación, pero te evitan la mayoría de las putadas y te hacen pensar menos en cómo funcionan por debajo el ordenador. Son más lentos e ineficientes pero más amigables para la mayoría de las tareas. Cuando sepas manejarte con ellos podrás bajar a C y entenderás mejor lo que ocurre, antes de entrar en todas las tecnicidades asociadas al lenguaje.

A nivel profesional verás C en sistemas que requieren alta eficiencia, empotrados en cacharros de poca capacidad, o que vayan a dar mucha traya tipo cálculo industrial, herramientas o sistemas operativos. Javascript es web, Java/Python es escritorio y servidor, sirven para hacer aplicaciones más orientadas a empresa y gestión como facturas, servicios web o control de stock, con menos requisitos de uso de procesador y más de conectividad o bases de datos.

EDIT: Cabe mencionar la otra miriada de lenguajes para aprender, cada uno con sus más y sus menos: ruby, C#, LUA, Pascal, Visual Basic, PHP...todos comparten los mismos principios de programación, pero se diferencian en su tarea principal (web, escritorio, chorradinas, gráficos...), su flexibilidad para desarrollar y su rendimiento a la hora de ejecutarlas. Por regla general, cuanto más asociado al hardware, más complejo y eficiente.

EDIT2: El tutorial que has puesto tiene la mayoría de los principios, pero hay secciones como el tema 8, Debugging, que están anticuadísimas. Cuando lo acabes tendrás unas nociones de programación, pero en ningún momento indica cómo es un programa completo, cómo debe de ser estructurado o si quiera cómo poner una interfaz gráfica. Siguiendo un símil, te cuenta todas las piezas del coche (cigüeñal, caja de cambios, transmisión...) pero en ningún momento te dice cómo se fabrica uno. Enseña programación en el vacío con programas-ejemplo que no son aplicables a casos reales, que es como lo enseñan en la universidad y odio con pasión.

davoker
09/03/2013, 03:32
Y resumiendo entonces, tu consejo es que empiece por phyton o java (creo que con cualquiera de esos 2 ya se pueden hacer aplicaciones tengo entendido, cosas que le puedan ser utiles a uno, para hacerte la vida mas comoda en tus trabajos por ejemplo), y cuando lo tenga controlado, tirar a C ya no? esa seria la idea?
Otra cosa, el tio comenta que en el PDF descargable tiene mas actualizado algunos puntos que lo que has visto, otra cosa es que lo del debugging siga siendo anticuado, eso ya ni idea, en el enlace hay otro pequeño curso de java tambien, de phyton no, ya que tengo java ahi, quizas empiece por ese, luego iria por phyton, cuando no tengan secretos para mi, a por C supongo.

Si alguien conoce mejores cursos por alguna web que me lo diga si hace el favor, teniendo en cuenta que tiene que ser para empezar de 0 claro jeje

saucjedi
09/03/2013, 08:54
Según lo que quieras conseguir. Para aprender a programar, en mi opinión, C. Aprenderás a programar por narices y todo lo demás será jauja de comprender después (cuando lo 'tames' pakoito?). Pero te va a costar mucho más, está tan cerca del hardware que debes comprender algo de estructura de computadores o los lloricas (porque C no es un llorica, es el que lo usa) te tendrán como nuevo miembro de su club. Es duro.

Si lo que quieres es aprender programación en general e ir cogiendo los conceptos básicos, los otros lenguajes son mejores. Conseguirás resultados más rápido y es más probable que te animes a seguir. Pakoito te ha puesto Java a nivel de Python o Javascript. Eso no es exactamente así, porque Java es un lenguaje tipado y los otros dos no (quizá Python un poco). Eso significa que las variables son de un tipo determinado cuando las declaras (entero, caracter) y es algo más cercano a C. Podrías probar con Java primero, y si se te hiciera cuesta arriba alguno de los otros.

bitrider
09/03/2013, 11:49
Hombre para aprender a programar, como los machotes Ensamblador. Ni C ni poias.

Jurk
09/03/2013, 12:38
por que n o codigo maquina, introduciendo cada byte como una combinacion de 8 interrruptores?

davoker
09/03/2013, 12:52
Na, mejor empiezo a diseñar nuevas naves para la nasa con un nuevo tipo de combustible auto suficiente que nunca se gaste y que acelere y acelere cada vez mas e? :lol:

pakoito
09/03/2013, 17:25
Según lo que quieras conseguir. Para aprender a programar, en mi opinión, C. Aprenderás a programar por narices y todo lo demás será jauja de comprender después (cuando lo 'tames' pakoito?). Pero te va a costar mucho más, está tan cerca del hardware que debes comprender algo de estructura de computadores o los lloricas (porque C no es un llorica, es el que lo usa) te tendrán como nuevo miembro de su club. Es duro.

Si lo que quieres es aprender programación en general e ir cogiendo los conceptos básicos, los otros lenguajes son mejores. Conseguirás resultados más rápido y es más probable que te animes a seguir. Pakoito te ha puesto Java a nivel de Python o Javascript. Eso no es exactamente así, porque Java es un lenguaje tipado y los otros dos no (quizá Python un poco). Eso significa que las variables son de un tipo determinado cuando las declaras (entero, caracter) y es algo más cercano a C. Podrías probar con Java primero, y si se te hiciera cuesta arriba alguno de los otros.

Tames es un anglicismo que se me ha escapado, to tame, domar :P Por lo demás no he aconsejado ni un método ni el otro. Yo empecé de abajo arriba pero se de otras facultades donde van de arriba abajo.

saucjedi
09/03/2013, 17:53
Tames es un anglicismo que se me ha escapado, to tame, domar :P Por lo demás no he aconsejado ni un método ni el otro. Yo empecé de abajo arriba pero se de otras facultades donde van de arriba abajo.

Sé lo que significa, pero ¿de verdad es un anglicismo o lo has soltado porque sí? No lo había visto usar como sinónimo de domar.

Si empieza de abajo a arriba tardará mucho en conseguir algo 'tangible', pero le será más fácil asimilar cualquier otro lenguaje en el futuro. Depende de sus objetivos, en realidad.

pakoito
09/03/2013, 18:02
Sé lo que significa, pero ¿de verdad es un anglicismo o lo has soltado porque sí? No lo había visto usar como sinónimo de domar.
Dice la RAE que no existe, asi que fallo mío. Por lo demás, cuando te pasas el día hablando de debugear, rebutear, gankear, farmear, wardear y demás estas cosas salen sólas.

^MiSaTo^
09/03/2013, 18:07
Dice la RAE que no existe, asi que fallo mío. Por lo demás, cuando te pasas el día hablando de debugear, rebutear, gankear, farmear, wardear y demás estas cosas salen sólas.

Será a ti, porque a mi no me pasa XD

pakoito
09/03/2013, 18:26
Será a ti, porque a mi no me pasa XDSomos dos entes distintos con diferentes experiencias, gustos y cerebros. ¿Quién lo podría imaginar?

otto_xd
09/03/2013, 18:49
Pakoito, la unica persona del mundo que mete javascript java y python en el mismo saco, mother of god.

Lo que te recomiendo es que aprendas programacion orientada a objetos o programacion estructural, con un buen curso, y poniendo especial atencion a las buenas practicas.

Esto es importante cuando aprendes y no tienes la cabeza bien amueblada en esto de programar, muchas cosas se pueden hacer de la misma manera, pero solo unas pocas son correctas, ya sean por estar mas optimizado, por ser mas legible, por hacer un uso correcto de los operadores, etc.

Animo y no tires la toalla nada mas empezar, puede ser feo, pero despues se aprende mucho todos los dias :D

pakoito
09/03/2013, 19:17
Pakoito, la unica persona del mundo que mete javascript java y python en el mismo saco, mother of god.
Dije de más alto nivel que C, *****, no es tan difil de entender xD

otto_xd
09/03/2013, 19:37
Dije de más alto nivel que C, *****, no es tan difil de entender xD

mas alto nivel que C/Cpp es cualquier cosa que no sea ensamblador o brainfuck.

De todas formas recomendar a alguien aprender a programar con javascript es cruel, de verdad. Y mira que me gusta mucha de las cosas que tiene y los frameworks/metodologias/paradigmas que trae, pero no se lo recomendaria a nadie para aprender.

C para estructural y Java/C#/Objective C para objetos.

davoker
09/03/2013, 19:56
Ahora si que me habeis liado cabroncetes :lol:
A ver, voy a explicar lo que me interesa en estos temas, y asi alguno podra decirme por donde empezar desde 0, el lenguaje mas adecuado para aprender segun para lo que vaya a usarlo no?

Lo que me interesa de este "mundillo", es poder crear segun necesidad, una utilidad para facilitarme X trabajo, por ejemplo, yo estoy metido en la scene del romhacking de hace años, pero el no saber programar me tiene muy limitado y dependo de la gente que si sabe para crearme una utilidad que me extraiga e inserte textos de forma comoda y en un formato de edicion decente (es solo un ejemplo), entonces poder crear mis propias utilidades segun mis necesidades me seria de gran ayuda ^^

Por otra parte, me interesa portar software, no es lo mismo trabajar con la PSP que con una WIZ, pero si sabes lo que hay que saber, solo tienes que actulizarte y decir, vale en la WIZ esta controlado, pero como tengo PSP me interesa portar X juego (por ejemplo xD), voy a ver como va el tema y lo que necesito... (creo que se me entiende no?)

Entonces quedamos en que me interesa la creacion de softwares, y otroas cosillas, como saber portar un juego teniendo el codigo de X juego a X plataforma, quizas es un poco general esto, pero si tiens las bases, puedes aprender a portar un juego o programa a cualquier plataforma pienso, perdonadme si me equivoco, en cuyo caso recuerdo que en esto soy mega noob :lol:

Venga un saludo y espero que esto ayude a que alguien, quien sea (jajaja) me diga por que lenguaje empezar de 0, y si ya de buen rollito sabe de algun buen tutorial para ultra noobs que empiezan, tambien se agradece esa info, aun que ya encontre un par de sitios pero no me convencen xD

Gracias por la ayuda =)

pakoito
09/03/2013, 20:02
A lo que me refería es que a pesar de ser mundos distintos a nivel estructural, ésto lo sabemos nosotros más adelante. Cuando aprendes a programar con cursos como el citado arriba o los que he ido viendo a lo largo de los años te enseñan herramientas: statements condicionales, iterativos, asignación, llamada y estructuras de datos básicas. Éstos se pueden aprender en cualquier idioma porque funcionan bajo los mismos principios. Las diferencias vienen de la estructura (tipado, etc...) que a un usuario nóvel no le afectan aun.

Respecto a JS sabes que no tengo ni idea, pero está de moda gracias a webs como CodeAcademy que si, intentan empezar a enseñar con eso. En institutos y colegios les he visto con Visual Basic pero sólo usando la consola. En otros sitios con Pascal y Logo. En muy pocos con Java. Y en todos los casos, ejemplos de consola con programas "en el vacío".

A mi personalmente me gusta python porque te trae todo lo que el resto pero te abstrae de la arquitectura, además de haber bastante documentación muy buena.

-----Actualizado-----


Ahora si que me habeis liado cabroncetes :lol:
A ver, voy a explicar lo que me interesa en estos temas, y asi alguno podra decirme por donde empezar desde 0, el lenguaje mas adecuado para aprender segun para lo que vaya a usarlo no?

Lo que me interesa de este "mundillo", es poder crear segun necesidad, una utilidad para facilitarme X trabajo, por ejemplo, yo estoy metido en la scene del romhacking de hace años, pero el no saber programar me tiene muy limitado y dependo de la gente que si sabe para crearme una utilidad que me extraiga e inserte textos de forma comoda y en un formato de edicion decente (es solo un ejemplo), entonces poder crear mis propias utilidades segun mis necesidades me seria de gran ayuda ^^

Por otra parte, me interesa portar software, no es lo mismo trabajar con la PSP que con una WIZ, pero si sabes lo que hay que saber, solo tienes que actulizarte y decir, vale en la WIZ esta controlado, pero como tengo PSP me interesa portar X juego (por ejemplo xD), voy a ver como va el tema y lo que necesito... (creo que se me entiende no?)

Entonces quedamos en que me interesa la creacion de softwares, y otroas cosillas, como saber portar un juego teniendo el codigo de X juego a X plataforma, quizas es un poco general esto, pero si tiens las bases, puedes aprender a portar un juego o programa a cualquier plataforma pienso, perdonadme si me equivoco, en cuyo caso recuerdo que en esto soy mega noob :lol:

Venga un saludo y espero que esto ayude a que alguien, quien sea (jajaja) me diga por que lenguaje empezar de 0, y si ya de buen rollito sabe de algun buen tutorial para ultra noobs que empiezan, tambien se agradece esa info, aun que ya encontre un par de sitios pero no me convencen xD

Gracias por la ayuda =)
C/C++ es lo más probable, pero todo lo que has pedido son cosas avanzadas que no tienen que ver con aprender programación como tal, sino a hacerlas. Necesitas saber programación para entonces entender la programación aplicada a dichas tareas, que dicho sea de paso son bastante puñeteras.

Portar es entender el código base y cambiarlo en función de las cositas específicas de las plataformas orígen y destino. Un curso de C obviamente no incluye la descripción de las cosas únicas a un Wiz o sus librerías, de las que tienes que informarte y aprender por tu cuenta.

Hacer tu propio software va desde cosas básicas como escribir una línea en la consola de comandos a una aplicación o un juego completo, que requieren saber de programación y luego aprender una librería (~herramienta) ajena y externa que tiene su propio set de tutoriales pero que sin saber programación genérica no entenderías.

kappa64
09/03/2013, 20:08
....................

pakoito
09/03/2013, 20:16
Yo no se que opinión tenéis tan rara de C :loco: , que está muy cerca de la maquina :confused:??C es, por definición, ensamblador portable. (http://stackoverflow.com/questions/3040276/when-did-people-first-start-thinking-c-is-portable-assembler) Yo también aprendí con C y se que es un iceberg, todo lo básico es lo que la mayoría sabemos, pero por debajo hay un 80% de lo que permite hacer. A poco que hurgues por ahí encontrarás cachos de código que hacen auténticas locuras.

kappa64
09/03/2013, 20:28
.................

davoker
09/03/2013, 21:44
Entonces me meto con C? segun lo que entiendo, sabiendo C los demas lenguajes me resultaran mas faciles de entender no? me dais datos que bueno, ricos como informacion, pero en respuesta a la pregunta de: "¿Con que lenguanje empiezo?" aun no me a quedado clara jajaja

Ya sabeis lo que me gustaria hacer, y si para saber hacer estas cosas tengo que pasar por otros lenguajes pues pasaremos, si hay que aprender de otras cosas mas concretas para poder hacer algo de lo que eh dicho, pues se aprende, el caso es empezar por algo, y mejor si ese algo ya me permite hacer mis primeros pinitos con pequeños programitas basicos y de ahi a comerse el mundo xD, tengo ganas e ilusion, asi que bueno, a opinion de la mayoria, ¿por donde empiezo definitivamente? igual la pregunta es demasiado generica, pero entonces no se como montarmelo :lol:

gbajose
09/03/2013, 22:10
Entonces me meto con C? segun lo que entiendo, sabiendo C los demas lenguajes me resultaran mas faciles de entender no? me dais datos que bueno, ricos como informacion, pero en respuesta a la pregunta de: "¿Con que lenguanje empiezo?" aun no me a quedado clara jajaja

Ya sabeis lo que me gustaria hacer, y si para saber hacer estas cosas tengo que pasar por otros lenguajes pues pasaremos, si hay que aprender de otras cosas mas concretas para poder hacer algo de lo que eh dicho, pues se aprende, el caso es empezar por algo, y mejor si ese algo ya me permite hacer mis primeros pinitos con pequeños programitas basicos y de ahi a comerse el mundo xD, tengo ganas e ilusion, asi que bueno, a opinion de la mayoria, ¿por donde empiezo definitivamente? igual la pregunta es demasiado generica, pero entonces no se como montarmelo :lol:
Empieza con C. A mi juicio no debería haber debate en ese sentido.

Si empiezas a aprenderlo y no huyes cual sepia en el intento, ya podrás dedicarte más adelante a profundizarlo y adaptarlo a las arquitecturas sobre las que quieras programar. O incluso, aprender después algún lenguaje orientado a objetos.

Jurk
10/03/2013, 02:08
Como c++.

Ahira en serio, para lo que quieres c es tu anienemigo. Es difixil y rocoso, pero cuando lo dominas es dios, y los demas lenguajes un **** churro reducido con demasiados automatismos. Aprende a abrir ficheros binarios con c, y a buscar cadenas de caractws, de la tabla ascii

davoker
10/03/2013, 04:34
Pues ala, a por C xD lo que pasa es que el sitio que estoy mirando no se si es para alguien que empieza de 0, te pone para que hagas ejercicios y tal pero no se si me convence, antes de seguir con ese cursillo, buscare otros y comparare, igual encuentro algun otro explicado de una manera... diferente digamos xD

hardyx
10/03/2013, 18:40
Bueno, estoy liado con esto un poco por encima, no quiero ponerme enserio aun hasta el dia 20, que marcho a Galicia unos dias, queria los que pilotais que echarais un vistazo a esto, que aqui es dodne estoy mirando para empezar con la programacion, me decidido a empezar con "C", aun que en el enlace que pongo hay para aprender a otros lenguajes inferiores y bueno, para pedir opinion, si podria empezar bien por C o si deberia hacerlo por basic por ejemplo, yo me decante por C pero vamos, opinion es lo que busco y a ver que os parece el sitio para aprender:

Cada lenguaje tiene su curva de dificultad, hay algunos más accesibles que otros. Pero bueno, C se podría decir que es el padre de todos los lenguajes.

Hay unos libros muy buenos para aprender varios lenguajes, son bastante conocidos. Tienes de Java, VBasic, C otros lenguajes.
http://www.tecnun.es/recursos/labmat0.html

Drumpi
10/03/2013, 19:28
Es que, para hacerte tus aplicaciones con ficheros y demás, lo recomendable es un lenguaje sencillo y rápido, y sólo conozco dos para ello:
- Java, que es muy fácil de aprender, y muy similar en conceptos a otros lenguajes (por la orientación a objetos y demás), pero que te hacen olvidarte de cosas que creo que son fundamentales aprender a controlar desde el principio (sobre todo, en el tema punteros y liberar memoria). Lo bueno es eso, que es rápido y puedes crearte tu interfaz... aunque aun swing te suelta alguna que otra bofetada en la cara, es muy tiquismiquis.
- Bennu, que lo haces todo en cuestión de minutos. La interfaz te la tienes que hacer tú, pero algo funcional no es complicado. En contra tiene su orientación a procesos, que es otra forma de programar muy distinta a la habitual (es como programar hilos, pero sin sincronización ni comunicación de los mismos).

Pero para los ports es necesario saber C: es con lo que se suele programar, y es compatible con cualquier máquina existente en el mundo (incluso con dispositivos empotrados desde hace pocos años). Ya te lo han dicho: es duro, no ves resultados inmediatos, y tienes que controlarlo todo (creo que por eso dicen que se parece a ensamblador: a poco que te pongas puedes manejar el HW directamente), pero vas a saber programar en cualquier lenguaje, porque los demás parecen C sin cafeina.

Y estoy con lo dicho más arriba: nadie sabe manejar C al 100%, tiene tantas cosas y posibilidades que haría falta una vida para aprenderlo... y después queda C++.

Puedes aprender Java como si fuera C (al principio) con el tutorial de javaya, que lo recomiendo por la cantidad de ejercicios que tiene. Pero que tiene uno de C.
Aunque para C, sigue las recomendaciones de los demás. Y haz ejercicios, muchísimos ejercicios, y si puedes, pequeñas aplicaciones por tu cuenta.

Nathrezim
10/03/2013, 19:41
Vengo a romper una lanza a favor de Pascal, para aprender programación estructurada no hay otro lenguaje mejor (de hecho se creó para ese propósito). No te deja hacer las burradas que te deja hacer C con sus punteros, desbordamientos, etc. Digamos que te "obliga" a programar de manera estructurada. El punto flaco es que al ser un lenguaje tan poco popular no parece haber mucha documentación por ahí.

Luego una vez que conozcas la programación estructurada lo suyo sería pasar a la programación orientada a objetos, un lenguaje para aprender y ya hacer cosas interesantes rápidamente sería Java.

Elijas el lenguaje que elijas procurate un buen IDE con un buen depurador, lo vas a necesitar, y si hace cosas raras te vas a ganar unos dolores de cabeza curiosos.

davoker
10/03/2013, 19:50
Claro, hacer pequeñas aplicaciones es una practica, siempre tengo ideas, pero no el conocimiento xD creo que definitivamente, aun que me cueste mas, voy a ponerme con C, el sitio que me a pasado hardyx tiene muchos cursos (gracias jefe =) por cierto, veo C++ basico y C++ avanzado, el que pone "ANSI C" seria C no? pregunto por que no tengo ni idea jeje) asi que creo que ya puedo empezar, o casi, el miercoles por la mañana tempranito marcho unos dias a Galicia hasta el dia 20, y no quiero arrancar hoy y estar 2 dias mas para luego tirarme una semana sin tocar el tema, segun me conozco, no es recomendable :lol:

Asi que cuando vuelta me pongo a saco, estoy deseando empezar y con ansias espero poder practicar con pequeñas aplicaciones que se me ocurran, cuando tenga el conocimiento necesario, y de ahi a "dejaros locos" con futuros proyectos en el futuro (valga la redundancia :lol2:) *O*

gracias por las explicaciones y el enlace de hardyx, cuando empiece habra mas preguntas he? que no os librais ;)

Nathrezim:
La idea es empezar por C definitivamente, cuando mas o menos ya sepa desenvolverme decentemente con el (que no un experto xD), siempre puedo tirar a otros como java, que es otro que me parece interesante desde luego, pero quiero empezar por C, ya de ahi se ira viendo jeje

Edito:
He visto por encima el de ANSI C, y acojona un poco he? xDD habra que tomarlo con paciencia =)

Drumpi
10/03/2013, 20:15
C, para los novatos, tiene tres partes:
1- Aprender a programar. Lo más básico: bucles, selecciones... todo lo necesario para hacer pequeños programas. La parte complicada es resolver algunos ejercicios que te hacen pensar mucho (como escribir una pirámide de A, ...).
2- Aprender punteros. Cuando crees que ya lo tienes dominado y que no hay algoritmo complicado que se te resista, aparecen los punteros y comienzas a sentirte de nuevo novato de cero. Es cuando aparecen errores raros, ventanas de windows con mensajes indescifrables y quebraderos de cabezas sobre punteros, contenidos de punteros y punteros a punteros. OMG!!!
3- Seguir aprendiendo. Superadas esas fases, ya puedes hacer de todo, pero averiguas que hay todo un mundo de cosas por explorar: librerías, motores, compiladores cruzados, orientación a objetos. Esta parte es la más relajada, pero de la que no hay mucha información en los típicosmanuales de aprendizaje, es hora de buscarse las habas según lo que necesitas en cada momento, o ir a la búsqueda de otro lenguaje/librería/motor que aprender (C++, Java, SDL, OpenGL, Unity3D...).

saucjedi
10/03/2013, 20:35
Yo no se que opinión tenéis tan rara de C :loco:

La que han tenido desde siempre sus creadores. Algo sabrán. Además, aquí nadie ha dicho que tengas que saber cómo funciona la máquina, pero si lo sabes los punteros no necesitan ni ser explicados. Y vamos, discutir que C está cerca de la máquina... en fin, como que no es discutible. Pero eso no significa dificultad, significa que es diferente.

davoker
10/03/2013, 21:20
el PDF de ANSI C (que no me dijisteis si es lo que llamamos C a secas, imagino que si, ya que trae (entre otros) C++ basico, C++ Avanzado y el primero que es "ANSI C" jeje) tiene muchisima tela, no tendra mucho relleno? es por saberlo vamos, no tengo problemas en leerlo, pero acojona un poco ver tanto tocho, no leia tanto desde.... no recuerdo :lol:

amkam
11/03/2013, 08:51
Ahora si que me habeis liado cabroncetes :lol:
A ver, voy a explicar lo que me interesa en estos temas, y asi alguno podra decirme por donde empezar desde 0, el lenguaje mas adecuado para aprender segun para lo que vaya a usarlo no?

Lo que me interesa de este "mundillo", es poder crear segun necesidad, una utilidad para facilitarme X trabajo, por ejemplo, yo estoy metido en la scene del romhacking de hace años, pero el no saber programar me tiene muy limitado y dependo de la gente que si sabe para crearme una utilidad que me extraiga e inserte textos de forma comoda y en un formato de edicion decente (es solo un ejemplo), entonces poder crear mis propias utilidades segun mis necesidades me seria de gran ayuda ^^

Por otra parte, me interesa portar software, no es lo mismo trabajar con la PSP que con una WIZ, pero si sabes lo que hay que saber, solo tienes que actulizarte y decir, vale en la WIZ esta controlado, pero como tengo PSP me interesa portar X juego (por ejemplo xD), voy a ver como va el tema y lo que necesito... (creo que se me entiende no?)

Entonces quedamos en que me interesa la creacion de softwares, y otroas cosillas, como saber portar un juego teniendo el codigo de X juego a X plataforma, quizas es un poco general esto, pero si tiens las bases, puedes aprender a portar un juego o programa a cualquier plataforma pienso, perdonadme si me equivoco, en cuyo caso recuerdo que en esto soy mega noob :lol:

Venga un saludo y espero que esto ayude a que alguien, quien sea (jajaja) me diga por que lenguaje empezar de 0, y si ya de buen rollito sabe de algun buen tutorial para ultra noobs que empiezan, tambien se agradece esa info, aun que ya encontre un par de sitios pero no me convencen xD

Gracias por la ayuda =)

Según lo 1o que dices que te interesa, para mi lo que más te ayudaría sería bash/unix scripting combinado con un lenguaje que haga sencillo parsear ficheros... en mi caso Java me parece bastante sencillo, pero también es el lenguaje que manejo a diario.

Para portar cosas y desarrollo multiplataforma no queda otra, vete a C++ principalmente por ser el lenguaje más usado hoy día (pero no el mejor). Te diría C primero y C++ luego, pero últimamente tengo muchas dudas sobre si no es mejor tirarse de cabeza a POO con C++ y olvidarse de vejestorios como C que en demasiadas ocasiones vician al programador hacia la programación estructurada y no la POO.

Una web con artículos sobre este tema y más relacionados con el mundo del videojuego que me ha gustado bastante... http://www.altdevblogaday.com (tiene incluso grandes firmas como John Carmack)

otto_xd
11/03/2013, 11:02
Dudo que C++ sea el lenguaje mas usado, solo hay que pasarse por las estadisticas de github o sourceforge para ver que alli no lo es...

Yo recomiendo C o Java, C porque es estructurada y si aprendes las estructuras de control en este lenguaje, lo tienes aprendido para todos.

Java porque creo que es el POO mas utilizado, y el mas demandado.

A mi personalmente para hacer cosas rapidas me gusta mucho python o javascript, pero creo que no recomendaria a nadie su uso para aprender a programar.

GameMaster
11/03/2013, 11:19
java era el mas usado y creo que sigue en el primer puesto

amkam
11/03/2013, 11:49
Dudo que C++ sea el lenguaje mas usado....
En desarrollo de videojuegos... :)

davoker
11/03/2013, 12:02
C parece ser la mejor opcion segun la mayoria para aprender, ya me decidi por el asi que no hay vuelta atras jeje
Ya veo que hay opiniones diversas, a mi particularmente, aparte de C me llame bastante Java, Python he visto herramientas hechas con el de colegas, igual es que mi PC es un pedo pero me da la impresion de que es algo lento a la hora de ejecutar un programa hecho con Python no? quizas sea cosa mia, pero no me pasa con programas hechos con otros lenguajes xD supongo que eso no quita que pueda ser muy util para determinadas cosas, pero "es una observacion" que se sale de la utildiad que pueda tener a la hora de programar =)

amkam
11/03/2013, 12:13
C parece ser la mejor opcion segun la mayoria para aprender, ya me decidi por el asi que no hay vuelta atras jeje
Ya veo que hay opiniones diversas, a mi particularmente, aparte de C me llame bastante Java, Python he visto herramientas hechas con el de colegas, igual es que mi PC es un pedo pero me da la impresion de que es algo lento a la hora de ejecutar un programa hecho con Python no? quizas sea cosa mia, pero no me pasa con programas hechos con otros lenguajes xD supongo que eso no quita que pueda ser muy util para determinadas cosas, pero "es una observacion" que se sale de la utildiad que pueda tener a la hora de programar =)

Aprender C es siempre una buena opción :) sobre Python muchos dicen que ese es su punto débil, luego viene Youtube y te dicen que está desarrollado en Python y ya empiezas a pensar de otro modo... Al final es lo de siempre, con dinero y buenos programadores, todos los lenguajes son buenos :P

davoker
11/03/2013, 12:27
No jodas xD entonces esta claro que depende del programador jajaja loco me dejas con esa informacion, no lo sabia :lol2:

hardyx
11/03/2013, 12:51
ANSI C es lo que se llama C a secas, ANSI C es la definición estándar del C que se utiliza en todos los sistemas. Has elegido C por lo que quieres hacer con él, pero no deja de ser un lenguaje complejo. Aún así, hay nuevos programadores que son expertos en Java, y luego ven un puntero y salen corriendo... Busca un buen IDE de C para probar lo que vayas aprendiendo, como Code::Blocks, Dev-C++, Visual C++, o el que más te guste.

davoker
11/03/2013, 13:14
Ya probe con el Dev-C++ y me gusta, pero tengo una preguntilla, como ya dije hasta que no vuelva el dia 20 no me pongo en serio pero probe hacer un pequeño ejercicio tipo "hello world", algo simple para ejecutar y que diga una frase vamos, me creo un archivo cpp, como no tengo ni idea porque para estoy aprendiendo, me esperaba que me sacara una especie de ejecutable que al darle me dijera lo que puse (que no se ria nadie por dios, que bastante verguenza me da ya xD):
#include <stdio.h>


#include <stdio.h>

int main()
{
printf("Haciendo pruebas");
getchar();
return 0;
}
Que en este caso esperaba que me dijera la frase "Haciendo pruebas", pero veo que no funciona asi el tema, creo que tendre que esperar a cuando venga de pasar unos dias y ponerme de lleno, que veo que este ejercicio no funciona como pensaba que lo haria, que noob soy mierda xD

P.D: pensaba que este IDE me compilaria el codigo para poder hacer lo que yo esperaba, pero claro, supongo que no iva asi la cosa jeje

saucjedi
11/03/2013, 13:59
Ya probe con el Dev-C++ y me gusta, pero tengo una preguntilla, como ya dije hasta que no vuelva el dia 20 no me pongo en serio pero probe hacer un pequeño ejercicio tipo "hello world", algo simple para ejecutar y que diga una frase vamos, me creo un archivo cpp, como no tengo ni idea porque para estoy aprendiendo, me esperaba que me sacara una especie de ejecutable que al darle me dijera lo que puse (que no se ria nadie por dios, que bastante verguenza me da ya xD):
#include <stdio.h>


#include <stdio.h>

int main()
{
printf("Haciendo pruebas");
getchar();
return 0;
}
Que en este caso esperaba que me dijera la frase "Haciendo pruebas", pero veo que no funciona asi el tema, creo que tendre que esperar a cuando venga de pasar unos dias y ponerme de lleno, que veo que este ejercicio no funciona como pensaba que lo haria, que noob soy mierda xD

P.D: pensaba que este IDE me compilaria el codigo para poder hacer lo que yo esperaba, pero claro, supongo que no iva asi la cosa jeje

Es como describes, así que algo habrá mal configurado... pero ¡no nos has dicho qué ocurre! Así no te podremos orientar.

juanvvc
11/03/2013, 14:02
Que en este caso esperaba que me dijera la frase "Haciendo pruebas", pero veo que no funciona asi el tema

La cosa más importante que tienes que aprender cuando programas es a saber explicarte: qué quieres hacer y cómo. Eso te servirá para dar las órdenes correctas al ordenador, y para obtener la ayuda adecuada en los foros.

¿Qué esperabas exactamente y qué ves para decir que no funciona? Voy a hacer tres suposiciones:

Suposición 1: Has escrito eso en Microsoft Word y estás esperando que el ordenador te salude con la voz de Scarlet Johansson cuando te despiertas por las mañanas.

Apúntate a un curso, estás empezando desde -1000. Muchos ayuntamientos dan cursos de programación gratuitos. Lo sé porque yo soy profesor de esos cursos en Barcelona :)

Suposición 2: Has escrito eso en un entorno de programación y lo ejecutas correctamente, pero el ordenador primero se espera a que pulses un botón y después imprime el mensaje Es decir, aparentemente al revés de lo que has programado.

¡Este comportamiento depende del sistema operativo! C está muy cerca de la máquina, así que no solo tienes que conocer el lenguaje sino también cómo lo interpretará la máquina. Es decir, el sistema operativo. Algunos sistemas operativos no envían el buffer de la consola a la pantalla hasta que el programador lo pide con una orden directa flush() o, en el caso de una terminal de texto, se envía el caracter "nueva línea". Así que en tu código falta la orden "envíalo a la pantalla", que puede ser tan simple como enviar el carácter de nueva línea. Es decir:



#include <stdio.h>

int main()
{
printf("Haciendo pruebas\n");
getchar();
return 0;
}


(fíjate bien en la chorrada que he cambiado)

Suposición 3: esperabas que ese texto apareciese en una ventana con su título, su botoncito de cerrar, su barra de herramientas y su quake VI corriendo en el background

Hacer que aparezcan ventanas con C es jodidamente difícil. No lo lograrás hasta que lleves varios meses programando. Esto es un Hello World para librería MFC en Windows:




#include <afxwin.h> // include MFC library

//
// CHelloView is paints into the center of its window, "Hello World!"
//
class CHelloView : public CWnd
{
public:
CHelloView() {};
virtual ~CHelloView() {};

void OnPaint() // on paint lets us draw into the view
{
// Output hello world in middle of the window
CPaintDC dc(this); // device context for painting
CRect rect;
GetClientRect(&rect);
dc.TextOut(rect.right/2 - 40,rect.bottom/2 - 10,"Hello World!");
}
DECLARE_MESSAGE_MAP() // need message map to handle PAINT message
};

//
// CMainFrame is our main frame window which holds our hello view
//
class CMainFrame : public CFrameWnd
{
public:
CMainFrame() {};
virtual ~CMainFrame() {};

protected:
CHelloView m_wndView;

int OnCreate(LPCREATESTRUCT lpCreateStruct)
{
// create our frame window first
if (CFrameWnd::OnCreate(lpCreateStruct) == -1) return -1;

// create a view to occupy the client area of the frame
if (!m_wndView.Create(NULL, NULL, AFX_WS_DEFAULT_VIEW,
CRect(0, 0, 0, 0), this, AFX_IDW_PANE_FIRST, NULL)) return -1;

return 0;
}

virtual BOOL OnCmdMsg(UINT nID, int nCode, void* pExtra, AFX_CMDHANDLERINFO* pHandlerInfo)
{
// let the view have first crack at the command
if (m_wndView.OnCmdMsg(nID, nCode, pExtra, pHandlerInfo))
return TRUE;

// otherwise, do default handling
return CFrameWnd::OnCmdMsg(nID, nCode, pExtra, pHandlerInfo);
}
DECLARE_MESSAGE_MAP() // need message map to handle CREATE message
};

//
// Application is our entry point into our MFC program
//
class Application : public CWinApp
{
public:
Application() {};

virtual BOOL InitInstance() // our entry point into MFC application
{
// To create the main window, this code creates a new frame window
// object and then sets it as the application's main window object.
CMainFrame* pFrame = new CMainFrame;
m_pMainWnd = pFrame;

// create and load the frame with its resources
pFrame->Create(NULL,"Hello World Application");
pFrame->ShowWindow(SW_SHOW);
return TRUE;
};
};

BEGIN_MESSAGE_MAP(CHelloView,CWnd )
ON_WM_PAINT() // paint message
END_MESSAGE_MAP()

BEGIN_MESSAGE_MAP(CMainFrame, CFrameWnd)
ON_WM_CREATE() // create message
END_MESSAGE_MAP()

// Create out global application object
Application theApp;

// Notice we have no WinMain, because the MFC library
// implements one for us
Application theApp;



Y ése código no es portable: no funcionará en ningún sistema operativo diferente de Windows.

Si lo que quieres es hacer rápidamente herramientas gráficas que te ayuden en tu día a día y que salgan en ventanas, entonces tu lenguaje es Python, Java o similar. Escoge C solo si quieres entrar realmente en serio en el mundo de la programación, pero no esperes hacer nada útil hasta dentro de varios meses. Y eso suponiendo que le dedicas varias horas a la semana.

He leido que uno de tus objetivos es "portar programas entre Wiz y PSP", y para eso sí que necesitas C. Ten en cuenta que a menos que el programador original ya haya pensado en el port desde el principio, portar programas normalmente NO ES POSIBLE porque llevaría mucho más trabajo que escribir un programa totalmente nuevo. Además, ten en cuenta que eso además de conocer el lenguaje también supone conocer perfectamente los dos entornos, Wiz y PSP. Sin ninguna duda: para cuando sepas los suficiente como para portar programas, no existirá ni Wiz ni PSP. Portar programas entre sistemas es una tarea muy difícil que necesita muchos conocimientos.

davoker
11/03/2013, 14:19
En realidad no es portar entre esas 2 consolas, sino portar a una de esas consolas, pero es solo un ejemplo, es decir, sabiendo programar y luego buscando la infomacion necesaria sobre X consola, podre coger un source de un juego de PC y portarlo (en la medida de lo posible) a una WIZ, o a una PSP, pero no de PSP a WIZ o al reves ^^

Tengo Windows XP y bueno, segui los pasos de este sitio antes de que hardyx me pasara una web con buenos cursos:
http://www.aprendeaprogramar.com/mod/resource/view.php?id=11

Ahi viene lo que queria hacer, quizas asi me explique mejor, no solo estoy interesado en portar un software a X consola, me interesa un poco a lo general poder crear mis propias aplicaciones para proyectos diversos que me surgen o tengo, aplicaciones que me hagan las tareas mas faciles;

Tambien ando metido en el mundillo del romhacking, y el no saber programar me tiene muy limitado, siempre dependo de un programador para hacer una traduccion, saber como funcionan ciertos ficheros para hacer mis propias modificaciones, creacion de utilidades extractoras de codigos binarios que traducen el codigo en texto plano para su edicion, no se si me explico, es algo un poco general, y me da igual los lenguajes que haya que aprender, el caso es empezar por uno que segun lo que quiero hacer, me vaya siendo util, en lo que vaya aprendiendo cosas mas complicadas ^^

P.D: Ojo, que no digo que "que me vaya siendo util" y que sea algo en plan " que me sea util ya mismo", se perfectamente que para lograr eso, tendran que pasar unos meses hasta que pueda hacerme una aplicacion minimamente util, pero si quiero programar es por cosillas como estas que comento arriba, el decir: voy a portar este juego a la WIZ o a la PSP o al culo de la vecina, o voy hacerme una aplicacion que me busque los punteros automaticamente de X archivo para que me resulte mas facil una traduccion, o voy hacerme una aplicacion... etc etc jeje

juanvvc
11/03/2013, 14:27
podre coger un source de un juego de PC y portarlo (en la medida de lo posible) a una WIZ, o a una PSP^

Me parece que no eres consciente de lo TREMENDAMENTE difícil que es eso :) En el 95% de los casos no se puede y aunque se pueda es mucho trabajo. Si el juego ya está pensado para ser portable entonces no necesitas aprender a programar, solo necesitas aprender a usar un compilador.


Tengo Windows XP y bueno, segui los pasos de este sitio antes de que hardyx me pasara una web con buenos cursos

Pero aún no has explicado por qué dices que el código que has puesto antes no funciona. A mí sí que me funciona. Por eso creo que piensas que ése código tiene que hacer algo que no hace, como crear una ventana o algo.


me interesa un poco a lo general poder crear mis propias aplicaciones para proyectos diversos que me surgen o tengo, aplicaciones que me hagan las tareas mas faciles; (...) el caso es empezar por uno que segun lo que quiero hacer, me vaya siendo util, en lo que vaya aprendiendo cosas mas complicadas ^^

¿Esas aplicaciones tienen ventanas? Si es así, probablemente C no es la mejor idea. Para hacer programación "casual" por diversión y para ayudarte en el día a día, creo que es mejor usar lenguajes pensados para eso, como Python.

hardyx
11/03/2013, 14:34
Ya probe con el Dev-C++ y me gusta, pero tengo una preguntilla, como ya dije hasta que no vuelva el dia 20 no me pongo en serio pero probe hacer un pequeño ejercicio tipo "hello world", algo simple para ejecutar y que diga una frase vamos, me creo un archivo cpp, como no tengo ni idea porque para estoy aprendiendo, me esperaba que me sacara una especie de ejecutable que al darle me dijera lo que puse (que no se ria nadie por dios, que bastante verguenza me da ya xD):
#include <stdio.h>


#include <stdio.h>

int main()
{
printf("Haciendo pruebas");
getchar();
return 0;
}
Que en este caso esperaba que me dijera la frase "Haciendo pruebas", pero veo que no funciona asi el tema, creo que tendre que esperar a cuando venga de pasar unos dias y ponerme de lleno, que veo que este ejercicio no funciona como pensaba que lo haria, que noob soy mierda xD

P.D: pensaba que este IDE me compilaria el codigo para poder hacer lo que yo esperaba, pero claro, supongo que no iva asi la cosa jeje

El programa que pones debería funcionarte, no tiene errores de sintaxis. Dale a compilar y mira si te da algún mensaje de error, si no es así, dandole a Run podrás ver el texto y tendrás un ejecutable creado junto al fichero fuente. Si no es así, lo tendrás mal configurado el compilador.

davoker
11/03/2013, 15:32
El programa que pones debería funcionarte, no tiene errores de sintaxis. Dale a compilar y mira si te da algún mensaje de error, si no es así, dandole a Run podrás ver el texto y tendrás un ejecutable creado junto al fichero fuente. Si no es así, lo tendrás mal configurado el compilador.

Ahi si nos entendemos, pues debo de tener algo mal configurado, por que le doy a RUN y no hace nada jeje y ahi es donde queria llegar yo, con lo del ejecutable y el fichero fuente, entiendo que deberia ver 2 archivos, el ejecutable y el fichero que tiene el codigo, solo veo el CPP nada mas, y dandole a RUN no va, no hace nada, quizas tenga algo mal en el programa, nunca lo usé como es logico y no se como deberia estar configurado, en el ejercicio ese del enlace tampoco dice si hay que configurar algo, echare un vistazo a ver si consigo hacerlo rular, se que es una tontera, pero si no me funciona esa chorrada de ejercicio, tampoco puedo hacer los siguientes xD

juanvvc, no soy un entendido ni nada pero los programas tambien se hacen en C no? se que con otros lenguajes tamien se puede, y programas que uno jamas pensaria que se podrian hacer con ciertos lenguajes, pero vamos, a mi poco entender, que es nada y menos, con C puedes hacer lo que sea, segun entiendo lo que aqui se comenta vamos, que sea mas facil con otro lenguaje no digo que no, pero ya que C es como uno de los principales, el padre de los lenguajes ocmo dicen por ahi arriba xD que si sabes C lo demas es mas facil, etc etc, pues oye, es suficiente, que tardo 1 año en hacer un programa con C, por el tema de aprendizaje?, no hay prisa, cuando este controlado ya pasaremos a otras cosas ^^

P.D: Lo de portar cosas, es solo una idea, es decir, si se puede pues bien, sino se puede pues nada, no es principal para mi, lo demas si =)

pakoito
11/03/2013, 15:39
Busca en la configuración del proyecto la carpeta de salida (output o debug), busca allí el fichero .exe con el nombre del programa, abre un terminal de windows, arrastralo para copiar la ruta y ejecútalo dándole a intro. Así aunque de error no se cerrará repentinamentre y podrás ver si ha sido correcto o no.

davoker
11/03/2013, 15:40
Ok ahora compruebo y edito con lo que sea, gracias =)

pakoito
11/03/2013, 15:41
@juanvvc, no soy un entendido ni nada pero los programas tambien se hacen en C no? se que con otros lenguajes tamien se puede, y programas que uno jamas pensaria que se podrian hacer con ciertos lenguajes, pero vamos, a mi poco entender, que es nada y menos, con C puedes hacer lo que sea, segun entiendo lo que aqui se comenta vamos, que sea mas facil con otro lenguaje no digo que no, pero ya que C es como uno de los principales, el padre de los lenguajes ocmo dicen por ahi arriba xD que si sabes C lo demas es mas facil, etc etc, pues oye, es suficiente, que tardo 1 año en hacer un programa con C, por el tema de aprendizaje?, no hay prisa, cuando este controlado ya pasaremos a otras cosas ^^Ya estás perdido. Snifff, te echaremos de menos. Ponnos una carta cuando vuelvas de las cuevas del bajo nivel con la reinvención de la rueda :P

davoker
11/03/2013, 15:53
Hay opiniones tan diferentes respecto a este tema pakoito, que no se se a quien hacer caso, asi que empezaremos por C, ires a por java despues, python, por que no, asi os dejo contentos a todos, que mas da si yo exploto ahi empoyando como un *****? ademas si reinvento la rueda y sale algo mejor, tambien me vale =)

Bueno pues mira, segun el Dev-C, el exe deberia estar donde me deja el fichero cpp, por que yo guardo en cpp, no se si deberia guardarlo de otra forma, pongo el codigo y le doy a compilar y ejecutar, me pide guardar y guardo en cpp, no hago nada mas, en la pestaña "resultados de la compilacion", dice que me ejecuta un "prueba.exe" pero no hay exe ninguno, y en la pestaña compilador me dice: " el sistema no puede hallar el archivo especificado", no hago nada mas ni se que otra cosa explicar jeje

juanvvc
11/03/2013, 20:43
¿De dónde has sacado Dev-C++? Ten en cuenta que el Dev-C++ "oficial" dejó de actualizarse hace años y el más moderno el que se mantiene es éste http://sourceforge.net/projects/orwelldevcpp/

Aún así y por si acaso, he descargado el antiguo desde esta dirección: http://www.bloodshed.net/dev/devcpp.html (el que pone "with Mingw/GCC 3.4.2") He seguido tus pasos y ha funcionado correctamente.

¿Puede ser que no tengas compilador? Es decir, que hayas descargado el paquete pequeño en vez del completo.

-----Actualizado-----


que mas da si yo exploto ahi empoyando como un *****?

Programar es empollar como un *****, así que si no te gusta empollar como un *****, quizá sea mejor no meterse...

davoker
11/03/2013, 23:00
Na, era un poco de sarcasmo, no lo tomes a mal ^^ si hay que empollar se empolla, o me hago mamporrero, lo que haga falta para tirar con esto adelante jeje (chiste malo xD) =)

Pues a ver me descargue uno que no esta en ninguno de esos enlaces, es esta version "Dev-C++ 5.0 beta 9.2 (4.9.9.2)" la que tengo, y no llega a 3MB, sera eso que dices de que no tengo compilador? voy a descargar el que me has puesto que dices que es el mas nuevo y voy a probar con el a ver que tal, luego te cuento, gracias

P.D: ya de por si casi seguro que tienes razon, el que me esto bajando pesa mas de 40MB xD es lo que pasa cuando se es un pedazo noob jajaja :lol:

Edito: vale ahora si me compila y tengo el exe, pero me dice: "error launching program (193), no es una aplicacion valida para win32", que puede ser?
Le dado a revisar sintaxis y me dice: File truncated - [error] id returned 1 exit status.

Edito2: valeeeee solucionado, me puse a investigar un poco y el compilador lo tenia para un sistema de 64 bits jejeje, solucionado poniendolo a 32, y la chorrada esta me ha hecho mas ilusion que la ostia, he hecho que haga una suma, y encima estoy contento, que triste jajaja

hardyx
12/03/2013, 13:26
Te habías descargado sólo el IDE sin compilador.
Enhorabuena por tu primer programa. :brindis:

davoker
12/03/2013, 13:41
Yo tambien lo llamo asi por cutre que sea jajaja me hizo cierta ilusion, mañana marcho pa Galicia unos dias, cuando venga me pongo a tope con esto, tambien mirare en el ayuntamiento a ver si hay cursos como dijeron mas arriba, asi que a ver =)

^MiSaTo^
12/03/2013, 13:46
Yo te recomiendo que mires en coursera, udacity o cualquiera de estas, que cursos de introducción a la programación hay mil y suelen ser bastante buenos (de Standford, el MIT...)

davoker
12/03/2013, 14:09
Yo te recomiendo que mires en coursera, udacity o cualquiera de estas, que cursos de introducción a la programación hay mil y suelen ser bastante buenos (de Standford, el MIT...)

No piloto mucho el ingles y parecen sitios para gente digamos... con mas estudios, yo a los 14 años tuve que ponerme a trabajar (que buenos tiempos, había trabajo xD) y no pude dedicarle mucho a los estudios, de eso hace unos cuantos años =) o saco esto adelante por mi parte o no lo saco, ya seria mirar cursos del tipo del ayuntamiento y lo que haga por mi parte, menos es nada :D

^MiSaTo^
12/03/2013, 14:13
No piloto mucho el ingles y parecen sitios para gente digamos... con mas estudios, yo a los 14 años tuve que ponerme a trabajar (que buenos tiempos, había trabajo xD) y no pude dedicarle mucho a los estudios, de eso hace unos cuantos años =) o saco esto adelante por mi parte o no lo saco, ya seria mirar cursos del tipo del ayuntamiento y lo que haga por mi parte, menos es nada :D

La única "pega" es que están en inglés pero muchos de ellos tienen también subtítulos. Hay de todos los niveles, porque hace poco un amigo mío se hizo precisamente uno de aprender a programar del MIT y empezaba completamente desde cero.
Lo bueno es que en muchos te dan un certificado válido (bueno en España no se cómo de válido es, pero en muchos sitios ya empiezan a aceptarlos, no olvidemos que son cursos de universidades de prestigio).
Te lo digo porque ahí tienes un profesor que te resuelve duras, foros, prácticas, ejercicios, etc que por tu cuenta no vas a tener ;)

davoker
12/03/2013, 15:27
Bien en ese caso habra que echarle un vistazo, gracias por la info tio =)

davoker
22/03/2013, 19:45
Una pregunta gente, los "makefile" son para compilar en linux? si tienes el source de una aplicacion, juego o lo que sea, y viene en este formato (perdonad la ignorancia, no se como llamarlo jeje) no es posible compilarlo en windows? no tengo nada de manejo con linux, nunca lo use ni nada, supongo que muchos me direis que lo suyo es usar linux para estas cosas, pero me gustaria saber que otras alternativas tengo en este caso, si es posible compilar ese source en windows y tal vamos;

P.D: es que ya me han dicho que ponga windows 7 por que pide menos recursos, va mejor y todo eso, y no quiero tener que meterme en linux tambien, que voy a tener liada para pasar drivers de la CPU y que me los reconozca windows 7, como para liarme mas con otro SO xD

hardyx
22/03/2013, 20:10
Algunos de los proyectos de código abierto tienen su makefile para compilar en Linux, pero teóricamente también podrías hacerlo en Windows usando Cygwin, que es un entorno que simula un shell (línea de comandos) y un entorno de desarrollo de Linux. No te preocupes, la programación es un océano y te puedes meter tan profundo como quieras, pero siempre poco a poco. :D

pakoito
23/03/2013, 01:07
Lo primero, la definición: makefile es un fichero que especifica cómo debe de ser compilado un programa complejo con múltiples librerías o directorios de fuentes. Se usan en Linux o en el programa Cygwin para Windows. Sobre cómo escribir tu makefile acorde a las necesidades de tu proyecto hay mucha información disponible en internet.

Drumpi
23/03/2013, 01:17
Creo recordar que hay programas que te generan el makefile de forma automática, o eso creo recordar con los proyectos de Dev-C++... aunque claro, nunca llegué más lejos del "compile and run" con ese.
Si ya tienes un makefile hecho, sólo debes leértelo para ver si las rutas están correctas y tienes las librerías. Aunque no sepas crearlos son fáciles de entender.

Después, como dicen, con Cygwin invocas al comando make para compilar y listo. Bueno, hay makefiles que tienen secciones marcadas por un nombre seguido de dos puntos, por si quieres realizar diversas acciones, por ejemplo, con "make" sólo compilas, y con "make install", haces lo que se indica en la seccion "install:", que suele ser, además de compilar los fuentes, copiar los binarios en las carpetas de instalación por defecto.

Pero eso, poquito a poco: instala cygwin y compila el "hola mundo" con GCC.

hardyx
23/03/2013, 01:27
Si quieres saber cómo funcionan los makefiles, aqui tienes un documento muy bien explicado.

http://macprogramadores.org/documentacion/make.pdf

davoker
23/03/2013, 04:56
Enlace para la saca, gracias por la info tios, y como ya han dicho, voy poquito a poco :D

Ando un poco dejado con esto desde que llegue el miercoles de pasar unos dias, y es que me a debido mirar mal un tuerto, no he tenido mas que problemas en mi casa, caldera jodida, escape de gas (y muy gordo, no se como estoy vivo para contarlo, nos levantamos la novia y yo con un dolor de cabeza y mareos muy serios), ademas un ***** se a meado en mi bicicleta 4 veces y me a agujereado el sillin (y eso dentro de los trasteros en el pasillo, no dentro de mi trastero, que es pequeño y no me cabe dentro la bici > <) y estoy un poco quemado, son gastos por todos lados y tengo que planear como asesinar al ********* ese sin que me piyen, que sospecho quien es (pobre, no sabe lo que le espera, va conocer de primera mano lo ****** que era hace 21 años :loco: ) y en fin, a ver si pasa todo este marron y me centro, que estoy hasta los "cojines", asi cuesta concentrarse...

Ya ire preguntando, que quedan muchas preguntas, la definicion de "cansinismo" de José Mota esta basada en mi :D