2310

Meowcate (./2305) :
Fort intéressant en effet.Pourquoi Servo ? était-ce une expérience ? ou plutôt, si Mozilla a Servo, pourquoi bâtir Firefox sur Electrolysis plutôt que Servo ?
Servo est avant tout un projet de R&D complètement indépendant de Gecko pour pourvoir expérimenter tout ce que Mozilla souhaite sans la contrainte de l'existant. Il a particulièrement servi a tester les possibilités de rendu parallèle et le langage Rust.

Par contre, Daniel Glazman est un peu trop enthousiaste. Servo a certes une vitesse de rendu incomparable, mais il faudrait une équipe complète y travaille encore pendant des années avant de le rendre utilisable en tant que remplacement de Gecko. Si tu en vois ce que disent les gens qui travaillent dessus, ils espèrent que ça pourra arriver, mais c'est vraiment très loin de leurs objectifs. S'il y a un chose que Mozilla a appris avec le fiasco de Netscape 6, c'est qu'il ne faut jamais reprendre une application comme un navigateur de zéro.

Cependant Mozilla a annoncé récemment qu'il est prévu de rapporter petit à petit des parties de Servo dans Gecko à partir de 2017. Ça fait partie de ce que Mozilla a appelé le projet Quantum : https://billmccloskey.wordpress.com/2016/10/27/mozillas-quantum-project
avatar

2311

Faut voir ce que ça donnera quand il y aura toutes les fonctions... L'histoire est plein de réécritures qui sont super rapides au début et qui bizarrement deviennent lentes quand toutes les fonctions sont finalement rajoutées.
avatar
<<< Kernel Extremis©®™ >>> et Inventeur de la différence administratif/judiciaire ! (©Yoshi Noir)

<Vertyos> un poil plus mais elle suce bien quand même la mienne ^^
<Sabrina`> tinkiete flan c juste qu'ils sont jaloux que je te trouve aussi appétissant

2312

2313

Meowcate (./2307) :
Il serait peut-être temps de se mettre à Brave.
Bof Brave ce n'est jamais qu'un Chromium de plus avec un bloqueur de pub rançonneur (à la Adblock Plus) intégré.
Tron (./2312) :
Sur Netscape 6 (c'est vieux, mais ça reste d'actualité) :
https://www.joelonsoftware.com/2000/04/06/things-you-should-never-do-part-i/
C'est exactement l'article auquel je pensais.
Mais le rewrite de Netscape 6 n'a quand même pas été en vain vu qu'il a servi de base à la suite Mozilla et Firefox.
avatar

2314

Oui enfin, ok un navigateur c'est complexe, mais repartir de 0 a du bon des fois. Microsoft l'a fait avec IE8-9 et surtout Edge!
avatar
Proud to be CAKE©®™


GCC4TI importe qui a problème en Autriche, pour l'UE plus et une encore de correspours nucléaire, ce n'est pas ytre d'instérier. L'état très même contraire, toujours reconstruire un pouvoir une choyer d'aucrée de compris le plus mite de genre, ce n'est pas moins)
Stalin est l'élection de la langie.

2315

Je dirais repartir de 0, MAIS avec des briques maîtrisées, alors oui.

Ca permet de refondre l'architecture et de mieux factoriser les nombreux patchs et évolutions qui se sont ajoutées à l'architecture initiale qui n'était pas dimensionnée pour.

Considérant que Netscape pre-6 a été conçu comme un projet universitaire, à une époque où le web n'en était qu'à l'HTML 1, sans JavaScript, et avec un support du C++ rudimentaire, c'était la seule décision valable et cohérente, plutôt que de repousser l'échéance, ils l'ont fait à ce moment afin d'offrir une meilleure assise pour les évolutions futures.

J'aurais pris la même décision et l'aurait défendu avec véhémence.

Mais comme on dit, à considérer à partir du moment où l'on dispose de briques maîtrisées.

2316

Godzil (./2314) :
Oui enfin, ok un navigateur c'est complexe, mais repartir de 0 a du bon des fois. Microsoft l'a fait avec IE8-9 et surtout Edge!
Microsoft a certes fait des modification très importantes dans IE9, mais il n'est jamais reparti à zéro.
Edge c'est juste un IE12 rebrandé. Il est construit sur une branche de Trident dont la seule particularité par rapport aux précédents est de retirer les mécanismes qui ne servaient qu'a assurer la compatibilité avec les IE précédents.

Refaire un moteur Web à l'époque de Netscape 6, c'était complexe. De nos jour c'est presque impossible. Le niveau de complexité actuel est presque de l'ordre d'un OS.
avatar

2317

J'arrive pas à comprendre le concept de "on ne saurait plus refaire l'existant from scratch, c'est trop complexe". Quel est le degré de maigtrise de l'existant alors, chaque partie de la base de code est-elle encore connue par quelqu'un de compétent qui la comprend ?

2318

Ça, c'est la question qu'il ne faut pas poser grin

Sinon, l'USB ne leur suffit pas, apparemment :
https://blog.chromium.org/2016/12/chrome-56-beta-not-secure-warning-web.html :

Web Bluetooth
Sites can now interact with Bluetooth Low Energy (BLE) devices using the Web Bluetooth API on Android, Chrome OS, and Mac. The Web Bluetooth API uses the GATT protocol, which enables web developers to connect to bluetooth devices such as printers and LED displays with just a few lines of JavaScript. Web Bluetooth can also be combined with Physical Web beacons to discover and control nearby devices
Quelle bonne idée ! Sans parler des problèmes de sécurité, si on couple ça à une BDD, ça donne un moyen supplémentaire d'identifier les utilisateurs même s'ils utilisent des périphériques différents non liés entre eux, voire de les géolocaliser précisément top
(comment ça, Google est une régie de pub et ça ne serait pas une coïncidence ? meuh non, voyons)
avatar
Zeroblog

« Tout homme porte sur l'épaule gauche un singe et, sur l'épaule droite, un perroquet. » — Jean Cocteau
« Moi je cherche plus de logique non plus. C'est surement pour cela que j'apprécie les Ataris, ils sont aussi logiques que moi ! » — GT Turbo

2319

Existe-t-il un proverbe de <informaticien célèbre> qui dirait en substance : "arrivé à X klocs par dev, un projet n'est plus maintenable" ?

2320

À froid je n'en connais pas, mais je suis pas spécialiste en citations de codeurs célèbres tongue

Mais quelque chose d'approchant est décrit ici (même si c'est une mise en garde sur la pertinence de cette méthode de mesure) :
https://avandeursen.com/2014/08/29/think-twice-before-using-the-maintainability-index/
avatar
Zeroblog

« Tout homme porte sur l'épaule gauche un singe et, sur l'épaule droite, un perroquet. » — Jean Cocteau
« Moi je cherche plus de logique non plus. C'est surement pour cela que j'apprécie les Ataris, ils sont aussi logiques que moi ! » — GT Turbo

2321

Folco (./2317) :
J'arrive pas à comprendre le concept de "on ne saurait plus refaire l'existant from scratch, c'est trop complexe". Quel est le degré de maitrise de l'existant alors, chaque partie de la base de code est-elle encore connue par quelqu'un de compétent qui la comprend ?
C'est pas que la compétence manque : sur la durée, presque tout le code finit par être revu, mais morceaux par morceaux.

Par contre, la quantité de travail pour tout refaire d'un trait est beaucoup trop énorme. Pour y arriver il faudrait réaffecter pendant plusieurs années, toutes les personnes qui travaillent à l'amélioration du moteur actuel, et autant dire que dans le marché des navigateurs, oser faire ça relève du suicide. C'est ce qui est arrivé à Netscape, pourtant les navigateurs de l'époque étaient énormément plus simples qu'aujourd'hui.
avatar

2322

Je suis pas sur que le cas de netscape soit vraiment une bonne metrique
avatar
Proud to be CAKE©®™


GCC4TI importe qui a problème en Autriche, pour l'UE plus et une encore de correspours nucléaire, ce n'est pas ytre d'instérier. L'état très même contraire, toujours reconstruire un pouvoir une choyer d'aucrée de compris le plus mite de genre, ce n'est pas moins)
Stalin est l'élection de la langie.

2323

Merci bien pour les explications. smile

2324

Crayon global sur ce que dit Uther, pour un navigateur c'est quasiment infaisable de tout coder "from scratch", c'est un caprice de développeur qui peut éventuellement se payer dans des environnements pas trop concurrentiels et pour des projets de taille raisonnable, mais dans le contexte d'un projet comme Chrome ou Firefox c'est un suicide quasi assuré (et ce ne sont pas les exemples qui manquent). Si le code n'est pas trop mal fichu, pas besoin de le comprendre dans sa totalité à un instant T : il marche suffisamment bien pour qu'on puisse le faire évoluer petit bout par petit bout. D'ailleurs ça tombe bien, puisqu'un humain ne pourra de toutes façons pas avoir une vision instantanée complète d'une masse de code aussi énorme, et c'est probablement parce que les choix de conceptions sont suffisamment bons pour ne pas avoir besoin de faire ça que le projet a pu déjà vivre jusqu'ici.
avatar
All right. Keep doing whatever it is you think you're doing.
------------------------------------------
Besoin d'aide sur le site ? Essayez par ici :)

2325

Ok. Très intéressant, j'avais jamais vu ça comme ça, amateurisme pawa.
C'est pour ça que je finis jamais des projets d'importance, je ne supporte pas de ne plus avoir une vision et une compréhension complète d'un projet, en clair si je continue j'irai jamais loin grin

2326

Zeph: je sui globalement pas d'accord, ne pas pouvoir comprendre la globalité du truc est un enorme probleme de conception, et aussi complexe un navigeteur est (ou n'importe quel projet) ne pas pouvoir "repartir de zero" est aussi une preuve qu'il y a un problème.

Ce n'est pas parceque quelque chose donne l'impression de marcher qu'il est bien conçu, ca c'est la méthode "cacher sous le tapis ce qui ne marche pas"
Je pense que tu n'a probablement jamais travaillé sur un projet de la taille d'un navigateur justement. Quand une pieuvre tentaculaire comme webkit (et encore webkit est "petit" comparé a certains projets sur lequel j'ai travaillé) est fait a coup de patch par ci patch par la pendant 10ans sur des bases qui n'ont jamais été faites pour tenir aussi longtemps, oui ca marche, par contre bonjour la qualité du code, bonjour les emmerdes pour ajouter des fonctionnalité, bonjour les emmerdes pour changer un truc simple, ou rajouter un truc complexe.
Avoir un projet qui "vit jusqu'ici" n'est pas une preuve que le projet est de qualité ou que "les choix de conceptions sont suffisamment bon", loin de la.
avatar
Proud to be CAKE©®™


GCC4TI importe qui a problème en Autriche, pour l'UE plus et une encore de correspours nucléaire, ce n'est pas ytre d'instérier. L'état très même contraire, toujours reconstruire un pouvoir une choyer d'aucrée de compris le plus mite de genre, ce n'est pas moins)
Stalin est l'élection de la langie.

2327

Je ne suis fondamentalement pas d'accord avec toi et je ne crois pas une seconde qu'on puisse avoir une compréhension exhaustive d'un projet de la taille d'un navigateur moderne, mais je ne pense pas non plus qu'on puisse tomber d'accord faute d'argument concrets d'un côté comme de l'autre, donc laissons tomber ^^
avatar
All right. Keep doing whatever it is you think you're doing.
------------------------------------------
Besoin d'aide sur le site ? Essayez par ici :)

2328

Je pense que vous avez tous les deux plus ou moins raison. Pour qu'un projet fonctionne bien il faut absolument éviter d'avoir des parties de codes auxquelles plus personne ne sait précisément comment ca fonctionne. Même si on arrive souvent a vivre un temps avec, ça finit fatalement par faire des horreurs. On se retrouve à faire des workaroud dégueulasses pour éviter de toucher ce qu'on ne maîtrise pas, et le jour ou on est obligé de le faire, on ne se rend pas compte de tous les impacts.

En même temps, il n'y a pas forcément besoin que tout les employés connaissent à la perfection tous les petits détails du projet. C'est de toute façon impossible sur un projet aussi vaste qu'un navigateur ou un OS. Les personnes qui travaillent sur le réseau n'ont pas particulièrement besoin de savoir comment fonctionne le rendu graphique, et les personnes qui travaillent sur le moteur JavaScript n'ont pas particulièrement besoin de savoir comment est faite l'IHM.

Il suffit d'avoir suffisamment de personnes qui connaissent parfaitement comment fonctionne la partie sur laquelle ils travaillent. Il faut évidement aussi une connaissance générale de l'application pour éviter certains non sens, mais pas jusque dans les tout petits détails.
avatar

2329

##point zenUther##

(J'aime l'équilibre de tes jugements autant que ton sens du compromis grin)

2330

(idem hehe)
avatar
All right. Keep doing whatever it is you think you're doing.
------------------------------------------
Besoin d'aide sur le site ? Essayez par ici :)

2331

Je pense que le facteur qui fait qu'il serait qu'un navigateur serait difficile/impossible à refaire from scratch aujourd'hui, c'est que le Web évolue tellement vite qu'on n'arriverait pas à avoir un rythme de développement suffisamment élevé pour arriver à suivre avec un tel retard au début.

Je ne vois pas de raison fondamentale pour laquelle ça serait infaisable sinon : si ç'a été fait dans le passé, pourquoi ça deviendrait impossible aujourd'hui ? (en y mettant suffisamment de moyens, j'entends)
avatar
Zeroblog

« Tout homme porte sur l'épaule gauche un singe et, sur l'épaule droite, un perroquet. » — Jean Cocteau
« Moi je cherche plus de logique non plus. C'est surement pour cela que j'apprécie les Ataris, ils sont aussi logiques que moi ! » — GT Turbo

2332

Je perd qz certains surestimé la complexité du truc.

Ce n'est pas un projet simple, oui mais ce n'est pas non plus un projet si complex compare à bien d'autres projets..
avatar
Proud to be CAKE©®™


GCC4TI importe qui a problème en Autriche, pour l'UE plus et une encore de correspours nucléaire, ce n'est pas ytre d'instérier. L'état très même contraire, toujours reconstruire un pouvoir une choyer d'aucrée de compris le plus mite de genre, ce n'est pas moins)
Stalin est l'élection de la langie.

2333

(essaye pas de détourner la conversatino comme ça Zerosquare, t'as un point Uther à dessiner et tu le sais très bien embarrassed)

2334

Je ne pense pas, y'a suffisamment de recul sur les technologies qui ne sont que des évolutions itératives de celles existantes.

L'accès à l'information et la documentation de ces technologies et bien plus suffisamment répandue qu'avant. Des écoles dédiées existent.

Un informaticien n'est plus un métier d'exception, même des chinois ou des indiens le font avec beaucoup d'efficacité.

La main d’œuvre et la matière grise est plus que jamais présente en quantité, il faudrait un moyen de coordonner tout ça.

Par forcément un truc genre 'rentacoder' mais plutôt des projets collaboratifs sur 'github' et financer par les industries qui en profitent.

2335

Folco : grin
avatar
Zeroblog

« Tout homme porte sur l'épaule gauche un singe et, sur l'épaule droite, un perroquet. » — Jean Cocteau
« Moi je cherche plus de logique non plus. C'est surement pour cela que j'apprécie les Ataris, ils sont aussi logiques que moi ! » — GT Turbo

2336

./2331 : pour moi ça n'est pas infaisable dans la théorie, bien sûr qu'avec assez de gens et assez de temps on peut réimplémenter n'importe quoi. Le problème comme tu dis c'est qu'en pratique c'est un environnement qui évolue très vite, et que tout recoder à partir de zéro implique une masse de travail énorme qui vient s'ajouter à la maintenance du navigateur actuel, en attendant que le nouveau soit disponible. Ça veut dire des années à bosser sur deux gros projets en parallèle au lieu d'un seul, quand déjà l'effort de maintenance (inférieur à celui d'une réécriture) n'est pas évident à tenir. Pour une boite qui espère vivre d'un projet pareil ça me semble économiquement irréaliste, je ne vois pas ce qui pourrait faire que ça se passerait différemment que chez Netscape, pour ne prendre qu'un exemple.
avatar
All right. Keep doing whatever it is you think you're doing.
------------------------------------------
Besoin d'aide sur le site ? Essayez par ici :)

2337

Zerosquare (./2331) :
Je pense que le facteur qui fait qu'il serait qu'un navigateur serait difficile/impossible à refaire from scratch aujourd'hui, c'est que le Web évolue tellement vite qu'on n'arriverait pas à avoir un rythme de développement suffisamment élevé pour arriver à suivre avec un tel retard au début.
C'est bien le web qui est problème. Non seulement la vitesse avec laquelle ça change, mais le nombre de trucs qu'il y a déjà maintenant. (C'est ça qui fait le "retard au début". Si c'étaient juste des changements, on commencerait directement avec la version la plus récente et c'est bon. Le problème est que les changements sont à 99% des ajouts – normal, faut dire, parce que sinon tous les vieux sites casseraient!) Depuis "Web 2.0", on exige de plus en plus de fonctionnalités inutiles du navigateur. Bientôt 2 décennies de "Web 2.0" ont fait totalement dégénérer la chose. Le mot-clé "HTML5" sert maintenant de prétexte pour spammer une fonctionnalité inutile après l'autre. Le "standard" HTML5 est en évolution constante, de plus en plus de fonctionnalités ont été rajoutées au HTML 5.0 pendant 3 années, puis ils ont décidé de le déclarer "stable" et de passer à la version 5.1, où le petit jeu a continué pendant 2 années, et maintenant, tout recommence avec le numéro de version 5.2. Évidemment, un navigateur qui implémenterait juste la version stable actuelle ne servirait à rien, parce que les sites "modernes" attendent la fonctionnalité inutile du jour (du "prochain" standard, non finalisé, qui change tout le temps).

Il y a 2 décennies, le projet (alors tout neuf) KDE arrivait à implémenter un moteur HTML avec juste une toute petite équipe (probablement une seule personne au départ). Ça a donné KHTML, qui a été à la base de WebKit, qui a été à la base de Blink et donc de Chromium. Maintenant, plus personne n'arrive à mettre à jour le KHTML original avec les changements permanents du web, et plus personne ne croit pouvoir faire ce qu'ont fait les développeurs de KHTML, c'est-à-dire implémenter un nouveau moteur HTML de zéro.
avatar
Mes news pour calculatrices TI: Ti-Gen
Mes projets PC pour calculatrices TI: TIGCC, CalcForge (CalcForgeLP, Emu-TIGCC)
Mes chans IRC: #tigcc et #inspired sur irc.freequest.net (UTF-8)

Liberté, Égalité, Fraternité

2338

Encore une fois l'exemple de Netscape est un mauvais exemple, la boite etait sur le déclins, tres mal géré bref tout ce qu'il faut pour se planter (plus une base de code relativement horrible)
avatar
Proud to be CAKE©®™


GCC4TI importe qui a problème en Autriche, pour l'UE plus et une encore de correspours nucléaire, ce n'est pas ytre d'instérier. L'état très même contraire, toujours reconstruire un pouvoir une choyer d'aucrée de compris le plus mite de genre, ce n'est pas moins)
Stalin est l'élection de la langie.

2339

Uther (./2328) :
Il suffit d'avoir suffisamment de personnes qui connaissent parfaitement comment fonctionne la partie sur laquelle ils travaillent. Il faut évidement aussi une connaissance générale de l'application pour éviter certains non sens, mais pas jusque dans les tout petits détails.
je rajouterais qu'il faut qu'il y ait des gens avec une connaissance de la structure globale du code et les limites logiques de chaque composant (qui peuvent très bien être des projets indépendants).
avatar
<<< Kernel Extremis©®™ >>> et Inventeur de la différence administratif/judiciaire ! (©Yoshi Noir)

<Vertyos> un poil plus mais elle suce bien quand même la mienne ^^
<Sabrina`> tinkiete flan c juste qu'ils sont jaloux que je te trouve aussi appétissant

2340

En réponse au topics/111699-informatique-et-high-tech-les-meilleures-news/1005#post-30146 , vu que le sujet est plus approprié.
Godzil (./30146) :
"fn" pour dire qu'on a affaire a une nouvelle fonction (autant mettre fonction non? on est plus a 40col depuis 40 ans)
Godzil (./30146) :
(comme "let mut" pour dire qu'on déclare une variable qui peux être "mutated" (oui hein écrire parce que "mutated" au complet c'est trop chiant))
C'est un problème de raccourcir les mots clés ultra courants? Pour moi c'est pas du tout indispensable mais quand même bien pratique.
Godzil (./30146) :
et le -> pour donne le type de retour est un choix TRES TRES malheureux.
Un peu contradictoire avec ton point précédent. Tu t’embête certainement bien plus à écrire "function" et "mutable" en entier que "->". Et franchement on a pas a écrire le type retour d'une fonction assez souvent pour que je trouve que ce soit un problème.
Godzil (./30146) :
le prototype de fonctions classique a la C/C++ marche tres bien, pourquoi forcement vouloir inventer des trucs tout sauf pratique?Et ça ne rends pas le code concrètement plus lisible, au contraire je trouve.
Ça te choque surtout probablement à cause de l'habitude. Ça me paraissait bizarre au début mais, une fois que je m'y suis fait, je trouve ça beaucoup mieux, c'est beaucoup plus lisible on reconnait au premier coup d’œil les déclarations dans un code vu qu'elles commencent par un mot clé.
De toute façon, encore une fois pour moi c'est vraiment du détail.
Godzil (./30146) :
Pitié non... Rentre "return" optionel.... sérieusement? Il se sont dit tiens on tape trop de caractères donc on va faire qu'on puisse en taper moins?

Non c'est plutôt pour permettre de faire des chose du genre:
let x = if condition {
        toto();
        42
    } else {
        0
    }
notamment avec les lambda, ça permet de faire des trucs quand même bien moins chargé.
Godzil (./30146) :
Genre je fait appel a la fonction toto qui fait unTruc© et retourne la valeur 42, je fait :
fn factorial_recursive(n: u32) -> u32 {
    if n <= 1 {
        toto()
        1
    } else {
        n * factorial_recursive(n - 1)
    }
}
Ben je me bouffe un 42 a la place de 1? C'est beau hein!
Non tu vas avoir une erreur de compilation, car tu as deux expressions à la suite sans opération entre elles. Les instructions non retournées se terminent par un point virgule.
Godzil (./30146) :
En plus le typage n'a pas l'air d'etre du typage fort vu qu'on peux definir des variable sans dire explicitement le type, c'est plutot contre-indique pour faire du système ça..
Globalement le typage est bien plus strict que C et C++, il n'y a notamment pas de conversion implicites.
Le typage des variable et lambda peut-être implicite, certes, mais c'est tout. Partout ailleurs, il faut préciser le type, ce qui limite le risque d'abus, contrairement à l'auto de C++.
Godzil (./30146) :
Non désolé, je ne peux pas prendre se langage au sérieux.
Bah franchement tes arguments me paraissent très superficiels et uniquement sur des points de la syntaxe, pour arriver a une conclusion aussi péremptoire. Un langage c'est quand même bien plus que ça.
avatar