CONNEXION
  • RetourJeux
    • Sorties
    • Hit Parade
    • Les + populaires
    • Les + attendus
    • Soluces
    • Tous les Jeux
    • Gaming
  • RetourActu Gaming
    • News
    • Astuces
    • Tests
    • Previews
    • Toute l'actu gaming
  • RetourBons plans
    • Bons plans
    • Bons plans Smartphone
    • Bons plans Hardware
    • Bons plans Image et Son
    • Bons plans Amazon
    • Bons plans Cdiscount
    • Bons plans Decathlon
    • Bons plans Fnac
    • Tous les Bons plans
  • RetourJVTech
    • Actus High-Tech
    • Intelligence Artificielle
    • Smartphones
    • Mobilité urbaine
    • Hardware
    • Image et son
    • Tutoriels
    • Tests produits High-Tech
    • Guides d'achat High-Tech
    • JVTech
  • RetourCulture
    • Actus Culture
    • Culture
  • RetourVidéos
    • A la une
    • Gaming Live
    • Vidéos Tests
    • Vidéos Previews
    • Gameplay
    • Trailers
    • Chroniques
    • Replay Web TV
    • Toutes les vidéos
  • RetourForums
    • Hardware PC
    • PS5
    • Switch 2
    • Xbox Series
    • Switch
    • Pokemon pocket
    • FC 25 Ultimate Team
    • League of Legends
    • Tous les Forums
  • PC
  • PS5
  • Xbox Series
  • Switch 2
  • PS4
  • One
  • Switch
  • iOS
  • Android
  • MMO
  • RPG
  • FPS
En ce moment Genshin Impact Valhalla Breath of the wild Animal Crossing GTA 5 Red dead 2
Liste des sujets

[Blabla] le /pub des barbus libres

[Xenio]
[Xenio]
Niveau 11
23 août 2014 à 13:51:49

Je savais même pas qu'on avait une carte spécial quand on était sourd :hap:

Pseudo supprimé
Pseudo supprimé 23 août 2014 à 13:58:58

Putain de merde, Coffescript c'est... :bave:
Je vais voir ce que vaut node.js aussi du coup.

Caletlog
Caletlog
Niveau 10
23 août 2014 à 14:03:01

Xenio > tu peux avoir des cartes pour toutes les afflictions, mais pas forcément officielles.

Les groupes pharmaceutiques en déclinent souvent pour les malades chroniques. Ça coûte rien, c'est moins encombrant que les bracelets similaires et de toutes façon les portefeuilles sont vérifiés par les secours généralement.

Wonderfall > ouai :bave:
Sinon t'as Opal, qui permet d'écrire directement du Ruby compilé en Javascript. C'est pas le même intermédiaire mais c'est sympa aussi.

[Xenio]
[Xenio]
Niveau 11
23 août 2014 à 14:15:17

Ah, ben merci je savais pas :)

RobertoGonzales
RobertoGonzales
Niveau 3
23 août 2014 à 14:25:46

"Opal, qui permet d'écrire directement du Ruby compilé en Javascript." - Caletlog

:d) http://opalrb.org/

Seigneur Dieu, je crois que je vais vomir mon goûter... :malade:

vava740
vava740
Niveau 10
23 août 2014 à 14:37:58

J'aime pas CoffeeScript, y'a tellement de trucs optionnels pour alléger la syntaxe, certains devs en abusent clairement et ça rend le code illisible (et pour cause, quand j'en ai fait je me sentais presque obligé de supprimer au maximum tout ce qui était optionnel, quitte à pondre un code que j'avais moi-même du mal à lire). :(

Je pense aux parenthèses optionnelles, on dirait qu'il y a des devs qui veulent à tout prix ne jamais mettre de parenthèses en CoffeeScript, ou le fait que le `return` soit optionnel... des fois tu te retrouve à la fin d'une fonction de 20 lignes avec une valeur posée comme ça. Après réflection, ah oui, c'est la valeur de retour...

Y'a quelques jours je vois cet exemple typique, sauf que la valeur était en plus un objet litéral, en utilisant bien sûr le fait que CoffeeScript rend les accolades optionnelles. Ça ressemblait à ça :

  foo = ->
    # Code de ~20 lignes

    bar: 'baz',
    troll: somvar,
    life: 42

Putain y'a des limites, au début je me dis WTF pourquoi il ma balance du YAML au milieu d'une fonction. :doute:

Pourtant y'a des tas de bonnes idées inspirées du Ruby et du Python, et su sucre syntaxique qui fait baver, quand on en abuse pas trop quoi.

vava740
vava740
Niveau 10
23 août 2014 à 14:40:22

Aujourd'hui on peut compiler n'importe quoi vers du JS anyway, comme dit plus haut y'a Opal pour le Ruby, y'a Pyjamas et Pyjs entre autres pour Python, et de façon générale tout ce qui compile vers LLVM peut être exporté en JS.

Caletlog
Caletlog
Niveau 10
23 août 2014 à 14:42:15

Roberto > disclaimer : j'ai pas encore essayé, j'ai découvert ça avec la gem Yeah, qui s'en sert pour faire des jeux JS à partir de Ruby (et qui, pour le coup, marche plutôt bien).

Le code généré par Opal me semble un peu étrange, faudra que je vois ce que ça vaut réellement.

vava > ouai, y'a des trucs abusés. Le coup des parenthèses optionnelles ça vient du Ruby, et j'ai jamais compris l'intérêt. Okay, dans des DSL genre Rails c'est sympathique parfois, mais dans du code pur :malade:
La valeur de retour par défaut par contre c'est excellent. Ayant commencé par le Ruby, j'ai été étonné de voir que très peu de langages implémentent ce genre de système.

Dark_Chouhartem
Dark_Chouhartem
Niveau 11
23 août 2014 à 14:46:19

vava740 :d) En même temps qui veut faire du JS ? :noel:

[Xenio]
[Xenio]
Niveau 11
23 août 2014 à 14:47:56

JamyGourmand:
Comment tu fais pour accéder à ton bios avec notre carte mère buguée?
Parce que même en me branchant en VGA ça passe pas ...

Caletlog
Caletlog
Niveau 10
23 août 2014 à 14:54:04

Dark_Chouhartem > Pour le coup je trouve que faire du JS natif (ou avec de simples préprocesseurs comme CoffeeScript) est plus raisonnable. Écrire du JS avec du Ruby/Python/Clojure/C++/Foo ça implique de savoir parfaitement ce que fait le compilateur à tout moment, et y'a pas mal de 'cool tricks' qu'on doit réinventer parfois difficilement dans le langage proxy.
Enfin ça reste pratique, mais j'ai du mal à donner toute ma confiance à ces outils (ou plutôt, confiance en ma capacité à utiliser ces outils sans faute). Surtout que généralement, quand le projet est de taille conséquente, on vérifie pas rigoureusement tout le code généré... :(

vava740
vava740
Niveau 10
23 août 2014 à 15:14:40

@Caletlog Je te donne l'exemple précis qui m'a dérangé : https://github.com/welldan97/assemble-jade/blob/ae0d7211f2256b2f4e650c086cab449a2370b7a7/src/assemble-jade.coffee#L44-L48

Je suis désolé mais quand la fonction fait plus de 3 lignes (et encore, je dirais presque une ligne), ne pas mettre le `return` nuit pas mal à la compréhension du code, du moins ça oblige à réfléchir, voir remonter l'indentation pour voir qu'on est à la fin d'une fonction.

Et puis dans le même code :

init = ->

Juste ça. Pour définir une fonction vide. Mais on le voit pas au premier coup d'oeil, faut vérifier l'indentation des lignes suivantes d'abord. En Python on aurait au moins eu un `pass` qui dit clairement que la fonction ne fait rien, et ça aide beaucoup à comprendre.

@Dark_Chouhartem Je suis d'accord avec Caletlog, faut quand même avoir une certaine confiance dans le compilateur pour commencer à compiler n'importe quoi vers du JS. Même si on a pour la plupart pas envie de faire du JS natif, c'est souvent la solution la plus sérieuse pour avoir un minimum de contrôle sur son code. Pas de mauvaises surprises sur les "hacks" utilisés pour émuler certines fonctionnalités. Par contre, pas de bonnes surprises sur certaines optimisations que peut faire le compilateur non plus.

JamyGourmand
JamyGourmand
Niveau 8
23 août 2014 à 15:15:44

Ah ouais il se passe quoi? T'as bien qu'un seul écran vga de branché?

Si tu peux accéder à q flash essaye de mettre à jour le firmware

Pseudo supprimé
Pseudo supprimé 23 août 2014 à 15:26:07

Y'a un sourd ici ? :hap:

[Xenio]
[Xenio]
Niveau 11
23 août 2014 à 15:27:13

Je vais voir de le mettre à jour

J'ai essayé de pleins de manières différentes, avec un seul écran à chaque fois oui
J'ai même enlever la CG :(

Et quand je vais sur le bios j'ai en haut marqué un truc du style 'gigabyte uefi dual bios', mais rien d'autre, je peux rien faire à part reboot

nounoursheureux
nounoursheureux
Niveau 10
23 août 2014 à 15:30:57

Eviklovesyou :d) il ne me semble pas, mais pourquoi cette question ? :hap:

Caletlog
Caletlog
Niveau 10
23 août 2014 à 15:32:12

vava > ah oui je vois. Dans ce cas-là, c'est effectivement stupide. Les simples accolades de l'objet auraient rendu le tout beaucoup plus clair. Et dans ces cas-là, je pense pas qu'on ait besoin d'un return : à partir du moment où on sait que la dernière expression évaluée est renvoyée, c'est plutôt naturel (sauf dans ton cas, mais c'est clairement un abus sur la souplesse des hashes/objets, pas sur le return. Je pense d'ailleurs pas que le return eut été possible en cumul de l'objet sans accolades, mais pas sûr).
Enfin en soit le return est pas particulièrement chiant à mettre, mais je trouve que son absence répond à un 'problème' assez logique : pourquoi considérer par défaut qu'une fonction ne renvoie rien (donc 100% effets de bord), et le renvoi de quelque chose considéré comme un cas spécial (puisqu'on doit utiliser explicitement un return), alors qu'en pratique, les propensions à utiliser ces cas sont inversées ? :question:
Avec le renvoi auto de la dernière expression évaluée, on a la situation inverse, plus 'proche' de la réalité : on renvoie par défaut toujours quelque chose, et il faut spécifier explicitement si on ne veut rien renvoyer.
+ ça encourage à faire des méthodes compatibles avec le chaînage, mais ça c'est encore autre chose :o))

Pour les fonctions vides, c'est comme de partout : mieux vaut mettre un commentaire sur la même ligne ou dans un bloc vide pour dire qu'on est conscient qu'elle est vide, et que c'est pas une erreur. C'est toujours plus lisible.

[Xenio]
[Xenio]
Niveau 11
23 août 2014 à 15:33:49

JamyGourmand :
J'arrive à accéder à un menu (via la touche Fin), mais je peux rien faire là :(
Reboot obligé

Je testerai ça plus tard sans CG/avec un autre écran

vava740
vava740
Niveau 10
23 août 2014 à 15:47:12

@Caletlog

« Enfin en soit le return est pas particulièrement chiant à mettre, mais je trouve que son absence répond à un 'problème' assez logique : pourquoi considérer par défaut qu'une fonction ne renvoie rien (donc 100% effets de bord), et le renvoi de quelque chose considéré comme un cas spécial »

J'avais jamais vu les choses sous cet angle, c'est vrai que ça a l'air assez logique comme ça.

Reste le fait que quasiment personne ne met un `return` vide quand il ne veut rien retourner. :hap:

Mais bon, la plupart du temps ça ne pose pas de problème.

Dark_Chouhartem
Dark_Chouhartem
Niveau 11
23 août 2014 à 16:20:44

vava740 & Caletlog :d) Mais ça fait peur le js :peur:

Sous forums
  • Aide à l'achat Mac
  • Création de Jeux
  • Linux
  • Programmation
  • Création de sites web
  • Internet
  • Steam Deck
  • Macintosh
  • Hardware
La vidéo du moment