Apprendre la programmation en 2022 : ce que disent les codeurs
Dans cet article sur la programmation nous présentons des extraits des avis des programmeurs.
apprendre la programmation en ligne / tutoriel programmation en ligne / tuto programmation /cours gratuit programmation
La programmation pour les nuls : les avis des codeurs
Combien de langages de programmation un programmeur peut-il apprendre ?
Si vous apprenez les quatre langages angulaires, vous constaterez que 95% des autres ne font que ressasser les mêmes idées dans différentes combinaisons.C – pour la programmation impérative
Haskell – pour la programmation fonctionnelle
Smalltalk – pour la programmation orientée objet
Lisp – pour la métaprogrammation (macros, code-as-data)
Si vous souhaitez couvrir la plupart des 5 % restants, vous aurez probablement besoin d’un autre ensemble de quatre langages :Quatrième – programmation pilotée par la pile
APL – algèbre de manipulation de tableaux
Prolog – programmation déclarative
Brainfuck – Machines de Turing
Quoi qu’il en soit, le point que j’essaie de faire valoir est que l’apprentissage des langages est presque trivial. Ils réutilisent de grandes parties des ensembles de fonctionnalités et de la syntaxe de l’un à l’autre. La clé de l’apprentissage de la programmation, cependant, n’est pas d’apprendre quelles sont les fonctionnalités, mais comment elles sont utilisées pour résoudre des problèmes.N’oubliez pas que la programmation n’est pas de la linguistique, ce n’est pas une question de langages. Il s’agit de problèmes, de leurs solutions et de manières rigoureuses de les décrire.
Apprendre la programmation en ligne en 2022
Quel langage de programmation apprendre ?
A moins d’avoir une vraie bonne formation en informatique générale,
à moins que vous ne passiez des centaines d’heures à étudier le bon et le mauvais code et pourquoi il est bon et pourquoi il est mauvais,
à moins que vous ne compreniez plus qu’un peu le fonctionnement des ordinateurs sous le capot,
Tu vas passer un mauvais moment.
C et C++ sont la vraie affaire.
C++ est fondamental, mais essayer d’apprendre plusieurs langages
Ce sont des langages puissants, sérieux et compilés, qui peuvent être utilisés pour faire n’importe quoi avec un ordinateur.
Mais avec une grande puissance vient une grande merde.
Vous ne vous contentez pas de “prendre” C++.
Vous devez déjà en savoir un peu, et il y a beaucoup de choses ménagères plutôt désagréables que vous devez faire pour créer des programmes robustes, comme tester, tester, déboguer, tester.Le chemin du concept à la production à l’installation de logiciels C et C++ prend
un chemin plus long, mais finit par créer des programmes qui exécutent le monde réel, d’une manière que les langages interprétés ne peuvent pas. À moins qu’ils n’aient du C ou du C++ en dessous, alors vous n’exécutez que du C avec un langage de script .. Eh Python ?
Python VS C++
C’est en fait ce qu’ils ne vous disent pas sur Java, Perl, Python, JavaScript, etc.
Que vous effectuez réellement des appels de fonctions C ou C++ pour faire fonctionner l’ordinateur.Le “Majique” de Python est qu’il appelle des fonctions C qui analysent le code python et travaillez avec des données avec des appels de fonction C. Il est intelligent dans la façon dont il assemble les fonctions et gère les données, mais l’intelligence ne fait rien sans réellement gérer les octets. C gère les octets, appelle les appels système, ouvre, lit et écrit les fichiers, déplace les éléments en mémoire. Les développeurs Python Lents et sont vraiment des programmeurs C.
Le rôle des IDE dans la programmation / La robustesse des progammes
Les IDE sont censées faire 2 choses majeures + 1 choses mineures.
Rendre les programmes plus robustes,
Concevez des atterrissages en douceur pour les erreurs graves.
fournir des diagnostics pour le débogage en cas d’erreur fatale/critique
avant la sortie.
Ils ne sont pas:gestionnaires d’événements
correctifs de code
divergences de chemin de code régulières (décisions)
code de secours pour réessayer ou essayer autre chose
L’utilisation abusive des exceptions pour faire ce qui précède et d’autres choses est ce qui a conduit à de mauvaises conceptions et à la nuance actuelle de l’idée.
Il existe de meilleures façons de faire ces choses dans la conception de code standard.
La robustesse des programmes
Tant mieux que vous trouverez peut-être qu’une majorité de code try/catch en C++ est écrit pour contourner les beugs, l’ignorer et poursuivre le travail.Concevoir avec des exceptions signifie donc anticiper quelles sont les conditions exceptionnelles et ce qu’elles ne sont pas, et les utiliser pour atteindre 1 et 2 ci-dessus.
Une mauvaise entrée n’est pas exceptionnelle. C’est la norme. Cela devrait être traité en ligne, pas comme une chose inattendue et sauvage qui ne se produit presque jamais.
Fichier introuvable, connexion perdue, pas prêt, échec de l’autorisation, ces choses sont tout aussi normales, pas exceptionnelles du tout.Pas de mémoire, erreur de disque, thread ne répondant pas, panne de courant, c’est là que nous devons faire quelque chose hors de l’ordinaire, pour éviter que les choses ne coûtent cher ou ne prennent feu.
La robustesse peut signifier maintenir le programme sans corruption, ou économiser du travail, libérer des ressources, annuler des calculs, etc.
Un atterrissage en douceur pour des erreurs graves signifie que des événements se produisent dont le programme ne peut pas se remettre et doit mourir. La conception interne C++ rend cela très facile si prévu, en faisant en sorte que les objets offrent automatiquement un nettoyage et une libération de ressources garantis dans la plupart des situations, et avec une suppression manuelle dans une clause try/catch dans les cas où l’allocation de mémoire dynamique est utilisée.
Les exceptions en C sont faisables, mais pas avec le support de langage intégré. Il s’agit généralement d’une tâche d’interrogation qu’un thread doit effectuer sur une file d’attente centrale qui les collecte.
La tâche effectue ses opérations atomiques, puis vérifie la file d’attente d’exceptions pour toutes les exceptions pertinentes qu’elle recherche. Parfois, il s’agit simplement d’une structure d’erreur statique globale
qui peut avoir des données pour certains gestionnaires. Habituellement cependant, s’il s’agit de signaux importants et sig_handlers sont utilisés à la place, car c’est ce que le matériel peut faire pour
communiquer quelque chose qui ne va pas au programme. Le noyau Linux a son propre
version de ceci pour les processus et le CPU qui essaie deEnregistrer le contenu des registres dans la pile du mode noyau
Gérer l’exception au moyen d’une fonction C.
restaurer le contenu des registres
Quittez le gestionnaire . ( ret_from_exception() )
Pour autant que je sache, il s’agit d’un assembleur codé à la main pour l’architecture pour laquelle le noyau est compilé.