Forum |  HardWare.fr | News | Articles | PC | S'identifier | S'inscrire | Shop Recherche
3862 connectés 

 

Sujet(s) à lire :
    - Who's who@Programmation
 

 Mot :   Pseudo :  
  Aller à la page :
 
 Page :   1  2  3  4  5  ..  25459  25460  25461  ..  27177  27178  27179  27180  27181  27182
Auteur Sujet :

[blabla@olympe] Le topic du modo, dieu de la fibre et du monde

n°2448053
___alt
Posté le 06-06-2023 à 17:53:13  profilanswer
 

Reprise du message précédent :

Devil'sTiger a écrit :

C'est ce que tu crois, de mon XP tu as juste d'autres erreurs.
 
Et pour ce qui est du NoneType, la ou Rust te protege, ca n'est pas le cas de java:
https://stackoverflow.com/questions [...] ava-string
 
Crashera tout pareil...


 
Le null est pas tout à fait une question de type system en Java, mais même si on le considère comme tel, au lieu d'avoir un ensemble assez important d'erreurs de type au runtime, t'en as plus qu'un subset réduit (principalement les génériques si tu t'amuses à faire des trucs foireux). C'est toujours ça de moins.
 
Après à mon sens un des intérêts majeurs du typage fort et un minimum explicite, c'est que ça permet à ton tooling de faire des trucs un peu plus malins que de match des appels de méthode juste sur leur nom.


---------------
TRIPS RIGHT BUNCH F SHUTTLE TOM AND JERRY RIGHT YELLOW
mood
Publicité
Posté le 06-06-2023 à 17:53:13  profilanswer
 

n°2448055
masklinn
í dag viðrar vel til loftárása
Posté le 06-06-2023 à 17:58:59  profilanswer
 

___alt a écrit :

Le null est pas tout à fait une question de type system en Java


C'est bien le problème :o

___alt a écrit :

C'est toujours ça de moins.


Le problème c'est le ROI, après peut être que le java moderne a un ROI stratosphérique sa mère (je présume que les records & sealed interfaces ont amélioré les choses, même si apparemment t'as encore un fichier par type toplevel parce-que ???), ça fait 10 ans que j'en ai pas fait (et jamais j'en refait), mais mon XP de java (jusqu'à Java 6 je pense, ou ptet 5) c'est que l'overhead syntactique du langage te faisait payer énormément pour un retour minable (parce que le système de type est peu expressif). Et dans tous les cas t'as les exceptions qui viennent vomir dans ton aquarium.

___alt a écrit :

Après à mon sens un des intérêts majeurs du typage fort et un minimum explicite, c'est que ça permet à ton tooling de faire des trucs un peu plus malins que de match des appels de méthode juste sur leur nom.


Bof.


---------------
I mean, true, a cancer will probably destroy its host organism. But what about the cells whose mutations allow them to think outside the box by throwing away the limits imposed by overbearing genetic regulations? Isn't that a good thing?
n°2448056
nucl3arfl0
Better Call Saul
Posté le 06-06-2023 à 18:04:05  profilanswer
 

Dion a écrit :


Le choix il dépend énormément de la gueule de ton MVP et de ce que tu veux vraiment tester.
Dans les COGIP ce n'est pas rare que ton MVP ce soit des milliers de jours de dév., il n'est également pas rare que des gens se tirent la nouille à faire des trucs dans des technos sexys ou robustes pour être foutue à la benne six mois après.
(Ressources pour aller plus loin : resume driven development, microservices appliquées aux personnes âgées, Apache Kafka Quickstart)

 

Un talk qui résonne un peu dans ce que tu dis  :D

 

https://www.youtube.com/watch?v=88_LUw1Wwe4

n°2448057
___alt
Posté le 06-06-2023 à 18:15:14  profilanswer
 

masklinn a écrit :


C'est bien le problème :o


 
Je sais bien  [:toede]  
 

masklinn a écrit :


Le problème c'est le ROI, après peut être que le java moderne a un ROI stratosphérique sa mère (je présume que les records & sealed interfaces ont amélioré les choses, même si apparemment t'as encore un fichier par type toplevel parce-que ???), ça fait 10 ans que j'en ai pas fait (et jamais j'en refait), mais mon XP de java (jusqu'à Java 6 je pense, ou ptet 5) c'est que l'overhead syntactique du langage te faisait payer énormément pour un retour minable (parce que le système de type est peu expressif). Et dans tous les cas t'as les exceptions qui viennent vomir dans ton aquarium.


 
Le ROI s'est amélioré sensiblement depuis Java 8 et Java 11.
Après quand t'as goûté à des type systems plus expressifs c'est un peu limité oui. Mais aujourd'hui dans les codebase Java le problème c'est plutôt les gens qui stringly type absolument tout plutôt que le type system.
 


 
Je sais pas, y a encore quelque années je voyais des devs JS bosser j'avais l'impression qu'ils bossaient avec des cailloux et des bouts de bois.


---------------
TRIPS RIGHT BUNCH F SHUTTLE TOM AND JERRY RIGHT YELLOW
n°2448058
Jubijub
Parce que je le VD bien
Posté le 06-06-2023 à 18:43:52  profilanswer
 

nraynaud a écrit :


j'ai trouvé la même chose par google, mais la géographie me stresse un poil :
 
https://i.imgur.com/YtN6GqK.png


 
il me semble avoir appris à un moment (peut etre pendant des cours de voile, ou en essayant de comprendre les vents sur le lac léman) que près des montagnes y'a des vents spéciaux qui descendent de la montagne par je sais plus quel effet, et que étant dans une vallée étroite, tu peux très bien avoir ce type de vent qui vient de nulle part ailleurs que du fait qu'il y ait une montagne devant toi.


---------------
Jubi Photos : Flickr - 500px
n°2448059
hephaestos
Sanctis Recorda, Sanctis deus.
Posté le 06-06-2023 à 18:47:00  profilanswer
 

Jubijub a écrit :

 

il me semble avoir appris à un moment (peut etre pendant des cours de voile, ou en essayant de comprendre les vents sur le lac léman) que près des montagnes y'a des vents spéciaux qui descendent de la montagne par je sais plus quel effet, et que étant dans une vallée étroite, tu peux très bien avoir ce type de vent qui vient de nulle part ailleurs que du fait qu'il y ait une montagne devant toi.


Le foehn ?

Message cité 1 fois
Message édité par hephaestos le 06-06-2023 à 18:47:39
n°2448060
Devil'sTig​er
Posté le 06-06-2023 à 18:52:29  profilanswer
 

___alt a écrit :


Après à mon sens un des intérêts majeurs du typage fort et un minimum explicite, c'est que ça permet à ton tooling de faire des trucs un peu plus malins que de match des appels de méthode juste sur leur nom.


 
 
Mon XP me dev me dit que Node + VSCode >>>>> Idea + Java perso (ne parlons pas d'éclipse ou netbeans [:mzitraya:1] )
 
Donc le tooling m'a pas l'air trop foiré meme en interprété.
 

___alt a écrit :


Le null est pas tout à fait une question de type system en Java, mais même si on le considère comme tel, au lieu d'avoir un ensemble assez important d'erreurs de type au runtime, t'en as plus qu'un subset réduit (principalement les génériques si tu t'amuses à faire des trucs foireux). C'est toujours ça de moins.


 
Encore une fois consideres-tu ce tradeoff comme positif ?
 
Tu as Java, qui par exemple n'enleve pas le soucis des nulls, mais en corrige certains. Est-ce une balance a ton avantage ou pas ?
 
Moi perso en Java j'ai surtout vu des devs, pas forcément les plus mauvais d'ailleurs, bypassé toutes les sécus du langage parce que c'est chiant, du genre tester que ta string est null ou pas avant d'essayer de la substring, ou alors caster comme un gros porc et osef de la remonté d'exception. Par dessus Java reste plus lent a coder que disons PHP.
 
Donc le deal est-il encore sur la table dans ces cas la? Parce que ces cas la c'est plus la norme que l'exception. On a toujours une deadline ou faut aller vite et on prend des raccourcis foireux.
 
Meme rust il y a moyen d'y aller au ? et unwrap de partout et osef de comment ca se comporte.
 
 
 
Et ca c'est la premiere partie du soucis. A quel moment ca:
 

SekYo a écrit :


Clairement c'est presque ce qui me surprend le plus au final: après 15 ans à supporter des applis web en Python, de tailles assez variées, j'en ai clairement marre des erreurs au Runtime et du temps "perdu" une fois l'app en prod à la maintenir pour corriger des conneries de NoneType error qui auraient pu être catchées avant avec un langage moins permissif.


 
est le coeur de ton soucis ?
 
Navré mais ca c'est surtout toi qui aimerai avoir une journée plus cool, qui ne se pose pas la question de ce que cela implique de changer de language pour un plus strict, et du temps de l'ensemble (code + bug resolu). Au final tu verras que tu as une journée un peu moins chiante, mais du temps de perdu. Parce que le language t'a forcé a prendre en compte des non-problemes, via du cast systématique - par exemple. Et parfois meme t'a forcé a faire une erreur avec un cast foireux.
 
A moins que tu passes ta vie entiere a corriger des NoneType mais j'ai pas encore vue une équipe dédiée a ca nulle part :D
 
Et de toute facon ca ne corrige pas le coeur de l'ensemble du probleme: quand ca pete, la plupart du temps c'est quelque chose de compliqué, et qui dit compliqué, les tests n'ont jamais eu lieu sur cette partie, et le casting ne rentre pas la dedans la plupart du temps...
 
Donc une bonne partie de l'écosysteme moderne consiste j'ai bien l'impression a perdre du temps sur des choses intuiles, en ayant toujours autant de probleme a la fin, parce que les gens ne testent tout simplement pas ce qui devrait etre testé.
 
Pour donner une idée, je ne fais pas de tests U/intégration la ou je suis, mais si j'avais une équipe pour ca, mon premier test serait pas de savoir si l'endpoint fait ce qu'on lui demande, se serait:
  - si l'endpoint arrive a se démerder avec la moitié des services non disponibles (genre BDD ou API)
  - si la sécurité est assurée, pas de porte dérobée ou autre.
 
Si ca t'a bon, t'a fait la plupart des tests unitaires qui vraiment valent quelque chose. Les autres c'est de l'applicatif, et on peut toujours corriger l'applicatif si ca ne va pas.
 
 
Sur ce j'ai recu un nouveau synthé donc je vais disparaitre pour quelques jours, bonne journée/soirée a vous!

Message cité 4 fois
Message édité par Devil'sTiger le 06-06-2023 à 18:57:05
n°2448061
Flaie
Posté le 06-06-2023 à 19:04:49  profilanswer
 

Devil'sTiger a écrit :


EDIT: et niveau vitesse de dev node > java, PHP > Java, easy. Encore une fois, mec moyen, j'en ai RAB de parler du top 2% qui connais le language au poil de cul.


Je pense que c'est totalement faux.
 

Devil'sTiger a écrit :


 
Taille de la BDD actuellement et avec laquelle je me pavane dans mon code node: 50to.
 
Ca fait un gros fichier txt komeme [:elessar53]


J'espère que tu charges pas tout in-memory :o
 

Devil'sTiger a écrit :

C'est ce que tu crois, de mon XP tu as juste d'autres erreurs.
 
Et pour ce qui est du NoneType, la ou Rust te protege, ca n'est pas le cas de java:
https://stackoverflow.com/questions [...] ava-string
 
Crashera tout pareil...


Y'a d'autres façons de faire mais il faut être prudent.
 

Devil'sTiger a écrit :


 
Mon XP me dev me dit que Node + VSCode >>>>> Idea + Java perso (ne parlons pas d'éclipse ou netbeans [:mzitraya:1] )
 
Donc le tooling m'a pas l'air trop foiré meme en interprété.


C'est quoi le tooling pour toi ?  
Donne du concret car sinon je réponds juste mon xp de dev me dit Idea + Java >>>>>> n'importe quoi + vscode
D'ailleurs Clojure + Emacs >>> the rest
 

Devil'sTiger a écrit :


Encore une fois consideres-tu ce tradeoff comme positif ?
 
Tu as Java, qui par exemple n'enleve pas le soucis des nulls, mais en corrige certains. Est-ce une balance a ton avantage ou pas ?
 
Moi perso en Java j'ai surtout vu des devs, pas forcément les plus mauvais d'ailleurs, bypassé toutes les sécus du langage parce que c'est chiant, du genre tester que ta string est null ou pas avant d'essayer de la substring, ou alors caster comme un gros porc et osef de la remonté d'exception. Par dessus Java reste plus lent a coder que disons PHP.


Tu peux faire ce genre de saloperies dans tous les langages.  
En PHP j'ai meme vu des gens utiliser des dynamic variable, ou tout un tas de merdes que laisse faire PHP (comparer des int / string, de la reflection comme en Java, ...).
En JS on va même pas aborder le sujet tant la mongolance du langage est assumée.
 
T'arrètes pas de parler de casting car c'est ton souvenir de vieux Java, c'est plus le cas aujourd'hui, c'est vraiment très rare.
 

Devil'sTiger a écrit :


 
Donc une bonne partie de l'écosysteme moderne consiste j'ai bien l'impression a perdre du temps sur des choses intuiles, en ayant toujours autant de probleme a la fin, parce que les gens ne testent tout simplement pas ce qui devrait etre testé.
 
Pour donner une idée, je ne fais pas de tests U/intégration la ou je suis, mais si j'avais une équipe pour ca, mon premier test serait pas de savoir si l'endpoint fait ce qu'on lui demande, se serait:
  - si l'endpoint arrive a se démerder avec la moitié des services non disponibles (genre BDD ou API)
  - si la sécurité est assurée, pas de porte dérobée ou autre.
 
Si ca t'a bon, t'a fait la plupart des tests unitaires qui vraiment valent quelque chose. Les autres c'est de l'applicatif, et on peut toujours corriger l'applicatif si ca ne va pas.


Au final t'as plein de probs dans ta codebase car tu les as dev soit disant plus vite, et pas grave on les fixera plus tard, nice :o
 

n°2448062
Jubijub
Parce que je le VD bien
Posté le 06-06-2023 à 19:11:32  profilanswer
 


 
Oui, c'est ça :)


---------------
Jubi Photos : Flickr - 500px
n°2448063
hephaestos
Sanctis Recorda, Sanctis deus.
Posté le 06-06-2023 à 19:20:10  profilanswer
 


Devil'sTiger a écrit :

 

est le coeur de ton soucis ?

 

Navré mais ca c'est surtout toi qui aimerai avoir une journée plus cool, qui ne se pose pas la question de ce que cela implique de changer de language pour un plus strict, et du temps de l'ensemble (code + bug resolu). Au final tu verras que tu as une journée un peu moins chiante, mais du temps de perdu. Parce que le language t'a forcé a prendre en compte des non-problemes, via du cast systématique - par exemple. Et parfois meme t'a forcé a faire une erreur avec un cast foireux.

 



C'est une métrique foireuse le temps perdu. Certains coûts sont intangibles, c'est des neurones mobilisés sur la vérification que le type est correct alors qu'ils seraient mieux à résoudre le problème métier. Le temps de concentration ça n'est pas fongible, quand on perd du temps sur des conneries on en fait d'autres.

mood
Publicité
Posté le 06-06-2023 à 19:20:10  profilanswer
 

n°2448064
Plam
Bear Metal
Posté le 06-06-2023 à 19:30:50  profilanswer
 

Ptin 8h de train en 2 jours, j'en ai ras le bol :'(
 
Bon au moins, même si c'est pas du tout mon kiff, j'ai serré des paluches intéressantes :jap:


---------------
Spécialiste du bear metal
n°2448065
gfive
Posté le 06-06-2023 à 19:42:20  profilanswer
 

Devil'sTiger a écrit :


Moi perso en Java j'ai surtout vu des devs, pas forcément les plus mauvais d'ailleurs, bypassé toutes les sécus du langage parce que c'est chiant, du genre tester que ta string est null ou pas avant d'essayer de la substring, ou alors caster comme un gros porc et osef de la remonté d'exception.

 

Ben c'était pas des bons devs alors.

 

Et si tu as besoin de caster souvent ça peut aussi être un signe de conception de merde.

 

Après avec les Optionals (java 8, 2014), les nullcheks et même les cast peuvent disparaître de la syntaxe et devenir des trucs du genre :

 

Caster.cast(machin, Truc.class).Map(Truc::faisUnBidule).ifPresent(Bidule::pouet).orElse(prout);

 

Et en java 17 ou 18 il y a du pattern matching.

 

Donc ton expérience perso est datée, et pue un peu du fion.


---------------
Tous les sud africains sont ségrégationistes, à part Ted. (P. Desproges)
n°2448066
Elmoricq
Posté le 06-06-2023 à 19:49:27  profilanswer
 

Ça faisait longtemps, une guerre des langages.

 

De toute façon, Dart über alles.

n°2448067
el_barbone
too old for this shit ...
Posté le 06-06-2023 à 19:52:35  profilanswer
 

Plam a écrit :

Ptin 8h de train en 2 jours, j'en ai ras le bol :'(
 
Bon au moins, même si c'est pas du tout mon kiff, j'ai serré des paluches intéressantes :jap:


 
C'est relou les déplacements pro [:sadnoir] ... Avec le temps ça me saoule de plus en plus  
 

Spoiler :

je suis en vacances depuis plus de 3 semaines ...  première fois aussi longtemps depuis 25ans que je bosse


---------------
En théorie, la théorie et la pratique sont identiques, en pratique, non.
n°2448068
Devil'sTig​er
Posté le 06-06-2023 à 19:53:46  profilanswer
 

Flaie a écrit :


J'espère que tu charges pas tout in-memory :o
 


 
J'ai implémenté un parseur SAX avec rendu XLST je suis pas fou non plus  [:julm3]  
 
 

hephaestos a écrit :


C'est une métrique foireuse le temps perdu. Certains coûts sont intangibles, c'est des neurones mobilisés sur la vérification que le type est correct alors qu'ils seraient mieux à résoudre le problème métier. Le temps de concentration ça n'est pas fongible, quand on perd du temps sur des conneries on en fait d'autres.


 
 
Je ne vois pas en quoi c'est mieux, j'ai vu des gens rater des tests (plus que du code d'ailleurs) et se prendre la tete avec tout pareil.
 
Donc autant se concentrer sur ce qui merde plutot que sur de l'hypothétique.
 

Flaie a écrit :


C'est quoi le tooling pour toi ?  
Donne du concret car sinon je réponds juste mon xp de dev me dit Idea + Java >>>>>> n'importe quoi + vscode
D'ailleurs Clojure + Emacs >>> the rest
 


 
Je ne vois pas le tooling java etre suppérieur a aucun autre sur le marché a vrai dire, les toolings sont clairement équivalent, mais au moins vscode se lance vite :o
 
Mais en debug, lire, breakpoint, modifier la variable, le code, tout ca ca passe sur tous les languages majeurs (a part rust ou Clion le faisait pas de souvenir, juste breakpoint et lecture).
 

gfive a écrit :


Caster.cast(machin, Truc.class).Map(Truc::faisUnBidule).ifPresent(Bidule::pouet).orElse(prout);


 
On parlait de l'efficacité et de la vitesse de dev je crois non ?  [:delarue5]  
 
Le bordel pour caster un pauvre truc et gerer un if/else si ca foire  [:baragor]  
 

gfive a écrit :


 
Et si tu as besoin de caster souvent ça peut aussi être un signe de conception de merde.  
 


 
Non, en tout cas dans le web c'est nien, si tu as pas une flexibilité sur l'input tes clients vont gueuler. Ou alors vous avez pas de gros produits bien velu et peu de clients, mais des que tu atteinds une certaines taille t'a interet a accepter un peu tout en entrée.
 
 

Elmoricq a écrit :

Ça faisait longtemps, une guerre des langages.
 
De toute façon, Dart über alles.


 
 
Ca n'aurait pas été marrant sans ca.
 
 
 
Pour le reste: comme dit j'ai recu le synthé :D A dans quelques heures minimum ;)

n°2448069
SekYo
Posté le 06-06-2023 à 20:09:29  profilanswer
 

Devil'sTiger a écrit :

 

est le coeur de ton soucis ?

 

Navré mais ca c'est surtout toi qui aimerai avoir une journée plus cool, qui ne se pose pas la question de ce que cela implique de changer de language pour un plus strict, et du temps de l'ensemble (code + bug resolu). Au final tu verras que tu as une journée un peu moins chiante, mais du temps de perdu. Parce que le language t'a forcé a prendre en compte des non-problemes, via du cast systématique - par exemple. Et parfois meme t'a forcé a faire une erreur avec un cast foireux.
[...]


Bin disons qu'à partir du moment où une portion significative (et de plus en plus importante au fur et à mesure des années qui passent) du temps total de ton équipe est passée à fixer des bugs ou des erreurs Sentry (ou whatever l'outil utilisé pour remonter les bugs en prod), oui ça devient un soucis et pas du tout que pour les devs. Quand une feature qui devrait prendre 1 mois à sortir en prend 3 parce que l'équipe est sans arrêt "interrompu" (ca peut être du bug fix planifié hein, c'est pas forcément une "urgence" en prod) par ces petites corrections/modifications annexes, ça impacte toute la boite et pas que "la journée plus cool" du dev.

 

Et tu parles de non-problème, mais mon expérience après 15 ans c'est que globalement, avec une appli en prod suffisamment longtemps, bin tous les "non problèmes" dont tu parles (ou en tous cas une bonne partie), tu finiras par les rencontrer. Et du coup ça t'obligera à te pencher 1, 2 ans plus tard dans du code que, au mieux toi tu as écris, au pire un bouzin immonde écrit par un mec qui a quitté la boite depuis. Alors après Rust c'est pas magique on est bien d'accord non plus, mais au moins au moment où tu écris ton code, bin ça te force à "taper" ton "?" pour dire "si ça pète là je m'en fous". Au moins c'est explicite. Et peut-être que dans N% des cas le dev se dira au moins "ah mais attend si ce truc est Null, je fais quoi ? Ah bin tiens je peux fallback gracefully sans faire péter une 500 en faisant ça" (peut être que je rêve OK).

  

Pour moi le seul "vrai" handicap que je vois à Rust (en dehors de l'écosystème encore jeune ofc) c'est celui évoqué par masklinn: j'ai du mal à voir comment une appli un peu importante en Rust peut facilement gérer un pivot majeur de la startup tous les 6 mois et donc avec les modifications profondes du code et le besoin d'avoir rapidement un truc up & running qui vont avec.

Message cité 1 fois
Message édité par SekYo le 06-06-2023 à 20:10:40
n°2448071
masklinn
í dag viðrar vel til loftárása
Posté le 06-06-2023 à 20:18:29  profilanswer
 

SekYo a écrit :

Alors après Rust c'est pas magique on est bien d'accord non plus, mais au moins au moment où tu écris ton code, bin ça te force à "taper" ton "?" pour dire "si ça pète là je m'en fous".


:fou:
 
? c'est "je peux pas gérer je file à papa", "si ça pète là je m'en fous" c'est unwrap :o ("c'est pas censé pêter là", c'est expect).

SekYo a écrit :

Pour moi le seul "vrai" handicap que je vois à Rust (en dehors de l'écosystème encore jeune ofc) c'est celui évoqué par masklinn: j'ai du mal à voir comment une appli un peu importante en Rust peut facilement gérer un pivot majeur de la startup tous les 6 mois et donc avec les modifications profondes du code et le besoin d'avoir rapidement un truc up & running qui vont avec.


Après par contre tu peux remplacer le train d'atterrissage en vol et ça peut passer (selon l'impact).
 
Genre sur un projet j'ai remplacé warp par axum, ça a pris un peu de temps (surtout pour les conversions de Path, j'avais pas compris comment ça marchait initialement mais c'est parce que j'avais lu le truc en diagonale) mais au final ce qui en a pris le plus je pense que c'était repasser sur les handlers pour les convertir en Result propre.


---------------
I mean, true, a cancer will probably destroy its host organism. But what about the cells whose mutations allow them to think outside the box by throwing away the limits imposed by overbearing genetic regulations? Isn't that a good thing?
n°2448072
Flaie
Posté le 06-06-2023 à 20:29:16  profilanswer
 

Devil'sTiger a écrit :


Je ne vois pas le tooling java etre suppérieur a aucun autre sur le marché a vrai dire, les toolings sont clairement équivalent, mais au moins vscode se lance vite :o
 
Mais en debug, lire, breakpoint, modifier la variable, le code, tout ca ca passe sur tous les languages majeurs (a part rust ou Clion le faisait pas de souvenir, juste breakpoint et lecture).


Les outils de refactoring, l'analyse de code, rien que ça déjà.

n°2448073
ratibus
Posté le 06-06-2023 à 20:38:53  profilanswer
 

Elmoricq a écrit :

Ça faisait longtemps, une guerre des langages.
 
De toute façon, Dart über alles.


 
Surtout que des devs avec Lambo, y en a pas bcp :o

n°2448074
SekYo
Posté le 06-06-2023 à 20:53:14  profilanswer
 

masklinn a écrit :


:fou:
 
? c'est "je peux pas gérer je file à papa", "si ça pète là je m'en fous" c'est unwrap :o ("c'est pas censé pêter là", c'est expect).


Tu chipotes :D
 
 
( mais je suis d'accord   :sweat:   )
 

masklinn a écrit :


Après par contre tu peux remplacer le train d'atterrissage en vol et ça peut passer (selon l'impact).
Genre sur un projet j'ai remplacé warp par axum, ça a pris un peu de temps (surtout pour les conversions de Path, j'avais pas compris comment ça marchait initialement mais c'est parce que j'avais lu le truc en diagonale) mais au final ce qui en a pris le plus je pense que c'était repasser sur les handlers pour les convertir en Result propre.


Ouais mais est ce que les refacto purement "technique" c'est pas le cas le plus simple à gérer en Rust (voir même plus simple qu'avec beaucoup de langages dynamiques vu que l'IDE peut "facilement" t'aider sur pleins de trucs) ? J'avoue que j'avais plus en tête des pivots produits.

n°2448075
denzel was​h in town
Posté le 06-06-2023 à 20:54:00  profilanswer
 

A ceux qui font du Rust vous avez aimez ça dès le début ?

 

Ça fait 3 fois que j'essaie de m'y mettre mais à chaque fois je finis par laisser tomber. C'est un peu laborieux je trouve et la syntaxe pas très lisible. J'ai l'habitude des trucs simples, je fais principalement du C et du Python.

 

Faudrais que je me trouve un vrai projet à réaliser pour me forcer un peu

n°2448076
nraynaud
lol
Posté le 06-06-2023 à 21:00:18  profilanswer
 

perso je trouvais le rust était un peu saoulant, surtout essayer de tout mapper sur le borrow checker était un peu l'enfer.


---------------
trainoo.com, c'est fini
n°2448077
nraynaud
lol
Posté le 06-06-2023 à 21:12:38  profilanswer
 

https://digg.com/internet-culture/l [...] TyYGH02gR9  
[:rofl]


---------------
trainoo.com, c'est fini
n°2448078
Devil'sTig​er
Posté le 06-06-2023 à 21:20:53  profilanswer
 

Flaie a écrit :


Les outils de refactoring, l'analyse de code, rien que ça déjà.


 
Tu penses quand même pas qu'un des languages les plus utilisés au monde a des pbs de tooling quand même ?
 
De deux le besoin de refactor quand t'a pas des millions de classes devient tout de suite un bien moindre soucis; je dis ca je dis rien [:eraser17]
 
Mais enfin oui le refactoring pas de soucis, l'analyse de code non plus... Que ce soit VSCode ou Storm, jamais vu de pb majeur aussi bien en JS qu'en typescript.
 
 
 

denzel wash in town a écrit :

A ceux qui font du Rust vous avez aimez ça dès le début ?  
 
Ça fait 3 fois que j'essaie de m'y mettre mais à chaque fois je finis par laisser tomber. C'est un peu laborieux je trouve et la syntaxe pas très lisible. J'ai l'habitude des trucs simples, je fais principalement du C et du Python.
 
Faudrais que je me trouve un vrai projet à réaliser pour me forcer un peu


 
 
Comme a dit masklinn plus haut: Rust tu peux le tenter dans le cas d'un code critique que tu changes pas tous les jours. Dans cette situation ce sera du tout bon, par contre si t'a besoin de réécrire tous les 6 mois, ca s'annonce mal.
 
EDIT: et je te conseille de prendre une license CLion, ca aide pas mal; justement Rust fait parti des rares languages avec un tooling moyen, et CLion est encore le mieux sur ce language pour le moment (et même lui c'est pas parfait).
 
 
 
 
Sinon bordel le moog one  :love:

Message cité 3 fois
Message édité par Devil'sTiger le 06-06-2023 à 21:42:32
n°2448079
Flaie
Posté le 06-06-2023 à 21:51:14  profilanswer
 

Devil'sTiger a écrit :


 
Tu penses quand même pas qu'un des languages les plus utilisés au monde a des pbs de tooling quand même ?
 
De deux le besoin de refactor quand t'a pas des millions de classes devient tout de suite un bien moindre soucis; je dis ca je dis rien [:eraser17]
 
Mais enfin oui le refactoring pas de soucis, l'analyse de code non plus... Que ce soit VSCode ou Storm, jamais vu de pb majeur aussi bien en JS qu'en typescript.
 


Ce sont de simple faits, les outils d'analyse et de refacto dans VS Code par exemple pour le JS sont moins bon que ce qu'on trouve en Java.
 
Le refactoring ça se fait même en écrivant le code, pas toujours par après dans 10 ans.  
Je conçois que comme tu as perdu ton âme d'enfant en réunionite tu sois loin du spectre :o

n°2448080
masklinn
í dag viðrar vel til loftárása
Posté le 06-06-2023 à 22:00:35  profilanswer
 

SekYo a écrit :

Ouais mais est ce que les refacto purement "technique" c'est pas le cas le plus simple à gérer en Rust (voir même plus simple qu'avec beaucoup de langages dynamiques vu que l'IDE peut "facilement" t'aider sur pleins de trucs) ? J'avoue que j'avais plus en tête des pivots produits.


Oui j'avais bien compris :D

 

L'IDE il a aidé sur rien du tout, rust-analyzer il sait pas remplacer des librairies et il pige pas grand chose quand les types ont aucun rapport :o C'est plus le cycle de changer un truc / check / fix, qui va bien et surtout est fiable, c'est un peu chiant dans la mesure où tu peux rien faire tant que tout n'est pas fixer (sauf à commenter des morceaux  complets) mais une fois fini ya de bonnes chances que ça marche.

 

C'est ce qui rend le pivot produit plus difficile, il est difficile d'être dans un état partiel (au mieux t'as des unwrap partout, et limite c'est chiant), donc l'exploratoire et le pivot sont difficile, dans ces cas tu t'en fous si la moitié du truc est pêté tu veux juste l'ignorer pour le moment, en rust faut tout commenter. D'ailleurs j'ai eu le problème récemment (enfin pas moi mais une lib tierce), 1.70 a enlevé une vieille feature de nightly, sauf que ça veut dire que c'est plus parsé, une dépendance avait ça dans un test derrière un cfg pour un vieux bricolage, ça compilait plus :/

denzel wash in town a écrit :

A ceux qui font du Rust vous avez aimez ça dès le début ?


Oui. Après ma rust-curiosité date d'avant la 1.0 (genre j'avais commencé à me renseigner avant le passage des itérateurs internes à externes) (edit: première mention ici en 2011, il y avait encore les typestates) donc j'avais au moins absorbé une partie de la syntaxe par osmose, et j'étais au courant de certains pièges / problèmes avant de vraiment me lancer dedans (même si le borrowck sauf si t'es un savant t'as nécessairement besoin d'un bon morceau de théorie suivi de pas mal de pratique).


Message édité par masklinn le 06-06-2023 à 22:06:16

---------------
I mean, true, a cancer will probably destroy its host organism. But what about the cells whose mutations allow them to think outside the box by throwing away the limits imposed by overbearing genetic regulations? Isn't that a good thing?
n°2448082
Shinuza
This is unexecpected
Posté le 06-06-2023 à 22:50:35  profilanswer
 

denzel wash in town a écrit :

A ceux qui font du Rust vous avez aimez ça dès le début ?  
 
Ça fait 3 fois que j'essaie de m'y mettre mais à chaque fois je finis par laisser tomber. C'est un peu laborieux je trouve et la syntaxe pas très lisible. J'ai l'habitude des trucs simples, je fais principalement du C et du Python.
 
Faudrais que je me trouve un vrai projet à réaliser pour me forcer un peu

Des langages que j'ai appris récemment (Dart, Go et Rust), je trouve que Rust est plus lisible que Go... tant que t'as pas à gérer les lifetimes :o
Sinon oui, j'ai aimé les promesses du langage et la façon de les implémenter.
 

Devil'sTiger a écrit :


 
 
EDIT: et je te conseille de prendre une license CLion, ca aide pas mal; justement Rust fait parti des rares languages avec un tooling moyen, et CLion est encore le mieux sur ce language pour le moment (et même lui c'est pas parfait).

VScode + Rust analyzer c'est pas mal du tout je trouve. Ou Neovide sinon.


---------------
Mains power can kill, and it will hurt the entire time you’re dying from it.
n°2448083
___alt
Posté le 06-06-2023 à 23:54:30  profilanswer
 

Devil'sTiger a écrit :

De deux le besoin de refactor quand t'a pas des millions de classes devient tout de suite un bien moindre soucis; je dis ca je dis rien [:eraser17]

 

Je pense qu'à un moment faut plus parler de code quand on n'y a plus touché depuis genre une décennie, ça devient embarrassant :/

 

Message cité 1 fois
Message édité par ___alt le 06-06-2023 à 23:54:42

---------------
TRIPS RIGHT BUNCH F SHUTTLE TOM AND JERRY RIGHT YELLOW
n°2448084
beel1
Posté le 07-06-2023 à 01:00:31  profilanswer
 

Si on exécute le code depuis l'éditeur d'Omikron basic et qu'il plante la machine ou part en boucle infinie alors que le source n'a pas été sauvegardé : pas de souci, il suffit de faire un reset hard de la machine au bouton, le vecteur de reset est modifié par l'IDE pour retourner dedans, rien n'est perdu [:kbchris]

n°2448085
Devil'sTig​er
Posté le 07-06-2023 à 01:35:42  profilanswer
 

___alt a écrit :

 

Je pense qu'à un moment faut plus parler de code quand on n'y a plus touché depuis genre une décennie, ça devient embarrassant :/

 


 

Je code, au présent.

 

Je gère une code base spéciale, avec une façon de dev spéciale, je le sais, et ça n'est pas un problème.

 

Mon idée ici n'était pas de dire "j'ai raison taisez vous [:gary2022:1]", simplement je voulais amener a envisager que peut-être, une bonne partie de ce que vous (et moi il y a quelques années maintenant) considérez comme indispensable, est peut être en réalité parfaitement dispensable.

 

Mais vous êtes franchement obtus donc la discussion tourne court et maintenant on en est aux attaques perso :D

 

Je suis conscient aussi que chaque cas est unique, j'imagine bien que dans le cas d'une banque ce que je marque (zapper les test U par exemple), est grotesque. Mais tout le monde ne gère pas un pole sensible, a vrai dire, la majorité ne gère pas de pole sensible du tout. Et donc pour ces gens là, qui sont légions, ont leur a mis dans la tête que sans test U, point de salut, pour autant, l'inverse complet marche très bien.

 

Et l'ensemble de ce que j'ai marqué tournais autour plus ou moins de ce questionnement de chose pseudo-vérifié qui en fin de compte ne le sont pas du tout. Je ne vois pas moins de bugs depuis que les tests U se sont démocratisés en pagaille de partout, par exemple, ne parlons même pas des TDDs je vois 0 différence a l'existence de cette méthode. Et si la code base a grossi et que c'est la raison : et bien cela ne veut simplement dire que les tests U ne sont pas suffisant pour palier a cette augmentation, l'industrie du code aurait donc du aller a contre courant, n'ayant pas de solution a la grosseur des codes.

 

Pareil pour Java vs Node, je redis, aujourd'hui partir sur Java, n'a que peu de sens dans le web. Le nombre de langage mieux taillé pour le jobs sont légions, pick one. Si cela vous arrange: je n'irai jamais choisir node pour une desktop app, parce que là ou Node brille dans le web, il est inadapté au desktop (et certainement pas avec Electron et autre truc chelou). Suivant le job, ou ce qui est dispos sous un langage, je choisirais plus l'un que l'autre. Après tout je code tellement peu que je connais que 20 langages (j'ai pas fait le décompte mais ca doit être dans ces eaux là), si j'avais su que c'était le 21eme qu'il me manquait pour savoir de quoi je parle :/

 
Flaie a écrit :


Ce sont de simple faits, les outils d'analyse et de refacto dans VS Code par exemple pour le JS sont moins bon que ce qu'on trouve en Java.

 

Le refactoring ça se fait même en écrivant le code, pas toujours par après dans 10 ans.
Je conçois que comme tu as perdu ton âme d'enfant en réunionite tu sois loin du spectre :o

 

Je gère une code base de 700k lignes. Sans être la plus grosse; je pense pouvoir aisément dire que si le re-facto était un soucis en JS (ou PHP ou whatever, je n'ai pas vu de refacto problématique depuis très longtemps), ca ferait longtemps que moi et mon équipe on aurait eu de gros soucis. Et oui, il y a certainement plus de bugs que en refacto Java, et alors ?

 

Au cas ou tu n'as pas remarqué, j'ai visiblement pas mal de temps libre pour écrire des pavés ici, preuve que niveau bug au final, malgré mes langages interprétés, mon absence de code décennale et ma foutue réunionite aiguë, ça va quand même pas trop mal :whistle:

Message cité 2 fois
Message édité par Devil'sTiger le 07-06-2023 à 02:20:14
n°2448086
Devil'sTig​er
Posté le 07-06-2023 à 01:39:22  profilanswer
 

el muchacho a écrit :


J'utilise LR 4 qui fait ce que je veux et que je n'ai jamais voulu upgrader, et je ne regrette pas.
 
Le download du logiciel de musique Reaper tient en intégralité dans 16Mo. Il est écrit en vieux C++, je ne sais plus quelle version du compilateur est utilisée, mais elle a au moins 10 ou 15 ans. Le niveau de fonctionnalités qui tiennent dans ces 16Mo est invraisemblable:
- éditeur MIDI et audio multithread 64 canaux très avancé et performant, multiplateforme
- supporte ASIO, WASAPI, ALSA, Jack audio, etc
- permet le montage vidéo
- scriptable en LUA et dans le langage de script JSFX orienté audio temps réel
- entièrement skinnable, supporte le 4K
- configurable jusqu'au moindre clic souris
- compatible plugins VST, VST2, VST3, AU, ARA, CLAP et d'autres formats ésotériques
- compatible avec la plupart des hardwares dédiés à l'audio
- des centaines de fonctions accessibles par macros ou script ou assignables à des raccourcis
- j'en passe et des meilleures.
 
2 skins Reaper:
 
https://stash.reaper.fm/13034/v1.8.png[/img]
 
https://stash.reaper.fm/14109/dark%20side.jpg


 
En étant passionné avec ces discussions j'en ai oublié le plus important :o
 
Tu as donc du code a moi qui tourne sur ton PC.
 
 
Have fun :o

n°2448087
el muchach​o
Comfortably Numb
Posté le 07-06-2023 à 06:22:58  profilanswer
 

Devil'sTiger a écrit :


En étant passionné avec ces discussions j'en ai oublié le plus important :o
 
Tu as donc du code a moi qui tourne sur ton PC.
 
Have fun :o


Wait, t'as bossé sur Reaper ?


---------------
Les aéroports où il fait bon attendre, voila un topic qu'il est bien
n°2448088
hephaestos
Sanctis Recorda, Sanctis deus.
Posté le 07-06-2023 à 07:25:41  profilanswer
 

Devil'sTiger a écrit :

 

Je code, au présent.

 

Je gère une code base spéciale, avec une façon de dev spéciale, je le sais, et ça n'est pas un problème.

 

Mon idée ici n'était pas de dire "j'ai raison taisez vous [:gary2022:1]",

 



Heureusement. Par contre, vu que t'as tort, ça suffit

 

Dernière chose après j'arrête de te répondre, mais tu insistes là dessus alors je précise : Les tests unitaires c'est pas pour réduire le nombre de bugs, c'est pour gérer la complexité.

n°2448090
koskoz
They see me trollin they hatin
Posté le 07-06-2023 à 09:58:06  profilanswer
 

el_barbone a écrit :


 
C'est relou les déplacements pro [:sadnoir] ... Avec le temps ça me saoule de plus en plus  
 

Spoiler :

je suis en vacances depuis plus de 3 semaines ...  première fois aussi longtemps depuis 25ans que je bosse



 
Bonnes vacances [:sweetiiiie:5]  
 

masklinn a écrit :


:fou:
 
? c'est "je peux pas gérer je file à papa", "si ça pète là je m'en fous" c'est unwrap :o ("c'est pas censé pêter là", c'est expect).


 
Je regrette l'arrivé de cet opérateur en PHP, depuis je le vois utilisé partout en mode balek [:cheesecake]


---------------
Twitter
n°2448091
koskoz
They see me trollin they hatin
Posté le 07-06-2023 à 10:02:14  profilanswer
 

https://i.ibb.co/0htmPJf/Screenshot-20230607-085115-2.png

 

[:pingouino]


---------------
Twitter
n°2448092
skeye
Posté le 07-06-2023 à 10:04:30  profilanswer
 

koskoz a écrit :

Je regrette l'arrivé de cet opérateur en PHP, depuis je le vois utilisé partout en mode balek [:cheesecake]


Utilisé correctement ça allège quand même vachement le code par endroits [:dawao]


---------------
Can't buy what I want because it's free -
n°2448093
Harkonnen
Un modo pour les bannir tous
Posté le 07-06-2023 à 10:05:47  profilanswer
 

skeye a écrit :


Utilisé correctement ça allège quand même vachement le code par endroits [:dawao]


ouais, comme le "continue 2" quoi [:dawa]


---------------
J'ai un string dans l'array (Paris Hilton)
n°2448095
sligor
Posté le 07-06-2023 à 10:20:35  profilanswer
 
n°2448096
skeye
Posté le 07-06-2023 à 10:21:12  profilanswer
 

Harkonnen a écrit :


ouais, comme le "continue 2" quoi [:dawa]


bah quand t'as genre un setter pour un champ nullable, tu préfères lire

Code :
  1. $toto->setBiduleId($machin?->getBidule()->getId());


ou

Code :
  1. $toto->setBiduleId(null === $machin->getBidule() ? null : $machin->getBidule()->getId());


 
[:petrus dei]


---------------
Can't buy what I want because it's free -
n°2448097
masklinn
í dag viðrar vel til loftárása
Posté le 07-06-2023 à 10:24:28  profilanswer
 

koskoz a écrit :

Je regrette l'arrivé de cet opérateur en PHP, depuis je le vois utilisé partout en mode balek [:cheesecake]


 
Attention c’est pas du tout la même chose :o
 
En PHP (et dans la majorité des langages) ce sont des opérateurs de “navigation nullsafe”, en Rust c’est une structure de contrôle.
 
Après je sais pas si / comment ça interagit avec les types nullables, genre est-ce que tu peux passer ta base de code en non-nullable (par défaut) et que les opérateurs de navigation nullables vont pas compiler s’ils peuvent pas être utilisés sur des trucs non nullables?


Message édité par masklinn le 07-06-2023 à 10:27:23

---------------
I mean, true, a cancer will probably destroy its host organism. But what about the cells whose mutations allow them to think outside the box by throwing away the limits imposed by overbearing genetic regulations? Isn't that a good thing?
n°2448098
masklinn
í dag viðrar vel til loftárása
Posté le 07-06-2023 à 10:28:02  profilanswer
 



 
Ça te dit au moins qui tu devrais arrêter de suivre?

Message cité 1 fois
Message édité par masklinn le 07-06-2023 à 10:28:19

---------------
I mean, true, a cancer will probably destroy its host organism. But what about the cells whose mutations allow them to think outside the box by throwing away the limits imposed by overbearing genetic regulations? Isn't that a good thing?
mood
Publicité
Posté le   profilanswer
 

 Page :   1  2  3  4  5  ..  25459  25460  25461  ..  27177  27178  27179  27180  27181  27182

Aller à :
Ajouter une réponse
 

Sujets relatifs
Plus de sujets relatifs à : [blabla@olympe] Le topic du modo, dieu de la fibre et du monde


Copyright © 1997-2025 Groupe LDLC (Signaler un contenu illicite / Données personnelles)