• [^] # Re: Tableau

    Posté par (site web personnel) . En réponse au journal Tu souhaites apprendre à programmer en shell. Évalué à 2.

    Pas d'accord.

    Pas d'accord avec quoi? Ton choix es un choix, non?

    Tu peux prendre indépendamment n'importe lequel de ces langages…

    C'est à dire prendre une décision qui va m'aider à repondre aux questions que je pose sur la déclaration des fonctions.

    Ah bah forcément, si tu limites les fonctions du shell à ce qui t'arrange … :-)

    Je ne limite rien du tout, je programme le shell comme dans la vraie vie. Par exemple, si tu manipules des fichiers XML ou SGML, tu ne vas pas t'amuser à stocker les représentations intermédiaires dans une variable bash—vu que de toutes façons, écrire une fonction sh qui fasse quoique ce soit sur cette donnée. La manipulation des données complexes est réalisée par des des programmes externes. Si tu n'a pas encore compris ça, tu n'as pas encore compris à quoi sert le shell.

    Ben plein de gens ne sont pas d'accord avec toi, sinon la notation $(()) pour faire de l'arithmétique entière n'existerait pas, par exemple

    Je suis très content qu'on puisse faire +1 en bash, ce dont je parle dans la citation c'est des données complexes, type document XML, arbre binaire, champ de données. Tout ça est invisible au shell qui se contente d'organiser le flux de données entre les processus.

    Donc en gros, tu m'expliques que si je fais des choses plus compliquées que Bash, alors j'ai plus de questions à me poser quant à la façon de concevoir mes fonctions en C++.

    Ce que je te dis c'est que dans C++ tu dois gérer la mémoire à la main, pas en shell. Donc si tu programmes en C++ sans te soucier des question mémoires, tu ne sais pas programmer en C++.

    Je dis que si tu veux rester au « même niveau » de fonctionnalités que Bash pour les appels de fonction,

    Ah bah forcément, si tu limites l'usage du C++ à ce qui t'arrange … :-)

    J'ai écrit ça

    À la différence de C++ où il faut commencer une psychothérapie à chaque fois qu'on veut définir une fonction

    Si tu as décidé entre temps que le contexte était d'écrire une fonction C++ qui fasse la même chose qu'une fonction bash donnée, c'est ton affaire, mais cela ne m'engage pas.

    Dans le cas des appels de fonction en C++, je ne vois pas le rapport. Ta fonction se fout de la sémantique de copie. Elle prend des paramètres en entrée, et renvoie éventuellement un résultat, point.

    Comment ça la fonction s'en fout? Je ne parle pas de la fonction mais du développeur qui doit écrire le prototype de la fonction. Lui ne s'en fout pas du tout car sinon c'est le SEGFAULT assuré! LA question de la recopie est toujours la question de la possession d'une structure ou non.