Assembleur
Cobol
Pascal
C
C++
C#
Java
PHP
Javascript
XSLT
Lisp
Python
Perl
Visual Basic 6
Autre, merci de le préciser
Pas d'avis
Et personne ne parle des shells Unix? Putain, c'est parfois juste ILLISIBLE!
J'ai l'impression que les mecs qui ont développé ça ont tout fait pour que ça puisse devenir rapidement incompréhensible, comme pour filtrer les "vrais" programmeurs des autres. Je ne dis pas que c'est pas puissant mais la suite de caractères cabalistiques ... ça gonfle, on met une heure à débugger.
J'aime beaucoup aussi la puissance des expressions régulières mais ça devient vite un sac de noeuds.
Exemple sous Oracle : Enforcing a Phone Number Format with Regular Expressions
En bref, tous ces langages qui permettent d'écrire de telles choses pourquoi tant de haine?
Code : Sélectionner tout - Visualiser dans une fenêtre à part
1
2
3
4
5
6
7 CREATE TABLE contacts ( l_name VARCHAR2(30), p_number VARCHAR2(30) CONSTRAINT p_number_format CHECK ( REGEXP_LIKE ( p_number, '^\(\d{3}\) \d{3}-\d{4}$' ) ) );
DBA Oracle
Rédacteur du blog : dbaoraclesql.canalblog.com
Tu n'as jamais vu un programme en APL ?
Petit échantillon de poème APL :
http://www.computerhistory.org/atchm.../10/matrix.jpg
Sympa l'APL... Je contre avec Malbolge, le langage le plus difficile au monde.
Ici un "Hello World" :
Code : Sélectionner tout - Visualiser dans une fenêtre à part
1
2 (=<`:9876Z4321UT.-Q+*)M'&%$H"!~}|Bzy?=|{z]KwZY44Eq0/{mlk** hKs_dG5[m_BA{?-Y;;Vb'rR5431M}/.zHGwEDCBA@98\6543W10/.R,+O<
DBA Oracle
Rédacteur du blog : dbaoraclesql.canalblog.com
S'il est bien un langage que je n'aime pas c'est le Java. Oui il a une communauté large et mature, oui il est "plutôt" performant (encore que...), mais je n'aime absolument sa verbosité permanente. Ce critère est pour moi primordiale car elle nuit à la maintenabilité...
Autre point, les conventions de codage adoptées par la communauté... je ne les aimes pas, mais là c'est juste mon humble avis.
Bref, je préfère un bon langage bien puissant tel que le C++
"Plus les hommes seront éclairés, plus ils seront libres" (Voltaire)
---------------
Mes billets de blog sur DVP
Mes remarques et critiques sont purement techniques. Ne les prenez jamais pour des attaques personnelles...
Pensez à utiliser les tableaux structurés. Ils vous simplifieront la vie, tant en Excel qu'en VBA ==> mon tuto
Le VBA ne palliera jamais une mauvaise conception de classeur ou un manque de connaissances des outils natifs d'Excel...
Ce ne sont pas des bonnes pratiques parce que ce sont les miennes, ce sont les miennes parce que ce sont des bonnes pratiques
VBA pour Excel? Pensez D'ABORD en EXCEL avant de penser en VBA...
---------------
Personnellement j'ai naturellement tendance a privilégier la maintenance logicielle en faisant du code qui prend surement plus de ligne de codes mais surtout maintenable par quiconque quel que soit son niveau.
La raison principale est qu'au debut ou je bossais il existait un gars qui etait considéré comme un dieu de la programmation.
Il arrivait a compacter un programme en quelques lignes par contre (a coup d'operateurs ternaires et autres expressions regulieres) il etait le seul a pouvoir le maintenir et ca posait un serieux probleme car du coup il etait indispensable pour etre sur de ne pas faire de conneries.
La seconde raison c'est que si tu codes de facon trop hermetique ou en decalage par rapport au niveau moyen de ceux qui vont faire la maintenance logiciel et bien tu te retrouves emmerdé en permanence. Donc autant faire des choses simples/efficaces/comprehensibles (raison pour laquelle par ex j'evite les raccourcis de syntaxe des dernieres moutures C# - ca evite des questions et surtout ca n'apporte rien (faire en 2 lignes ce que tu fais en 3..).
Alors pour mes softs perso je me lache. Pour le logiciel de la boite je fais du standard. Aucun soucis d'adaptation.
Surtout que c'est fini l'epoque du basic ou il fallait minimizer le nb de lignes de code pour optimiser la vitesse du programme.
Car au final que ca fasse 3 lignes ou 10 lignes seul importe le resultat.
Quand on voit ce que ca produit en IL ... j'ai plutot le reflexe inverse des nouveaux developpeurs (avec Resharper c'est encore pire).
Resharper donne des conseils d'optimisation d'ecriture sont tres bien a des fins pedagogiques mais quelques fois le resultat (en LINQ notamment ou en Lambda) on arrive a des trucs incomprehensibles (generalement je laisse tel que proposé, ca fait 'kéké des plages' comme code balaise mais j'ajoute des commentaires pour aider ceux qui passent derriere moi).
La seule fois ou j'ai vraiment dus mettre des commentaires de codes ce fus pour l'IA d'un jeu(que j'ai toujours pas fini par ailleurs) car l'algo pour la prise de décision est tellement compliqué que sans les commentaires c'est inintelligible même pour moi c'est dire
Rien, je n'ai plus rien de pertinent à ajouter
Justement pour maintenir du code, il faut qu'il soit lisible. Tu trouves Java verbeux mais que dirais-tu de Ada alors. Celui-ci est bien plus verbeux et c'est fait exprès car c'était un besoin exprimer dans le cahier des charges du DOD (Department of Defense) américain.
Je suis spécialiste langage, j'ai été responsable du développement d'un compilateur C et la syntaxe de C et de C++ est horrible. C++ est le seul langage que je connaisse (j'en connais une cinquantaine) qui a des mots-clés avec underscore (pour les différentes sortes de "cast").
C'est une erreur de croire qu'un langage verbeux est un frein à la maintenabilité, c'est juste le contraire qui est vrai !
C++ est un langage certes très puissant. C'est même ma seconde langue maternelle (j'ai écrit, auditer, enseigner du C++ pendant 15 ans) mais la syntaxe est monstrueuse et l'introduction de la généricité (du point de vue syntaxique) a juste été catastrophique car elle est plus verbeuse que celle de ADA, c'est peu dire...
pas que je deteste inh ,bon je suis aussi un débutant mais je m'essaye au C++ et au C . mais sans vous mentir , le C me tape parfois sur les nerfs
1*syntaxe : indiquer le format de la variable avant lecture ou ecriture or avec C++ c'est vite fait .
2* les chaines de caracteres ou plutot les caracteres sont un vrai peta en C ainsi que l'allocation dynamique ( il faut au moins 8lignes de code pour une allocation dynamique). je cherche encore comment stocker les strings de l'utilisateur et non mes propres mots or avec C++ je declare un vector puis avec push_back , je stocke vite fait .j'aurais voulu que dans les news versions de C ils integrent reelement les chaines de caracteres.
Désolé mais je trouve votre commentaire incompréhensible. Il ne faut pas 8 lignes de code pour faire de l'allocation dynamique en C.
C'est quoi ou qui inh ?
Pour les chaînes de caractères en C, il y a quantité de bibliothèques pour la manipulation des chaînes de caractères, il faut penser à les utiliser.
En C on stocke les chaînes de caractères dans des tableaux et on utilise l'équivalence pointeur/tableau (je vous avoue que cette équivalence n'est pas une réussite et que c'est pour cette raison qu'en C++ quand on veut détruire tous les éléments d'un pointeur sur un tableau on est obligé d'écrire delete [] p.
J'en profite pour vous conseiller de ne pas apprendre en même temps C et C++ qui, s'ils sont très proche dans la syntaxe n'en sont pas moins très éloignés dans leur philosophie et dans les réflexes de programmation.
Pour ma part, je vais ajouter Natstar.
Je déteste pour plusieurs raison et certaines raisons ne sont pas lié au langage mais à l'EDI plus que vieux et à la doc pas à jour.
Pour le langage en lui même, je n'aime pas le fait que :
- les pointers ne sont pas typés (enfin si, ils sont tous de type Pointer) ce qui pose quelques problèmes.
- il ne peux pas y avoir deux propriétés avec le même nom : si la classe Personne à une propriété Age alors la Classe Chien ne pourra pas avoir une propriété Age.
- idem pour les fonctions, on ne peut pas créer deux fonctions avec le même nom mais avec des paramètres différents.
C++: difficile à apprendre, pas des offres à moins d'avoir 5-8 ans d’expérience
Natstar n'est pas un langage de programmation mais un environnement de développement. Son langage, NCL, est un langage de 4ème génération, donc pas un "vrai" langage de programmation (il n'est pas Turing-complet). On ne peut pas le mettre au même niveau que les langages classiques (C, C++, Java, Cobol, Pascal, Lisp, Fortran, Ada, PL/1, etc.)
Je confirme, aucun langage n'arrive à la cheville du PL/1même niveau que les langages classiques (C, C++, Java, Cobol, Pascal, Lisp, Fortran, Ada, PL/1, etc.)
Pour ceux qui ne le connaissent pas n'essayer pas de le connaitre, pour nous autres, on essaye d'oublier. je garde de très très mauvais souvenir de ce langage.
Vous avez un bloqueur de publicités installé.
Le Club Developpez.com n'affiche que des publicités IT, discrètes et non intrusives.
Afin que nous puissions continuer à vous fournir gratuitement du contenu de qualité, merci de nous soutenir en désactivant votre bloqueur de publicités sur Developpez.com.
Partager