Blackknight a écrit 1234 commentaires

  • [^] # Re: Usine

    Posté par  (site web personnel, Mastodon) . En réponse à la dépêche Nouvelle version de Scub Foundation, usine logicielle Java libre. Évalué à 1.

    En quoi elle est paralysée ? L'accès au fichier a subit 2 grosses mises à jour (nio et nio2), l'IHM en eu une grosse (swing pour remplacer awt). Oui on pourrait peut être espérer plus de nouveautés (swing commence à moisir par exemple), mais ça n'a rien à voir avec la compatibilité.

    Effectivement, cela n'a rien à voir avec la compatibilité puisque AWT, io et Date, dont plus de la moitié de l'API est deprecated, se trouvent toujours dans l'API…

    La dénomination commerciale/publique du langage depuis Java 5 est justement « Java 5 », « Java 6 » et « Java 7 », mais l'API est en version 1.5, 1.6 et 1.7. Ils se permettront de casser la compatibilité pour la version 2.x (pas prévue à ce que je sache).

    Ayant commencé avec du Java 1.2-beta4 en 1998, je sais, merci !! Et donc, ça fait donc 15 ans que la compatibilité n'a pas été cassée.
    Finalement, peut-être que pour 1.99 aka Java99, on aura virer les trucs qui ne servent plus à rien :)

  • [^] # Re: Usine

    Posté par  (site web personnel, Mastodon) . En réponse à la dépêche Nouvelle version de Scub Foundation, usine logicielle Java libre. Évalué à 1.

    Personnellement je ne vois pas en quoi c'est un problème une API qui ne plaît pas il suffit de ne pas l'utiliser.

    Le problème, ce n'est pas qu'elle ne me plaît pas mais simplement, comme le dit Cykl, elle est paralysée.
    Personnellement, je pense que quelque chose qui est deprecated devrait sortir de l'API au bout de deux ou trois révisions du langage, quitte à y revenir sous une autre forme plus tard.

  • [^] # Re: Usine

    Posté par  (site web personnel, Mastodon) . En réponse à la dépêche Nouvelle version de Scub Foundation, usine logicielle Java libre. Évalué à 1.

    Java à un énorme problème de ce côté là. Le langage et la lib standard se retrouvent paralysées. Y'a un moment ou il faut faire quelque chose (et on peut le faire sans rien, ou trop, casser) mais le JDK à du mal.

    Carrément d'accord !!! Combien de choses sont en deprecated de puis plus de dix ans dans la "lib standard" du JDK ?
    Il y a un moment où il faut aussi dire que l'appli développée il y a dix ans a peut-être besoin d'être nettoyée si elle veut sauter d'un seul coup trois versions de JDK !
    Rien qu'en virant l'ensemble des classes ou méthodes qui sont deprecated depuis 2 versions majeures, on gagnerait en lisibilité.

  • [^] # Re: Révoltante ingratitude

    Posté par  (site web personnel, Mastodon) . En réponse à la dépêche Meilleurs contributeurs LinuxFr.org : les gagnants de décembre 2012. Évalué à 1.

    Ben moi, je trouve que finalement, ce classement est franchement pas mal :)

  • [^] # Re: Comme la Stasi

    Posté par  (site web personnel, Mastodon) . En réponse au journal Bull : Architect of an Open World. Évalué à 1.

    C'est clair, c'est quand ils disent juste ministère de l'Intérieur que ça devient suspect :D

  • # Comme la Stasi

    Posté par  (site web personnel, Mastodon) . En réponse au journal Bull : Architect of an Open World. Évalué à 2. Dernière modification le 15 janvier 2013 à 17:42.

    La DST, ça n'existe plus alors si quelqu'un te dit qu'il est de la DST, c'est un fake… Par contre, la DCRI, oui.

  • [^] # Re: warning donné par GNAT sur les paramètres aliasés

    Posté par  (site web personnel, Mastodon) . En réponse à la dépêche Publication de la nouvelle norme Ada 2012. Évalué à 1.

    Merci Yannick. voilà une information dont la source est on ne peut plus fiable ce qui n'est pas toujours évident par ici :D

  • [^] # Re: 2 paramètres 'in out' doivent être différents

    Posté par  (site web personnel, Mastodon) . En réponse à la dépêche Publication de la nouvelle norme Ada 2012. Évalué à 1.

    Je suis vraiment surpris de voir que les concepteurs d'Ada ont sélectionné un comportement privilégiant la performance a la "fiabilité" par rapport au C (par défaut puisque le C99 a restrict)..

    Surtout qu'en plus, je trouve que le in out sur fonction n'était pas franchement indispensable mais bon, c'est comme partout, il doit y avoir des lobbys :)
    Au passage, pas d'erreur de compilation non plus sur le gnat d'Adacore… :-/

  • [^] # Re: 2 paramètres 'in out' doivent être différents

    Posté par  (site web personnel, Mastodon) . En réponse à la dépêche Publication de la nouvelle norme Ada 2012. Évalué à 2.

    Bien pour les performances, mais je me demande comment ça marche en pratique: c'est assez simple de faire du code ou le compilateur ne peut pas savoir s'il y a des alias ou pas:
    f(A[i], A[j])..

    Surtout qu'en fait, sur le gnat installé sur mon Ubuntu 12.04, ça compile sans problème… Et ça fonctionne mais avec un résultat surprenant.

    with Ada.Text_Io; use Ada.Text_Io;
    
    procedure Test is
    
       type My_Int is range 12..42;
       type My_Int_Array is array(1..2) of My_Int;
    
       Le_Douze : constant My_Int := 12;
    
       function Param(Var1, Var2 : in out My_Int) return My_Int is
       begin
          Var1 := Var1 + 1;
          Var2 := Var2 + 1;
          return Le_Douze;
       end Param;
    
       Tab : My_Int_Array := (12,21);
    
    begin
       Put_Line(My_Int'Image(Param(Tab(1), Tab(1))));
       Put_Line(My_Int'Image(Tab(1)));
       Put_Line(My_Int'Image(Tab(2)));
    end Test;
    
    

    puisque ça retourne

     12
     13
     21
    
    

    On voit bien que Var1 n'a été incrémenté qu'une seule fois alors qu'on aurait pu imaginer qu'il le soit deux fois mais c'est certainement lié au mode de passage de paramètre.
    A voir si la version Adacore fait la même chose :)

  • [^] # Re: Erreur possible ?

    Posté par  (site web personnel, Mastodon) . En réponse à la dépêche Publication de la nouvelle norme Ada 2012. Évalué à 1.

    Merci pour la ré-écriture, je m'étais mal exprimé et j'aurais dû coller l'exemple du Rationale ici.

  • # Temps réel

    Posté par  (site web personnel, Mastodon) . En réponse à la dépêche Publication de la nouvelle norme Ada 2012. Évalué à 2.

    En me baladant sur le site de MaRTE OS, j'ai pu retrouver ce lien qui montre une utilisation sympa d'Ada dans son domaine de prédilection, le multitâche temps réel.
    De fil en aiguille, je suis arrivé sur cette petite vidéo via une page de l'ENST.
    Que des petits trucs sympas quoi ! :)

  • [^] # Re: Popularité

    Posté par  (site web personnel, Mastodon) . En réponse à la dépêche Publication de la nouvelle norme Ada 2012. Évalué à 2.

    Tu n'as pas non plus toutes les bibliothèques disponibles pour Java en Ada.

    Oui, enfin c'est pas non plus les bindings vers des bibliothèques C qui manquent et quand elles n'existent pas, c'est quand même assez simple à faire.
    C'est juste une question de volonté, de nombre d'utilisateurs et donc de mode car il ne faut pas oublier qu'à ses débuts, Java n'était pas non plus autant fourni, que ce soit dans sa bibliothèque standard que dans les externes.

    L'outillage est quand même la clef du succès d'un langage en entreprise.

    C'est une des clés, pas LA clé car sinon, on ne ferait plus de C ni de C++, ni plein d'autres langages car il n'y en a franchement pas beaucoup qui disposent d'un IDE comme Eclipse.

  • [^] # Re: Popularité

    Posté par  (site web personnel, Mastodon) . En réponse à la dépêche Publication de la nouvelle norme Ada 2012. Évalué à 3.

    Moi, j'aime bien les messages du compilo

    with Ada.Text_Io; use Ada.Text_Io;
    
    procedure Test is
    
       type My_Int is range 12..42;
    
       Ma_Var : My_Itn := 14;
    begin
       Put_Line("Ma var =" & My_Int'Image(Ma_Var));
    end Test;
    
    

    qui après tentative de compilation donne

    fred@freddy:~/perso/Ada $ gnatmake test.adb
    gcc-4.6 -c test.adb
    test.adb:7:13: "My_Itn" is undefined
    test.adb:7:13: possible misspelling of "My_Int"
    gnatmake: "test.adb" compilation error
    
    

    Les messages de gnatgcc sont généralement assez clairs y compris dans les generics (contrairement à ceux fournis pour les templates C++).

    En fait, il faut prendre le compilo comme une aide au développement, pas comme un truc qui est là pour faire chier.

  • [^] # Re: Popularité

    Posté par  (site web personnel, Mastodon) . En réponse à la dépêche Publication de la nouvelle norme Ada 2012. Évalué à 3.

    mon baril de C++, ce serait pour de meilleures performances.

    Pour les performances, c'est jouable, il suffit de regarder . Bon, en relativisant les résultats parce que le site, c'est un peu le jeu du "c'est moi qui ai la plus grosse". Mais, les performances d'Ada se rapproche plus du C que de C++.

    mon baril de Java, ce serait pour des outils (IDE, debugger, refactoring, gestion de dépendances, GUI designer…) plus productifs.

    Là, autant être objectif, non.
    - IDE : GPS qui n'est pas mal mais pas au niveau d'un Eclipse ou GnatBench que je n'ai pas encore essayé
    - Debugger : comme je te le disais, on utilise les mêmes outils que pour du C/C++ à savoir pour le debugger gdb ou mieux ddd
    - Gestion des dépendances : C'est un langage compilé avec les problèmes inhérents de différences entre architectures donc il est difficile de partager des bouts de binaires et puis, il n'y a aucun outil pour (si tu pensais à un maven-like)
    - GUI designer : avec les dernières versions de GtkADA, on peut utiliser le GtkBuiler et donc créer des IHMS avec Glade mais comme je suis un vieux con, moi, je le fais à la main :D

    mon baril de python/django, ce serait pour du rad web encore plus rad!

    Là encore, non. On ne fait pas de RAD en Ada, on réfléchit ;)
    On peut quand même trouver quelques trucs un poil avancés chez Stéphane Carrez en termes de programmation Web notamment Ada Server Pages mais ce n'est pas du RAD.

  • [^] # Re: Popularité

    Posté par  (site web personnel, Mastodon) . En réponse à la dépêche Publication de la nouvelle norme Ada 2012. Évalué à 2. Dernière modification le 18 décembre 2012 à 10:32.

    Au niveau de quoi ? Des outils ? Gnat, c'est du GCC donc on peut faire du profiling, du debugging, il y a un environnement nommé Gnat-GPS, des bibliothèques…

  • [^] # Re: Vive le fonctionnel

    Posté par  (site web personnel, Mastodon) . En réponse à la dépêche Publication de la nouvelle norme Ada 2012. Évalué à 2.

    Il parait que c'est super pratique et les développeurs ruby en sont des grands fans.

    Ouais avec le magnifique yield

    module Test
      class MaClasse
        # Ici un attribut
        attr_accessor :nawak
    
        def initialize
          @nawak = 12
        end
    
        def use_nawak
          yield @nawak
        end
    
      end
    end
    
    require 'ma_classe'
    
    mon_instance = Test::MaClasse.new
    mon_instance.nawak += 2
    mon_instance.use_nawak do |le_nawak_param|
      puts "Donnes-moi ton nawak qui vaut #{le_nawak_param}"
    end
    
    

    Trop de la balle, de l'injection de code !! :D

  • [^] # Re: Vive le fonctionnel

    Posté par  (site web personnel, Mastodon) . En réponse à la dépêche Publication de la nouvelle norme Ada 2012. Évalué à 1.

    C'est déjà un exemple largement avancé et puis il y aurait deux trois trucs à dire sur la définition de type accès anonyme :)

  • [^] # Re: Vive le fonctionnel

    Posté par  (site web personnel, Mastodon) . En réponse à la dépêche Publication de la nouvelle norme Ada 2012. Évalué à 3.

    Sachant que les ponteurs sont des types Access, il suffit de regarder la partie dédiée dans l'Ada Reference Manual.
    Pour être précis, il suffit de regarder la ligne 26 de cette page dans la norme ou sur la page Wikibooks.

  • [^] # Re: Popularité

    Posté par  (site web personnel, Mastodon) . En réponse à la dépêche Publication de la nouvelle norme Ada 2012. Évalué à 5.

    Pour ce qui est de Java, il faut aussi bien voir qu'il y avait la promesse du Write once, run everywhere et surtout la possibilité d'embarquer du vrai code dans une page web avec les applets.
    Quand j'ai commencé en Java en 97, c'est d'ailleurs ce dernier point qui était mis en avant et qui aujourd'hui peut sembler délirant tant les applets ont quasi disparu de la circulation.

  • [^] # Re: Popularité

    Posté par  (site web personnel, Mastodon) . En réponse à la dépêche Publication de la nouvelle norme Ada 2012. Évalué à 6.

    Pour plusieurs raisons :
    - lors de sa sortie au début des années 80, étant un langage demandé par le département de la défense américain, il a été boudé par les universitaires et donc n'a que très peu été enseigné à cette époque
    - les premiers compilateurs coûtaient extrêmement cher avec une fâcheuse tendance à être buggué
    - il est souvent vu comme trop verbeux, trop complexe et trop contraignant

    Disons qu'il a toutefois un marché de niche dans les équipements où la sûreté de fonctionnement est plus importante que tout. Du coup, on trouve de l'Ada dans l'aéronautique, l'aérospatiale ou la défense.
    Mais bon, C++ a pris en partie sa place dans certains programmes de ces secteurs mais c'est aussi en grande partie dû au fait qu'il est moins enseigné que C++ ou Java.
    Personnellement, je trouve ça assez dommage surtout quand on voit la complexité de la dernière norme C++, complexité qui a longtemps été reprochée à Ada.

  • [^] # Re: Vive le fonctionnel

    Posté par  (site web personnel, Mastodon) . En réponse à la dépêche Publication de la nouvelle norme Ada 2012. Évalué à 2.

    D'ailleurs, j'ai oublié de le préciser dans la dépêche mais les pre- et post-conditions génèrent un code d' assert levant une exception de type AssertionError si je me rappelle bien.

    le but c'est plutôt de pouvoir exprimer les pre- et post-condition ainsi que les invariants plus simplement

    Comme je le disais plus haut, du sucre syntaxique beaucoup plus qu'une remise en cause du paradigme.

  • [^] # Re: Vive le fonctionnel

    Posté par  (site web personnel, Mastodon) . En réponse à la dépêche Publication de la nouvelle norme Ada 2012. Évalué à 1.

    mais bien dans l'évaluation d'une expression par application d'une fonction, avec des possibilités plus étendues sur les fonctions qu'on peut mettre dans ces expressions.

    Enfin, c'est relativement limité quand même et c'est la raison pour laquelle je penche plus pour du sucre syntaxique qu'autre chose.

    D'ailleurs, est-ce que les fonctions sont des objets primaires en Ada ?

    Là, c'est moi qui ne connais pas assez la programmation fonctionnelle :D
    Mais a priori et d'après ce que j'ai compris du fonctionnel, non. On ne manipule pas les fonctions comme on pourrait le faire avec un objet, hormis le célèbre pointeur de fonction mais c'est la même chose qu'en C… Mais bon, j'ai peut-être pas bien compris ce que tu voulais dire :D

  • [^] # Re: Vive le fonctionnel

    Posté par  (site web personnel, Mastodon) . En réponse à la dépêche Publication de la nouvelle norme Ada 2012. Évalué à 9.

    Tiens, je note que dans Ada, on rajoute quelques constructions inspirées par la programmation fonctionnelle.

    Sauf que je ne pense pas que le but soit de faire de la programmation fonctionnelle, il s'agit juste d'un sucre syntaxique.
    Les gens qui normalisent Ada n'ont pas pour habitude de suivre les effets de mode et laissent faire la programmation fonctionnelle à ceux dont c'est le métier. C'est pas demain la veille qu'Ada sera un langage fonctionnel.

    Serait-ce l'avènement si longtemps attendu que bientôt toute programmation sera fonctionnelle ?

    Attendu par qui ? Parce que l'avènement de Lisp, ça fait plus de 50 ans qu'on l'attend :D

    Sinon, pour mémoire, On n'est pas vendredi hein !

  • [^] # Re: Pour le lancement du jar

    Posté par  (site web personnel, Mastodon) . En réponse au journal Write once, run anywhere qu'il disait. Évalué à 6.

    C'est clair !! Moi, d'ailleurs, j'ai totalement arrêté de corriger les fuites mémoire, les fuites de ressources et autres futilités.
    Soyons clair, je coûte plus cher à l'heure qu'une barrette de RAM alors quand ça chie, hop, j'envoie une commande au service achat.

  • [^] # Re: Bonne nouvelle?

    Posté par  (site web personnel, Mastodon) . En réponse au journal Fin de la limitation de la puissance des motocyclettes à 100ch en France. Évalué à 7.

    C'est au minimum 2 secondes.

    Non !! Ça, c'est le temps moyen pour qu'un mec vienne se mettre en toi et la voiture qui te précède :D