Une nouvelle série d’articles est apparue la semaine dernière sur guru-meditation. Elle traite de l’apprentissage de la programmation en MUI avec le langage C. La difficulté est très progressive et devrait permettre à chacun d’évoluer sans douleur.
Un cas concret de logiciel sera traité à travers cette série de 7 ou 8 articles. Ceci permettra de présenter les principales fonctionnalités et de donner des conseils obtenus auprès de programmeurs expérimentés, tout ça étant indispensable pour utiliser MUI d’une manière moderne et propre !
25 Commentaires
Passer au formulaire de commentaire
Auteur
Pendant que j’y pense … ça serait bien que pour les news, il y ait une rubrique développement ou programmation ou guru-meditation ou … enfin, quelque chose de plus adapté que « divers » 🙂
Ouais ! merci Corto ! 🙂
Que tous ceux qui ont des réticences à développer sur « Amiga » (à coz du coté GUI spécifique et langage C) aille au plus vite s’intéresser au développement orienté MUI !
Franchement, pour celui qui a des notions de dév (sur d’autres plateformes) s’est largement abordable MUI (tout en facilitant grandement la vie pour le côté désign et interfaçage des applications). Reste plus alors qu’à se stresser sur le C pour le spécifique (traitements). Et c’est déjà ça de gagné ;). C’est ce qui est en train de se passer pour moi… (compréhension aidée aussi en aillant fouillé le fameux MUIBuilder et ce qu’il génère derrière 😉
(un IDE greffé là-dessus, style MUIB mis au gout du jour et amélioré, et ça serait le rêve 😉
Jedi, qui découvre le dév MUI en 2004 (quel con).
Ouai MUI rulezzzz!!!!
😀
Cool, je vais voir si j’arrive à accrocher… 🙂
PS:
Mais pourquoi ce site n’est pas référencé sur l’anneau Migafan ?? 😉
je comprend absolument rien, je suis vraiment pas fait pour la prog 🙁 …
Oui ce serait bien une rubrique développement!!!!
Je vote oui!
:hammer:
Un grand merci à Corto.
je ne pense que du bien de GURUMED mais en lisant les tutoriels je me demande parfois si l’approche est bien la bonne (notez que je ne suis pas prof, alors ce que j’en dis c’est très subjectif).
à mon avis une des difficultés des tutoriels de GURU-MED c’est qu’ils sont hiérarchisés.
c’est mieux pour ceux qui connaissent les bases car ils peuvent trouver plus vite l’info qu’ils cherchent.
mais c’est moins bien pour le débutant car il ne peut pas trouver tout seul l’ordre d’apprentissage idéal.
par exemple le tutoriel MUI est très bien fait, mais évidemment, encore faut il savoir ce qu’est une une tag-list et connaître BOOPSI.
et, franchement, quel débutant sera assez tordu pour lire la doc de la « utility.library » avant de s’intéresser à MUI, à priori il n’y a aucun rapport.
est-ce que ça ne serait pas plus didactique un tutoriel linéaire? dans lequel le lecteur ne choisit pas ses thèmes mais progresse petit à petit en commençant par les bases jusqu’à MUI, mais en passent obligatoirement d’abord par:
1. ouverture/fermeture de librairies et ressources
2. signaux de tâches
3. ports de messages
4. tag-lists
5. intuition, fenêtres, écrans
6. gadtools
7. AppIcon et AppWindow
8. BOOPSI
évidemment le début 1. à 4. paraîtrait vraiment rébarbatif, mais il faut bien acquérir les bases, non?
sinon on se heurte à la « steep learning curve », la pente est trop raide, les débutants restent sur le bord de la route, et tout le monde croit que l’amiga est difficile à programmer.
ce tutoriel MUI est TRES intéressant pour moi, mais à mon avis c’est parce que je connais déjà gadtools, sinon…
et bien sûr je suis pour une rubrique dev.
Auteur
Sur gurumed, les articles sont hiérarchisés et je trouve ça très bien ! Je m’explique : quand on débute on ne doit pas s’attaquer à une application complexe mais apprendre les parties de l’OS une par une. Ca permet de commence par faire des choses simples : gestion des fichiers, de la mémoire, des fenêtres, etc. puis les arguments DOS, les datatypes, etc. Et on trouve désormais tout ça sur gurumed, avec à chaque fois un exemple simple qui traitre d’un sujet précis.
C’est comme ça que se consolide les connaissances et qu’on en vient à aborder tout ce qui constitue l’OS. Programmer en MUI fait appel à des notions propres au système Amiga, par exemple les taglists, BOOPSI, … mais ça passe presque inaperçu ! Et pour les taglists, ce n’est pas sorcier et c’est utilisé … partout !.
Pour un tutoriel complet sur la programmation Amiga tel que tu le décris, on se rend compte qu’il faudrait un livre. La préparation, la rédaction, la correction, la mise en ligne, la promotion, … de ce tutoriel MUI doit déjà totaliser un bon paquet de journées de boulot alors j’imagine si il fallait reprendre tout depuis le début !
Je ne vois personnellement pas comment rendre l’apprentissage de MUI plus facile 🙁 Il faut s’accrocher !
en fait si c’était linéaire ça ne serait pas plus facile, il faudrait s’accrocher autant parce que les applications tarderaient à venir.
et on ne pourrait pas rentrer dans le texte autrement que par le début.
et bien si c’était linéaire ça consoliderait l’apprentissage, mais pas les connaissances.
en fait ça ne serait pas mieux, seulement différent.
alors peut-être que le contenu de GURUMED est adapté au support. mais effectivement ça ne remplace pas un livre. bon ben voilà, j’ai finit de dire des banalités.
et puis bien sûr je t’encourage à continuer…
et à propos, je suis un train d’écrire un tutoriel Amiga-E (dont la 1ère partie est parue dans Obligement45), est-ce qu’il pourrait avoir sa place sur GURUMED ?
@BrickCaster
Je pense parler au nom de l’équipe GURUMED (dont je ne fais pas
partie) en disant que tout ce qui a trait au développement sur Amiga
et compatibles, a sa place sur le site gurumed.net
mmh… c’est marrant ça. Perso, je trouve justement que ce début de dossier MUI fait partie des mieux présentés/abordés sur gurumed (même si globalement, on ressent vraiment l’effort porté à la rédaction, fond et forme, sur l’ensemble des articles du site, ce qui est remarquable par rapport à d’autres trucs qu’on peut voir ailleurs ;).
J’attends de voir les autres articles du dossier (car le début étant le plus facile), mais à mon avis Corto a la (très) bonne approche (il va à l’essentiel, c’est clair, bien abordé, avec les exemples bien adaptés,…).
De toute façon, ça restera toujours de la technique pour laquelle il faudra faire l’effort personnel de s’y pencher à un moment ou un autre (surtout avec de l’information lue en ligne).
Je débute en MUI, j’ai qlq bases en C, mais je pense avoir un peu d’avance sur les articles de Corto que du coup j’absorbe sans problème (en complétant mes premières connaissances/lacunes :). Mieux, sur l’exemple de programme pour ce 1er chapitre, là, franchement, je ne vois pas comment on peut faire plus simple… 😉 Comme dit, à un moment donné, il faut s’y mettre et souffrir (surtout avec le C ;).
Quant à la question d’approfondir ou pas certains points techniques, surtout au début (dans le sens débutant), du style ouverture/fermeture Intuition.Library, franchement on le voit tel quel une fois, ça suffit (m’en tape d’en savoir plus à son sujet à ce stade, je l’ouvre et je la referme et c’est tout car j’en ai besoin :). Après, si il faut l’approfondir plus tard, ok. Mais chaque chose en son temps (sinon, le newbie comme moi risque vraiment de crouler sur tout et nimp et d’abandonner encore plus vite ;).
Arrrg, malheureusement Guru-meditation.net rame horriblement ce matin, pas moyen d’accéder au site 🙁
[edit]
Bon tout est rentré dans l’ordre, j’ai pu accéder aux articles.
A ce propos je dirais : MIAM ! Je sens que je vais encore gaspiller de précieuses heures de travail au boulot pour me familiariser avec MUI…. Décidement, WinUae, gcc et vbcc sont mes amis…
[/edit]
Merci bicoup missiou Corto !
Que dire, si Corto n’existait pas, il faudrait l’inventer !
Bravo, ça a déjà été dit plein de fois mais bravo encore !
trés bon tutorial monsieur Corto, je vous préférre infiniement dans ce genre d’exercice que dans d’autres 🙂
je n’ai vraiment plus aucune excuse pour couvrir mon poil dans la main avec un site comme gurumed :p
/me qui s’est surpris à comprendre plein de choses 🙂
Hip !!
Ouaip, il est très (très [très]) bien ce didacticiel. Ayant fait parti de ses permiers betatesteurs, j’ai été dans l’incapacité de trouver quelque chose à dire ou redire ou modifier… bon, c’est vrai que j’ai des bases en GUI, en C, en RxMUI, en amiga en général, mais j’avais jamais rien fait en C sur amiga, et encore moins en MUI… à la lecture du didacticiel, j’ai eu honte de ce « rien » tellement je comprenais tout facilement 😉 .
Très intéressant, bien fait, à la difficulté très bien dosée et progressive, on a rien à y redire ! Bref : tous à votre compilateur préféré.
Merci Corto !
il est vrai que je n’ai aucune base, si tout existe sur gurumed, peut etre il faut une parti special gros newb comme moi pour remettre les articles dans « l’ordre » ? par exemple :
pour programmer sur ‘miga commencé par avoir un environement de dev -> tuto d’install de la bete, puis notion de l’os -> tuto etc … enfin je sais pas ce qu’il faut connaitre, mais deja je ne sais pas installer un compilateur avec les librairies et autre … 🙁 , oui je sais je suis nul, mais faut pas hésité à le dire si on comprend pas (c’est ce que tous les profs disent ) 😀
@Goja
Bienvenue au club de ceux qui comprennent rien aux compilos.
J’ai beau faire du C (en fait, surtout du C++, mais bon), tâtonner
(un peu aussi) en MUI, je suis incapable de comprendre comment marche
un compilo. Je sais juste que le MDC fonctionne depuis l’install de
base, mais ‘faut pas m’en demander plus. Faire pareil sur un Amiga 68K
? Désolé, je sais pas faire. Le seul compilo qui s’installe sans se
prendre la tête sur ma machine, c’est Storm3…Bon, seul problème,
j’arrive à rien compiler avec, mais bon y paraît que c’est normal (ça
m’aurait fait chier de payer pour ça, tiens…).
Une install « out of the box » serait effectivement l’idéal (un truc
genre GoldEd4 (gratos) tout préconfiguré avec un GCC, le tout dans une
archive (en LHA siouplaît, pas en .tar.gz.bz2.zip.slipenpilou)
qu’il suffit de désarchiver, puis cliquer sur « Install », et hop !
Comme disait quelqu’un de très con et borné (je crois que c’est moi
d’ailleurs) : quand on développe, on devrait avoir à se soucier
UNIQUEMENT DE SON CODE, pas du bordel qu’il y a derrière.
C’est aussi pour ça que je préfère faire un prog en partant de zéro
plutôt que réutiliser le code de quelqu’un d’autre, qui en général ne
se compilera jamais sans avoir à décortiquer tout son code (ce qui
prend presque autant de temps que le réécrire from scratch) et le
modifier pour que le compilo arrête de faire chier (même si ce brave
compilo est bel et bien celui prévu pour le source en question).
Enfin moi c’que j’en dis…et là, je parle uniquement du compilo.
Auteur
Tous : Houla ! Ca fait chaud au coeur tout ça ! Merci beaucoup, ça fait vraiment plaisir de voir que c’est apprécié et utile. Mais on y passe du temps et on essaie de proposer des articles complets, relus, et … le comité de relecture est intraitable !! Mais c’est pour inculquer de bonnes manières et devenir de brillants programmeurs 😉
GoJa : Si tu débutes complètement, c’est normal de ne pas y comprendre, il y a des étapes indispensables à franchir avant.
Pour les environnements de développement et leur installation, il y a déjà des articles sur gurumed.
Pour les notions de l’OS, une fois qu’on sait comment ça marche, avec le recul, on ne sait plus forcément se replacer dans la peau de quelqu’un qui débute. Mais tu peux utiliser le forum. Même si les questions te semblent simplistes, n’hésite pas. Je me souviens au début, la panique pour savoir comment trouver la fonction adaptée à ce que je voulais faire et quelle library utiliser et quelles includes … En gros : pas où commencer ? Puis tout ça vient.
Commence par récupérer la doc PDF orientée débutant et puis parcours le site guru-meditation.
BrickCaster : Si tu as des choses sur le E, ça peut être intéressant. As-tu vu le thread de CptBlood qui a bataillé pas mal pour installer un environnement de dév E ?
moi aussi j’ai apprécié et ça me sera probablement très utile, je suis encore sur Gadtools, et le tutoriel me faciletera le passage à MUI, car je reste sur Gadtools uniquement par paresse.
encore merci Corto (même si je l’ai déjà dit).
je n’ai pas l’impression d’avoir été intraitable, j’ai souligné la qualité des articles, seulement, tout d’un coup, il m’est venu une fausse bonne idée, ça arrive à tout le monde, non? en tout cas ça n’est pas de l’ingratitude.
pour ce qui est de mon tutoriel l’amiga-E, je l’ai en 3 versions:
* amigaguide anglais
* amigaguide français
* html français
dès que j’ai terminé le dernier chapitre et que David Brunet me retourne la conversion en html je t’envoie le tout à [email protected]
pour ce qui de CptBlood et des autres, je crois que c’est le problème des grands débutants, ils ont déjà du mal à faire coopérer GoldED avec leur compilateur, pour eux il faudrait une prise en main « ground 0 ».
ça n’est pas l’objectif de mon tutoriel, mon tutoriel commence là où le « E Beginners guide » s’arrête. il prend un programmeur amiga-E et tente d’en faire un programmeur AmigaOS + Gadtools.
l’approche « tout installé » que réclament les débutants n’est pas possible à cause des exigences des différentes licenses d’utilisation. ce qu’on peut faire c’est donner une liste des ressources utiles et/ou incontournables, c’est ce que je fais à la fin (et même tout au long) de mon article Obligement.
et si ça suffit pas pour motiver les gens à l’amiga-E alors j’ose même pas imaginer pour le C…
d’ailleurs j’ai répondu dans le thread de CptBlood, j’ai indiqué une doc en français, donné des conseils d’installation, indiqué des exemples perso de petits sources faciles et amusants.
mais il resté sur son idée d’un « installeur digne de ce nom ». je sais bien qu’il faut un début à tout, mais il faut quand même avertir ces personnes que l’effort d’installation de GoldED + Amiga-E n’est rien comparé à la programmation système.
surtout quand on sait qu’il suffit d’assigner EMODULES: et voilà, le compilateur E est intallé.
peut être que sur PC/Mac il y a des IDE complets mais c’est payant. là vous êtes sur amiga et c’est gratuit.
@BrickCaster
Et alors ? Sous prétexte que c’est gratuit il faudrait qu’on accepte
que ça soit dépouillé, vide de presque tout, imbitable et sans aucun
confort, le tout avec comme seule notice « RTFM » reportant sur 30Megs
de .man écrits en Klingon ?
C’est facile de sortir comme argument que « ah ouais mais eux c’est
payant ». N’est-ce justement pas là l’occasion de faire un beau
pied-de-nez en sortant justement une alternative gratuite tout aussi
performante ?
Franchement, l’excuse de « oui mais c’est gratuit » ne me satisfait pas.
Ca devrait être un bonus (un gros bonus, certes), mais certainement
pas une base.
Si la gratuité doit toujours servir d’excuse à la médiocrité, on est
pas près de voir débarquer quoi que ce soit (pas seulement un IDE) de
valable sur nos plateformes vu qu’en gros personne n’est prêt à payer.
@Corto
Bravo pour ton cours qui, s’il s’arrête là où je me suis arrêté, en
gros, pose de très bonnes bases et me fait attendre avec une certaine
impatience les chapîtres suivants.
moi je demande juste une chtite gui à la con pour linker, compiler, gcc du SDK MOS s’install en un double click et morphED (alias goldED) me convient.
je reste juste allergique aux lignes de commandes avec une argumentation hazardeuse 🙂
ah puis une traduction française des autodocs tiens m’enfin il parait que c’est toujours mal traduit 🙂
En tout cas tout ceci n’est certainement pas une excuse à ma flemmardise aigue, ça serait juste des petits plus chouette 🙂
D’ailleur j’ai qu’a me la faire ma gui à la con non mais !
Dans MorphED : F3 pour compiler, F6 pour exécuter ce qui a été
compilé. Que demander de plus ?
@Rafo
malheureusement, à part patienter en attendant quelque chose de mieux que GoldED + scripts AREXX, il n’y a pas grand chose à faire.
@Sas
sur nunux ils appellent ça « do it yoursef ».
remarque, Nike l’avait inventé avant eux.
une traduction des Autodocs et des RKM ça ne ferait pas tout. par exemple où dans les RKM est il dit comment lire la valeur d’un INTEGER_KIND ?
réponse 1: c’est gadget.specialinfo.longint
réponse 2: c’est dit nul part dans les RKM
Le comité de relecture est intraitable, ça ne veut pas dire « BrickCaster est intraitable » :).