Accueil

Les langages de programmation les plus difficiles et les plus difficiles à éviter comme le fléau

Added 2019-03-09


Il existe de nombreux didacticiels de programmation géniaux pour vous aider à démarrer avec le codage. Mais avant d’y plonger, vous devrez répondre à une question très difficile: Quel langage de programmation devrais-je apprendre?

Dans cet article, nous aborderons le problème de l’autre côté: Quels langages de programmation devriez-vous éviter?

1. Esoteric en tant que% ^ & *!

Commençons par un facile. Langages de programmation ésotériques  (ou esolang en abrégé) sont conçus pour pousser la programmation à ses limites de simplicité. Ce faisant, ils réussissent à le rendre incroyablement compliqué.

Bien que cela semble être une contradiction dans les termes, un coup d’œil rapide au nom malheureusement nommé Brainf & * k  la langue:


++++++++ [& gt; ++++ [& gt; ++ & gt; +++ & gt; +++ & gt; + & lt; & lt; & lt; & lt; -] & gt; + & gt; + gt; + ; - & gt; & gt; + [& lt;] & lt; -] & gt; & gt;. & gt; ---. +++++++ .. +++. & gt; & gt; & lt; -. & lt; . +++. ------ .--------. & gt; & gt; +. & gt; ++.

Cette monstruosité est fonctionnelle, Turing-complet  code. La fonction de ce programme? Il imprime Bonjour le monde!  à l'écran. Simple, n'est-ce pas?

Le langage se compose de huit caractères, qui déplacent le pointeur de données dans le tableau de programmes et modifient ou affichent les données conservées à chaque position. Tout cela s’ajoute à un langage simple qui est un destructeur d’esprit absolu à utiliser. D'où le nom malheureux. À propos, Brainf £ k $ n'est pas le seul langage ésotérique à avoir un nom «coloré», alors soyez curieux à vos risques et périls!

Brainf ^ & k est l’un des langages de programmation ésotériques les plus connus, bien que beaucoup d’autres puissent être trouvés. Peut-être que vous voulez créer un programme en utilisant le une ligne d'Arnold Schwarzenegger ? Chef  est particulièrement remarquable car le code que vous écrivez finit par être lu comme une recette.

Les langages ésotériques sont conçus plus comme un défi amusant pour les programmeurs que pour un usage quotidien. En règle générale, ces langues sont Tarpits de Turing  et causera plus de frustration qu'autre chose s'il est utilisé pour des tâches de programmation réelles. De la même manière qu’il n’est pas nécessaire de passer Niagara Falls dans un tonneau, je suis sûr que certains d’entre vous programmeront dans des langues ésotériques quand même!

2. PHP

C'est là que les choses peuvent devenir litigieuses. PHP est un langage côté serveur conçu pour le développement Web. Initialement publié en 1997, PHP a rapidement repris le contrôle du Web. Vous auriez du mal à trouver une grande entité Web qui n'est pas  utiliser PHP. PHP a introduit le concept de sites Web dynamiques, permettant aux utilisateurs d’interroger des bases de données en temps réel au lieu de charger des pages statiques à chaque interaction.

Une récente enquête sur le dépassement de capacité montre que PHP est le neuvième langue la plus populaire , et il existe toujours une demande considérable pour les développeurs PHP. Jusqu'ici tout va bien. Largement utilisé, en demande, de longue date, qu’est-ce qui n’est pas là pour plaire?

Eh bien, selon qui vous demandez, beaucoup!

Incohérence

PHP n’était pas destiné à être un langage et a grandi pièce par pièce avec une structure générale. Cela rend l'apprentissage de PHP frustrant.

Un exemple de cela fourni par bien nommé phpsadness  est la fonction get de PHP:


gettype ()
get_class ()

Ces petites incohérences dans la dénomination des fonctions intégrées font partie d'un problème beaucoup plus vaste. De petites différences de syntaxe et de sémantique rendent PHP difficile à apprendre quand on vient d'une autre langue.

À l'ère des polyglottes du langage de programmation, ces problèmes pourraient ne pas être un gros problème pour vous, mais cela suffit pour faire en sorte que certains développeurs courent pour le mieux.

Une dernière chose avant de nous éloigner de ce type d’incohérences. En PHP, les noms de fonctions et de classes ne sont pas sensibles à la casse, mais les variables sont .

Attends quoi?

L'opérateur ternaire

Qu'il s'agisse d'un produit de la structure ad-hoc de PHP ou du caprice de l'un de ses créateurs, l'opérateur ternaire en PHP est déconcertant. Considère ceci:


$ a = 11;
écho (
    $ a == 10? 'Dix' :
    $ a == 11? 'Onze' :
    $ a == 12? 'Douze' :
    $ a == 13? "treize": "autre chose");

echo "\ n";
// ce code affiche 'treize' sur la console

Comme vous pouvez le voir dans l'exemple ci-dessus, PHP fait des choses étranges avec des opérateurs ternaires. Dans presque toutes les autres langues, vous pouvez vous attendre à ce que ce code soit généré Onze . PHP n'est pas d'accord.

Ce comportement étrange vient de PHP utilisant un opérateur ternaire associatif gauche. Ce comportement quelque peu hallucinant est totalement peu intuitif pour de nombreux programmeurs, et même après avoir lu explication détaillée  de la façon dont cela fonctionne, il est toujours déconcertant.

PHP est encore largement utilisé, et beaucoup de gens le disent. amélioré énormément  au cours de son mandat de 20 ans.

La vraie question est la suivante: avec tant d’autres langues et la montée en puissance d’autres cadres tels que node.js  et Rubis sur rails , tu veux vraiment?

3. JavaScript

Tu entends ça? C’est le son de mille développeurs qui se font craquer, prêts à défendre l’honneur de JavaScript dans la section commentaires!

JavaScript est la langue de l'internet. Il n'y a pas de déguisement de sa domination. Si vous utilisez un navigateur, la page que vous consultez utilisera presque certainement JavaScript. Lorsque vous regardez Netflix ou utilisez PayPal, vous utilisez des serveurs exécutant node.js, le moteur d’exécution côté serveur de JavaScript. Un survol rapide de tout tableau de bord pour les programmeurs montre la demande des développeurs JavaScript.

Pourquoi fait-il partie de cette liste? Eh bien, le chéri de front-end a quelques bizarreries.

Insertion automatique de point-virgule

Si vous connaissez Java ou l’un des langages de programmation de la famille C, vous saurez que les points-virgules sont utilisés pour indiquer la terminaison d’une instruction. L'interprète voit le point-virgule et sait passer à autre chose.

En JavaScript, les choses sont un peu différentes. Les points-virgules sont facultatifs. Bien que cela puisse sembler impossible, beaucoup de gens veulent supprimer complètement les points-virgules de JavaScript.

Bien que ce soit une bonne idée, ce n’est pas sans problèmes. Demi-denier et YouTuber auto-avoués Kyle Robinson Young  fait un bon cas pour pourquoi ils devrait  être utilisé par les débutants.

Les problèmes soulevés dans cette vidéo indiquent un problème plus vaste. JavaScript fonctionne bien sans points-virgules la plupart du temps . En effet, les points-virgules ne sont pas partis du tout, ils sont simplement insérés automatiquement à l'endroit où l'interprète pense  ils devraient y aller.

Alors que les cas où l'interprète se trompe sont considérés comme des «cas extrêmes» par des codeurs plus expérimentés, ce sont tous les risques que les débutants rencontrent, ce qui rend l'expérience de l'utilisation de JavaScript peu accueillante.

Une courte recherche sur le sujet des points-virgules en JavaScript vous mènera dans un lapin d'opinions et de spéculations presque sans fin. Quand une langue nécessite un pleine page de lecture  juste pour comprendre où vous devez utiliser un point-virgule, pour conclure que vous devez vous faire votre propre idée, il est pardonnable de penser que quelque chose ne va pas!

Un tableau de l'étrangeté

Toute personne ayant suivi un cours de codage pour débutant sera familiarisée avec les tableaux. C'est un moyen simple de collecter beaucoup de données du même type et de leur ordonner de les récupérer facilement plus tard.

C'est une base de la programmation, ils devraient donc être assez simples à comprendre, n'est-ce pas? En fait non, pas bien. Le premier exemple de la conversation hilarante de James Mickins sur JavaScript résume bien la situation:

Droit alors. Clair comme le jour.

Ce ne sont là que quelques exemples de la raison pour laquelle JavaScript pourrait être considéré comme une langue terrible à apprendre et à utiliser. Pour chaque cas ici, et pour les milliers d'autres sur le Web, il existe une armée de personnes prêtes à défendre ces comportements. Une chose est sûre, JavaScript n’est utilisé nulle part, pas plus que les nombreux arguments en ligne à ce sujet.

Pour un dernier amusement, qui rappelle les langages ésotériques abordés précédemment: ouvrez une console JavaScript dans votre navigateur Web et collez-la dans ce monstre:


alerte ((! [] + []) [+ []] + (! [] + []) [+! + []] + ([! []] + []] [[!] [] + [+ []]] + (! [] + []) [! + [] +! + []]);

Un monde de langages de programmation

Entendez-vous les sabres sonner? Les développeurs en colère prêts à abolir tous les points abordés dans cet article? En vérité, ils n'auraient pas tort. Il y a des milliers d'autres cas dans presque toutes les langues que j'aurais pu utiliser.

À l'exception des langages ésotériques, chaque langage de programmation a ses avantages et ses inconvénients. Comme pour tous les outils, une fonctionnalité qui fait bouillir le sang d’un utilisateur est une fonctionnalité chère à un autre. Les points-virgules peuvent être la kryptonite d’une personne, alors que les espaces peuvent empêcher les autres de dormir la nuit.

Crédit d'image: fizkes / Depositphotos






Nuage de tags

Choix de L'éditeur


Thomas Becket

Je suis un écrivain indépendant qui couvre la programmation et les logiciels.
Je suis étudiant en informatique et je m'intéresse à la programmation, aux logiciels et à la technologie
Gadgets technologiques et critiques 2019