Débuter en programmation
-
Je me demandais si avec le C, ça n’était pas plus compliqué que ça du genre:
– connaître un peu plus le système
– connaître les registres
– etc…
Heureusement, le C est un langage de haut niveau, tu n’as absolument pas beson de connaître les registres, il s’en débrouille tout seul. :sweat:
Concernant la connaissance du système non pas plus qu’avec un autre langage : tu utilises les fonctions qui te sont fournies dans les bibliothèques du système. Je dirais même plus : pour un programme qui ne fonctionne que dans le Shell et ne fait que du mode texte, tu peux n’utiliser que le C standard (i.e. portable = valable sur tous les systèmes).
Je pense que le plus dur pour un néophyte dans le C c’est la syntaxe qui peut sembler un peu absconse cependant une fois que l’on s’y est mis, ça va, ensuite le plus compliqué ce doit être les pointeurs, en dehors de ça je pense pas que le C est plus compliqué qu’un autre langage… voir que de l’AMOS.
Plus spécifique à l’amiga il y a ici un tuto pour débuter la programmation en c sur notre belle plateforme.
Ah ouais, ça c’est bien et c’est ce qu’il faut pour débuter.
Dommage qu’il n’y ait pas la suite.
Et sur Gurumed, il y aurait une hypothétique suite à ce genre de tutoriels?
en dehors de ça je pense pas que le C est plus compliqué qu’un autre langage… voir que de l’AMOS.
Heu, avec Amos, faut pas connaître grand chose, c’est vraiment simplifié (tout comme tu peux faire des choses plus avancées). Ce ne me déplairait pas d’apprendre le C pour essayer de faire des petites choses mais la programmation n’est pas mon métier et il faudrait que ça reste un plaisir!
Je m’amuse bien avec Amos Pro mais ça reste fermé et propriétaire de l’Amiga
En tout ca, merci pour vos retours et réponses encourageantes
Hello Ludo,
Bah m’y mettre, pourquoi pas. Mais je ne veux pas me lancer dans un truc où il faut des connaissances que je n’ai pas.
Quand tu m’as montré les outils que tu arrivais à te créer pour CPC lorsque nous étions à l’Alchimie, faut avouer que c’est génial et donne envie.
Tes sources, pourquoi mais commence par les premiers hein, m’envoie pas le source d’Ami-CPC!
tarzin a écrit :
Heu, avec Amos, faut pas connaître grand chose, c’est vraiment simplifié (tout comme tu peux faire des choses plus avancées).
Par exemple en C pour ouvrir une fenêtre tu pourrais faire
struct Window * maFenetre;
maFenetre = OpenWindowTags(NULL,
WA_CloseGadget, TRUE,
WA_DepthGadget, TRUE,
WA_DragBar, TRUE,
WA_Title, "Un joli titre pour ma fenêtre",
WA_SizeGadget, FALSE,
TAG_END);
Voilà ce n’est pas hyper compliqué non plus, les WA_xxx sont des options que l’on peut passer à la fenêtre, il y en a plein (cf. la doc), si on en veut d’autres, il suffit de les rajouter avant le TAG_END…
Alex, oui effectivement, ça n’a pas l’air trop sorcier.
Par contre, ton exemple n’est valable que pour du C sur Amiga?
Si l’on passe ça sur PC, les tags du type “WA_DragBar, TRUE” ne fonctionneront pas?
J’ai lu cet après-midi les tutoriels donnés par davebraco sur le site du zero. C’est pas mal fait. Finalement, il y a des choses qui me parlent bien “DO .. WHILE / IF … ELSE / les différentes variables, etc” (j’ai commencé la lecture des pointeurs mais y reviendrais… )
Par contre, la différence vient surtout (pour ce que j’en ai vu) de la syntaxe du source (ne pas oublier les ; en fin de ligne et les crochets par exemple)
Il y a des trucs qui m’ont fait peur!
-> age = (majeur) ? 18 : 17;
… pas évident au premier abord!
Par contre, si je veux tester des exemples et me faire la main, il me faut quoi concrètement ?
– un éditeur du type Golded ?
– un compilateur? lequel ? (suis sous émulation 68k / WinUAE)
Ensuite questions fatidiques (qui fâchent? ):
– est-ce que ça n’est pas plus simple de tester les exemples sur PC et de les “porter” ensuite sur Amiga
– est-ce que je n’ai pas intérêt à prendre un truc du genre Codeblocks
Disons qu’avec l’Amos Pro je suis sur des faire des trucs rapidement mais pas portable.
En bidouillant le C, je risque d’apprendre un truc qui peut servir ailleurs, de pouvoir essayer de porter des trucs que j’ai déjà programmé MAIS surtout d’être moins seul dans mon coin!
Je ne compte pas devenir un as de la programmation mais juste passer du bon temps à me creuser les méninges pour créer quelquechose qui me plait. (un bricoleux du dimanche quoi…)
Hello Tarzin !
WA_DragBar ne fonctionne pas sur Windows par exemple, vu que c’est propre à Intuition. Pour te rassurer, ce serait beaucoup plus dur d’ouvrir une fenêtre sous Windows !
Déjà avec AMOS Pro tu as déjà acquis de la logique de programmation, c’est pour ça que je propose aux débutants des lanages comme AmiBlitz, Python, Ruby, …
Tu pourrais développer sur un PC et le réessayer régulièrement sur Amiga mais il faut dans ce cas utiliser uniquement des fonctionnalités communes, comme par exemple la lib SDL.
Pour en revenir au C et au “age = majeur ? 18 : 17;”, c’est une excentricité mais heureusement une des seules et rarement utilisée. C’est l’équivalent de :
if (majeur != 0)
age = 18;
else
age = 17;
Si ça te choque, un conseil : reste éloigné à jamais du Perl, c’est infâme.
Pour le compilateur, si tu es en 68k, je te conseille vbcc, sinon rien que l’installation de gcc peut te décourager. Sur MorphOS et OS4, les SDK ont l’avantage de tout installer très simplement.
Sinon j’ai entendu parler du langage E. D’accord on se cantonne encore à l’Amiga mais toutes déclinaisons (OS3, OS4, AROS & MorphOS).
http://wouter.fov120.com/e/ (plus trop actif)
http://cshandley.co.uk/portable/ (bien actif)
Par contre, je n’ai aucun avis car je n’y connais rien en programmation…
J’ai également fait les tutoriaux du site du Zéro. Mais comme tout débutant, j’espérais une entrée plus marrante dans la programmation.
Peut-être faut il commencer par porter des petites applis CLI pour pas trop se dégouter.
Et là, il y a Mr Spot qui a rédigé un document sympathique intitulé “Porting for dummies”.
Je n’ai pas trop suivi ce qui est arrivé à Guru-Meditation. Pourquoi a t-il disparu?
>(j’ai commencé la lecture des pointeurs mais y reviendrais… )
Il suffit de comprendre que un pointeur c’est comme un tableau mais un tableau dont le nombre d’éléments est inconnu
Par exemple
si tu déclare un pointeur
ULONG *t;
alors la valeur *t est équivalente à t[0]
si tu veut passer à t[1] tu fais t++;
si tu veut passer à t[-1] tu fais t–;
Cela peut être un tableau de structure avec différentes variables dedans
struct point
{
float x,y,z;
}
struct point *p;
et on peut y accéder de manière normale
p[0].x
p[5].x
p[10].z
Souvent on utilise cette notation P->x qui est la même chose que p[0].x
-> age = (majeur) ? 18 : 17;
Par contre, si je veux tester des exemples et me faire la main, il me faut quoi concrètement ?
– un éditeur du type Golded ?
– un compilateur? lequel ? (suis sous émulation 68k / WinUAE)
Perso j’utilise WordPad (j’avoue….) coté Windows puis GCC dans WinUAE
Mais l’install de GCC a été une vraie corvée
>- est-ce que ça n’est pas plus simple de tester les exemples sur PC et de les “porter” ensuite sur Amiga
Le mieux c’est de faire du code portable qui passe de PC <-> Amiga
c’est pour ça que te reconseille mon StarShip.lha
Alain
La SDL est vraiment le choix a faire selon moi.
Pas de temps perdu a apprendre les bibliothèques de chaque système d’exploitation, avoir des exemples de programmes a foison, des cours EN FRANCAIS très bien foutu…
Moi qui ne connais pas grand chose en réseau, j’ai pu faire communiquer deux ordinateurs sous Windows en tcp/ip en deux heures d’apprentissage.
Par contre, le port de la SDL sur Amiga est-il à jour ?
Est-ce utopique de croire qu’une simple recompilation est couronné de succès ?
Je ne vois pas la version Amiga mentionnée sur le site officiel de la SDL.
Pour bien comprendre, est ce qu’en installant le SDK OS4, cela suffit pour se lancer dans la programmation en C sous AmigaOS4 ?
Et etant avec OS4 Classic. Est ce que ce SDK est completement fonctionnel avec OS4 ou faut il faire attention de ne pas utiliser des fonctions OS4.1 ?
Merci
Bon, pour les allérgiques à l’Anglais qui voudraient s’amuser un peu en programmation avec Amos Pro, je viens d’en commencer la traduction.
Pour l’instant, les menus sont traduits ainsi qu’une bonne partie des messages d’erreurs.
Il reste les messages d’erreurs internes à Amos et… la doc “en ligne” livrée avec ce dernier (mais là, je ne pense pas m’y coller)
Si ça intéresse du monde…
A noter un regain d’activité sur le forum Amos Factory.
et quelques jeux qui commencent à voir le jour.
PS: Amos Pro est disponible sur le forum Amos Factory
- Vous devez être connecté pour répondre à ce sujet.
› Forums › AmigaOS, MorphOS et AROS › Développement › Débuter en programmation