(AYUDA)Programacion desde 0

Hola!
Queria ver que se nesecita para empesar a programar Hmebrew de Wii.
Mis conocimientos de programacion son 0 n.nU
De momento empieza como yo, bajate el devkitppc, que es la herramienta de programacion, y mirate bien los codigos fuente que te vienen, que te serviran para iniciarte. Luego bajate codigos fuente de otras aplicaciones y vete trasteando con ellos. Asi es como voy yo, poquito a poco
si tus conocimientos de programacion son 0 empieza a aprender C
Pues lo primero es eso, aprender programación [carcajad]
supongo de la premisa de que ya tienes un linux instalado. si no es asi, instalate uno. es mucho mas facil partir de un gcc y programas c sencillos que de libogc. si no quieres instalar linux, bajate cygwin.

una vez hay, busca en google "programar en c -c++". no quieres aprender c++ (que hay muchas guias tambien) sino c (por ahora). ve haciendo programas de prueba con variables, punteros, estructuras y funciones, archivos... etc. una vez que te veas suelto y los programas te funcionen, metete con devkit, porque hay que saber algo para entender lo que hacen las cosas antes de ponerse a escribir código.

si quieres aprender bien pillate un libro de c. hay un monton y te guian muy bien. recomendado 100%.
A mi tambien me gusta mucho linux, pero no te hace ninguna falta si no lo quieres. Hay mil y un compiladores de C y C++ para windows. Por ejemplo puedes bajarte del Devcpp, que esta bastante bien para empezar, es muy sencillito. Incluso el compilador official de windows tiene una version gratis, Microsoft Visual C++ Express edition, que es genial para compilar de todo en C. Cuando ya controles C, bajate el Devkitppc y empieza a programar con libogc. Tambien puedes ir aprendiendo las dos cosas a la vez, pero puede costarte algo mas de trabajo.
bass4ever sobre todo paciencia no te creas que programar es nada que se pueda aprendar en 1 semana, le tienes que dedicar muchas horas para aprender a hacer chorradillas, te lo dice uno que lleva un año estudiando programacion en la universidad y  sabe 4 cosas contadas
Yo te recomiendo esta guía, es la que yo leí para aprender C hace poco menos de una año:

http://www.elrincondelc.com/cursoc/cursoc.html

Está todo muy bien explicado, y es para principiantes. Solo explica a hacer programas de consola (línea de comandos) más o menos básicos, pero es una buena introducción. Sobre programar para Wii yo ni idea, yo después de considerar que ya tenia todo lo de consola aprendido estudié lo básico de WinAPI ( http://winapi.conclase.net/curso/index.php está muy bien).

PD: Yo como compilador recomiendo el Code::Blocks, el Dev-C++ está bien pero falla mucho en los tabuladores del código fuente y no tiene tantas opciones, y el VC++ está muy bien pero gasta mucho espacio en el HDD y solo puedes compilar con el compilador de VC++ (creo).
gracias por ayudarnos a los principiantes en la scene
Hombre, yo creo que con el devkitppc y el template de wii sobra para ir viendo como se usa el C. Yo aprendí C con un ejemplo de mostrar texto con PAlib en DS y luego fui aprendiendo más cosas según las necesitaba. Mírate unos tutoriales de C en internet y listo. También es muy importante mirar ejemplos de sources porque algunos usan truquitos que pueden ser muy útiles y es bueno aprenderlos.

PD: Mi primer juego en C fue un marcianitos en ASCII. [360º]
PD2: Eso si, ya había programado con gamemaker y visual basic, no se parecen en nada (sobre todo el game maker) pero ya sabía mas o menos programar.
Lo de un año en la universidad y saber 4 cosas de es normal, en la uni van a paso huevo. Yo este año tambien he dado C en la uni (Yo sabia programar desde hace 3 años, en varios lenguajes) y habre ido a 3 o 4 clases para saber mas o menos el nivel que habria en el examen. ¿Mi conclusion? Pisando Huevos. Lo mejor y mas rapido son unos tutoriales en internet y a la vez ir mirando sources (por ejemplo ve haciendo a la vez que los tutoriales algunos ejemplos de libogc). En una semana sabras mas o menos como va.
technik escribió:Lo de un año en la universidad y saber 4 cosas de es normal, en la uni van a paso huevo. Yo este año tambien he dado C en la uni (Yo sabia programar desde hace 3 años, en varios lenguajes) y habre ido a 3 o 4 clases para saber mas o menos el nivel que habria en el examen. ¿Mi conclusion? Pisando Huevos. Lo mejor y mas rapido son unos tutoriales en internet y a la vez ir mirando sources (por ejemplo ve haciendo a la vez que los tutoriales algunos ejemplos de libogc). En una semana sabras mas o menos como va.


Me podrías decir más o menos que nivel había? Aun estaban con las aplicaciones de consola?

Es que yo soy aun bastante joven como para ir a la universidad [+risas] [+risas] [+risas]
Por supesto que estaban con consola jajaja, es que no se da otra cosa xDD. Al final de curso (todo un año) lo ultimo que habian visto eran listas enlazadas a nivel muuuy basico, ni arboles, ni multiproceso, ni preprocesado, etc...Vamos, que se aprende mucho mas rapido por internet.

PD: Me estais empezando a hacer sentir viejo ya xDD
Joer pues gracias a esta gente por recomendar buenos tutos.
Snif! Jooo...yo ahora que estaba aprendiendo pascal...Snif! toca C [triston]
technik escribió:Por supesto que estaban con consola jajaja, es que no se da otra cosa xDD. Al final de curso (todo un año) lo ultimo que habian visto eran listas enlazadas a nivel muuuy basico, ni arboles, ni multiproceso, ni preprocesado, etc...Vamos, que se aprende mucho mas rapido por internet.

PD: Me estais empezando a hacer sentir viejo ya xDD


Me lo imaginaba [+risas] Conozco a una persona que está haciendo una "FP de grado superior" de informática (C#) y después de una año aun está... ordenando arrays [buaaj] [buaaj]
Otra guía que puedes usar (si dominas inglés), es "The C Programming Language" de Kernigam & Ritchie (Padres del C), algunos dirán que es una guía "desfasada", pero para aprender creo que es bastante positiva por que no explican sólo lo que es C, además comprendres algo de la arquitectura Von Newman, etc. que ayuda a conocer por qué se programa como se programa.

Un saludo.
pues yo se de programacion, en c, y no hay manera, intengo introducirme a la programacion grafica pero usando GX y no hay manera, no encuentro documentacion por ningun sitio. [buuuaaaa]
technik escribió:Por supesto que estaban con consola jajaja, es que no se da otra cosa xDD. Al final de curso (todo un año) lo ultimo que habian visto eran listas enlazadas a nivel muuuy basico, ni arboles, ni multiproceso, ni preprocesado, etc...Vamos, que se aprende mucho mas rapido por internet.

PD: Me estais empezando a hacer sentir viejo ya xDD


eso no se puede enseñar en primero de carrera....
CyBeR PeReZ escribió:
technik escribió:Por supesto que estaban con consola jajaja, es que no se da otra cosa xDD. Al final de curso (todo un año) lo ultimo que habian visto eran listas enlazadas a nivel muuuy basico, ni arboles, ni multiproceso, ni preprocesado, etc...Vamos, que se aprende mucho mas rapido por internet.

PD: Me estais empezando a hacer sentir viejo ya xDD


eso no se puede enseñar en primero de carrera....


Yo estudiando "libre" por internet desde hace menos de un año ya sé que son los arboles (y hacerlos, tanto árboles con punteros+estructuras como arboles con WinAPI), lo otro no mucho [+risas]

Vale que en primero de carrera no tengas que saber que es multiproceso, pero la verdad es que tampoco tendrían que estar haciendo listas ZzzZZ

Por cierto, los libros entran en la ley de copia privada, no? [360º]
Bueno yo dejo este enlace que son un video curso completo en español, es muy sencillo y da mucha info, incluso para gente que ya se desenvuelve con C y C++.
El curso es de c++. Son online

http://lnx.googlewrite.com/cpp/wimpy.php

Un saludo, Lord Lazyapply
Aver si entendi...
Necesito tener linux en mi pc, y aprender c, y despues c++?
No xD, no necesitas linux para nada (nada de esto) Solo necesitas el r15 con las ultimas libogc y aprender C
si quieres programar en c para un pc puedes instalar en windows un programa que se llama cygwin. con este puedes hacer programas basicos (y no tanto) en c en windows. sino, puedes instalar directamente el toolchain y hacer ahi programas cutrecillos, pero para empezar te recomeindo hacer los programas en cygwin y probarlos en la linea de comando de cygwin, y luego saltar a ppc.
Entonces (que yo también me aclare), los estudios mismos que aprendes para Wii, también valen para NDS (es que quiero empezar con ambas), ¿me equivoco? ¿O para NDS ma hace falta otro lenguaje?
Leopoldo escribió:Entonces (que yo también me aclare), los estudios mismos que aprendes para Wii, también valen para NDS (es que quiero empezar con ambas), ¿me equivoco? ¿O para NDS ma hace falta otro lenguaje?


En parte si y en parte no, lo más probable es que todo sea lo mismo excepto las librerías, pero todo lo básico (bucles, tipos, etc...) será lo mismo.
A eso me refería, a si el lenguaje era el mismo (por supuesto que las librerías no van a ser las mismas...). Ahora en verano entre clases y tutoriales de Internet, me pondré a hacer cosas para Wii, NDS y PC.
Yo para programar en Windows os recomiendo el Microsoft visual C++, que tiene un soporte detras acojonante. Con el se puede hacer TODO para windows.
Sí, bueno, me refiero a empezar con C, y luego con C++. Pero lo normal es que empiece con PHP o Java (o los 2) y luego C y C++.
Con el MSVC++ se puede programar en C. No creo que necesites Java, cuanto antes empieces con C antes empezaras con tu Wii
Muy buenas a tod@s, estoy viendo la posibilidad de pegarme un poco al tema de l aprogramacion, decir que mi nivel es 0 , pero cero cero. He leido todo este hilo y me parece muy interesante lo que exponeis, en principio , quisiera hacer cosas basicas en qindows, pero me quiero decantar mas por la programacion en Wii. Entiendo que sabiendo C o C++ , se tiene casi todo el camino echo para llegar a programar en Wii, pero comentais algo de unas librerias, sabeis de donde sacar mas informacion sobre eso?? al poder ser en el idioma de Cervantes. Tambien veo , por lo que comentais alguno, que si es posible , uno mismo por su cuenta llegar a aprender C, C++ , etc, con toda la informacion que nos ofrece internet, pero me recomendais algun libro , con ejemplos , tutoriales ,practicas etc etc , que vendan y poder tenerlo como soporte al estudio???

Un saludo y gracias por todo.
A mi tambien me gustaría empezar de cero otra vez... Me he leido el tutorial del rincon del c pero pues, aun no domino la programacion en c...Hay algun libro mas completo que nos puedan recomendar para noobs en programacion?? Algo que nos enseñe todo eso de direcciones de memoria...
Muchas gracias...
A mi tambien me gustaría empezar de cero otra vez... Me he leido el tutorial del rincon del c pero pues, aun no domino la programacion en c...Hay algun libro mas completo que nos puedan recomendar para noobs en programacion?? Algo que nos enseñe todo eso de direcciones de memoria...
Muchas gracias...


Pues como han dicho antes, hay libros mas avanzados sobre la programación C, por ejemplo el "The C Programming Language Second Edition" de "Brian W. Kernighan" y "Dennis M. Ritchie".

Saludos.
Está en ingles verdad?? xD, es que domino un poco el ingles pero tampoco para leerme un libro jeje.. Disculpa por joder tanto xD..
Lo q te recomiendo para aprender a programar es paciencia, cafe y libros donde puedas ver ejemplos. Mejor usar libros que te obliguen a escribir el codigo en el editor que buscar en google y hacer un copy-paste. Empieza por cosas sencillas. El hola mundo es una pijada pero es muy util por de esa manera tendras un punto de partida. No te metas de cabeza a la programacion en Wii ni de ninguna consola. Primero haz cosas en el PC y mira q estan bien. No se aprende a programar en un dia, ni una semana. Se tardan años en ser un programador competente y se necesitan muchas horas picando codigo para aprender a resolver los problemas que te vayan surgiendo. En cuanto a libros la biblia del C++ es el thinking C++. Es un libro bastante denso pero es util. Suerte con el curro q tienes delante :).
Mi granito de arena: si quieres programar, empieza por una plataforma mas simple (por ejemplo en el PC), y asegúrate de que entiendes el lenguaje (que no las libs, que son distintas) antes de meterte con la Wii. Si te metes directamente con la Wii, vas a terminar copiando y pegando código sin saber que hace, y eso solo conlleva a malas aplicaciones y quebraderos de cabeza cuando quieras hacer algo que no está ya hecho.

Lo importante es que te centres primero en el lenguaje C en sí (funciones, bucles, condicionales, variables, tipos, punteros, uso de memoria, headers, linking, estructuras, macros, etc) y las librerías mas básicas (libc), que es lo que te servirá para la Wii. Cuando domines eso, podrás meterte con la programación para la Wii y sus librerias.

Y paciencia. No se aprende a programar (programar de verdad, no copiar y pegar) en un día ni en dos ni en diez ni en treinta, y menos para la Wii. El que diga que ha aprendido desde 0, sin saber nada, a programar para la Wii, en tan poco tiempo, es que realmente no sabe programar.
Muchas gracias, me voy a dedicar bastante a esto, a ver si aprendo porque como tu dices no se aprende de copy&paste, se aprende escribiendolo por uno mismo.. Ahora me estoy buscando libros buenos, vamos a ver que sale..
uhhh a mi me gustaria aprender.... yo he visto algo de C en la universidad hace ya varios años... luego C++ muy poco la verdad... ya que luego vimos java y desde entonces he visto solo java es mas trabajo como programador java xDDDDDD desde hace ya unos 3 años... eso si los punteros de C me parecen horribles... pero si no hay manera... pues a reaprender xDDD ya teniendo la base que tengo que cosas podria ver para empezar...? no se un hola mundo para wii??? o tengo que seguir con el c... notese que hace años que no uso ningun programa para usar c la verdad es que no se cual sea el mas adecuado ahora algunos dicen uno otros mencionan otros programas... no se... marcan tu que dices??
la consulta que tengo es si alguien me ayuda a instalar devkitPPC_r15-x86_64-linux.tar.bz2 en mi ubuntu, porque en la mvirtual bajo windows, no es complico instalarlo, pero bajo ubuntu, no se si tengo que copiar los archivos y segir usando gcc, o hay algun comando especia para gcc para ppc...

gracias
eliglu
Trollazo está baneado por "Troll"
lazyapply escribió:Bueno yo dejo este enlace que son un video curso completo en español, es muy sencillo y da mucha info, incluso para gente que ya se desenvuelve con C y C++.
El curso es de c++. Son online

http://lnx.googlewrite.com/cpp/wimpy.php

Un saludo, Lord Lazyapply



gracias
atencion pregunta

y para pasar el Frodo Commodore 64 a la Wii que se necesita?

http://frodo.cebix.net/

ahi viene el codigo... solo habria que adpatarlo para la Wii ¿no? es muy dificil hacerlo?

Yo tambien quiero aprender , que alguien nos de clases!!! [+risas]
Me uno a la peticion de clases particulares xD
Trollazo está baneado por "Troll"
trigui escribió:Me uno a la peticion de clases particulares xD


¿conoces SL?
xD, yo estoy haciendo cursos de c por internet.. Encontré uno de wikilibros, y lo complementé con el del rincon del c ... Pero estoy haciendo un programa simple que realiza operaciones básicas (suma resta multiplicacion y division) y le pongo scanf en cada caso para que agregue el valor de un numero escrito a una variable y no me lo coje.. He revisado todo xD...
Despues de programar en consola, intentaré programar en entorno para windows xD.. Y despues busco para linux... Y luego si me vuelvo a meter con la de wii..
Danielc escribió:Pero estoy haciendo un programa simple que realiza operaciones básicas (suma resta multiplicacion y division) y le pongo scanf en cada caso para que agregue el valor de un numero escrito a una variable y no me lo coje.. He revisado todo xD...

Por curiosidad, si no tienes esta línea antes del scanf pónsela:
fflush(stdin);
Trollazo escribió:
trigui escribió:Me uno a la peticion de clases particulares xD


¿conoces SL?

¿Eso que es?
Trollazo está baneado por "Troll"
trigui escribió:
Trollazo escribió:
trigui escribió:Me uno a la peticion de clases particulares xD


¿conoces SL?

¿Eso que es?



www.secondlife.com

Dan clases de todo, algunas gratis, otras de pago, pero clases de verdad, incluso algunas universidades dan clases a traves de SL.
Bueno, para los interesados os dire que existe una pagina de nacho cabanes (buscad en google, sale la primera) que contiene pdf muy básicos para iniciarse en C.
Luego también tenéis otra que es illasaron en la cual encontrareis video tutoriales de todo tipo, y entre ellos de c++.
realbrucest escribió:
Danielc escribió:Pero estoy haciendo un programa simple que realiza operaciones básicas (suma resta multiplicacion y division) y le pongo scanf en cada caso para que agregue el valor de un numero escrito a una variable y no me lo coje.. He revisado todo xD...

Por curiosidad, si no tienes esta línea antes del scanf pónsela:
fflush(stdin);

Ya se la pongo xD, que me toca volver a escribirlo todo xD, lo habia hechoy lo guarde y ahora me aparece el archivo c ya para compilar con una informacion rara xD...
Lo hago y te cuento.. Gracias..
EDIT:
No me funciona, mira, este es el codigo:
#include <stdio.h>
#include <stdlib.h>
int main (int argc,char **argv)
{
    int a;
    int b;
    int resultado;
    char operacion;
    printf("Bienvenido. Programa de operaciones básicas. Esta es una prueba de concepto de Danielc \n\n");
    printf("Realizare una operacion segun el valor que introduzca, este valor se almacenara en la variable operacion y definira que tipo de operacion se llevara a cabo.\n");
    printf("Escriba s para suma, r para resta, m para multiplicacion y d para division\n");
    fflush(stdin);
    scanf("%c", &operacion);
    switch(operacion)
    {
    case 's':
         printf("Escriba el valor de los dos numeros separados por un +. Los numeros deben ser enteros\n");
         fflush(stdin);
         scanf("%i+%i", &a, &b);
         resultado = a+b;
         printf("El resultado es %i\n", &resultado);
         break;
    case 'r':
         printf("Escriba el valor de los dos numeros separados por un -. Los numeros deben ser enteros\n");
         fflush(stdin);
         scanf("%i-%i", &a, &b);
         resultado = a-b;
         printf("El resultado es %i\n", &resultado);
         break;
    case 'm':
         printf("Escriba el valor de los dos numeros separados por un *. Los numeros deben ser enteros\n");
         fflush(stdin);
         scanf("%i*%i", &a, &b);
         resultado = a*b;
         printf("El resultado es %i\n", &resultado);
         break;
    case 'd':
         printf("Escriba el valor de los dos numeros separados por un /. Los numeros deben ser enteros\n");
         fflush(stdin);
         scanf("%i/%i", &a, &b);
         resultado = a*b;
         printf("El resultado es %i\n", &resultado);
         break;
    default:
         printf("Operacion no identificada\n");
    }
    system("pause");
    return 0;
}


Cuando compilo y ejecuto me pide el valor que se le va a dar a la variable operacion, por poner un ejemplo, le introduzco la letra s, me pide los numeros para realizar una suma, le pongo lo mas obvio 1+1 y lanza un valor de como 289760 xD...
Que puede ser??..
Gracias por tu interes de antemano..
quitale & a resultado. Solo usas & en los scanf, en los printf no hay que usarlo, a no ser que quieres mostrar la dirección de memoria (creo recordar).
Además eso de scanf("%i+%i",&a,&b) me da a mi que no funciona. Ponlo scanf("%i %i", &a, &b); y ya esta.
Y en la división, aparte de que has puesto * en vez de /, deberás mostrarlo en float para que salgan decimales. Para ello crea una var de tipo float (float resuldiv) y para mostarla %f. O prueba a hacer un cast printf("El resultado es %f\n", (float)resultado*1.0);
APOCa escribió:quitale & a resultado. Solo usas & en los scanf, en los printf no hay que usarlo, a no ser que quieres mostrar la dirección de memoria (creo recordar).
Además eso de scanf("%i+%i",&a,&b) me da a mi que no funciona. Ponlo scanf("%i %i", &a, &b); y ya esta.
Y en la división, aparte de que has puesto * en vez de /, deberás mostrarlo en float para que salgan decimales. Para ello crea una var de tipo float (float resuldiv) y para mostarla %f. O prueba a hacer un cast printf("El resultado es %f\n", (float)resultado*1.0);

Muchas gracias xD.. Me acababa de leer en el rincon del c eso de los punteros con el printf y ya lo he corregido.. Lo de float tambien lo acabo de cambiar para que soporte decimales... Lo del scanf si sirve asi xD.. El usuario tiene que introducir los numeros seguidos por el signo que le puse... Tambien cambie para que ya no mostrara el valor entero (%i) si no el valor con decimales cuando sea necesario(%f)...
Salu2 y gracias..
Si a alguien le sirve de ejemplo aqui esta, xD, aunque no creo porque en el rincon del c hay mucho mejores:
#include <stdio.h>
#include <stdlib.h>
int main (int argc,char **argv)
{
    float a;
    float b;
    float resultado;
    char operacion;
    printf("Bienvenido. Programa de operaciones básicas. Esta es una prueba de concepto de Danielc \n\n");
    printf("Realizare una operacion segun el valor que introduzca, este valor se almacenara en la variable operacion y definira que tipo de operacion se llevara a cabo.\n");
    printf("Escriba s para suma, r para resta, m para multiplicacion y d para division\n");
    fflush(stdin);
    scanf("%c", &operacion);
    switch(operacion)
    {
    case 's':
         printf("Escriba el valor de los dos numeros separados por un +. Los numeros deben ser enteros\n");
         fflush(stdin);
         scanf("%f+%f", &a, &b);
         resultado = a+b;
         printf("El resultado es %f\n", resultado);
         break;
    case 'r':
         printf("Escriba el valor de los dos numeros separados por un -. Los numeros deben ser enteros\n");
         fflush(stdin);
         scanf("%f-%f", &a, &b);
         resultado = a-b;
         printf("El resultado es %f\n", resultado);
         break;
    case 'm':
         printf("Escriba el valor de los dos numeros separados por un *. Los numeros deben ser enteros\n");
         fflush(stdin);
         scanf("%f*%f", &a, &b);
         resultado = a*b;
         printf("El resultado es %f\n", resultado);
         break;
    case 'd':
         printf("Escriba el valor de los dos numeros separados por un /. Los numeros deben ser enteros\n");
         fflush(stdin);
         scanf("%f/%f", &a, &b);
         resultado = a/b;
         printf("El resultado es %f\n", resultado);
         break;
    default:
         printf("Operacion no identificada\n");
    }
    system("pause");
    return 0;
}
99 respuestas
1, 2