Outils pour utilisateurs

Outils du site


issue124:c_c

Over the last two months, both of my articles have asked users to share their programming experiences, specifically how they got started, and some of their experiences when learning or using a language. This month, I will be compiling the responses I have received. To anyone who took the time to respond, thank you! Note: All responses are quoted as-is.

Dans mes articles au cours des deux derniers mois, j'ai demandé aux lecteurs de partager leurs expériences de programmation, et en particulier, comment ils ont commencé et certains de leurs ressentis en apprenant ou en utilisant un langage. Ce mois-ci, je compilerai les réponses reçues. Merci à tous ceux qui ont pris le temps de répondre !

Note : toutes les réponses sont citées telles quelles, entre guillemets.

“I started programing on a PET at our local high school. When I could afford it, I bought a VIC 20. I devoured every issue of Compute! to laboriously type in the programs, learning as I went. Then on to MS Basic. I loved those languages, so easy to understand. Or perhaps my young brain made it easy. Microsoft’s Visual Studio, Visual Basic 6 in my case, made powerful database programming easy so I wrote several programs for financial management, electronic calculations, and hobby data recording. I am now using Python and Tkinter as I have switched to Ubuntu. I consider myself a dabbler, by no measure an expert. So I concentrate on a few coding aspects at a time, for instance string formatting and using lists, tuples and dictionaries. When I have the use and syntax down, I’ll move on to something else. I have some books on python to get me started but the internet is my main goto for help. It is much easier to enter my exact question into a search engine and get a relative answer than to search through the books where information is somewhere in a few hundred pages. I then record the answer in a file as a snippet.

« J'ai commencé la programmation sur un PET à au lycée du secteur. Quand j'ai pu m'en offrir un, j'ai acheté un VIC 20. Je dévorais chaque numéro de Compute! pour saisir laborieusement les programmes, apprenant sur le tas. Puis je suis passé à MS Basic. J'aimais ces langages, si faciles à comprendre. Ou, peut-être, mon jeune cerveau le rendait facile. Visual Studio de Microsoft, Visual Basic 6 dans mon cas, facilitait la programmation de bases de données puissantes ; aussi, j'ai écrit plusieurs programmes pour la gestion financière, les calculs électroniques et l'enregistrement de données en amateur. J'utilise maintenant Python et Tkinter, car je suis passé à Ubuntu.

« Je me considère comme un dilettante et, en aucun cas, comme un expert. Aussi, je me concentre sur quelques aspects de programmation à chaque fois, par exemple les formats de chaînes de caractères et l'utilisation de listes, de tuples et de dictionnaires. Quand je maîtrise l'utilisation et la syntaxe, je passe à autre chose. J'ai quelques livres sur Python pour m'aider à commencer, mais Internet est ma source principale d'aide. C'est plus facile d'entrer ma question précise dans un moteur de recherche et d'obtenir une réponse avoisinante que de rechercher dans les centaines de pages des livres où se trouve l'information. Ensuite, j’extrais la réponse pour l'enregistrer dans un fichier.

It is a slow process but gives me a lot of satisfaction and I hope keeps my brain learning to delay senility. It is a hobby, one of many, so not a lot of time is available to thoroughly learn a lot. This is why I keep examples in my snippet files, I can cut and paste to speed things up. When I run out of project ideas, I refer to the complete programs in tutorials, pick one at random, close the book and write my own version. The topic is not too important, it’s the learning and seeing something work when I’m done. I just enjoy it, what else can I say?” Lee in Ontario, Canada

« C'est un procédé lent, mais il me donne beaucoup de satisfaction et, je l'espère, gardera mon cerveau capable d'apprendre pour retarder la sénilité. C'est un loisir, parmi de nombreux autres ; aussi, j'ai peu de temps disponible pour apprendre beaucoup en profondeur. C'est pourquoi je garde les exemples dans mes fichiers d'extraits ; je peux copier/coller pour accélérer les choses.

« Quand je suis à court d'idées de projet, je me tourne vers les programmes complets dans les tutoriels. J'en prend un au hasard, je ferme le livre et j'écris ma propre version. Le sujet n'est pas trop important, c'est d'apprendre et de voir quelque chose fonctionner quand j'ai terminé. J'aime ça, que puis-je dire d'autre ? »

Lee en Ontario, Canada

“I am interested in programming. I can help myself in BASIC, the first language I learned. I can also help myself to an extent in 6502 assy. However, I find learning ‘modern’ programming languages to be a PITA. Taking video courses, I find ‘hello world’ to grate my ghrekin to no avail. “Introduction” courses teach you what variables, lists, tuples are, yes, but then leave you high and dry. I have tried taking a Edx/Coursera or similar course in Python, but it is just too stressful. I have very slow internet, and I usually have the required video’s downloaded by the Thursday. Your “answer” has to be in by Friday and you need to mark other student’s papers on Saturday, “results” on Sunday (which leaves NO time for you to figure out what is going on). I did try codeschool, when they were free, and found I could do most of the exercises without issue, but again it felt empty.

« La programmation m'intéresse.

« Je me débrouille en BASIC, le premier langage que j'ai appris. C'est le cas aussi, dans une certaine mesure, avec l'assembleur du 6502. Cependant, je trouve que les langages de programmation « modernes » sont insupportables.

« En regardant des cours en vidéo, j'ai trouvé que « hello world » était du “branlage de cerveau” sans résultat. C'est vrai que les cours d'introduction vous apprennent ce que sont les variables, listes, tuples, mais ensuite, ils vous laissent platement tomber.

« J'ai essayé de prendre un cours de Python chez Edx/Coursera ou similaire, mais c'est franchement trop stressant. J'ai une connexion Internet très lente et, en général, les vidéos nécessaires ne sont téléchargées que le jeudi. Votre réponse doit être envoyée le vendredi et vous devez noter les réponses des autres étudiants le samedi, les résultats sont le dimanche (ce qui ne vous laisse AUCUN répit pour comprendre ce qui se passe). J'ai essayé des écoles de codage, quand elles étaient gratuites, et j'ai trouvé que je pouvais faire la plupart des exercices sans erreur, mais, à nouveau, ça sonnait creux.

Udemy I find, teaches you just enough so you purchase the second course to find out you wasted your money and the whole “course” could be broken down into 10 sentences. I found Harvard’s “CS50” online, but the jumps between lessons are too big. (obviously they do not post every lecture, but the ‘most entertaining’ one from the week). This also does not work for me. I looked back at how I learned BASIC and 6502 Assembler. Basic came from my old ZX Spectrum. I have BOOKS! filled with grid paper that I made sprites on. Then I learned how to make said sprite move horizontally and vertically. Thereafter, I learned how to make said sprite move on keypress, and so forth. You get the idea. You can say I learned visually. (this was only every weekend when I was allowed to use the computer)

« J'ai trouvé que Udemy vous apprend juste assez pour que vous achetiez le second cours pour vous apercevoir que vous dépensez inutilement votre argent et que le “cours” entier pourrait se résumer en 10 phrases.

« J'ai trouvé le « CS50 » d'Harvard en ligne, mais les sauts entre les leçons sont trop grands (manifestement ils ne diffusent pas toutes les leçons, mais la “plus divertissante” de la semaine). Ceci ne fonctionne pas non plus avec moi.

« Je me suis remémoré comment j'ai appris le BASIC et l'assembleur du 6502. Le Basic est venu avec mon vieux ZX Sprectrum. J'ai PLEIN de cahiers remplis de papier quadrillé sur lesquels je dessinais des sprites. Ensuite, j'ai appris comment déplacer lesdits sprites horizontalement et verticalement. Ensuite, j'ai appris comment les faire bouger sur appui d'une touche, et ainsi de suite. Enfin, vous aurez compris.

« Vous pouvez dire que j'ai appris visuellement (ceci, uniquement le week-end quand j'étais autorisé à utiliser l'ordinateur).

Then I came into possession of a BBC micro. The BBC micro had its own monitor, so I did not need permission to use the TV to use the computer. I got a “big book of BBC games” which was one of those ‘type in the code and play the game’. Heh, you can imagine how long debugging took. (To be sure, I also had a slightly different BBC micro than the book was intended for.) When looking for help back then, I could not even get someone at the college to help me as they taught logo and lisp, etc, and had no idea about assembly. (no internet). I was determined to get my sprites moving, etc. The only way I figured out what things did was by breaking other people’s code. (using cryptic three letter acronyms, I had no idea what they did at that stage) Basic was just too slow, as the CPU’s were just too slow.

« Puis, j'ai récupéré un micro BBC. Le micro BBC avait son propre écran, ce qui fait que je n'avais pas à demander la permission d'utiliser la télé pour me servir de l'ordinateur. J'ai trouvé un « grand livre des jeux sur BBC » qui était du genre « tape le code et joue ». Eh ! Vous pouvez imaginer le temps passé à débogger (à dire vrai, j'avais un modèle de BBC légèrement différent de celui pour lequel le livre était destiné).

« Quand je cherchais de l'aide à cette époque, je ne pouvais trouver personne pour m'aider à l'école car ils apprenaient logo et lisp, etc., et ils ne connaissaient pas les assembleurs (et n'avaient pas l'Internet).

« J'avais décidé que mes sprites bougeraient, etc. La seule façon de comprendre comment ça marchait était de casser le code d'autres gens (en utilisant des acronymes mystérieux de trois lettres, je n'avais aucune idée de ce qu'ils faisaient à ce sujet).

« Basic était vraiment trop lent, parce que les processeurs étaient eux-mêmes trop lents.

Today I know JNE is ‘jump if not equal’ and putting things in the base register adds them for you. I still have no idea of memory allocation, but I used to write the addresses down in a little book to make due. So in conclusion, I find ‘modern’ teaching methods is a factory approach that does not make things easy for students, but easy for the teachers MARKING the work. There is no “fun” or “exploration” in it and 0 practical use. I don’t give two shits about giving a variable the property of “hello world” and printing the variable or calculating the tax on a bill. I would rather watch paint dry. Yes, I paid a lot of money once to go on a “programming course” that culminated in making a tax calculator for a bill.” Erik

« Aujourd'hui, je sais que JNE veut dire “jump if not equal” (sauter si ce n'est pas égal) et que mettre des valeurs dans les registres de la base les ajoute pour vous.

« Je n'ai toujours aucune idée sur l'allocation de la mémoire, mais j'avais pris l'habitude d'écrire les adresses dans un petit cahier pour m'en souvenir.

« Aussi, en conclusion, je trouve que les méthodes « modernes » d'enseignement sont une approche industrielle qui ne facilite pas les choses pour les étudiants, mais rend la notation facile pour les professeurs.

« Il n'y a aucun “plaisir” ou “aventure” là-dedans et 0 utilisation pratique. Je me fiche pas mal de donner à une variable la propriété de “hello world” et d'imprimer la variable ou de calculer la taxe sur une facture. Je préférerais regarder sécher la peinture.

« Oui, une fois, j'ai déboursé beaucoup d'argent pour prendre un “cours de programmation” dont le point culminant était le calcul de la taxe sur une facture. »

Erik

“My first language was IBM 1401 Autocoder. (An assembler language with macros!) My first “personal computer” was a 1401 at IBM's Toronto downtown branch. If I was bored on a Sunday afternoon, I would go to the office and fool around on the computer. I didn't do it to help my career, but that was one of the effects. Sheesh, that was 52 years ago.”

« Mon premier langage a été l'Autocoder de l'IBM 1401 (un langage assembleur avec des macros !).

« Mon premier “ordinateur personnel” (PC) était un 1401 au bureau d'IBM à Toronto. Si je n'avais rien à faire le samedi après-midi, j'allais au bureau et je m'amusais avec l'ordinateur. Je ne le faisais pas pour m'aider dans mon parcours professionnel, mais ça a été l'un des effets.

« Mon dieu ! C'était il y a 52 ans. »

“Hi Lucas, Back in the /360 days, there were times when I was a project leader, which took about a third of my time. Several times, I wrote sort exits in Assembler. I have a good friend who wrote and modified a lot more Assembler than I did. If memory serves, all programs began, BALR 13,14 When I got my PET, I wrote several programs in 6502 assembler, including a patch to the ROMs so interrupt-handling blocked other interrupts for about 105 microseconds instead of 1/600 of a second. My most popular program could load an Applesoft program from an Apple tape, and leave it in memory. Applesoft and Commodore BASIC were not identical, so the translation was imperfect – but I never got any complaints.” Gord

« Bonjour Lucas,

« Dans l'époque du /360, il y a eu un moment où j'étais chef de projet, ce qui me prenais un tiers de mon temps. Plusieurs fois, j'ai écrit des sortes d'exit en Assembleur. J'ai un excellent ami qui écrivait et modifiait beaucoup plus d'Assembleur que moi.

« Si ma mémoire est bonne, tous les programmes commençaient par BALR 13,14.

« Quand j'ai eu un PET, j'ai écrit plusieurs programmes en assembleur 6502, y compris un correctif pour la ROM de sorte que le gestionnaire des interruptions bloquait les autres interruptions pendant environ 105 millisecondes au lieu de 1/600 de secondes.

« Mon programme le plus populaire pouvait charger un programme Applesoft à partir de la cassette à bande d'Apple et le garder en mémoire. Les BASIC d'Applesoft et Commodore n'étaient pas identiques, aussi la transcription était imparfaite, mais je n'ai jamais eu de plaintes. »

Gord

To all readers who took the time to respond: I appreciated your comments and stories, and sometimes made me feel relief about the current state of affairs! For anyone reading this article: I hope you find it as inspiring and interesting a read as I did. If anyone has any comments, questions, or requests for future articles, feel free to email me at lswest34@gmail.com. Similarly, if this article encouraged you to share stories of your own, feel free to contact me with them as well, and I will fit them in as I can. Next month, we shall return to our regularly scheduled programming!

À tous les lecteurs qui ont pris le temps de répondre : j'ai apprécié vos commentaires et vos histoires et je me sens parfois soulagé sur l'état actuel des choses ! Pour toute personne lisant cet article : j'espère que, comme moi, vous avez trouvé dans sa lecture une source d'inspiration et d'intérêt.

Si vous avez le moindre commentaire, question ou demande pour des articles futurs, n'hésitez pas à m'envoyer un mail à lswest34@gmail.com. De même, si cet article vous a encouragé à partager vos histoires personnelles, faites-les moi parvenir et je les incorporerai dès que je peux. Le mois prochain, nous reviendrons à notre programmation normalement prévue.

issue124/c_c.txt · Dernière modification : 2017/08/30 10:18 de auntiee