2820

Ah ben tien, en rangeant mes marque-pages ce matin je suis tombé sur http://input.fontbureau.com/ moi ^^ (mais ça doit venir de yN, je pense)
avatar

2821

Oui ça a été posté ici et je m'en suis servi longtemps smile d'ailleurs j'avais posté un screenshot de mon IDE qui l'utilise.

CHTD
avatar
Highway Runners, mon jeu de racing à la Outrun qu'il est sorti le 14 décembre 2016 ! N'hésitez pas à me soutenir :)

https://itunes.apple.com/us/app/highway-runners/id964932741

2822

On va dire que c'est le code qui fait ça dans ce cas précis, mais ça fait beaucoup de bleu nuit en début de ligne.
avatar
« Nous avons propagé sur Extranet une histoire fabriquée de toutes pièces selon laquelle une certaine disposition d'étoiles, vue depuis la planète d'origine des butariens, formaient le visage d'une déesse galarienne.
Sans chercher à vérifier ces informations, certains ont décrété que c'était la preuve de l'existence de la déesse. Ceux qui notaient le manque de preuves se faisaient attaquer. »

Legion, geth trolleur à portée galactique

2823

Mais c'est joli, le bleu nuit.
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

2824

par contre le JS c'est toujours aussi moche #loin#

2825

C'est beau le bleu nuit. En plus ça sonne comme Brunni #rainlaugh#
avatar
Highway Runners, mon jeu de racing à la Outrun qu'il est sorti le 14 décembre 2016 ! N'hésitez pas à me soutenir :)

https://itunes.apple.com/us/app/highway-runners/id964932741

2826

^^
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

2827

Le Bleu Brunnuit?
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.

2828

love
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

2829

javascript1.JPG
Ne pas faire de blague facile, ne pas faire de blague facile... ^^
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

2830

Tiens, c'est quoi objectivement ce qui te fait détester le Javascript à ce point ? Je comprends qu'on puisse ne pas aimer les langages dynamiques, les langages interprétés, ou n'importe quelle autre catégorie dans laquelle rentre JS mais j'ai l'impression que tu as vraiment une répulsion spécifique à ce langage et je ne crois pas avoir déjà lu pourquoi ?
avatar
All right. Keep doing whatever it is you think you're doing.
------------------------------------------
Besoin d'aide sur le site ? Essayez par ici :)

2831

Tout comme le PHP, le JS a des défauts qui lui sont propres et qui ne proviennent pas de son côté dynamique ou interprété ^^
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

2832

Pour moi le seul problème de PHP c'est que c'est très facile de faire n'importe quoi, mais avec un framework comme symfony on peut faire des choses très bien sans que ce soit dégeu. Par contre le JS la syntaxe me rebute totalement.

2833

./2831 bien sûr et c'est exactement l'objet de ma question à 0² : lesquels ? (jusqu'ici je n'ai vu que des arguments qui me semblent assez légers/subjectifs comme celui d'Arvi "la syntaxe est moche")
avatar
All right. Keep doing whatever it is you think you're doing.
------------------------------------------
Besoin d'aide sur le site ? Essayez par ici :)

2834

- bibliothèque standard vide (ce n'est pas pour rien que jQuery a eu tant de succès)
- comportement totalement imprévisible sauf si on connaît par cœur toutes les spécificités de JS
- les erreurs silencieuses : on peut faire des énormités en JS sans même s'en rendre compte (suffit de voir la plupart des WTF JS : objectivement ce sont des erreurs du programmeur, mais le JS aurait dû lever une exception au lieu d'essayer de trouver une valeur sensée)
- un modèle de programmation qui pousse à faire des lambdas dans des lambdas dans des lambdas dans des lambdas dans des lambdas (ce qui donne un code totalement illisible et impossible à tester)
- leur table de hash est… pourrie ? on ne peut même pas avoir le nombre d'éléments sans tout recompter \o/ ah oui, c'est vrai que la table de hash n'existe pas vraiment, c'est simplement l'objet de base.
En reprenant un exemple de Mozilla :

var Personne = function() { this.peutParler = true; this.salutation = function() { if (this.peutParler) { console.log('Bonjour, je suis ' + this.nom); } }; }; var Employe = function(nom, titre) { this.nom = nom; this.titre = titre; this.salutation = function() { if (this.peutParler) { console.log("Bonjour, je suis " + this.nom + ", le " + this.titre); } }; }; Employe.prototype = new Personne(); var Client = function(nom) { this.nom = nom; }; Client.prototype = new Personne(); var bob = new Employe('Bob', 'bricoleur'); var joe = new Client('Joe'); var rg = new Employe('Red Green', 'réparateur'); var mike = new Client('Mike'); bob.salutation(); // Bonjour, je suis Bob, le bricoleur Aucune différence visible entre une fonction qui ne renvoie rien et un constructeur. Super pour la lisibilité ^^

Honnêtement, quel est l'avantage (surtout en termes de lisibilité) par rapport à un modèle classique, du genre
class Personne: blabla class Employe(Personne): blabla
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

2835

OK, je suis d'accord avec les arguments n°2 et 3, pas avec les autres ^^

1 - C'est un langage, et même si aujourd'hui on fait systématiquement la confusion entre un langage et sa bibliothèque standard, je continue à préférer les implémentations qui séparent clairement les deux (par exemple C# et .NET). Avoir une bibliothèque standard liée au langage limite sa portabilité, c'est pas pour rien si JS s'est mis à être utilisé en backend aussi facilement.
4 - C'est faux depuis 2015 ; la seule justification était la portée de "var" qui oblige à faire des lambdas mais c'est terminé avec "let" qui propose une portée par bloc comme dans une majorité de langages.
5 - Ben comme tu dis, ça n'est pas une table de hash. Ça peut servir de base pour en implémenter une trivialement, mais pour les 99% de cas où je ne veux pas une table de hash je suis content qu'on ne m'impose pas une interface dont je n'ai pas besoin. Par ailleurs, exposer des choses comme ".length" directement sur l'objet racine, en plus d'être un choix très arbitraire, aurait incité les développeurs à utiliser cette propriété et tué du même coup une large partie des optimisations que peut faire le JIT.
6 - Comme pour le point n°4 tu as le choix, puisque malheureusement il y a maintenant des classes en JS aussi. Perso je ne suis pas convaincu, bien sûr que si on essaie de faire des classes avec un langage qui ne les supporte pas nativement on arrive à un truc ignoble, tout comme si on essayait d'implémenter l'héritage par prototype dans un langage objet on aurait un résultat atroce. Mais c'est l'exemple lui-même que je trouve idiot : quel besoin d'implémenter à tout prix des classes comme si c'était le seul paradigme de programmation autorisé ? Sur ce point ça ressemble beaucoup à l'argument "la syntaxe est moche", dans une variante "il n'y a pas de classes et moi j'aime les classes".
avatar
All right. Keep doing whatever it is you think you're doing.
------------------------------------------
Besoin d'aide sur le site ? Essayez par ici :)

2836

Zeph (./2835) :
4 - C'est faux depuis 2015 ; la seule justification était la portée de "var" qui oblige à faire des lambdas mais c'est terminé avec "let" qui propose une portée par bloc comme dans une majorité de langages.
Oui sauf que le let est encore loin d'être idiomatique. Même la déclaration des variables n'a rien d'obligatoire, Bref on rajoute en option ce qui aurait du être le comportement normal d'un langage qui vise a aller au delà des petits scripts. On se trainera toujours des comportement étranges voire dangereux à cause de la compatibilité. C'est un peu le même problème avec Visual Basic et PHP. C'est des langages qui n'ont pas du tout été conçus pour leur utilisation professionnelle actuelle et malgré tous les framework plus ou moins bien conçus qui limitent les problèmes, ça se ressent a leur utilisation.

Zeph (./2835) :
6 - Comme pour le point n°4 tu as le choix, puisque malheureusement il y a maintenant des classes en JS aussi. Perso je ne suis pas convaincu, bien sûr que si on essaie de faire des classes avec un langage qui ne les supporte pas nativement on arrive à un truc ignoble, tout comme si on essayait d'implémenter l'héritage par prototype dans un langage objet on aurait un résultat atroce.
C'est justement tout le problème : on rajoute a JavaScript des truc qui ne sont pas du tout dans sa philosophie et qui du coup vont mal s'intégrer a l'existant. JavaScript comme son nom l'indique et un langage de script dont le but initial était de faire le lien entre les applets Java et le HTML, et même pour ça il aurait pu faire mieux.
Il n'a jamais été conçu comme le langage de programmation lourd qu'on essaie de le faire devenir.
avatar

2837

Je suis d'accord avec le dernier point, c'est dommage de lui ajouter des fonctionnalités "populaires" comme les classes, surtout quand elles font doublon. En revanche même s'il n'était pas taillé pour faire des gros projets (je considère que c'est vrai pour tous les langages dynamiques), il reste très bien foutu pour le cas d'utilisation "scripts dans une page web". L'argument sur lequel je voulais revenir est simplement "c'est un mauvais langage", et c'est avec ça que je ne suis pas d'accord. C'est un langage qui a pas mal de qualités, surtout quand on replace le contexte pour lequel il était prévu. Le faire évoluer de force pour essayer de faire des applications lourdes avec n'est pas une bonne idée, mais ça n'est pas la faute du langage (presque l'inverse d'ailleurs, s'il n'avait pas convaincu autant on aurait peut-être pas essayé de le pousser aussi loin).
avatar
All right. Keep doing whatever it is you think you're doing.
------------------------------------------
Besoin d'aide sur le site ? Essayez par ici :)

2838

Zeph > c'était surtout pour la blague, je l'aurais posté aussi si ç'avait été un autre langage sur la couverture ^^

Pour être plus sérieux et en mettant mes opinions sur les langages dynamiques et interprétés de côté, je suis d'accord qu'on utilise du JS pour faire des choses pour lesquelles il n'a jamais été conçu, et que c'est injuste de lui reprocher d'y être mal adapté. D'ailleurs le même argument fonctionne aussi pour PHP.

Le problème, c'est que c'est un cercle vicieux : JS a rempli une niche, et il est devenu tellement omniprésent qu'il étouffe les autres solutions, alors qu'elles pourraient être franchement meilleures/mieux adaptées. Pour le front-end c'est plié depuis longtemps, le back-end est en train de se faire grignoter aussi, et il commence même à y avoir des gens qui veulent l'utiliser pour l'embarqué (ce qui, de mon point de vue, est une énorme connerie). D'ailleurs j'ai les mêmes regrets vis-à-vis du C, j'en parlais récemment avec Folco dans un autre topic.

L'autre problème des langages faits pour un cadre particulier qui deviennent généralistes, c'est la mentalité qui va avec. Je suis persuadé qu'un langage pas rigoureux/mal adapté incite à écrire du mauvais code, et que les problèmes récurrents de sécurité et de bricolage permanent qu'on voit dans le dév web sont au moins en partie causés par ça. (Au passage, en-dehors de l'info, c'est un grand débat chez les linguistes : savoir dans quelle mesure la langue qu'on parle influence la façon dont on pense.)
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

2839

Zerosquare (./2838) :
Je suis persuadé qu'un langage pas rigoureux/mal adapté incite à écrire du mauvais code, et que les problèmes récurrents de sécurité et de bricolage permanent qu'on voit dans le dév web sont au moins en partie causés par ça.
epee
Zeph (./2835) :
1 - C'est un langage, et même si aujourd'hui on fait systématiquement la confusion entre un langage et sa bibliothèque standard, je continue à préférer les implémentations qui séparent clairement les deux (par exemple C# et .NET). Avoir une bibliothèque standard liée au langage limite sa portabilité, c'est pas pour rien si JS s'est mis à être utilisé en backend aussi facilement.
Certes, je comprends ça… mais avec le JS, il y a une limite : les modules tiers ne peuvent pas être aussi performants que la bibliothèque standard (qui peut être compilée). On a donc tout intérêt à avoir une bibliothèque standard performante et complète, ou au moins avoir les structures de base (et je pense qu'une table de hash en fait partie).
Accessoirement, comme tu dis, on peut détacher la bibliothèque standard du langage (comme Qt et C++), mais il en faut au moins une de complète. Avec JS, il y en a plein d'incomplètes cheeky

5 - Ben comme tu dis, ça n'est pas une table de hash. Ça peut servir de base pour en implémenter une trivialement, mais pour les 99% de cas où je ne veux pas une table de hash je suis content qu'on ne m'impose pas une interface dont je n'ai pas besoin. Par ailleurs, exposer des choses comme ".length" directement sur l'objet racine, en plus d'être un choix très arbitraire, aurait incité les développeurs à utiliser cette propriété et tué du même coup une large partie des optimisations que peut faire le JIT.
Et voilà, on retrouve une habitude de JS : ça ressemble à une table de hash, ça a le goût d'une table de hash, ça a l'odeur d'une table de hash, mais ce n'est pas une table de hash.
Dans quel autre langage une construction qui s'utilise comme ce qui suit n'est pas une table de hash ?
toto = {a: 1};
toto["b"] = 2;
Quand le langage propose cette syntaxe, on peut difficilement reprocher aux développeurs de l'utiliser comme une table de hash (surtout qu'il n'y a rien d'autre à la place) ^^

6 - Comme pour le point n°4 tu as le choix, puisque malheureusement il y a maintenant des classes en JS aussi. Perso je ne suis pas convaincu, bien sûr que si on essaie de faire des classes avec un langage qui ne les supporte pas nativement on arrive à un truc ignoble, tout comme si on essayait d'implémenter l'héritage par prototype dans un langage objet on aurait un résultat atroce.
Ah mais c'est encore pire, je déteste les langages qui ont 50 façons différentes de faire la même chose ; ça rend le code des autres totalement illisible (coucou Scala).

Mais c'est l'exemple lui-même que je trouve idiot : quel besoin d'implémenter à tout prix des classes comme si c'était le seul paradigme de programmation autorisé ? Sur ce point ça ressemble beaucoup à l'argument "la syntaxe est moche", dans une variante "il n'y a pas de classes et moi j'aime les classes".
C'est l'exemple de Mozilla pour expliquer l'héritage par prototype, pas le mien grin
Je ne vois pas ce qu'on gagne à utiliser les constructions par prototype, par contre je vois ce qu'on perd, notamment en lisibilité (sans compter qu'utiliser le même objet — function — pour deux choses qui n'ont rien à voir (les fonctions et les constructeurs) est une très mauvaise idée à mes yeux (à nouveau pour la lisibilité). Mais si tu sais ce qu'apporte cette méthode, je suis preneur happy
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

2840

> les modules tiers ne peuvent pas être aussi performants que la bibliothèque standard (qui peut être compilée).

avec node bien sur que si >
https://github.com/nodejs/node-gyp
https://github.com/nodejs/nan
et la le mec il le pécho par le bras et il lui dit '

2841

flanker (./2839) :
Certes, je comprends ça… mais avec le JS, il y a une limite : les modules tiers ne peuvent pas être aussi performants que la bibliothèque standard (qui peut être compilée). On a donc tout intérêt à avoir une bibliothèque standard performante et complète, ou au moins avoir les structures de base (et je pense qu'une table de hash en fait partie).
Accessoirement, comme tu dis, on peut détacher la bibliothèque standard du langage (comme Qt et C++), mais il en faut au moins une de complète. Avec JS, il y en a plein d'incomplètes cheeky
Pour les usages "page web" la bibliothèque telle que définie par le w3c est déjà pas mal. Tu citais par exemple jQuery, normalement il n'y a plus besoin de s'en servir depuis que document.querySelector est disponible partout (d'ailleurs c'est en partie pour ça que la lib est en train de mourir doucement). Pour les usages serveur cf. la réponse de robinHood ; bien sûr c'est un ensemble totalement différent de fonctions puisque c'est un usage qui n'a rien à voir. Après ça renvoie à la question "est-ce que le JS est adapté pour ce cas", mais c'est une question très différente de "est-ce qu'il s'agit d'un bon langage".

flanker (./2839) :
Et voilà, on retrouve une habitude de JS : ça ressemble à une table de hash, ça a le goût d'une table de hash, ça a l'odeur d'une table de hash, mais ce n'est pas une table de hash.
Mais justement : à aucun moment on ne t'a prétendu qu'il s'agissait de près ou de loin d'une table de hash, c'est simplement toi qui a tiré cette conclusion à partir de ta connaissance d'autres langages. J'y reviendrai sur l'héritage prototypal, pour moi c'est une source majeure d'incompréhension : tu essaies de rapprocher une notion JS de quelque chose que tu connais déjà, et comme ça n'est pas exactement identiques tu te plains de toutes les différences. Ce que construit la syntaxe {a: 1, b: 2} n'est pas une table de hash même si la syntaxe ressemble fortement à ce qui s'appelle une table de hash en Python. C'est même pire que ça : comme je le disais plus haut, si tu voulais vraiment utiliser cette structure comme une table de hash en ajoutant par exemple la notion de "nombre d'éléments" alors tu priverais l'interpréteur de la possibilité de transformer cet objet en une structure fixe, et c'est l'une des opérations de base à effectuer pour qu'un bout de code puisse être traduit en code natif par le JIT.

Je ne comprends vraiment pas l'argument "ça ressemble à une table de hash, donc c'est nul parce que ça n'est pas une vraie table de hash complète", c'est comme si je râlais sur Python parce que (1, 2, 3, 4) ressemble à une construction de liste dans mon langage préféré mais que a = (1, 2, 3); a.push(4) ne fonctionne pas et donc que l'implémentation des listes de Python est vraiment pourrie ?

flanker (./2839) :
Ah mais c'est encore pire, je déteste les langages qui ont 50 façons différentes de faire la même chose ; ça rend le code des autres totalement illisible (coucou Scala).
Sur ça je suis complètement d'accord, et à mon avis c'est parce qu'il y a plein de développeurs qui veulent absolument des classes et surtout ne pas comprendre comment fonctionne l'héritage prototypal que les auteurs cèdent et qu'il se retrouve avec des classes en JS, ou tout un tas d'autres doublons sad

flanker (./2839) :
Mais si tu sais ce qu'apporte cette méthode, je suis preneur happy
Je peux te donner quelques exemples, mais avant il me semble plus important de répéter mon argument précédent : au lieu d'essayer de résoudre un problème, on essaie de reproduire un moyen. Plutôt que de trouver comment implémenter ce que je veux en utilisant l'héritage prototypal on essaie de l'implémenter avec des classes, mais comme ça n'existe(ait) pas en JS on se retrouve à implémenter un machin hybride qui fait presque comme des classes mais en utilisant les prototypes de JS. Je pense que l'approche "je veux implémenter de cette façon parce que c'est comme ça que je l'aurais fait dans le langage que je connais" n'est pas efficace. Du coup prendre un cas d'école de l'utilisation des classes et essayer de l'écrire en JS est idiot : bien sûr que ça sera moche, mais quel problème essaie-t-on de résoudre ? J'imagine que la réponse n'est pas "je veux une classe Client qui hérite de Person" mais quelque chose d'un peu plus concret, qui peut très certainement s'écrire de 1001 autres façons. C'est pas comme si le C était à court de solutions pour implémenter tout et n'importe quoi, et pourtant il n'y a ni classes ni prototypes.

À l'inverse je peux trouver des cas d'utilisation qui sont favorables à l'héritage par prototype. Mettons par exemple que j'écrive un programme dans lequel j'ai fréquemment besoin d'obtenir l'opposé de chaque élément d'un tableau, je pourrais avoir envie d'une fonction "negate" disponible facilement (bouh, elle n'est pas disponible de base, quelle bibliothèque standard ridicule !). Une solution simple à ça serait de l'ajouter directement sur l'objet Array :
Array.prototype.negate = function ()
{
    return this.map(i => -i);
};
Et hop, à partir de maintenant je peux faire x = [1, 2, 3]; y = x.negate(); puisque je viens de rendre ma nouvelle fonction sur n'importe quel tableau. Encore mieux : si la méthode negate devient un jour standard, je pourrai supprimer mon assignation perso et le reste de mon code continuera à fonctionner sans aucun changement, en tapant sur l'implémentation par défaut au lieu de la mienne.

Plus généralement je viens d'étendre la bibliothèque standard, ce qui est une fonctionnalité que pas mal de langages ont essayé de proposer (C# avec les méthodes d'extension, Python avec la méthode magique "__init__" au lieu de constructeurs, etc.). Ça n'est qu'un exemple parmi d'autres, mais ça montre qu'il y a des cas où ce mode d'héritage peut être intéressant, à condition de ne pas chercher à l'évaluer sur les exemples qui illustrent traditionnellement le fonctionnement de l'héritage de classe.
avatar
All right. Keep doing whatever it is you think you're doing.
------------------------------------------
Besoin d'aide sur le site ? Essayez par ici :)

2842

Il y a des trucs assez space sur JS par ici :
avatar
« Nous avons propagé sur Extranet une histoire fabriquée de toutes pièces selon laquelle une certaine disposition d'étoiles, vue depuis la planète d'origine des butariens, formaient le visage d'une déesse galarienne.
Sans chercher à vérifier ces informations, certains ont décrété que c'était la preuve de l'existence de la déesse. Ceux qui notaient le manque de preuves se faisaient attaquer. »

Legion, geth trolleur à portée galactique

2843

bref, la beauté de JS c'est que c'est le bordel grin

2844

Strip-Les-bugs-du-futur-650-final.jpg

(bon sinon j'ai regardé la vidéo de Meowcate sur le JS, et j'ai beau savoir que ça fait exprès de ne présenter que les pires aspects du langage, ça me donne quand même envie de partir en courant ^^)
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

2845

grin
avatar
Highway Runners, mon jeu de racing à la Outrun qu'il est sorti le 14 décembre 2016 ! N'hésitez pas à me soutenir :)

https://itunes.apple.com/us/app/highway-runners/id964932741

2846

Une petite surprise "sympa" à la sauce MS pour les utilisateurs d'ASP.NET :
https://github.com/aspnet/Home/issues/2022

Visiblement ils ont décidé d'appliquer la même stratégie qu'avec Windows 10 : "on fait des modifs majeures sans prévenir, rien à foutre".
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

2847

Il y a de quoi troller beaucoup sur le sujet, donc en voulant avoir une réponse "sérieuse" :

En guise de langage de script, en dehors d'un peu de bash, je ne connais par mon boulot que PHP et ça me suffit. Réorganiser de nombreux fichiers, recadrer à la volée des centaines d'images via ImageMagick, écrire de petits algos ponctuels pour vérifier les probas d'un jeu de Yam's...
Bien que PHP ait été conçu principalement pour le web, en script local je m'en conviens très bien. Aussi je demande non pas sur un ton "c'est inutile" mais "histoire de comparer ce que j'ignore" :

Quels avantages peut-on trouver dans d'autres langages de scripts comme Perl ou Python pour des utilisations simples comme je fais, hors déploiement d'importants algos ou grosses structures, sur ce que PHP peut permettre ?
(sans compter la richesse des libs tiers, je pars du principe que les équivalents sont toujours possibles)
avatar
« Nous avons propagé sur Extranet une histoire fabriquée de toutes pièces selon laquelle une certaine disposition d'étoiles, vue depuis la planète d'origine des butariens, formaient le visage d'une déesse galarienne.
Sans chercher à vérifier ces informations, certains ont décrété que c'était la preuve de l'existence de la déesse. Ceux qui notaient le manque de preuves se faisaient attaquer. »

Legion, geth trolleur à portée galactique

2848

Python est probablement installe sur plus de machines que PHP, je pense aussi que ce type de langage a des bibliotheques non web-oriented plus riches.
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.

2849

Godzil (./2848) :
Python est probablement installe sur plus de machines que PHP, je pense aussi que ce type de langage a des bibliotheques non web-oriented plus riches.
J'ai l'impression que t'es un peu à coté du sujet...

1) Installé sur pls de machines que PHP
=> il utilise PHP en CLI, donc il est déjà installé, c'est pas un arguement

2) biblios plus riches
=> il a expliqué son utilisation, il ne fait pas de dév de barbare avec, chose qui est déjà possible avec son PHP CLI
avatar
Webmaster du site Ti-FRv3 (et aussi de DevLynx)
Si moins de monde enculait le système, alors celui ci aurait plus de mal à nous sortir de si grosses merdes !
"L'erreur humaine est humaine"©Nil (2006) // topics/6238-moved-jamais-jaurais-pense-faire-ca

2850

J'avoue que ma question n'est pas franchement évidente, étant donné un point de vue très personnel.
Si je devais la formuler autrement : connaissant très bien PHP, ai-je des intérêts particulier à m'investir (en temps et en ressources) à apprendre un autre langage de scripts, dans le cadre d'une utilisation ponctuelle et non-professionnelle ?
avatar
« Nous avons propagé sur Extranet une histoire fabriquée de toutes pièces selon laquelle une certaine disposition d'étoiles, vue depuis la planète d'origine des butariens, formaient le visage d'une déesse galarienne.
Sans chercher à vérifier ces informations, certains ont décrété que c'était la preuve de l'existence de la déesse. Ceux qui notaient le manque de preuves se faisaient attaquer. »

Legion, geth trolleur à portée galactique