Comment apprendre à créer des programmes sur un ordinateur. Nous écrivons nous-mêmes des programmes simples. Incorporer un script dans un document HTML

En tant qu'enfant d'âge préscolaire, vous commencez à vous divertir avec des jeux sur une calculatrice soviétique et vous vous retrouvez bientôt à gérer des dizaines de milliards d'enregistrements dans des bases de données. Måns Anderson, également connu sous le nom de « Vladimir Perepelitsa », a répondu à nos questions sur la manière de devenir programmeur.

Je ne me souviens pas qui je voulais être quand j'étais enfant, mais quand j'étais très jeune, j'ai lu une encyclopédie pour enfants, et mes volumes préférés étaient « Matière et énergie », « Nombres et chiffres », tout sur la chimie et l'astronomie. J'avais un laboratoire à la maison où je fabriquais des explosifs - avant de commencer à étudier la chimie à l'école.

Et je suis tombé sur quelque chose de programmable comme ceci : mon père avait des calculatrices programmables « Electronics MK-52 », « MK-61 ». En conséquence, le premier livret est un programme de jeu, tapez-le et jouez. Je me souviens très bien de "Tic Tac Toe", de "Battleship" et il y avait d'autres conneries logiques.

Je me souviens encore de la combinaison de boutons B/O S/P, même si je ne me souviens plus de sa signification.

Un jour, j'ai pris la calculatrice de mon père et j'ai ruiné son excellent programme d'ingénierie. La calculatrice avait une mémoire et je l'ai effacée avec une sorte de jouet. Il m'a forcé à retaper le programme. Ensuite, j'ai acheté un Sinclair, soudé à la main par un ami de mon père. Sinclair non standard : il n'avait pas de lecteur de disque, donc tous mes programmes étaient en écriture seule. Autrement dit, je l'ai allumé, écrit, testé, exécuté, éteint.

Le premier ordinateur x86 - un 200 Pentium MMX avec Windows 95 OSR2 - m'a été acheté en décembre 1997, car en 10e année, j'ai été transféré dans une école d'informatique et de mathématiques et c'était difficile sans ordinateur. J'y ai installé Pascal, Delphi et j'ai appris de quelqu'un comment écrire des insertions assembleur. J'ai donc écrit en Pascal avec des inserts assembleur et j'ai rendu furieux mes voisins en ne sortant pas d'Internet - le tarif du modem était de 400 heures par mois et le téléphone était sur une ligne couplée avec les voisins.

Est-il nécessaire de faire des études supérieures ?

En 11e, j'avais toutes sortes de diplômes : chimie - 2e place du pays, astronomie - 2e place, informatique au niveau régional (la programmation sportive n'a jamais été ma voie), physique - aussi quelque chose comme ça. Mes parents et moi avons décidé que nous devions aller dans un institut sympa et avons choisi le MIPT. Et ce malgré le fait que nous vivions à Nikolaev. Mais une connaissance d'une connaissance était le doyen de la Faculté d'électronique physique et quantique du MIPT, et moi, étudiant à temps plein aux Olympiades, je suis allé à Moscou pour passer les examens d'entrée. Je n'ai pas réussi.

Mais comme je suis allé tôt à l'école, il me restait un an avant l'armée, alors je suis allé au service de correspondance du MIPT. J'ai étudié, résolu des problèmes et travaillé pendant la journée à la construction de chalets pour les « nouveaux Russes ». Il sciait des pierres, posait des briques, rencontrait des racketteurs - fin des années 90 !

Je me suis inscrit à la deuxième tentative, j'ai étudié pendant deux ans et j'ai abandonné la troisième fois. Je ne m'entendais pas avec les mathématiques.

Dès la première année, dès le premier cours d'analyse mathématique, quand ils disent des choses absolument évidentes et disent que maintenant ils vont le prouver. Je ne peux pas faire ça. Voici la physique, la chimie - je les aime, je les comprends, je les perçois. Je peux venir, sans rien lire du tout, m'asseoir en face du physicien et discuter avec lui de tous les sujets qu'il souhaite. Si je ne sais pas quelque chose, je ne m'en souviens pas, je demanderai et clarifierai. Et les mathématiques et les mathématiques, toutes ces preuves, les théorèmes de Cauchy et autres... À la session d'hiver, j'ai eu trois échecs et je n'ai pas été autorisé à passer les examens. Bien sûr, j'aurais pu réussir, mais j'ai décidé qu'ils m'avaient appris à étudier et que ce n'était pas intéressant de continuer ainsi.

À cette époque, je programmais déjà quelque chose sur commande, donc la réponse évidente est oui, vous n'avez pas besoin d'un diplôme pour gagner de l'argent en programmation ou même devenir un bon programmeur. C'est en programmation dans notre université que le professeur était plutôt un « parasite », et dans le programme il fallait apprendre le Pascal, que nous connaissions déjà.

Pour ceux qui ont raté cette merveilleuse époque : voici à quoi ressemble Turbo Pascal

Pour quelle entreprise travailler et lesquelles éviter ?

J'ai abandonné mes études début 2003 et après l'université, j'ai travaillé comme administrateur système pendant quatre ans et j'ai écrit divers sites Web. Par exemple, le précédent site Web d'Opora Rossii a été créé par une seule main, du code et de la base de données à la mise en page/conception.

Ensuite, j'ai trouvé un emploi chez le fournisseur d'hébergement Agave en tant que développeur Perl (je n'avais pas Perl sur mon CV, donc tout le monde a été surpris lorsque j'ai résolu 4 tâches de test épaisses que personne n'avait jamais résolues). J'ai commencé à bricoler la facturation et j'ai commencé à étudier simultanément les nouvelles technologies qui y étaient utilisées. J'ai trouvé et corrigé des absurdités dans le code, comme l'envoi de 1500 requêtes SQL pour afficher une page. J'ai découvert ce qu'est un ORM et j'ai écrit un ORM moi-même. J'ai appris ce que sont les frameworks et j'ai écrit un framework moi-même.

C’est là qu’est survenue la crise de 2008. Agave a commencé à licencier des développeurs (parce qu'ils étaient plus chers) et des responsables d'embauche. Les managers se sont accumulés et sont de plus en plus en conflit les uns avec les autres, ce qui n'est pas surprenant quand il y a 5 à 7 managers par développeur.

J'avais une réserve d'argent, et donc du temps, pour de nouveaux entretiens. Je suis allé sur Yandex, je n'ai pas aimé ça. Je suis allé sur Mail.ru. Je n’aimais pas vraiment Mail.ru à l’époque. Je suis allé chez Rambler, j'ai aimé les technologies qu'ils utilisaient et j'ai aimé les gens. J'étais ailleurs, dans des bureaux comme celui d'Ashman, mais j'ai finalement choisi Rambler.

Puis Olga Turishcheva venait d'arriver chez Rambler. Ils avaient de l’argent malgré la crise : ils ont licencié des « managers efficaces » et embauché des développeurs. À mon avis, tout allait bien. Nous avons survécu à la crise avec brio et avons commencé à développer de nouveaux projets. Nous avons écrit, lancé et parfois décidé que non, nous devions faire autre chose. Dans ma mémoire, nous avons lancé, conduit et enterré Rambler Friends. Il existait un tel agrégateur RSS, pour lequel j'écrivais et maintenais du code qui collectait des nouvelles sur notre serveur.

C'est le développement de cette chose qui m'a incité à utiliser les technologies d'événements asynchrones, sur lesquelles je travaille maintenant comme objectif principal.

Ensuite, nous avons écrit Rambler-Photo et c'était un excellent exemple d'utilisation de méthodologies agiles. Nous l'avons développé strictement selon Scrum, en commençant par enregistrer tout le monde, le manager s'est assis avec nous, nous avons fait des mêlées quotidiennes. Le projet s’est avéré, à mon avis, très bon, tant du point de vue technologique que du point de vue du produit. Lorsque tous les développeurs et presque toute l'administration lui ont ensuite été retirés, il a travaillé pendant encore deux ans sans aucune intervention. Je ne sais pas pourquoi il a été fermé ; les huit malheureux serveurs ont-ils vraiment mangé autant d'argent ? Comme l'ont dit ceux qui avaient encore accès au panneau d'administration, les SMS des utilisateurs (c'est-à-dire l'argent) sont arrivés jusqu'au tout dernier jour.

Je ne sais pas ce que pensaient ceux qui le contrôlaient. C'était déjà à l'époque d'Afisha-Rambler, la « société unie ». Ensuite, la direction du technologique Rambler a été supprimée et la direction médiatique d'Afisha a été installée. Une période difficile commence lorsque toute cette entreprise unie tente de se retrouver. Elle s'est retrouvée dans le fait qu'il ne s'agit désormais plus d'une entreprise technologique, mais d'une entreprise médiatique, et que le cours du développement sera approprié.

À ce stade, la plupart des programmeurs (et pas seulement) étaient complètement démoralisés. Les développeurs ont déclaré : « Nous ne savons pas ce que nous faisons, pourquoi nous le faisons et quand ils abandonneront ce que nous faisons actuellement. »

Car sous leurs yeux, certains projets discutés, réalisés et achevés ont été clôturés, Rambler-Avia par exemple.

De la même manière - je ne me souviens plus combien de temps, semble-t-il, environ un an - j'ai géré le projet Rambler-Contacts, il y avait un tel messager.

Conseils techniques, architecture et rédaction de certains composants. Et notre projet a été clôturé à peu près de la même manière. Même si nous avions un client avec un bon design et des fonctionnalités intéressantes. Nous avons eu des critiques incroyables. Les avis des utilisateurs sont arrivés : « Client sympa, superbe design, faites-en plus », etc.

Je me souviens d'une histoire complètement ridicule. À un moment donné, on nous a dit que nous avions atteint un « plafond ». Selon le calendrier, il y a eu une augmentation du nombre d'utilisateurs, et quelque part, cela s'est arrêté. Nous avons commencé à enquêter et avons découvert cette chose : l'un des annonceurs a simulé la publicité « Téléchargez ICQ « Contacts » ». Nous avons examiné les journaux, et dans les journaux il y avait des milliers de connexions IC. Ils ont essayé de se connecter à ICQ en tant que client, et Rambler n'a pas pu les laisser entrer. Bien entendu, ils ne sont pas devenus nos utilisateurs.

En général, c'étaient les derniers jours. Certains managers ont dit : peut-être sera-t-il possible de sauver le projet. Quelqu'un a dit : non, le projet est sur le point d'être clôturé. De plus, cela a été dit avant même que tous les détails ne soient clarifiés - que s'est-il passé, pourquoi la croissance de l'audience a ralenti. « 14 personnes ont travaillé sur le projet depuis deux ans, mais nous sommes toujours en train de le clôturer. » Ils n'ont pas essayé de le sauvegarder, de reprendre l'expertise, ils ont simplement éteint les serveurs, jetant toutes les ressources dépensées.

La conclusion est simple : une gestion de mauvaise qualité peut tuer n’importe quel projet.

La direction de l'entreprise, ou du moins le département, doit avoir un objectif clair et compréhensible, qui doit au minimum être transmis aux salariés. Mais il doit également être clair que les décisions sont prises en fonction de cet objectif.

Bien sûr, j'ai quitté Rambler - pour Mail.ru, où on m'appelait depuis longtemps. Je suis venu seul, mais j'ai été désigné comme chef du département et j'ai reçu le pouvoir d'écrire ce que je veux et comment je le veux. J'ai commencé à écrire et à recruter du personnel, et le département est presque immédiatement passé à cinq personnes.

Formellement, j'appartiens au « courrier », mais je fais surtout des projets d'intégration. Par exemple, les API pour Mail qui le connectent au monde extérieur. Lorsque les avatars et les liens vers toutes sortes de réseaux sociaux ont été plus ou moins écrits, on m'a demandé d'aider rapidement au projet « Cloud ». Je me suis impliqué dans le travail et depuis 2 ans maintenant je travaille sur [email protected].

Je travaille en Perl dans un domaine plutôt restreint - je travaille sur des applications réseau asynchrones. Ils sont utilisés par tout logiciel très chargé, où il y a un grand nombre de requêtes, ou un grand nombre de connexions simultanées, beaucoup d'actions « vers l'extérieur », dont l'essentiel est en attente. Accédez à l'API d'autres services, mettez à jour des centaines de milliers de clés, etc.

En principe, en cours de route, je travaille sur de nombreuses technologies, identifie et élimine divers problèmes. Le niveau de charge sur un serveur atteint 30 à 40 000 requêtes par seconde, et je m'inquiète généralement des performances élevées du code. Je suis un partisan assez convaincu de l'approche selon laquelle les programmes sont écrits pour les ordinateurs, et non pour des personnes qui les liront ou les prendront ensuite en charge. Nous écrivons des programmes pour ordinateurs, les ordinateurs doivent être capables de les lire et de les exécuter efficacement.

Par exemple, à un moment donné, en arrivant ici, je suis tombé sur une liste de diffusion avec des tests de performances de serveurs HTTP en Perl et j'ai réalisé qu'ils étaient bien inférieurs (une fois et demie !) aux solutions existantes en Python, Node. Et il s'est indigné.

Je me suis assis, j'ai fait un plan sur comment tout faire, ce qui devait être écrit, j'ai planifié l'optimisation en utilisant C. Mais en pratique, je me suis arrêté avant même de brancher les bits C, car j'avais déjà surpassé toutes les solutions Pearl, Python et ceux des nœuds. Je me souviens que la solution précédente était au niveau de 2 500 à 3 000 requêtes par seconde, Python en prenait 5 000, Node - 6 000, en Perl pur, j'en avais 8 000 sur un cœur de processeur.

Dans tout problème, l’approche suivante peut être appliquée :
1. Nous nous fixons un objectif : parvenir à une certaine décision.
2. Nous sélectionnons les moyens qui peuvent satisfaire la solution.
3. Si le produit convient - PROFIT
4. Si cela ne convient pas (et cela arrive généralement), alors soit nous modifions la solution avec un fichier, soit, si elle ne convient pas très bien, nous créons la nôtre.
5. Nous effectuons une description comparative de la nouvelle solution et de celle existante.
6. Si la solution existante s'avère soudainement plus rapide, nous identifions alors le lieu ou la méthode grâce à laquelle un tel résultat est obtenu et apportons des modifications à la nouvelle solution.

Est-il facile de devenir programmeur ?

Il me semble qu'entrer aujourd'hui dans le métier de programmeur est beaucoup plus facile qu'il y a 15 ans.

Le fer est devenu plus accessible. À mon époque, un ordinateur coûtait très cher ; en acheter un pour un enfant était une décision sérieuse pour les parents.

Les environnements de développement étaient médiocres, et il n'y avait pas vraiment de langages populaires pouvant être déployés rapidement... Maintenant, les outils sont devenus plus intelligents, il existe des activités éducatives où l'on vient simplement résoudre des problèmes - Codeacademy, HTML Academy .

Codeacademy, le projet de formation au codage le plus populaire au monde, vous permet d'écrire du code immédiatement, en sautant la formation théorique.

Concours? La concurrence a toujours été faible. Il suffisait à quelqu'un de dessiner une page HTML, de mettre une balise avec des crochets angulaires et des questions, et il commençait déjà à se considérer comme un programmeur serveur en PHP. Sans savoir du tout ce qu'est cgi, ce que sont les en-têtes, HTTP. A ce niveau, il y a toujours de la concurrence. Lorsqu'une personne monte déjà en niveau et commence à comprendre l'architecture des applications et son fonctionnement, même la langue de travail n'a plus d'importance.

C'est très simple de vérifier votre intérêt pour la programmation : vous devez ouvrir n'importe quel projet éducatif et essayer de faire quelque chose.

Et si vous voulez quelque chose d'aussi vivant, diversifié, tout, mais néanmoins aussi bien payé, c'est Perl et C. Et si c'est quelque chose comme une startup : pour assembler rapidement quelque chose, le lancer et le montrer aux investisseurs, alors ici, c'est cela vaut probablement la peine de regarder Ruby, Go, peut-être Python. Voici comment vous l'aimez. Certains peuvent aimer Javascript avec Angular et MongoDB.

Une personne doit accepter organiquement la syntaxe et les approches de la langue dans laquelle elle envisage d'écrire. Si une personne n’aime pas écrire, elle écrit du mauvais code.

J'ai vu des Javaistes écrire en Perl. C'est horrible. Ils sont constamment insatisfaits, constamment indignés, ils n’aiment pas tout et s’efforcent de tout faire à leur manière. Ils essaient de faire de toute cette montagne de classes des usines abstraites qui ne sont pas nécessaires en Perl. Là, c’est possible, mais il parle d’autre chose. En général, vous pouvez faire beaucoup de choses en Perl dans d'autres langages, mais ce n'est pas organique pour ce langage.

Perl est un langage assez particulier. Son auteur est un linguiste et, lors du développement de la syntaxe de la langue elle-même, il a utilisé toutes sortes d'approches, disons, linguistiques. Le principe de base est TIMTOWTDI : « tout peut être fait de plusieurs manières » (il existe plusieurs façons de le faire).

Quand quelqu’un dit de Pearl que c’est difficile, que c’est impossible à lire, je ne peux répondre qu’à une chose : on peut prendre la langue chinoise et dire que la langue est terrible, qu’elle est impossible à lire, que rien n’est clair.

Quelle que soit la langue, la technologie que vous rencontrez, vous devez d’abord l’apprendre. Il y a un niveau de lecture, il y a un niveau d’écriture – le niveau où vous pouvez écrire dans la langue. La plupart des gens étudient généralement peu, commencent à penser qu'ils connaissent le langage, et lorsqu'ils rencontrent des programmes écrits en utilisant une syntaxe complexe, ils ne peuvent tout simplement pas les lire et commencent à prétendre que le langage est mauvais.

La seule chose pour laquelle, à mon avis, Perl est mal adapté est l'écriture de pilotes. Il m'est difficile d'imaginer comment écrire des pilotes en Perl. Un autre côté faible sont les mathématiques, elles sont 20 à 30 fois plus lentes qu'en C. Autrement dit, si nous devons calculer le déterminant d'une matrice 100*100, pour cela nous devons prendre C ou certains langages spécialement adaptés à cela matière.

J'ai écrit en Java et je peux dire que la JVM est une bonne chose, très rapide, on peut y écrire des choses très performantes. Nous avions un projet Rambler-Contacts avec un serveur Jabber en Java. Et les Javaistes ne parvenaient pas à créer correctement un analyseur XML ; ils le ralentissaient toujours ou l’analysaient de manière tordue. J'ai donc pris mon analyseur basé sur C, que j'avais écrit pour Perl, et je l'ai transféré vers Java. Je viens de l'écrire dans Sis. Il a été analysé peut-être plusieurs fois plus rapidement qu'auparavant. Et ce n'était pas un buggy.

En général, je me familiarise avec de nouvelles langues, mais je ne commence pas à écrire dans elles, car je n’en ai pas encore mieux aimé aucune. Perl me donne l'impression d'être un magicien.

Je peux tout faire : envoyer de telles requêtes, analyser n'importe quoi, assembler, connecter C, etc. Avec une autre langue, il me faudra beaucoup de temps pour atteindre le même niveau.

Si Perl n'avait pas existé, je serais probablement resté avec Ruby. Mais Ruby ne pourrait exister sans Pearl, à qui elle empruntait beaucoup.

Les gens me demandent pourquoi je n’ai pas appris Python à un moment donné ? Il y a plus de postes vacants Python. Et je n'ai pas cherché de poste vacant ces dernières années, on m'appelle déjà : « Venez nous voir pour un entretien », « Vous n'êtes pas intéressé par une mutation ? Il y en a un qui pend constamment : ils invitent les jouets à écrire, mais je refuse toujours.

De quoi s’inspirer ?

Personnellement, j'aime créer et modifier quelque chose de créé. Dans le monde réel avec de vrais matériaux... J'ai fait beaucoup de choses : travailler des matériaux, couler du métal - c'est très difficile de copier quelque chose, de modifier quelque chose. Je me suis intéressé au moulage de bijoux, mais il faut des sommes exorbitantes pour obtenir du matériel. Vous pouvez, bien sûr, le faire à l'ancienne, comme il y a de nombreuses années, mais il existe désormais des appareils sympas pour fabriquer des bijoux. Seul le coût d’essayer est énorme. Et vous pouvez vous essayer à la programmation pratiquement gratuitement, mais au prix du temps. Et c'est un grand plaisir.

L’ambition joue probablement aussi un rôle ici. Je suis heureux lorsque certains de mes composants, produits ou autres modules sont plus rapides que tous les autres, dans le même langage ou dans des langages différents.

Cela arrive de temps en temps : je m'assois et j'écris de nouveaux modules, en utilisant de nouvelles approches et méthodes d'optimisation. Je les écris, je les compare aux autres, je suis convaincu qu'ils sont les plus rapides et je les utilise pendant un certain temps. Le temps passe - de nouvelles technologies apparaissent, de nouveaux modules apparaissent, quelqu'un prend les mêmes idées chez moi, ou ailleurs (ou d'autres bibliothèques sont utilisées), ils me rattrapent, me dépassent et je cherche autre chose à optimiser.

Il est vrai que cela a quelque chose à voir avec le fait que je suis un mauvais mainteneur. Je publie tout ce que j'écris sur github et sur CPAN, mais reconstruire d'anciens modules est paresseux (même si j'essaye). Exemple - J'ai XML Parser Style - un module plugin pour XML Parser. Il s'agit de la première version. Ensuite, je trouve quelque chose de mieux, de plus pratique, de plus intéressant, et j'écris le module suivant. Ensuite, j'arrête de les utiliser et j'écris mon propre analyseur XML, très cool et rapide. Et le problème est qu'ils m'envoient des correctifs pour les modules que j'ai arrêté d'utiliser. Vous regardez le code d'il y a trois ans et regardez : « Bon sang, c'est inefficace, est-ce que je l'ai écrit comme ça ? Eh oui, tout cela doit être réécrit. Mais réécrire quelque chose de vieux n’est pas intéressant – pourquoi ?

Comment s’engager dans l’(auto-)apprentissage ?

Je n'ai pas lu un seul livre sur l'informatique de toute mon histoire, du début à la fin. Sauf Norton et son assembleur. Et un peu de Kernighan et Ritchie, que je lisais alors que j'écrivais déjà beaucoup en C. C'était juste intéressant de l'ouvrir et de le lire comme ceci : je sais ceci, je sais ceci, oh, c'est intéressant, je sais, je sais, je sais.

Le matériel principal de ma formation est la documentation, ce sont des articles, ce sont des codes sources. J'aime beaucoup lire des sources. Il y a aussi des expériences pratiques et des concours, et, en principe, j'essaie de suivre ce qui se passe en général dans l'environnement, dans le contexte de « que se passe-t-il si vous apportez quelque chose d'autres langages en Perl ».

J'ai passé la certification Scrum et je l'ai étudiée, mais ce n'était pas nécessaire de toute urgence. Ce n’est pas comme si j’avais soudain réalisé : bon sang, je devrais apprendre ! J’en ai toujours assez de mon propre intérêt. Quand à un moment donné je n'avais pas assez de connaissances en architecture, je me suis assis et j'ai lu : sur les bases de données, sur les réseaux.

J'ai enseigné un peu au MIPT... avant d'en être expulsé. Au premier semestre d'informatique, j'avais déjà étudié Pascal de fond en comble. 10 minutes par tâche, le reste du temps vous êtes assis sur la même machine, en train d'écrire quelques fractales en assembleur. Notre professeur a vu cela et a dit : « Ça y est ! » Et il dit (à moi et à un autre gars qui avons écrit en C++ au lieu d'assembler) : « Puisque vous vous comportez tous ici et que cela ne vous intéresse pas, vous enseignez un cours de C++ à vos camarades de classe depuis six mois, et vous lisez assembleur. Et je te donne une note pour toute l’année, d’accord ? Eh bien, d'accord.

J'ai enseigné quelque chose comme ça : un livre Norton, un jour je m'assois seul, je résous et étudie tous ces problèmes, je propose 14 tâches différentes, je viens leur dire, je donne des tâches. Étonnamment, mon groupe a assez bien réussi le langage assembleur.

Récemment, avec deux autres développeurs Perl sympas, j'ai enseigné un cours de programmation Perl à l'Université d'État de Moscou. Une expérience très intéressante qui a montré que parmi un large échantillon de personnes, il y en aura certainement beaucoup qui aimeront cette langue.

En général, j'aime raconter des histoires. Quand je travaillais encore à Agave et que je déterrais des choses intéressantes, ils m'ont demandé de leur raconter. J'ai pris la parole lors d'une petite soirée intra-Pearl sur Moscou.pm. Il s'est avéré que tout le monde était intéressé par cela et ils m'ont demandé d'en parler lors d'une grande conférence. Je suis allé au grand événement - YAPC::Russia 2008 - j'ai parlé pendant quarante minutes plus tout le déjeuner. J'ai aimé. J'ai pris la parole à la conférence Highload et ailleurs (je pense à Devcon).

Puis j’ai pensé : je vous ai dit tout ce que je savais. Mais la pratique a montré que les gens ne savent toujours pas ce que j’ai déjà dit plus d’une fois. Et cela peut se répéter. Et puis l’occasion s’est présentée de le dire aux étudiants. De plus, le cerveau des étudiants n’est pas confondu avec l’idée que Perl appartient au siècle dernier. Ils sont prêts à s’intéresser à une variété de technologies ; tout les intéresse.

Qu’attendre du futur ?

Je dois réfléchir à où tout va aller – puisque je fais ça. En fait, je ne vois aucune condition préalable à des changements fondamentaux dans la programmation. Eh bien, dans 20 à 30 ans, les langages changeront : nous n'écrirons pas seulement des programmes, mais des programmes qui écrivent des programmes.

Il y aura une évolution vers une réduction des opérations routinières, vers la répétition de la même chose. Peut-être qu’il y aura quelque part un changement technologique, comme « passons des cristaux à l’optique ».

En fait, tout repose dans une logique binaire et mathématique. Peut-être apparaîtront-ils des choses plus adaptées à ce qu’on appelle la « logique floue ». Nous verrons ensuite d'autres langages de programmation et appareils adaptés à cela. Toutes sortes de logique floue pour la reconnaissance d’images, par exemple, se situent dans ce domaine. Mais moi-même je n'aime pas ce genre d'applications mathématiques et je ne les étudie pas vraiment, j'aime écrire en logique binaire : quand il y a un algorithme, une dimension claire... Je pense que ce modèle persistera pendant la majeure partie de nos vies .

Finalement, nous avons décidé de lancer une ronde éclair de questions et réponses avec M. Anderson.

- Racontez-moi une histoire drôle de vos jours de programmation scolaire ?

Quand je suis entré en école d'informatique et de mathématiques en 10e, mes camarades écrivaient déjà en Pascal ; J'ai rapidement maîtrisé sa syntaxe, mais j'ai essayé de transmettre les programmes en cours. Parce que je ne savais pas comment sauvegarder ! Pas une seule infection ne m'a dit comment sauvegarder sur cette foutue disquette. Il semblerait que j'aille de l'avant et je le découvre, mais d'une manière ou d'une autre, je n'ai pas pu le sauvegarder, je ne me souviens pas exactement pourquoi. Le premier semestre de 10e année - ma note était à peine de 3, tout simplement parce que je ne savais pas comment économiser. Mes parents ont réfléchi et réfléchi, ont décidé que dans de telles circonstances, je ne pourrais pas étudier longtemps dans cette école et ont acheté un ordinateur personnel.

- Quel a été le premier jouet sur votre ordinateur personnel ?

- estime que chaque programmeur devrait travailler dans une startup... Avez-vous eu une telle expérience ?

J'ai quitté Agave pour faire des sites internet. Nous nous sommes réunis avec plusieurs personnes, nous avons compris, il y avait déjà pas mal de commandes à cette époque - un tiers de nos connaissances (c'était l'environnement) ont demandé : puis-je lui faire un site Internet ? Un jour, j'ai commencé à créer des sites Web, mais d'un point de vue purement programmation, j'ai creusé : j'ai pensé, maintenant je vais créer un framework universel. L’idée était la suivante : je créerais un designer, puis je construirais des sites Web dessus.

La pratique a montré que les compétences que j'avais alors ne pouvaient que me soutenir. Je n'ai vu aucun moyen de développer. J'aurais pu embaucher plus de personnes, mais à mon avis, ils auraient fait la même chose ou pire à la même vitesse, donc nous aurions simplement divisé l'argent. Je n'ai vu aucune croissance. J'ai cédé les chantiers dont je disposais, j'ai décidé d'abandonner cette affaire et je suis rentré à Agava avec une augmentation de salaire par rapport au précédent. Il s’est avéré qu’à cette époque, le travail à temps plein était plus rentable que le travail indépendant.

Il me semble que je suis un mauvais startuper parce que je veux mieux faire les choses, même si cela prend du temps. Un étudiant qui se permet de construire rapidement un prototype et de le montrer à un investisseur peut être un startuper plus prospère que moi.

Utilisez votre temps

« Gestion du temps » est le nom le plus populaire pour désigner cette compétence. De nombreuses personnes s’inquiètent de l’utilisation du temps : le temps est pour nous la seule ressource véritablement irremplaçable. Et il y a de plus en plus de distractions. Nous vous proposons des techniques et des outils éprouvés de gestion du temps.

Compétence connexe - .

- Regrettez-vous quelque chose dans votre parcours professionnel ?

Je regrette d'avoir passé les premières années sur toutes sortes de déchets, ces sites Web, l'administration système. Cela m'a donné une certaine expérience, mais j'aurais reçu cette expérience en beaucoup moins de temps. Je pense que j'aurais aimé aller sur Mail.ru, à peu près, dès que j'ai abandonné mes études et réalisé que réparer des ordinateurs n'était pas mon truc.

Pour les plus jeunes, je leur conseillerais de se rappeler que le temps est la seule ressource précieuse.

Nous le changeons généralement en expérience, et l'expérience n'est pas mauvaise non plus. Cela devient juste plus difficile plus tard, il y a plus de responsabilités, la liberté d'action est perdue. Étant étudiant et pouvant vivre avec mille cinq cents roubles par mois (début des années 2000), vous pouvez vous permettre n'importe quoi, n'importe quelle startup. Mais quand on a une famille et un prêt hypothécaire important, tout devient plus difficile.

Pour effectuer diverses tâches à l'aide d'un ordinateur, un ensemble spécifique de programmes est requis. La plupart des programmes sont créés par des programmeurs professionnels, mais tout le monde peut apprendre à programmer. Il existe de nombreux manuels et sites sur Internet pour apprendre les langages de programmation, dont l'environnement PascalABC.

Le système de programmation PascalABC est idéal pour les débutants et vous permet de progresser en douceur vers une programmation plus complexe. Ce programme est distribué gratuitement (il comprend un cahier de problèmes électronique avec un grand nombre d'exemples, et la documentation et le système d'aide sont disponibles en russe). A titre d'exemple, essayons d'écrire un programme pour un ordinateur en utilisant PascalABC.

Navigation rapide dans l'article

Présentation de PascalABC

Après avoir démarré le programme, la fenêtre de l'environnement de programmation PascalABC apparaît. L'interface est simple et comprend plusieurs éléments :

  • Barre de menus - contient tous les éléments nécessaires à l'édition, à l'édition et au lancement du programme ;
  • Barre de barre d'outils - les commandes fréquemment utilisées s'y trouvent ;
  • L'espace de travail est l'espace de travail principal du programme.

Création d'un programme

Tous les programmes écrits en PascalABC ont un modèle de conception commun. Chaque programme se compose de plusieurs blocs :

  • Description des variables - de quel type sont les données d'entrée ;
  • Saisie des données - les données nécessaires à la résolution de la tâche sont saisies ;
  • Bloc principal - les tâches assignées sont terminées ;
  • Sortie de données - le résultat du programme est affiché.

L'algorithme du programme ressemble à ceci :

  • Nous introduisons la variable a, qui est un nombre ;
  • Début du programme ;
  • Saisie de données ;
  • Fonctionnement du programme ;
  • Sortie de données ;
  • Fin du programme.

Exemple de code de programme :

Programme vvod ;
var a:entier;
commencer
readln(a);
writeln("Vous avez saisi un numéro", a);
fin.

Analyser ce programme ligne par ligne

  • Programme vvod ; — nom du programme (seuls l'alphabet latin, les chiffres ou le signe « _ » sont utilisés). Chaque ligne se termine par un point-virgule ;
  • var a:entier; - les variables sont listées. Dans cet exemple, une variable est utilisée - "a", tandis que le mot "var" est un mot auxiliaire (les variables sont définies avec son aide). Ce qui suit décrit le type de variables (entiers - entiers et réels - fractionnaires) ;
  • commencer - ce mot désigne le début du programme (aucun point-virgule n'est placé après);
  • readln(a); — la saisie des données. Pendant l'exécution du programme, la valeur de la variable est saisie (dans cet exemple, n'importe quel entier est utilisé) ;
  • writeln("Vous avez saisi un numéro", a); — sortie de données. Ce que l’ordinateur doit afficher est écrit entre parenthèses. Si un texte doit être affiché, il doit être inséré entre guillemets simples ;
  • fin. - le programme est terminé (un point est placé à la fin).

Cet exemple montre que n'importe quel utilisateur d'ordinateur peut écrire un programme simple. En regardant les exemples inclus avec le système de programmation PascalABC, vous pouvez apprendre à écrire des programmes pour vous aider à travailler.

La lutte omniprésente contre le piratage de logiciels a donc gagné notre pays, punissant tout le monde sans discernement. Bien entendu, cela ne signifie pas que nous devons de toute urgence effacer tous les logiciels piratés des archives personnelles (heureusement, les forces de l'ordre ne font pas encore de porte-à-porte pour identifier les logiciels sans licence). Mais les programmeurs individuels qui lancent leurs programmes dans le monde doivent sérieusement s’inquiéter de s’assurer que leurs programmes sont réalisés conformément à la loi.

Pour le programmeur moyen, à petite échelle, de lecture à domicile, il n'est pas possible d'acheter pour un usage personnel des monstres de développement de logiciels tels que Visuel C++, Borland Delphes. Et pour créer un très beau design pour l'interface du programme (icônes, images, sons et animations), vous aurez besoin de beaucoup d'argent pour Photoshop, Corel...

Le revenu moyen d'une personne honnête dans notre pays est très faible, et encore moins pour les étudiants. Et le logiciel est très cher. Que faire, demandez-vous ? Il n'y a qu'une seule issue : vous devez utiliser des outils de développement gratuits, des formats de fichiers gratuits. Heureusement, cette bonté est disponible non seulement pour Linux, mais aussi pour Windows.

Compte tenu de ce qui précède, formulons la tâche : pour écrire une application pour le système d'exploitation Windows qui possède les qualités suivantes - fiabilité, vitesse, taille de distribution relativement petite, travail sans bibliothèques tierces, doit avoir un graphisme beau et pratique interface, bien sûr, sans enfreindre la loi et sans dépenser un centime.

Si vous jetez des compilateurs/interprètes comme Java, PHP, Perl, et aussi Visual Basic(qui a relativement peu de popularité dans notre pays) et d'autres hérésies de programmeurs mono-orientées et étroitement ciblées, nous avons à notre disposition les outils de développement de programmes informatiques universels GRATUITS suivants pour le système d'exploitation Windows :

  1. Édition Visual C++ Express ;
  2. Édition Turbo de C++Builder ;
  3. Pelles C++ pour Windows ;
  4. Ports Linux tels que GCC, LCC et autres CC ;
  5. Borland Delphi Édition Turbo ;
  6. Compilateur Wanderer "Modula-C-Pascal"(prend en charge trois langages : C, Pascal, Modula). D'ailleurs, il a été développé par notre compatriote.

Nous analyserons les inconvénients et les avantages de chacun des outils de développement présentés, et déterminerons également dans quelle mesure ils sont adaptés pour résoudre le problème que nous avons posé.

Il y a environ un an, quelque chose s'est produit chez Melkosoft. Les grands géants de la pensée et amateurs de soutirer de longs dollars des poches d'utilisateurs crédules ont décidé de faire preuve de pitié et nous ont offert une version gratuite de leur célèbre « studio visuel », bien qu'un peu épuré, mais toujours fonctionnel et impressionnant, et portant le nom Visual C++ Édition Express. Voyons brièvement comment ce geste (souligner si approprié) de bonne volonté va aider un simple codeur russe. Ce compilateur est gratuit pour un usage domestique et familial et pour une distribution plus large. Hymne... Mais combien d'entre vous se limitent à créer des programmes console pour Windows 98 ? Le fait est que les Petits Softovites, apparemment,
En raison d'un malentendu, ou peut-être d'une intention malveillante, tous les fichiers d'en-tête liés à la programmation visuelle ont été supprimés du kit de distribution Express. Mais ils nous ont donné leur nouvelle bibliothèque de programmation visuelle CLR, qui dans ses concepts de base est étrangement similaire à la VCL Delphi. Mais le problème est que le CLR a besoin pour son travail de .NET, dont la distribution pèse 300 mètres. Convenez que transporter 300 mètres pour qu'un programme pesant 10 mètres fonctionne est trop de respect pour Smallsoft.
Résultat: Une note C seulement pour une démarche audacieuse.

Jetons un coup d'œil à un autre poids lourd du logiciel. Imaginons que la programmation en C++ soit devenue une nième fois plus simple. Vous dites que ce n'est pas possible ? Peut être:). Pour le confirmer, tournons notre attention vers Édition Turbo de C++Builder.Mais concernant ce compilateur, l’opinion publique diffère radicalement. D'une part, le langage de développement clé est C/C++ (qui ne peut que plaire aux adeptes de ce langage) et la commodité visuelle est au plus haut niveau, et d'autre part, il y a une raison de lancer HolyWar :) - le constructeur est écrit en Delphi, et de l'autre – vous pouvez rapidement créer une interface sympa pour le programme et vous vanter auprès de vos amis qu'il est écrit en C :).
Résultat:
En principe, ça fera l'affaire, mais le fait que l'intérieur soit écrit en Delphi me hante toujours :)

Pelles C++ pour Windows– un bon outil de développement gratuit. On peut dire qu'il s'agit de « Visual C gratuit » puisque tous les paramètres et l'interface sont presque les mêmes. Peut compiler Native. Il existe un éditeur et un compilateur de ressources intégrés. Mais cela n’a aucun sens, ce n’est pas plus visuel que dans Visual C++ Express Edition, et écrire un programme complexe dans de telles conditions pourrait même ne pas être possible avant la retraite.
Résultat: La vie est courte, nous devons écrire rapidement et efficacement – ​​j’ai bien peur que nous n’ayons pas le temps.

Considérons les cadeaux d'invités d'un « autre univers ». Les ports de Linux tels que GCC, LCC et autres CC sont nuls, la commodité est la même que celle du compilateur précédent, de plus, LCC s'est avéré un peu irréalisable, et pour télécharger GCC depuis le site et le faire fonctionner , il faut être académicien. 🙂
Résultat: Nous ne le prenons pas.

Borland Delphi Turbo Édition– gratuit, dispose d'un éditeur de ressources, vous permet d'écrire des programmes pour Windows 32 qui ne nécessitent aucune bibliothèque supplémentaire. Mais il a aussi ses inconvénients : il n'y a pas de compilateur de ligne de commande (en principe, pas une grosse perte), il encombre la mémoire avec le temps et, ce qui est le plus désagréable, l'environnement Turbo nécessite l'installation de dotNET pour fonctionner. 🙁
Résultat: Convient

Le compilateur Wanderer "Modula-C-Pascal" est un développement national, un compilateur prometteur, mais les inconvénients sont les mêmes que ceux de Pelles C++ pour Windows - visualisation extrêmement faible.
Résultat: Patriotique, mais pas rentable. Nous ne le prenons pas.

Les graphiques et le son sont interdits - malheureusement ou heureusement, l'époque du DOS est révolue, l'ère des programmes dotés d'une interface visuelle et colorée est arrivée. Images, icônes, animations et autres guirlandes, très pratiques pour cacher la misère générale du programme. 🙂 Même à l'époque du DOS, primitif, selon les normes actuelles, les graphiques étaient réalisés dans des programmes spéciaux - des éditeurs ASCII. Idéal pour créer de belles icônes et images Adobe Photoshop, mais cela dépasse les moyens d'un honnête informaticien. Nous chercherons une alternative. Et on le retrouvera dans le camp des éditeurs graphiques portés depuis Linux, à savoir Gimp. Simple, un peu gênant après Photoshop pirate, mais on peut s'y habituer. Comment
le même son, demandez-vous ? L'utilisateur moderne est gâté et pas aujourd'hui - demain, il voudra que le programme réponde à chacune de ses actions avec une voix. Comment faire cela ? Laboratoire d'ondes, SoundForge Et Adobe Audition exiger un paiement pour leurs capacités. Heureusement qu'il existe un éditeur de son Audace, écrit par Dominic Matsoni, étudiant diplômé de l'Université Carnegie Mallon.

Un format n'est pas un format ou comment ne pas se tromper dans le choix des formats de fichiers - pour une programmation réussie et sûre, du point de vue de la loi, il ne suffit pas de choisir un compilateur gratuit et un éditeur multimédia gratuit. Imaginez cette situation. Vous créez un programme qui, en analysant l'heure du système, indique d'une voix féminine agréable combien d'heures y ont été exécutées. Il est clair que pour améliorer la qualité de votre voix, vous devrez demander à votre mère, amie, épouse, belle-mère de enfin parler (dans le cas de la belle-mère, siffler :) tous ces chiffres dans le micro. Bien entendu, vous réaliserez l’enregistrement en utilisant Audacity. Maintenant la question est : « Dans quel format allez-vous enregistrer ces fichiers son ? » En wav ? Ensuite, vous augmenterez simplement la distribution de votre
programmes. En mp3 ? Mais il est breveté, ce qui signifie que son utilisation est également payante. Il existe un moyen de s'en sortir - enregistrez-le au format ogg, téléchargez les fichiers d'en-tête pour l'utiliser - et vous serez heureux.

Voulez-vous faire une animation? Vous envisagez d'utiliser Gif ? Commencez à sécher les crackers. Il existe également un brevet pour cela. Votre choix est Png.

Conclusion. Dans nos temps difficiles, il est encore possible et nécessaire de travailler honnêtement.

Jetez un œil au site http://www.aplusfreeware.com/, vous y trouverez de nombreuses informations utiles sur notre sujet. Il existe de nombreux programmes gratuits qui ne sont pas pires que leurs homologues payants. Je me suis déjà engagé sur la voie d'un travail de programmation honnête, et vous ?

Si vous souhaitez apprendre la programmation informatique et recherchez un guide rapide expliquant comment apprendre cet art, cet article est fait pour vous.

Ici, je vais vous fournir des conseils pour apprendre à écrire vous-même des programmes informatiques.

La programmation informatique est l’un des domaines les plus passionnants et les plus gratifiants dans lesquels travailler. Des millions de lignes de code sont écrites chaque jour, partout dans le monde, donnant naissance à de nouvelles applications et logiciels. Si vous aimez penser de manière analytique et résoudre des énigmes et des problèmes de toutes sortes, la programmation est votre truc. La clé pour apprendre la programmation est de maîtriser les langages de programmation et d’apprendre à les utiliser pour résoudre des problèmes complexes.

La manière standard d’apprendre à coder, d’aller à l’université et d’obtenir un diplôme en informatique. Cependant, de nombreuses personnes n'ont jamais étudié dans des institutions, mais malgré cela, elles possèdent les compétences et le talent nécessaires à la pensée analytique. J'ai écrit cet article pour ceux d'entre vous qui n'ont pas étudié pour devenir programmeur, mais qui ont déjà découvert la beauté de la programmation et qui aimeraient maîtriser cette science. Internet a créé une culture de programmation qui peut vous guider tout au long de ce processus. Avec de l'autodiscipline et de la persévérance, vous pouvez apprendre à programmer et à écrire votre propre logiciel. Ce n'est pas seulement une méthode pour exercer votre esprit, mais aussi un excellent moyen de gagner de l'argent en vendant votre propre logiciel, ou de trouver un emploi dans une entreprise spécialisée si vous êtes vraiment doué dans ce domaine.

Comment apprendre à programmer ?

L'informatique est le principal domaine à maîtriser, elle vous donnera un minimum de connaissances et d'expérience en programmation. Voici quelques recommandations pour devenir programmeur.

Apprendre les langages de programmation

Tout d’abord, vous avez besoin d’un ordinateur de bureau ou portable qui vous permet de lire et d’exécuter vos programmes. La programmation est la capacité de communiquer avec la configuration matérielle d'un ordinateur pour effectuer diverses tâches informatiques. Un ordinateur ne comprend que le langage machine, écrit en 1 et en 0. Pour que nous, les humains, puissions communiquer avec les ordinateurs, des langages de programmation ont été créés dont le code peut être converti sous une forme lisible par machine par les compilateurs. Il existe un certain nombre de langages de programmation dont les applications varient. Vous devrez apprendre au moins une douzaine de langages de programmation majeurs, dont C, C++, Java, Perl, Lisp et Python.

Pour apprendre les bases de la programmation, commencez à apprendre le C ou Python dès le début. Utilisez des ressources en ligne et des livres de programmation pour acquérir les bases. Installez des programmes de codage et exécutez-les sur votre ordinateur. Travaillez à partir des exemples et des problèmes fournis dans les livres et les manuels électroniques pour écrire votre propre code. L'un des meilleurs livres pour commencer à apprendre le "C" est "". Encore un bon livre "".

Obtenez la compétence « C », puis commencez la programmation orientée objet, rendue possible par le C++. Acquérez ensuite des compétences en Java, Perl et , qui sont largement utilisés pour le développement Web. Apprenez le HTML si vous envisagez de travailler dans le développement Web. Comme vous pouvez le constater, il y a beaucoup de matière à apprendre et il faudra au moins 5 à 6 ans pour maîtriser la plupart des langues.

Commencez à écrire du code

C’est la meilleure façon de mettre en pratique ce que vous avez appris. Écrivez votre code, faites des erreurs, apprenez, déboguez le code. Participez à des concours de codage en ligne et testez vos compétences en programmation. Procurez-vous des logiciels open source, lisez le code et comprenez comment un bon logiciel est écrit. Découvrez comment les maîtres programmeurs réalisent des économies de code et une clarté logique. Apprenez à connaître votre ordinateur et votre matériel majeur. Apprenez comment un ordinateur fonctionne aux niveaux de base avec la mémoire et les processeurs.

Apprenez à exécuter Linux ou Unix

Vous ne pouvez pas vous qualifier de programmeur tant que vous ne maîtrisez pas les systèmes d’exploitation Linux et Unix. Installez la distribution Ubuntu sur votre ordinateur et familiarisez-vous avec elle. Cela vous donnera tous les outils de programmation dont vous avez besoin, ainsi que des compilateurs.

Le compilateur est un programme qui effectue une compilation (traduction d'un programme compilé à partir du code source).

Étudiant - Expert - Programmeur

Trouvez un bon mentor qui peut vous mettre sur la voie pour devenir un maître programmeur. Écoutez les conseils et apprenez-en.

Lisez les règles d'écriture du code et continuez à vous améliorer

Continuez à écrire votre propre code informatique et réfléchissez à la manière dont vous pourriez l’améliorer. Rejoignez le mouvement open source et analysez l’anatomie d’un bon logiciel. Créez votre site internet et approfondissez constamment vos connaissances. N'oubliez pas qu'il y a toujours place à l'amélioration !

Ne nous faisons pas d’illusion : programmer n’est pas une tâche facile. Il faudra au moins dix à quinze ans pour arriver au point où vous pourrez commencer à vous qualifier de programmeur à part entière. Votre réussite en programmation est directement proportionnelle au dévouement et à la persévérance avec lesquels vous poursuivez votre apprentissage.

Le but de cet article est de vous donner un coup de pouce dans la bonne direction. J'espère que cet objectif a été atteint dans une certaine mesure. Libérez votre esprit et entrez dans le monde de la programmation en vous amusant !

Apprendre la programmation n’est pas quelque chose que l’on peut faire avec désinvolture. Mais vous n’êtes pas obligé de passer toute votre vie à comprendre les bases. Il existe de nombreuses façons de faciliter votre apprentissage.

Il arrive souvent que les débutants commencent à apprendre en connaissant déjà quelque chose en programmation. Au début, tout se passe bien, mais à mesure que nous étudions plus en profondeur, les problèmes commencent. Pourquoi? Les débutants parcourent rapidement la partie introductive en pensant qu’ils savent déjà tout, mais en réalité c’est rarement le cas. Ils connaissent une partie du matériel, mais pas suffisamment pour bien comprendre les bases.

En même temps, nous ne pouvons cesser de nous développer. Vous pouvez aller lentement ou vite, mais ne sautez aucun sujet. En maîtrisant davantage de matériaux, vous créez une base pour l’avenir.

1. Étudier des exemples de code

Lorsque nous parlons de lecture, nous entendons généralement lire des mots sur une page, mais la programmation consiste à lire du code. Lorsque vous apprenez à programmer pour la première fois, vous devez étudier et essayer de comprendre chaque exemple. Vous pouvez même lire et essayer de comprendre les exemples de code d'abord, puis lire le texte seulement. Cela ne fonctionne pas toujours, mais cela vous apprend à examiner attentivement le code et à approfondir chaque détail.

2. Ne vous contentez pas de lire des exemples de code : exécutez-les !

Lorsque vous lisez un tutoriel ou un tutoriel, il est facile de regarder un exemple et de dire : « J'ai compris, je comprends. Oui, c'est logique." Bien sûr, vous l’avez peut-être compris, mais vous ne savez pas avec certitude si vous l’avez vraiment bien compris. Il n'y a qu'une seule façon de le savoir : faire quelque chose avec le code.

Si vous ne l'avez pas déjà fait, installez un environnement de développement (IDE) prenant en charge votre langage de programmation.

Ensuite, introduisez l'exemple dans l'EDI - si vous le tapez au lieu de simplement le copier, vous le parcourrez du début à la fin. Taper du code vous oblige à prêter attention aux détails de la syntaxe du langage, tels que les points-virgules qui doivent terminer chaque ligne.

Maintenant, compilez et exécutez le code. Assurez-vous qu'il fait exactement ce qu'il est censé faire.

Enfin, changez-le. Le programme est le mécanisme le plus facilement modifiable sur Terre. Vous pouvez expérimenter et voir ce qui se passe. Les changements se produiront instantanément, sans risque de mort ou de blessure. Le moyen le plus simple d’apprendre un langage de programmation est de prendre du code fonctionnel et de le modifier.

3. Commencez à écrire votre code le plus tôt possible

Dès que vous comprenez quelque chose sur le langage - même si cela vous fait déjà tourner la tête - commencez à y écrire des programmes. Il est parfois difficile de trouver des idées de programmes. C’est normal, au tout début vous n’êtes pas obligé de proposer votre idée.

Vous pouvez également reproduire des exercices d’un manuel ou d’un livre que vous lisez sans regarder les exemples. Ce n'est pas aussi facile qu'il y paraît. Cette technique fonctionne également bien si vous modifiez légèrement le code des exemples.

Si vous ne voulez pas penser à de petits programmes et souhaitez écrire immédiatement quelque chose de plus grand, comme des jeux, vous devez commencer par de petits éléments que vous pourrez ensuite utiliser pour créer un jeu. Que vous les utilisiez ou non, vous acquerrez une expérience précieuse.

4. Apprenez à utiliser un débogueur

Le débogueur vous permettra de vous déplacer dans le code ligne par ligne. Vous pourrez observer les valeurs des variables et voir si la condition est remplie.

Le débogueur vous permet de répondre rapidement aux questions sur ce que fait votre code.

Au début, la correction des erreurs avec le débogueur prendra beaucoup de temps. Mais à mesure que le nombre d’erreurs dans votre code augmente, le débogueur commencera à vous faire gagner beaucoup de temps. Et le nombre d'erreurs, croyez-moi, se mesurera en dizaines.

Les débutants sont souvent réticents à utiliser un débogueur. En fait, ils se rendent la vie difficile en passant des années à corriger des erreurs très simples. Plus tôt vous apprendrez le débogueur, plus tôt vous serez récompensé.

5. Trouver plus de sources

Si vous ne comprenez pas quelque chose, cherchez d'abord des explications alternatives : Internet regorge d'informations sur la programmation. Nous percevons tous les nouvelles informations différemment : peut-être avez-vous besoin d’images pour comprendre, tandis que quelqu’un d’autre a besoin d’instructions détaillées ou de nombreux livres contenant des explications détaillées.

Mais si cela ne fonctionne pas, la meilleure façon de résoudre le problème est de demander à quelqu'un d'autre. Cependant, si vous dites « Je ne comprends pas, veuillez expliquer », vous recevrez probablement en réponse un lien vers le même texte que vous n'avez pas compris. Utilisez plutôt vos propres mots pour décrire comment vous avez compris le texte. Plus une question révèle vos réflexions, plus il sera facile pour un expert compétent d'y répondre. Les programmeurs semblent parfois irritables lorsqu'ils répondent aux questions. Mais la raison est plus probablement qu’ils veulent avancer dans le dialogue, ce qui nécessite des efforts des deux côtés. Si vous posez une question intelligente et détaillée qui démontre ce que vous pensez, vous obtiendrez de bons résultats.



Des questions ?

Signaler une faute de frappe

Texte qui sera envoyé à nos rédacteurs :