Bienvenue visiteur !
|
Statistiques
Liste des membres
Contact
Mentions légales
605 connectés actuellement
30732843 visiteurs depuis l'ouverture
2822 visiteurs aujourd'hui
Partenaires
Tous nos partenaires
Devenir partenaire
|
Messages postés par xvw Nombre de messages référencés sur Oniromancie (non supprimés): 724 Aller à la page: 1 2 3 4 5 6 7 8 9 10 11 12 13 14 15 16 17 18 19
Posté dans Forum - Topic de l'informatique |
xvw -
posté le 07/05/2020 à 10:41:38. (736 messages postés) |
| La portée lexicale te dit que toute variable déclarée est accessible dans le scope courant et dans ses scopes enfants :
1
2
3
4
5
6
7
8
|
var x = ...
for() {
var y = ...
// x devrait être accessible
}
// y ne devrait pas exister
|
|
https://xvw.lol |
Posté dans Forum - Topic de l'informatique |
xvw -
posté le 07/05/2020 à 10:21:07. (736 messages postés) |
| Citation: @xvw : je n'avais pas eu l'occasion de te dire que ton blog était très classe ! J'aime beaucoup de design.
Seul problème c'est que même moi qui m'intéresse énormément à ces sujets (sans avoir la formation), je n'y comprends pas grand chose. J'aurais aimé comprendre par exemple pourquoi tu affectionnes les langages statiquement typés, ce qu'ils apportent... etc J'ai pas les pistes pour revenir aux fondamentaux et par conséquent comprendre pourquoi le JS serait mal pensé. Le côté théorique de la programmation m'intéresse. |
Merci beaucoup ! Même s'il est très clair (visuellement), j'y ai passé pas mal de temps. Si ça t'intéresse, le code du générateur se trouve ici : https://github.com/xvw/planet
L'idée c'est d'avoir plusieurs choses :
- Un outil pour saisir les activités "liées à des projets personnels" ce qui me permet de collecter des métriques (https://xvw.github.io/journal.html)
- Un outil pour gérer des tâches à réaliser (https://xvw.github.io/tasks.html)
- De la rédaction d'article (qui utilise Hakyll, un générateur de blog statique écrit en Haskell) (https://xvw.github.io/longs.html)
- Du suivi de projets (https://xvw.github.io/projects.html)
- Un gestionnaire de galeries (https://xvw.github.io/galleries.html)
- Une page de description (https://xvw.github.io/xavier.html)
- Un suivi de ma position (https://xvw.github.io/location.html)
Plus tard, j'aimerais avoir un suivi des livres que je lis, des films que je regarde etc. Mais c'est un projet qui prend beaucoup de temps. Heureux de lire que tu aimes bien son apparence !
Citation: J'aurais aimé comprendre par exemple pourquoi tu affectionnes les langages statiquement typés, ce qu'ils apportent |
Il y a plusieurs réponses, une courte, une moyenne et une très longue. Peut être qu'un jour, j'aurai le courage de rédiger la très longue sous forme de billet de blog, ici je vais essayer de donner une réponse moyenne.
L'énorme point fort des langages qui offrent une vérification statique des types, c'est qu'ils me permettent d'être moins "intelligent". Cette phase de vérification garantit (dans la mesure du possible) que j'ai pensé à l'intégralité des cas de mon programme. Cet garantie me permet de réfactorer mon code sereinement sans me demander sans arrêt si je n'ai pas oublié certains cas, le compilateur me le dit.
Par exemple, si je décide d'utiliser une liste pour représenter un ensemble de valeur et que, en court de développement, je me dis "tiens, j'essaie de n'avoir que des éléments uniques dans ma liste, donc chaque fois que j'insére un élément, j'applique la méthode [list.uniq], peut être que ce serait plus pertinent d'utiliser un Set, dont c'est le travail". Je dois, "partout où j'ai eu le partit pris que j'utilisais une liste" modifier mon code pour qu'il s'adapte au comportement du Set (donc, par exemple, aller retirer tous les .uniq de mon code).
Il est possible, évidemment, de s'en sortir au moyen de l'encapsulation mais dans un langage qui vérifie les types, je sais, avant d'exécuter (et tester) mon programme s'il est cohérent.
Ensuite, ça me permet de garder en tête des cas un peu chevelus, un cas d'école classique en faveur des langages statiquement typés, la gestion explicite de la nullité. Plutôt que me dire que toutes mes valeurs sont unifiées comme [ ma valeur | null | undefined ], je peux simplement déclarer un type :
1
2
3
4
5
|
type 'a option =
| None
| Some of 'a
|
Qui concrètement me permet juste de gerer explicitement le cas où je n'ai pas de valeur. Le type de la fonction x.[ i ] pourrait être "tu me donnes un tableau de A, x, un entier, i, et je te renvoie un option de A. A l'usage, je serai obligé de déconstruire ma valeur pour l'exploiter ce qui fait que je ne peux plus jamais faire face à des NullPointerException (où "undefined is not a function").
Ce genre de cas (refactoring/nullité) sont des réponses pragmatiques. Et, par exemple; TypeScript s'en tirer "plutôt bien". Quand le système de type est riche comme dans les langages ML (Haskell/OCaml/ReasonML/F#) le système de types est plus riche est plus expressif, ce qui permet de dépasser l'aspect "utilitaire" d'un système de type et approcher une proximité "avec le domaine/métier" (cette présentation sur le sujet est vraiment très très claire https://www.youtube.com/watch?v=PLFl95c-IiU d'ailleurs, toutes les présentations de cette personne sont assez cool). En gros, un système de type expressif offre une manière sûre, mais élégante, de décrire une application. Couplé avec un paradigme de programmation "riche", comme la programmation fonctionnelle, il est possible d'écrire des programmes qui ont une surface "de code pouvant produire des erreurs" beaucoup plus petite.
Concernant les erreurs de conceptions de javascript, il y en a, selon moi, 3 qui sont vraiment signifiantes :
- la portée lexicale de "var" complètement fucked, mais fixé avec let et const en ES6
- le fait d'avoir deux types pour la nullité : undefined | null, même si ils ont une sémantique différente, dans les faits, leur distinction n'a aucun sens
- le fait que le "this" d'une fonction référence la fonction... fixé en ES6 avec les Fat Arrows (=>)
Comme je l'ai dit plus haut, javascript doit vivre avec ses utilisateurs. Le langage a donc beaucoup de mal à évoluer sainement, sans Babel (par exemple), c'est pour ça que je ne me sert de javascript "que comme une cible de compilation". Soit, j'écris mon programme en OCaml et je le compile en javascript. Ce qui me permet de profiter des avantages de OCaml tout en rendant mon programme exécuté dans un browser.
Parce que pour un langage de script, interprété, ça n'a pas de sens d'avoir un système de types vérifié (dans le browser), tu ne veux pas, à chaque page, que ton code doivent être "typechecké" avant d'être affiché pour tous les clients qui naviguent sur ta page.
Tout ça pour dire que tu n'as pas besoin d'avoir un serveur pour tester d'autres technologies. Par exemple en front-end ReasonReact (React avec ReasonML) ou Elm (qui est incroyablement agréable pour s'initier à la programmation fonctionnelle statiquement typé) donne un très bon avant gout !
Citation: Moi j'aime pas ton blog, y a pas de dark mode, c'est un supplice à lire |
La version 2 est en cours de développement (pour des milliers d'années) et elle devrait être sombre :P
|
https://xvw.lol |
Posté dans Forum - Quel logiciel RPG Maker choisir ? |
xvw -
posté le 06/05/2020 à 18:00:30. (736 messages postés) |
| Enfin par "meilleure gestion de la mémoire" je voulais dire "que les jeux consommaient moins" (principalement, mais pas que, parce que le jeu n'affiche que 320x240. Dans l'absolu, je ne suis pas sur que ce soit une meilleure gestion de la mémoire. Pitié, les experts, ne me jetez pas de cailloux ! ).
|
https://xvw.lol |
Posté dans Forum - Topic de l'informatique |
xvw -
posté le 06/05/2020 à 16:54:00. (736 messages postés) |
| Citation: Ahah, merci pour le fou rire !
Car c'est exactement ce que certains collègues et moi-même vivons. On a essayé de proposer un stack avec React ou Vue / Laravel, mais encore une fois, c'est la techno JS qui n'a pas été appréciée à sa juste valeur.
En fait, ce sont des librairies qui effraient beaucoup techniquement aux non initiés de ce que j'ai pu constater. |
Les mauvaises langues (2) diront qu'elles effraient aussi les initiés. (J'ai donné des formations React/Redux chez "des grands groupes" parce que ça faisait partie de mon contrat).
J'ai toujours été incroyablement surpris du bruit conceptuel que Redux ajoute autours d'une bête machine de Moore. Mais je pense que le gros problème de javascript/TypeScript et spécifiquement des frameworks comme React, Vue et Angular, c'est qu'ils transmettent plusieurs idiomes qui deviennent des normes alors que c'était juste mal pensé à la base.
Toute personne aimant les langages statiquement typés ne peut qu'être que frustré par TypeScript.
|
https://xvw.lol |
Posté dans Forum - Quel logiciel RPG Maker choisir ? |
xvw -
posté le 06/05/2020 à 11:05:34. (736 messages postés) |
| J'ai une liste un peu naïve d'ordonnancement de RM :
- 2003, pleins de ressources, des événements de base plus expressifs que les autres, meilleur gestion de la mémoire (en règle générale)
- XP, le meilleur pour le mapping et pleins de scripts amusants
- VX, rien (parce que VXAce)
- VXAce, le meilleur pour les événements avec RME (désolé, shamelessplug)
- MV, fonctionne relativement bien sur Linux et Mac et offre le multiplatforme (un peu mal foutu). Je sais que "avec Wine..." mais bon...
|
https://xvw.lol |
Posté dans Forum - Topic de l'informatique |
xvw -
posté le 06/05/2020 à 11:00:25. (736 messages postés) |
| Citation: Vue est mieux que React et Angular, tu penses, donc ? |
Les mauvaises langues diront que les trois sont mauvais...
Concernant Babel coté Node, ça a un peu de sens hein. Babel est nécéssaire côté client parce que tu n'as pas de contrôle sur le navigateur (et donc par extension l'interpréteur javascript qu'il utilise) donc il est nécéssaire de produire le javascript "le moins futuriste possible" (par norme; ES4 ou 5) pour être supporté par le plus de monde. Comme Node s'exécute sur un serveur où tu contrôles la version de Node que tu utilises... tu es beaucoup moins limité par les évolutions du langage. Donc la dernière version de Node embarque généralement les fonctionnalités "spécifiées" de JS.
|
https://xvw.lol |
Posté dans Forum - Topic du Cinéma |
xvw -
posté le 13/02/2020 à 10:39:19. (736 messages postés) |
| Moi j'étais très inquiet parce que j'avais vraiment trouvé aucun intérêt à Suicide Squad... j'ai un peu bien aimé le début, j'ai trouvé que le péripéties de Harley étaient "un peu bien"... Après, j'ai trouvé que c'était long et mou et je me suis endormis à 20min de la fin.. donc je sais pas trop si la fin est bien ou pas.
J'ai été voir 1917... le film est vraiment anxiogène (ce qui est surement l'effet voulu) et je suis globalement satisfait de l'expérience que j'ai vécu... je le recommande.
|
https://xvw.lol |
Posté dans Jeux - Cardinal |
xvw -
posté le 30/01/2020 à 14:59:43. (736 messages postés) |
| Est-ce qu'il n y a pas un soucis de version ?
Citation:
|
https://xvw.lol |
Posté dans Forum - Rapports de bugs |
xvw -
posté le 12/01/2020 à 23:44:11. (736 messages postés) |
| Salut. J'ai voulu "proposer" du contenu pour une news, mais j'ai eu cette erreur :
1
| You have an error in your SQL syntax. Check the manual that corresponds to your MySQL server version for the right syntax to use near 'qui aiment l'Event-Making". Le script ajoute près de 1000 comma |
|
https://xvw.lol |
Posté dans Forum - Questions variées sur RPG Maker : variables lettrées, manuels... |
xvw -
posté le 06/11/2019 à 16:38:04. (736 messages postés) |
| Pour ta question, non.
(Pour le conseil de RME, ça répondait à :
1.) RME te permet de stocker du texte dans des variables et de faire ton propre système de saisie de nom (ou de ce que tu veux)
3.) RME te permet de contrôler ton BGM et de le reprendre en téléportation
5.) RME te permet de conditonner le contenu de tes messages facilement
6.) RME te permet de manipuler des pointeurs et de contrôler tes objets comme une liste
sans (ou avec trous)
7.) Non, il n y a pas de revers. Ou alors je n'ai pas compris ce que tu exprimais
8.) Oui, RME te permet de lire, écrire des fichiers, et aussi de sauvegarder dans la sauvegarder
une image (ou une capture de l'écran).
Après, si tu es sur 2003, ça va être un peu plus compliqué oui :/
|
https://xvw.lol |
Posté dans Forum - Les Vidéos de vos jeux ! |
xvw -
posté le 05/09/2019 à 13:11:29. (736 messages postés) |
| Moi j'aime beaucoup ta vidéo Hellper. Ce projet est-il déjà présenté dans ton topic avec tout tes projets (pour lequel Imperium n'en voit pas l'intérêt :P ?)
|
https://xvw.lol |
Posté dans Forum - [Scripts] Petites questions connes sur les SCRIPTS!! |
xvw -
posté le 26/08/2019 à 14:31:58. (736 messages postés) |
|
1
| @dash = false if $game_switches[Ayop::UNACTIVATE_SPEED] |
Et quitte à "modifier une ligne du script"
Remplace plutôt la ligne évoquée:
1
| @dash = (Input.press?(Dash_Input) and Input.dir8 > 0) |
par
1
2
3
|
@dash = $game_switches[Ayop::UNACTIVATE_SPEED] && Input.press?(Dash_Input) && (Input.dir8 > 0)
|
|
https://xvw.lol |
Posté dans Forum - Screenshots de vos jeux ! |
xvw -
posté le 13/08/2019 à 12:01:19. (736 messages postés) |
| Dans le haut de la carte y'a quelques soucis. Genre des arbres (sapins) qui poussent sur le feuillages des gros arbres.
|
https://xvw.lol |
Posté dans Forum - Le Bizon |
xvw -
posté le 30/07/2019 à 16:03:08. (736 messages postés) |
| Est-ce que tu as l'intention de publier le code source quelque part ? Par exemple sur Github ?
|
https://xvw.lol |
Posté dans Forum - Oniro va mal |
xvw -
posté le 21/07/2019 à 21:31:23. (736 messages postés) |
| Je me permet d'intervenir même si je ne me sens pas particulièrement concerné par la conversation initiale mais je trouve qu'il y a tout de même beaucoup de mauvaise foi concernant les frameworks dans ce thread.
J'ai souvent dit énormément de mal de Spring, parce que je pense que c'est de la grosse merde qui ne sert qu'a faire office de béquille à un langage mal pensé (Java) et je trouve que beaucoup de frameworks sont mal pensés et obligent à construire du code dur à maintenir (même pour des entreprises gangrénées par l'utilisation de mauvaises technologies), mais je trouve que les comparaisons de Roi Of the Suisse sont pleines de mauvaises fois Je met ça sur le compte du fait que c'est un domaine que tu ne maitrises pas plus que sur de la malveillance, ne t'en fais pas :P
Premièrement, considérer que "faire du PHP procédural" c'est faire de la programmation sans framework est assez naïf. Le langage "intervient" avec un framework, et la logique de considérer que des pages sont des points d'entrées de script est une forme de frameworking. L'article publié sur "dev.to" est assez étrange parce qu'il confond "l'apprentissage" et la mise en pratique. Quand tu veux développer une application web avec un langage de programmation, en général, sans framework (donc, dans le cas d'oniromancie par exemple, sans Apache), tu fais face à plusieurs points de complexité :
- le développement d'un serveur web qui va tenir plus de 5 utilisateurs simultanés
- la transformation de tes requêtes http en quelque chose d'exploitable par ton application web
- à ça, comme évoqué plus haut, tu ajoutes toutes les problématique de sécurités que ça engendre.
Quand tu veux développer une application que tu vas maintenir dans le temps, tu essayes d'éviter au maximum le boilerplate et c'est, en partie dans ce domaine que les frameworks t'aident. Ensuite, je suis d'accord que d'un point de vue "pédagogique", c'est assez cool de comprendre comment les choses fonctionnent "under the hood", ne serait-ce que pour comprendre tirer partit "correctement" de ton framework, mais tout écrire à la main, c'est généralement peu sur et peu productif.
La comparaison entre Facebook et Github n'est pas particulièrement fair, parce que tu confonds pleins de choses. Déjà ce serait vraiment naïf de croire que Github fonctionne "sans framework", effectivement, contrairement à Facebook, le "front-end" de github est beaucoup léger (mais le site fait beaucoup moins), par contre côté "back-end", Github utilise plusieurs frameworks (Rails, OTP etc). Là ou Facebook utilise principalement React pour son "front-end" et un framework maison pour son "back-end". Alors oui, Github a fait le choix de partir sur du vanilla JS, mais ils ont des problématiques totalement différentes.
Je ne suis pas du tout un défenseur de React, que je trouve compliqué, mais quand tu as des "widget" que tu dois souvent mettre à jour, pour des pages qui doivent pouvoir envoyer des notifications et recevoir du contenu du serveur sans rechargement de page, tu n'as pas spécialement envie de construire ta logique de repeinture du DOM, etc.
Des frameworks obsolète dans 10 ans, c'est plutôt optimiste, dans le sens où beaucoup de langages utilisés dans l'industrie sont déjà obsolète :P
Si jamais ça vous intéresse, j'avais donné mon avis sur l'évolution du web ici :
https://www.youtube.com/watch?v=Qtqhz2J7sHY (y'a une énorme faute d'orthographe dans le titre, j'étais un peu ivre quand j'ai écrit les slides, c'est aussi pour ça qu'il y a pleins d'animations rigolotte :P)
et ici https://www.youtube.com/watch?v=6GtpwlVuwQY (c'est un poil plus technique)
|
https://xvw.lol |
Aller à la page: 1 2 3 4 5 6 7 8 9 10 11 12 13 14 15 16 17 18 19
|
|
|