Navigation

Inscrivez-vous gratuitement
pour pouvoir participer, suivre les réponses en temps réel, voter pour les messages, poser vos propres questions et recevoir la newsletter

  1. #201
    Membre du Club
    Citation Envoyé par Nicodine31 Voir le message
    Pour moi sans hesiter c'est OCaml qui devrait etre en tete
    Au contraire, c'est un de mes langages favoris, tellement puissant quand on sait bien l'utiliser.

  2. #202
    Membre expérimenté
    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
    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}$' ) )
    );
    En bref, tous ces langages qui permettent d'écrire de telles choses pourquoi tant de haine?
    DBA Oracle
    Rédacteur du blog : dbaoraclesql.canalblog.com

  3. #203
    Membre éprouvé
    Tu n'as jamais vu un programme en APL ?
    Petit échantillon de poème APL :
    http://www.computerhistory.org/atchm.../10/matrix.jpg

  4. #204
    Membre expérimenté
    Sympa l'APL... Je contre avec Malbolge, le langage le plus difficile au monde.
    Ici un "Hello World" :
    [CODE](=<`:9876Z4321UT.-Q+*)M'&%$H"!~}|Bzy?=|{z]KwZY44Eq0/{mlk**
    hKs_dG5[m_BA{?-Y;;Vb'rR5431M}/.zHGwEDCBA@98\6543W10/.R,+O<[/CODE]
    DBA Oracle
    Rédacteur du blog : dbaoraclesql.canalblog.com

  5. #205
    Membre du Club
    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++

  6. #206
    Responsable
    Office & Excel

    Citation Envoyé par Ikebukuro Voir le message
    Code : Sélectionner tout - Visualiser dans une fenêtre à part
    '^\(\d{3}\) \d{3}-\d{4}$'
    Bon, ok. Quand on ne connait pas, c'est pour le moins illisible. Mais ça remplace parfois pas mal de lignes de codes... C'est un des rares trucs illisibles que j'apprécie assez en programmation, en fait
    "Plus les hommes seront éclairés, plus ils seront libres" (Voltaire)
    ---------------
    Mes remarques et critiques sont purement techniques. Ne les prenez jamais pour des attaques personnelles...
    Une fois pour toutes, je donne mon avis. Je ne vais pas le répéter à chaque message...
    Si je propose une solution générique sur votre solution spécifique, c'est parce que, fainéant de nature, je privilégie le réutilisable...
    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...
    ---------------

  7. #207
    Membre éprouvé
    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).

  8. #208
    Expert confirmé
    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

  9. #209
    Membre du Club
    Citation Envoyé par Padget Voir le message
    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++
    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...

  10. #210
    Membre à l'essai
    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.

  11. #211
    Membre du Club
    Incompréhensible
    Citation Envoyé par TawalMc Voir le message
    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.

  12. #212
    Membre régulier
    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.

  13. #213
    Nouveau membre du Club
    C++: difficile à apprendre, pas des offres à moins d'avoir 5-8 ans d’expérience

  14. #214
    Membre du Club
    Citation Envoyé par Sun.Wu.Kong Voir le message
    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.
    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.)

  15. #215
    Inactif  
    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/1

    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.