CONNEXION
  • RetourJeux
    • Tests
    • Soluces
    • Previews
    • Sorties
    • Hit Parade
    • Les + populaires
    • Les + attendus
    • Tous les Jeux
  • RetourActu
    • Culture Geek
    • Astuces
    • Réalité Virtuelle
    • Rétrogaming
    • Toutes les actus
  • RetourHigh-Tech
    • Actus JVTECH
    • Bons plans
    • Tutoriels
    • Tests produits High-Tech
    • Guides d'achat High-Tech
    • JVTECH
  • 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
    • Xbox Series
    • Overwatch 2
    • FUT 23
    • League of Legends
    • Genshin Impact
    • Tous les Forums
  • PC
  • PS5
  • Xbox Series
  • PS4
  • One
  • Switch
  • Wii U
  • iOS
  • Android
  • MMO
  • RPG
  • FPS
En ce moment Genshin Impact Valhalla Breath of the wild Animal Crossing GTA 5 Red dead 2
Etoile Abonnement RSS

Sujet : [Blabla] le /pub des barbus libres

DébutPage précedente
«1  ... 20672068206920702071207220732074207520762077  ... 3020»
Page suivanteFin
Dark_Chouhartem Dark_Chouhartem
MP
Niveau 10
21 août 2014 à 23:09:53

T’as peut être fait de la merde en transposant impératif -> fonctionnel :hap:

JamyGourmand JamyGourmand
MP
Niveau 8
21 août 2014 à 23:14:58

Bah j'ai perdu l'algorithme en Ruby malheureusement mais j'ai juste utilisé les relations coefficient-racines à part ça, je pense que je peux l'optimiser grandement mais bon :hap:

http://pastebin.com/cj8c77LC

C'est surtout cette fonction qui bouffe énormément en fait

combinationsPoly :: Int -> PolyInt -> [[Integer]]
combinationsPoly x poly = uniq $ map (sort) $ replicateM x poly

Faut je trouve une alternative :hap:

Runnymede Runnymede
MP
Niveau 10
21 août 2014 à 23:58:15

Muse :bave:
Je suis resté beaucoup trop longtemps dans l'ignorance de ne pas m'être intéressé à ce groupe :bave:

[Xenio] [Xenio]
MP
Niveau 11
22 août 2014 à 00:14:31

J'aime bien Muse :oui:

Ma préférée c'est Madness :bave:

Dark_Chouhartem Dark_Chouhartem
MP
Niveau 10
22 août 2014 à 00:39:17

JamyGourmand :d) Ça me rappelle ce code : http://pastebin.com/M7tT6zuF

Si python était bien garbage collecté et faisait ce qu'on lui demandait ça passerait crème, mais comme on a aucun contrôle sur la mémoire, la construction du suffixe array bouffe toute la mémoire (il faut croire que quand on fait : l.sort(key = f) python fait [ (f(l[i]),i) for i in range(len(l))].sort() et trie i suivant le mappage des i, parce que s'il appelait juste key à chaque fois, ça ferait pas autant de conso mémoire, ou alors les devs pythons se sont dit : « il y a O(n.log(n)) appels à key, si on stock map(key, l) dans une hashtable, on y a accès en O(1), ce qui fait n appels à une fonction de coût inconnu (mais un O(1) au total) au lieu de n.log(n) … C'est rentable ! »

:-(

Sauf que toi tu dis explicitement « duplique tout ! » alors que moi j'ai essayé d'éviter ça :hap:

nounoursheureux nounoursheureux
MP
Niveau 10
22 août 2014 à 01:01:57

Madness :bave:
Supremacy :bave:
Time is running out :bave:

Décidément Runny t'écoutes les mêmes groupes que mwa :noel:

JamyGourmand JamyGourmand
MP
Niveau 8
22 août 2014 à 01:16:44

Haskell ne fonctionne pas comme ça, c'est un langage paresseux. Ce que je fais dans ce code nous donnerait une complexité hors norme dans un langage comme Python ou C. Mais là avec Haskell ça passe, c'est le bienfait d'une évaluation paresseuse :hap: En gros quand tu écris du code que tu associes à une variable Haskell le retient et fait la promesse de délivrer le contenu quand la variable sera appelé du coup par exemple à ce moment là:

solvePoly :: PolyInt -> [Integer]
solvePoly poly = racines -- 4
where prob = racinesProbPoly poly -- 1
elim = eliminateRacines prob -- 2
racines = testRacines poly elim -- 3

1) Il retient que la variable prob est assimilé à racinesProbPoly poly, si on demande la variable prob c'est à ce moment là qu'il évalue racinesProbPoly
2) Il retient que elim est associé à eliminateRacines prob, il voit ce à quoi est associé prob et le retient mais n'évalue rien car personne n'a demandé elim
3) Même topo, personnes n'a encore demandé racines donc il retient juste les différents liens entre les variables
4) Là on lui demande de retourner racines et pour ça il faut l'évaluer, donc Haskell évalue prob puis évalue elim avant d'évaluer racines

Au final ce n'est pas si différent de simplement écrire testRacines poly ( eliminateRacines ( racineProbPoly poly ))

Intéressant n'est-ce pas :hap:

Ou bien je réponds à côté de la plaque :noel:

Toute la complexité et l'utilisation en mémoire réside dans la fonction plus haut (celle qui fait les combinaisons) car je demande de trier les sous-listes afin d'en éliminer les duplicata (l'addition et la multiplication sont commutatives) sauf que le tri nécessite d'évaluer toutes les combinaisons d'abord (dont le nombre s'exprime avec une factorielle mais je m'y connais pas trop je vais pas m'avancer :hap: ) du coup on surcharge la mémoire...

C'est con je vais essayer voir comment résoudre le problème :oui:

JamyGourmand JamyGourmand
MP
Niveau 8
22 août 2014 à 01:41:36

Sérieusement Haskell c'est vrai la Rolls des langages fonctionnels je comprends pas pourquoi c'est pas plus utilisé et pourquoi on persiste à enseigner de l'ocaml de merde :hap:

Le pire c'est mon programme du premier semestre qui arrive là, http://www.u-psud.fr/rof/fr/l2/ME7/ (PMMI)

"Introduction à la programmation objet" :malade:

Du java mais putain qu'est-ce que je m'en bat les reins, on peut pas avoir des trucs plus intéressants? :hap:

En Maths ça va quoi c'est le programme de MP un peu atrophié mais en Info :hap:

T'en penses quoi toi Chouhartem? :hap:

Dark_Chouhartem Dark_Chouhartem
MP
Niveau 10
22 août 2014 à 02:12:00

Je sais bien qu'Haskell utilise l'évaluation paresseuse, c'est un des arguments majeur avancé par les haskellers.

Du coup oui, tu as une sémantique identique pour une consommation mémoire réduite, mais tu as aussi tendance à oublier comment ça se passe en interne, puisque « c'est pas ton problème » en vrai :(

Du coup là tu as ce soucis que tu n'aurais pas eu avec un peu plus de contrôle. Par exemple en ocaml sans le module Lazy, tu as un langage où tu sais que le fonctionnement est le suivant :
let a = f x in g a
f est évaluée en x puis stocké en a dès let a = f x … Tu te dis : « ok », mais du coup ça te permet de garder un contrôle relatif sur tes effets de bords … puisqu'il y en a en ocaml comme ce n'est pas purement fonctionnel.

Sinon pourquoi on continue d'enseigner l'OCaml ? Pour la même raison qu'on continue d'enseigner Java : parce que c'est utilisé. Si tu veux faire de la preuve, tu vas devoir passer par coq … et si tu fais du coq, tu dois passer par OCaml.

Maintenant pourquoi c'est utilisé ? Parce que caml possède un cœur fonctionnel qui n'a rien à envier à Haskell (sauf sur 2~3 détails) … Et un système de modules (foncteurs <3 c'est pas la même chose qu'en Haskell) qui rend la chose vraiment puissante. Par dessus ça tu rajoutes une couche objet, mais je crois qu'elle est pas vraiment utilisée, et un peu d'impératif, parce que ça simplifie vachement la vie … Et tu as un langage pratique à utiliser.

Je pense que le choix d'Haskell d'être purement fonctionnel qui fait sa force … le marginalise un peu. Mais il n'en demeure pas moins utilisé à l'étranger vu que de toute façon chaque labo a ses habitudes. Mais pas dans les mêmes domaines du coup.

Du coup on t'apprends quand même le java parce que ça peut toujours servir. Par exemple on a fait un peu de java en système distribué parce que corba est utilisable en java rapidement. Du coup c'est toujours pratique à savoir suivant les utilisations.

C'est un problème d'ouverture d'esprit parce que tu ne sais jamais, un de mes profs m'a raconté qu'il galérait à trouver une méthode efficace pour résoudre un de ses problèmes … qui se traduisait facilement en programmation linéaire avec un nombre polynomial de variables et de contraintes \o/
Il ne connaissait pas la programmation linéaire à cette époque (c'était à ses débuts), du coup cette absence de connaissances lui a valu 5 mois de recherches infructueuses pour lui et son équipe.
Du coup pour prévenir ça, mieux vaut être prêt, imagine qu'il existe une bibliothèque magique en java qui résout un de tes problèmes … ben sans connaître java, tu ne penseras jamais à cette solution.

JamyGourmand JamyGourmand
MP
Niveau 8
22 août 2014 à 02:39:48

Ouais tu as raison m'enfin avec un langage impératif ou fonctionnel j'aurais eu le même problème, j'aurais du évaluer cette liste qui contient énormément d’éléments donc bon :pf: J'avais le même soucis en Ruby sauf qu'il apparaissait que je me frottais à des polynômes de degré 7 ou 8, là c'est juste la paresse qui se retourne contre moi mais je vais changer ça :hap:

Ouais j'avais j'ai un peu abusé, surtout que je m'y connais très peu en Ocaml. En gros je me demandais juste pourquoi Haskell n'était pas utilisé du tout, franchement j'ai bien eu du C l'année dernière comme introduction à l'informatique c'est pas le mieux pour débuter :(

Après ouais Java est utilisé mais ce que je voulais dire c'est que si je suis un tutorial d'apprentissage du Java j'aurais sensiblement le même contenu que ce cours quoi, après j'imagine que s'assurer d'avoir une bonne connaissance du Java c'est une bonne chose. Mais moi je veux juste me frotter à l'informatique théorique le plus tôt possible quoi :hap:

Haskell est dit purement fonctionnel mais tu peux faire de l'impératif en utilisant les blocs do, biensûr l'objectif est simplement de pouvoir communiquer et manipuler les entrées et sorties. Pour le reste on recommande fortement de se cantonner au code fonctionnel dît pur.

Du coup okay c'est cool quand même d'avoir des connaissances sur les langages les plus utilisés quand même, c'est un petit plus comme tu dis on ne sait jamais ce qui peut arriver. Mais j'aurais préféré à la place de l'ocaml par exemple, ce n'est pas pour rien que c'est ce langage qui est utilisé en option info. C'est le paradigme fonctionnel qui colle le plus à tout ce qu'on a pu faire depuis le début en Maths, et quand je vois qu'en un an et demi de fac j'aurais toujours pas eu de cours sur les langages fonctionnels je me dis merde quoi :(

Dark_Chouhartem Dark_Chouhartem
MP
Niveau 10
22 août 2014 à 03:59:19

Haskell est utilisé en université, mais pas en France quoi.

Oui, mais est-ce que tu serais aller te frotter à Java de toi même ? Moi perso non :noel:

Et faut pas oublier que t'es en tronc commun avec des gens qui veulent peut être faire de l'info pratique, si tu donnes que des cours théoriques dès la L1 ça devient bonbon pour se réorienter :hap:

Mais bon, de toute façon ya pas à chipoter, OCaml ≫ * :noel:

JamyGourmand JamyGourmand
MP
Niveau 8
22 août 2014 à 04:22:53

T'as des exemples particuliers ? J'ai rien trouvé :noel: En tout cas c'est sûr qu'en France niveau fonctionnel on enseigne que (O)CamL :hap:

En effet jamais j'en aurais eu l'idée :hap: D'ailleurs j'ai jamais pu lire un tutoriel de C j'arrivais à rien faire et les cours d'introductions au C m'ont soudainement ouvert la voie donc on peut espèrer.

Ouais mais justement je suis allé dans une L2 renforcé pour éviter ça, tu peux voir que l'objectif de la formation est clairement d'intégrer les magistères de P11 et de Cachan :(

Franchement on verra dans le futur parce que Haskell est quand même très prometteur :hap:

Je suis pressé d'apprendre Ocaml du coup :oui:

ZelteHonor ZelteHonor
MP
Niveau 7
22 août 2014 à 04:59:52

Je viens de recevoir mes documents pour mon cours de programmation. Le language a l'horaire est Java 8. Donc finalement je ne me pose plus la question a savoir si je devrais l'intaller. C'est plus simple comme ça.

Caletlog Caletlog
MP
Niveau 10
22 août 2014 à 10:23:47

Jamy > prometteur, oui et non. Le Haskell est là depuis très longtemps et il a toujours stagné en popularité, même si on a un petit buzz récemment.
Les langages fonctionnels ancrés dans la JVM comme le Clojure ou le Scala (aussi parce qu'il a une part objet qui facilite son apprentissage) ont beaucoup plus de chances de monter, parce qu'ils ont accès à tous les modules Java, permettant donc de s'intégrer ou réécrire facilement avec du code existant.
Le paradigme fonctionnel sera très certainement bien utilisé dans les prochaines décennies, mais à mon avis il faut des compromis. Le monde peut pas se mettre à utiliser des langages purs comme Haskell du jour au lendemain : c'est trop différent, très long à maîtriser et c'est pas fameux niveau bibliothèques/intégration aux codebases.

Dark_Chouhartem Dark_Chouhartem
MP
Niveau 10
22 août 2014 à 11:08:49

JamyGourmand :d) D'utilisation d'Haskell dans l'enseignement ? http://www.haskell.org/haskellwiki/Haskell_in_education

Caletlog :d) Ah oui, c'est vrai qu'avec Core, OCaml commence aussi à proposer un petit pool de bibliothèques sympathique pour « un usage réel » :( .

Google_Bot Google_Bot
MP
Niveau 12
22 août 2014 à 12:57:17

Bordel de merde je viens de lire le PEBKAC linké plus haut, ça me donne presque envie de retourner me marrer un peu à la Fnac justement :noel:
(ou chez les Darteubés, qui pensent que tout produit absent de leurs rayons « n'existe pas », mais genre purement, absent de l'univers quoi :noel: :rire: )

dauh dauh
MP
Niveau 10
22 août 2014 à 13:23:20

Google_bot :d) j'te pas raconte pas l'histoire de la partition ext4 considèré comme corrompue :rire:

Runnymede Runnymede
MP
Niveau 10
22 août 2014 à 13:38:55

Je suis trop déçu, les seules cartouches compatibles avec mon vieil appareil photo instantané Kodak que j'ai trouvées sur internet sont périmées :(

Dakien Dakien
MP
Niveau 10
22 août 2014 à 15:10:10

I'm gonna rip your head off and shit down your neck
https://www.youtube.com/watch?v=oakDwk00hbE

Nh3xus Nh3xus
MP
Niveau 10
22 août 2014 à 15:26:46

G_Bot :d) Ce que tu ne sais pas sur l'affaire de Munich, c'est que :

1) Le maire de la ville est un pro-Crosoft invétéré qui jure que par Exchange/Outlook
2) Microsoft va emménager une partie de ses bureaux à Munich.

QUELLE CURIEUX HASARD.

DébutPage précedente
Page suivanteFin
Répondre
Prévisu
?
Victime de harcèlement en ligne : comment réagir ?
La vidéo du moment