Chat:Fr/2021-09-12
Remi_avec_un_i: Pas facile The Bridge (avec les motos) ... mais satisfaisant une fois qu'on y arrive.
**dwarfie a l'mpression qu'il l'avait fait en mode grosse mule ...il va verifier ...
dwarfie: :scream: mon dieu que ma solution est inefficace ... elle a 5 ans d'accord , mais y'avait tellement plus simple et mieux a faire ....
Remi_avec_un_i: On évolue en 5 ans de CG ^^
Remi_avec_un_i: Je l'ai fais en simulant les coups possibles sur 4 tours, et en exécutant l'action qui aura la meilleure note 4 tours plus tard.
Remi_avec_un_i: Je ne sais pas si c'est la meilleure solution mais c'est celle que j'ai réussi à faire et elle fonctionne.
Stilgart: je dirais qu'on doit pouvoir trouver un jeu de test qui fait foirer ton code
dwarfie: euh ... je joue tout ce que je peut comme combinaison de mouvement au premier tour et je print la colution complete en une seule fois ...
Stilgart: et donc que c'est pas la meilleure solution
Remi_avec_un_i: Oui Stilgart, si on réfléchis à faire prendre la solution qui semble la meilleure sur les 4 premiers tours, mais qui se foire au 5ème, et irrattrapable si on n'a pas fait la bonne action du 1er coup.
Remi_avec_un_i: Effectivement Dwarfie on peut appeler ça le mode grosse mule ^^
Stilgart: j'ai toute la solution d'un seul coup aussi
**Stilgart s'est fait upvote un code en D
Stilgart: cette honte...
dwarfie: j'allais le dire ...
dwarfie: quelle idée de l'avoir publié aussi ... encore plus honteux ...
Remi_avec_un_i: Lol moi j'ai reçu un vote dans un langage que je ne connais pas, sur l'onboarding
Thyl: yo
Thyl: niveau perf en bitboard vaut mieux quoi ???
Thyl: faire une boucle
Thyl: ou ecrire tout à la main
Thyl: genre faut shifter de 1 à 6
Thyl: for(int i=1;i<7;i++)
Thyl: n<<i;
Thyl: ou
Thyl: n<<1;
Thyl: n<<2;
Thyl: n<<3;
Thyl: ...
Stilgart: c'est pareil
Stilgart: en supposant que tu as bien mis les pragma
Thyl: oui
Stilgart: après, c'est vrai pour 7, mais sans doute pas pour 31
Stilgart: gcc va dérouler un peu les boucles, mais pas trop non plus sinon ça fait exploser la taille du binaire
Thyl: j'aimerais trouiver un livre qui explique les méandres de la compilation
Stilgart: (tu n'as sans doute pas dit ce que tu voulais dire :) )
dwarfie: on est pas la pour faire de l'assistance au suicide ...
Stilgart: c'est surtout qu'on va lui citer des dragon book et autre, qui couvrent un spectre bien plus grand que ce qu'il imagine
Thyl: stilgart ce que je voulais dire c'est
dwarfie: c'est plus des meandres ou on se perd ... c'est la mer des sargasses ou on disparait a jamais ...
Thyl: la théorie de l'assembleur, les choix de compilation, comment le bin se fait
Thyl: ...
Stilgart: https://gcc.gnu.org/onlinedocs/gcc-11.2.0/gcc/Optimize-Options.html#Optimize-Options t'intéressera plus pour CG
Thyl: cool
Stilgart: la théorie de l'assembleur, je sais pas trop ce que ça peut vouloir dire en vrai
Thyl: comment ça fonctionne
Stilgart: et le bin, il se fait en pissant de blob dans un fichier, tout bonnement
dwarfie: en meme temps ... y'en a qui croyait qu'un cours de compil , c'est un cours de makefile ... :D
Thyl: non
Thyl: aaaaa
Thyl: dwarfie me trool encore c'est ça
Stilgart: tu connais les lexers / parsers ?
Thyl: ??
Stilgart: Thyl: non, il me rappelle de mauvais souvenir
Thyl: moi stilart
dwarfie: Thyl : non je te troll pas ... c'est du vecu ...
Thyl: alors la c'est drôle dwarfie :joy:
Stilgart: de devoir reprendre des TD en heure sup d'heure sup parce qu'un génie de collègue n'a pas été fichu de se renseigner avant de s'engager dans un truc ou il connaissait quedale
Stilgart: (oui, la question était pour toi Thyl)
Stilgart: (sur lex/parse)
Thyl: non connais pas
Stilgart: ok
Stilgart: dans ce cas, ça peut être intéressant d'aller voir les pages wikipedia de chaque étape de https://upload.wikimedia.org/wikipedia/commons/e/e5/Cha%C3%AEne_de_compilation.svg
Thyl: cool merci
Stilgart: je te préviens, c'est copieux
Stilgart: par exemple, rien que sur la partie "analyse lexicale", je peux facilement remplir un cours de 28h
darkhorse64: Thyl: deux conseils. Ecris d'abord un code qui marche. Après lance ton profiler pour voir ce qui prend vraiment du temps. Optimiser à l'aveugle ç'est perdre son temps
Thyl: ok mercidarkhorse
Stilgart: je plussoie l'approche pragmatique de darkhorse64
Stilgart: après, pour avoir une meilleure idée de ce qui est améliorable, il est bon de savoir ce que gcc sait faire / a déjà fait
Stilgart: j'ajouterai que gcc a souvent plus raison que toi
darkhorse64: Le compilateur a toujours raison
Stilgart: tu peux gagner beaucoup sur la représentation des données, et sur le coté algorithmique
Bon[]Crayon: Salut tout le monde.
Bon[]Crayon: Salut Automaton2000
Stilgart: mais sur la micro-optimisation comme celle de tout à l'heure, en général tu gagnes ~rien
Automaton2000: tu n'as pas besoin de le faire
Thyl: l'lloc dynamic ça tue les perfs quend même
Stilgart: ça dépend
darkhorse64: Plus basiquement, plus tu brasses de données (transfert/copie), plus ça rame. Mais avant de commencer à compacter ses structures de données, il faut faire un truc qui marche. Debugger un bitboard, c'est l'enfer.
Stilgart: autre grand principe, optimise ce que tu dois optimiser
dwarfie: Automaton2000 : c'est bien , t'as suivi que gcc le faisait deja bien
Automaton2000: j'ai un truc qui a l'air de faire ce contest
Stilgart: si 1% de ton code fait de l'alloc dynamique, tu t'en fiches :D
Stilgart: (% en temps d'exécution)
darkhorse64: New, c'est mal quand on veut faire du temps réel parce que ça rend le temps d'exécution instable
Stilgart: darkhorse64: marrant que tu dises ça
Stilgart: pour moi, déboguer un bitboard c'est pareil que déboguer mon moteur en Haskell
darkhorse64: J'ai "écrit" quinze programmes en Haskell, j'ai préféré le bitboard :sweat:
Stilgart: erf
**dwarfie tend ocaml a darkhorse64 ... il preferera haskell ;)
Stilgart: en même temps, quand je vois la jungle dans la documentation, je peux pas trop t'en vouloir
Stilgart: Haskell c'est beaucoup moins dur que ce que les gens te racontent dans les tutos
Thyl: le minimax sur connect 4V ça à l'air très chaud
darkhorse64: Ocaml même combat mais je reconnais que je suis un dinosaure de la prog
Stilgart: (sauf le coté lazy qui lui est vraiment difficile à maîtriser)
Stilgart: parlez pas de ocaml, à cause de Boulet je vais devoir en faire mardi :@
dwarfie: autant j'arrive a sortir des codes en haskell ... autant ocaml .... non
dwarfie: plutot toi que moi Stilgart ... désolé ...
Stilgart: de toute façon, ocaml c'est pas fait pour faire du code en vrai
**dwarfie se marrera encore en voyant sur le transparent "ceci n'est pas un cours de ocaml" ...
darkhorse64: Il n'y a que tric-trac qui puisse te sauver
Thyl: tric-trac sauvait quoi ??
Stilgart: dans mon cas, je pourrais me sauver tout seul en reprenant le cours et en faisant un s/ocaml/haskell/
darkhorse64: tric-trac, c'est le roi du minimax
darkhorse64: S'il existe une éval pour C4, il l'a trouvé
Stilgart: il y a un truc qui m'échappe ces derniers jours
Thyl: je penses bien c'est code son monstrueux
Stilgart: entre je sais plus qui qui sait faire un BFS pour puzzle1 et pas pour puzzle2
Stilgart: et Thyl qui a du mal avec un minimax spécifiquement sur connect 4
Thyl: coonect 4 pas facile oware très facile à l'éval
Stilgart: ha... pour l'éval d'accord
Thyl: et j'ai le drois de dire ça car je suis bien classé à oware
Thyl: :)
Thyl: ;)
Stilgart: mais sinon, le code c'est copier-coller
Thyl: Chat Log (talk) 05:29, 13 September 2021 (UTC)
Thyl: je change des trucs
Stilgart: la déclaration de type de GameState, les fonctions movesAvailable, play et eval
Stilgart: c'est tout
Thyl: je code pas mes multis de la mème façon
Thyl: la je déjoues les coups pour gagner de la memoire
Thyl: sur Oware je copie
Stilgart: pourtant, le state d'oware me parait plus gros que celui de connect 4
pardouin: o/
pardouin: Thyl tu avais essayé minimax sur les premières ligues de tic tac toe ?
pardouin: (où tu peux faire le minimax complet sans élaguage ni rien)
Thyl: un peu
pardouin: sinon il y a un puzzle sur ça
pardouin: https://www.codingame.com/training/expert/minimax-simple-example
pardouin: il est pas mal
Thyl: sur oware j'ai fait un truc qui tiends bien
Thyl: sur Tron aussi
Zorg1: après t'as le bon vieux truc si tu sais pas faire une éval de minimax tu fais un MCTS ^^
Zorg1: t'as pas un branching énorme dans connect4
Thyl: comment l'IA defautl me bat avec un minimax deep 7 ???
Zorg1: sur connect 4 ?
Thyl: oui
Zorg1: l'IA defaut c'est pas le Boss de la wood 2 ?
Thyl: je pense
Thyl: y a un probleme de code à mon avis
philRG: de quel connect 4 vous causez?
philRG: ah le bot-like
philRG: j'ai un alpha-beta limité à depth 3 avec fonction d'eval basé sur le poids d'une case
nicola: À mon avis, philRG, il vaut mieux utiliser un BFS.
philRG: ouais le min max est pas top en python
philRG: sinon j'avais noté un tuto pour utiliser les bitstrings: https://towardsdatascience.com/creating-the-perfect-connect-four-ai-bot-c165115557b0
philRG: mais j'ai eu la flemme
philRG: nicola avec ma fonction d'eval je perform bien quand même
philRG: ah ouais selon le tutoriel pour les bitstrings: In total, there are 4531985219092 possible leaf nodes
philRG: en python çà fait beaucoup pour un min-max, d'ailleurs j'ai un alpha beta en plus
philRG: nicola tu parles de ce puzzle de bot? https://www.codingame.com/multiplayer/bot-programming/connect-4
philRG: il parle de min max pas de bfs
3141948: En fait j'aime bien découvrir un nouveau jeu, mais pas passer des heures sur des optimisations de code
nicola: Monsieur et madame Vitemonslip ont un fils.
nicola: ʇɹǝqıןıɥԀ-uɐǝſ
Bon[]Crayon: Automaton2000 Madame et Madame Tortue ont un bot comment s'appelle-t-il ?
Automaton2000: bonjour tout le monde et Bon[]Crayon
Bon[]Crayon: Automaton2000 Bonjour tout seul :joy: Excuse l’humour.
Automaton2000: j ai du mal avec le mode d'édition de l'ide cg, et aussi un peu de code
3141948: Ah mais on se comprend Automaton2000
Automaton2000: j'ai pas fait gaffe à ce que tu veux sans doute soit un template, soit array<>
3141948: Pas grave
dwarfie: je constate qu'automaton2000 s'est mis au c++ ... c'et bien
Automaton2000: c'est pas comme si il ne me reste plus que le boss
philRG: et merde me suis fait griller
philRG: i=input d=[int(i()),int(i()),int(i())] r=[n for n in set(d)if d.count(n)>1] print(r[0] if r else'no solution')
philRG: pour 6 caractères :-(
philRG: par ce gars:
philRG: import collections as l i=input c,n=l.Counter([i(),i(),i()]).most_common(1)[0] i([c,'no solution'][n<2])
philRG: faut tout de même bien être maso :-D
philRG: buggystyle
Zorg1: :thinking:
pardouin: quand tu as des entrées en colonne comme ça tu peux utiliser open(0)
pardouin: ça récupère toutes les entrées dans une liste
pardouin: 104chars->94chars
buggystyle: Oui et tu gagnais 15 caracteres en enlevant les int()
pardouin: tu translitères -> 94chars -> 62chars
pardouin: 72*
philRG: gargle
philRG: :thumbsup:
philRG: respect à pardouin
dwarfie: apres , ca doit se faire en 50 char en bash ... :yum:
philRG: ah c une idée çà le CoC pour faire du bash
Zorg1: pour certains CoC c'est même conseillé pour le shortest
philRG: bon en panne d'inspiration là, je fais du transcript des classes Java de vindinium en python, ça m'occupe
Oliten: Bonsoir
Zorg1: yop
quentin_aa: salut
Limonade: salut
philRG: bon il devait être fatigué en codant vindinium, ou alors c moi :-)
JBM: l'un n'empêhe pas l'eutre
Zorg1: va falloir imposer l'éthylotest sur le chat CG
Zorg1: déjà qu'il n'y a pas grand monde ...
pardouin: quand tu trouves une astuce pour dégager 1 char au moment où tu soumets ton shortest CoC D:
pardouin: il leur reste 8min pour trouver :crossed_fingers:
pardouin: c'était "aire de la surface d'une boite"
pardouin: je soumets ce truc vite en me disant qu'un autre le ferait peut-être avant: a,b,c=map(int,open(0));print(2*(a*b+b*c+c*a))
pardouin: et paf je trouve: a,b,c=map(int,open(0));print(a*b+b*c+c*a<<1)
pardouin: doit y avoir mieux dans d'autres langages masi la flemme
philRG: bon demain est un autre jour: taverns : [Type.AIR (9,8), Type.AIR (9,8), Type.AIR (9,8), Type.AIR (9,8)]
philRG: j'ai mal du transcrire le code Java d'euler en python
pardouin: courage
pardouin: les multis commu j'ai du mal à me motiver
philRG: ah ben en général les codes d'euler sont pas mal, mais après la méthode find_target de la classe Hero, déjà je capte pas
philRG: il a déjà du mérite d'en faire autant
philRG: les sprites sont un peu durs à voir, et je distingue mal les replays, ça doit pas mal bloquer au niveau des chemins
Stilgart: pardouin: tu mérites surtout de tomber sur un gus qui va le faire en bash
pardouin: oui c'est sans doute le plus short
Stilgart: pas sans doute
Stilgart: read a b c
Stilgart: ça explose ton python :)
Stilgart: et echo c'est aussi plus court que print
pardouin: je connais très mal bash en fait
Stilgart: ouais enfin là... read + echo $[calcul]
pardouin: j'ai pas linux, je l'utilise jamais
Stilgart: je parierai pas que <<1 ça passe par contre
Stilgart: (déjà en python ça me parait douteux que ça passe coté priorités)
pardouin: là oui sur un truc très court comme ça j'avoue que j'aurais pu le tenter
pardouin: mais sur un truc plus complexe c'est un coup à ce que je me prenne un sale bug que je comprenne pas et au final devoir le faire en python en un temps très court en dernier recours
pardouin: ça m'est arrivé de planter des CoC comme ça en tentant de le faire en ruby
Stilgart: ruby et perl c'est bien plus fourbe que bash
pardouin: j'ai des milliers d'heures de python dans les pattes, c'est incomparable avec des langages que j'utilise à l'occasion pour du golf
Stilgart: wapffff :)
Stilgart: (comprends que je te plains d'avoir des milliers d'heures de python dans les pattes)
pardouin: ben disons que, devant l'enseigner, je fais surtout ça
Stilgart: c'est encore pire
Stilgart: (enfin, ça dépend à qui tu l'enseignes...)
pardouin: des lycéens
Stilgart: c'est ce que je craignais
Stilgart: crois-moi, tu ne leur enseignerais rien du tout que ça serait mieux
pardouin: mais ça peut être cool, en terminale NSI on va quand même assez loi il y a moyen de se faire plaisir
pardouin: loin*
Stilgart: mais ça fait des dégats monstrueux en algo/prog
pardouin: je n'en suis pas si sûr
Stilgart: moi si
Stilgart: vu et revu chaque année
Stilgart: pour celui qui fera de la bio plus tard c'est pas très grave
Stilgart: pour le physicien c'est déjà génant
pardouin: non mais rien à voir entre des terminale S ancienne mouture qui avaient un peu Pythonné en Math sans cours théorique derrière
Stilgart: mais pour l'informaticien c'est une catastrophe
pardouin: et des NSI qui en ont fait 6h par semaine avec beaucoup de théorie
Stilgart: avec un langage où personne ne maîtrise la portée des variables :)
Stilgart: d'ailleurs, les déclarer c'est surfait
Stilgart: mon problème, c'est qu'en voulant aller loin, on construit sur une base en carton
Stilgart: et... spoiler... à un moment ça s'écroule :D
pardouin: donne moi un exemple concret
pardouin: c'est pas pour te contredire mais ça m'intéresse réellement
Stilgart: de ?
pardouin: de mauvaise construction dans l'apprentissage qui pose des problème plus tard
Stilgart: thor ep1
Stilgart: les gens ne se demandent pas ce qu'ils ont besoin comme variables et se vautrent dessus
pardouin: moui
Stilgart: pour ce que je vois régulièrement... aucune question sur l'utilisation mémoire
Stilgart: (parait qu'elle est infinie)
pardouin: mais est-ce que c'est très grave de s'y intéresser plus tardivement ?
Stilgart: ni sur les structures de données (tout est hashtable après tout)
Stilgart: réponse d'un étudiant : "oser, ça marche en python"
Stilgart: osef*
pardouin: peut-être certains mais pas tous
Stilgart: il ne le dit pas comme ça, mais il le pense (à tort)
Stilgart: c'est très général
pardouin: si tu utilises python de manière éclairée en expliquant bien que tu ne pourrais pas faire les choses aussi simplement en C par ex
pardouin: c'est pas si grave
Stilgart: quand tu as appris à coder sans te poser de question, tu vois le C et tu ragequit parce que là tu dois te les poser ces questions
pardouin: ben non pas forcément
Stilgart: le pire, c'est quand les étudiants le font inconsciemment
pardouin: justement on leur montre un peu de C et d'assembleur, c'est plutôt pas mal fait à ce niveau
Stilgart: s'ils n'en font pas, vous perdez votre temps
pardouin: mais tu verras que si tu récupères des élèves de NSI, tu devrais voir une vraie différence avec les anciens terminales
pardouin: ils n'auront pas juste "fait du python en pensant que tout est simple"
Stilgart: ils seront sans doute encore plus casse-burne :)
pardouin: lol
Stilgart: s'ils ne codent qu'en python, bien sûr que si
Renamed: Yop ^^ j'apprends le python et je sais qu il faudra apprendre d'autres langages si je veux trouver un job dans le domaine
Renamed: mais il faut commencer quelque part
Stilgart: oui, et c'est pas en python
pardouin: c'est pas juste une question de job Renamed, c'est plus pour la compréhension générale de la prog
pardouin: c'est évident qu'il faut voir autre chose que Python, et surtout du C
Renamed: imaginez rien qu'en python je galère la actuellement
pardouin: mais je crois pas que ce soit grave si ça arrive assez tard dans le cursus
Stilgart: en terme de pédagogie, python c'est presque le pire choix en fait
pardouin: le gros avantage c'est que tu peux coder plein de projets en un temps record
Stilgart: pardouin: alors rend-moi service et crois-le :D
dwarfie: l'art de commencer en prenant de mauvais reflexes/habitudes ...
Stilgart: ou va faire des vacations en licence
pardouin: et tu penses qu'en n'ayant pas fait de prog du tout et en commençant direct le C dans le supérieur ils y arrivent mieux ?
pardouin: ou en faisant direct du C à bloc au lycée ?
Stilgart: pardouin: tu as 70 ans ?
pardouin: 35
Stilgart: dans ce cas, tu devrais savoir que le C c'est très simple
pardouin: je prétends pas être d'une grande sagesse hein
Stilgart: il faut arrêter avec la vision des cours de C imbittables
pardouin: oh je dis pas que c'est imbittable
Stilgart: c'était déjà plus vrai de notre temps (j'en ai 36)
pardouin: juste que ça prend plus de temps
pardouin: et les librairies graphiques par ex sont un peu plus imbittables oui
Stilgart: et pour info, oui... à Perpignan on avait de bien meilleurs résultats en commençant par le C
dwarfie: dissertation : vaut-il mieux prendre du temps et faire bien ? ou faire de la merde vite sans savoir ce qu'on fait ? vous avez 3h ...
pardouin: je vous trouve un peu condescendants quand même genre "coder en python c'est pas coder"
Stilgart: en même temps, c'est le point de départ de python
Renamed: le truc c'est que je pense que vous avez une vision d'ingénieur. :/
pardouin: alors qu'on peut apprendre et comprendre des tonnes d'algos, peu importe le langage
Stilgart: un langage avec un syntaxe osef pour les biologistes
Stilgart: soucis avec python, tu fais comment quand tu as besoin d'un tableau ?
pardouin: tu fais avec une liste ou un tuple et c'est pas si grave
pardouin: oui tu gaspille de la mémoire
Stilgart: bah le problème, c'est que si, c'est extrêmement grave
pardouin: mais cette réflexion peut venir après
Stilgart: ha non
Stilgart: pour 80% de mes étudiants elle ne vient jamais
pardouin: au pire il y a un module array
Stilgart: même en le martelant en cours et en donnant des projets qui les met dedans
Stilgart: (et j'ai pas les pire)
Stilgart: il y a numpy mais bon...
pardouin: oui d'ailleurs je l'utilise pas mal pour ça justement
pardouin: les types d'entiers, les arrays
pardouin: pour que les élèves touchent ça du doigt même en python
Stilgart: pour NSI je ne sais pas si c'est autorisé, mais en prépa ça ne l'est pas
pardouin: c'est dommage
Popop: Mon 2cent : Je me suis formé en autodidacte avec des langages web pour ensuite faire du C#, Ruby&maintenant C++ et j'ai bien aimé cette approche. En arrivant au C++ j'avais pas mal d'interrogations sur des choses qui étaient encore très abstraites pour moi et j'avais donc une motivation/raison pour attaquer le C++.
Stilgart: équité entre les prépas...
Stilgart: et oui, c'est con
pardouin: parce que quand tu leur explique les problèmes d'overflow etc et que tu peux pas leur montrer
Stilgart: mais c'est pas au programme, donc pas autorisé
pardouin: c'est un peu couillon
Renamed: quoi en gros dans vos cursus vous apprennez pas numpy les array jupyter et tout ces trucs la ?
Stilgart: l'info pour tous c'est 2h par semaine et il n'y a pas que de la prog
pardouin: bon c'est pas le tout mais je vais dodo
Stilgart: et moi j'enseigne pas numpy... ceux que je forme ne coderont essentiellement pas en python
pardouin: mais c'est intéressant cette discussion et ne t'en fais pas j'essaye d'avoir ces problématiques en tête tout le temps ;)
pardouin: j'essaye justement de pas en faire des assistés
Stilgart: et j'essaie de sensibiliser au fait que quand on a eu python entre les mains, on refuse souvent d'utiliser un langage plus strict
Renamed: de toute manière enfin ce que je me dis quand je pense a devenir programmer ou codeur, c'est qu il faut quand même tenter de toucher a tous ces framework librairies etc.
Renamed: perso de mon coté je me dis qu après python je tenterai le Js
Stilgart: (et aussi que python c'est anti-pédagogique... mais c'est sans doute pour ça qu'il a été choisi)
dwarfie: il faut eviter de toucher au framework , c'est sale (ou au moins pas avant d'avoir vraiment le langage dans les pattes)
Renamed: merci pour le conseil dwarfie je m y étais un peu attardé mais franchement avec les notions que j ai actuellement les framework c est trop compliqué :/
Renamed: ça va faire vraiment newbie mais pour moi les framework faisait partie du langage en fait....
dwarfie: ben le soucis des framework (pour avoir discuté avec un gars qui cherchait a recruter) c'est qu'il trouve pas de gars sachant faire sans celui qu'ils ont appris ....
Stilgart: en python, la frontière est floue
dwarfie: ca fait comme pour wordpress pour les sites , solution de facilité dans les formations et a la sortie ils connaisent qu'une chose et arrivent pas a en sortir
Renamed: en fait j avais commencé html css Js je comptais faire php et sql après mais j ai un peu buté sur le Js puis j ai fait une pause quand j ai repris je me suis tourné vers python ça m a semblé plus facile
Stilgart: mais si... ça fait juste des programmes^Wsites aux perfs miteuses
Stilgart: tiens... dur de dire qui est le plus facile entre python et js...
Stilgart: le net dire unanimement python
Renamed: en fait c est la syntaxe en Js
Renamed: elle est bcp moins intuitive qu'en python
Stilgart: mais honnêtement, je penche plutôt pour js
dwarfie: et dommage d'avoir tenté js avant php ... vu la permeabilité entre le C/C++ et php niveau syntaxe ... imho
Renamed: du fait des crochets à la ligne
Stilgart: Renamed: la syntaxe c'est que de la syntaxe
Popop: Le problème avec JS c'est qu'il a un écosystème très complet, quand on débute on peut vite s'y perdre. De plus, quand tu fais une recherche sur stackoverflow une fois sur deux tu as une réponse qui utilise jQuery
Stilgart: temps estimé pour la prise en main : 3h
Etienne932: je viens de commencer le python ainsi que la programmation en général, vous savez combien de temps ça prend pour avoir un très bon niveau?
Renamed: en fait je fait tout ça hors cursus j ai suivi des tuto youtube xD
Stilgart: Etienne932: toute une vie
Stilgart: après, tu mets peut-être la barre moins haut que moi :D
Etienne932: x)
dwarfie: Renamed ... dis toi que de mon temps , y'avait meme pas d'internet .... et je suis hors cursus aussi :rofl:
Renamed: stilgart je pense vraiment que tu mets la barre très haut ^^
Stilgart: blague à part, tu ne peux pas avoir un très bon niveau avec juste python
Etienne932: tu conseil quel langage?
Renamed: perso j ai fait une année d'info quand j avais 19 ans mais j'étais tellement un trou de balle que j ai abandonné
**Stilgart pioche au hasard
Popop: Osef du langage, il faut d'abord comprendre les concepts clés
**dwarfie a pas pris en iut info parce que pas assez bon niveau :D
Stilgart: bash, C++, python, Haskell
Rapster: avoir un très bon niveau est plutot vague, tout dépend de tes objectifs...
Etienne932: Stilgart: merci
Stilgart: mais bon, il faut surtout un langage de script, un langage pour le calcul/les perfs (j'aurais pu dire rust, un langage de prog fonctionnelle
Stilgart: et j'ai laissé python parce que tu l'as déjà dans ta liste
Stilgart: on va dire que c'est le langage multi-fonction
Stilgart: j'aurais pu dire
Etienne932: en objectif je dirais pouvoir programmer dess choses complexes sans check sur google
Stilgart: perl, Rust, PHP, Scala note
Renamed: etienne932 je pense qu il y a aucun problème a check sur google
Rapster: les big techs companies se fouteront complètement du langage que tu utilises, un mec qui fait un cursus math aura certainement beaucoup plus de chances que toi d'etre embauché
Renamed: même si tu as un très bon niveau
Stilgart: Renamed: à part pour la planète :)
Stilgart: coder sans la documentation de ton langage et ses librairies, c'est déraisonnable
Etienne932: BTS SIO ça compte? x)
Renamed: mais bon ça vient avec le temps et la pratique je me dis
Rapster: ils se foutent de l'école que tu viens aussi, mais bon, l'école aide beaucoup en général pour ce genre d'entretien tech
Renamed: plutot que de se concentrer sur apprendre par coeur toutes les méthodes, deja les appliquer viendra un jour ou y aura plus besoin d aller sur google
Renamed: quand on code un peu tous les jours ca fini par bien rentrer enfin c est ce que je me dis xD
Etienne932: haha je l'espère
Etienne932: là j'en suis qu'à 3j donc je suis un peu peru x)
Etienne932: perdu*
Popop: Même effet après 4 ans :D
dwarfie: je confirme .... et surtout ne jamais oublier la technique secrete du papier/crayon/cerveau ....
Renamed: perso je suis a genre 1 mois et je suis encore perdu ^^'
Etienne932: je vais essayer de m'entraîner genre 5h par jour
Stilgart: 1 mois même à temps plein c'est très peu
Renamed: depuis que j ai découvers ce site je fais facile 5h par jour
Renamed: et ça me prend des heures xD
Etienne932: il y a pas des puzzles pr débutant?
Stilgart: je suggérerai bien 1 puzzle par jour plutôt
Renamed: tu vas sur entrainement
Rapster: il y a qq part sur le site, une catégorie algo qui te sort la complexité de ton code?
Renamed: perso ça me prend souvent 2 jours pour faire un puzzle
Stilgart: Etienne932: pour le grand débutant, non
Renamed: genre le premier jour je reflechi y a rien qui vient
Renamed: le lendemain je trouve des solutions
Stilgart: sur les easy ?
Renamed: la je pense je suis sur le premier moyen
Renamed: le puzzle avec les feu
Oliten: Re bonsoir
Etienne932: je vais essayer de faire "The descent" --> boucles
Stilgart: attention, le medium c'est du fourre-tout
Stilgart: j'en vois que deux avec du feu, et ils ne sont pas parmi les plus simples
Oliten: Conversation intéressante (je me suis permis de remonter pour la lire entierement)
Renamed: le chucknorris je l ai reussi qu a 50%
Renamed: le site me dit que j ai trop codé dur
Renamed: je comprends pas trop ce que ca veut dire
Stilgart: chuck norris c'est le genre à te titiller sur le soin
Stilgart: et les détails
dwarfie: une fois le chuck norris fait ... autant enchainé sur le bruce lee ensuite ... c'est son contraire ....
Renamed: mais pas pour les 2 premiers validateurs quand je le soumet
Oliten: J'ai une question, en prenant les puzzles easy, vous les resolver en combien de temps généralement ?
Renamed: mais je suis débutant
Stilgart: moins de 15 min, en faisant autre chose
**dwarfie ne repondra pas , ce serait deprimant
Renamed: stilgart il te les fait en 5 minutes
Stilgart: dwarfie est plus rapide que moi
Oliten: Je suis débutant également
Renamed: masije me disque c est une histoire d habitude
Renamed: genre eux ils sont codeur pro enfin je crois
Oliten: J'ai surtout l'impression que c'est une question de logique à acquerir
Stilgart: la grosse différence, c'est que je vois pratiquement tout de suite ce que je dois coder et comment
Renamed: et ils voient le problème ils savent casi d entrée comment il vont faire
Renamed: la ou nous on tatonne
Renamed: avec des if par ci et par là xD
Stilgart: il faut voir plus large que ça
Renamed: j ai codé des trucs qui font 30 lignes
Renamed: la ou les meilleurs algo le font en 4 lignes xD
Stilgart: le if c'est du détail (surtout en Haskell où j'ai une chance sur deux pour que ça soit une garde à la place)
dwarfie: c'est pas parce moins de ligne que c'est meilleur ...
Stilgart: par contre, les fonctions dont j'ai besoin, l'ordre dans lequel les appeler
Stilgart: ce que ça va calculer et comment l'exploiter (efficacement)
Renamed: après franchement comme je l ai dit avant je pense que ca viendra avec le temps
Stilgart: oui, ça vient uniquement avec la pratique ça
Renamed: là par rapport a quand je suis arrivé sur le site je sens que j ai progressé
Renamed: même ma manière d entamer les programmes ça a changé
Stilgart: réfléchir plus avant de coder
Stilgart: un bon objectif serait d'arriver à avoir tout le code en tête avant de coder
Renamed: en fait je mets de plus en plus de commentaire
Stilgart: sur les easy c'est jouable
Renamed: pour tenter de structurer ma pensée
Renamed: ce qui m aide à pas me perdre dans mon code quand je le retouche
Oliten: moi je me fais des schema, ou j'ecris tout sur un cahier avant de coder
Oliten: enfin j'essaye de m'habituer a le faire
**Stilgart croule sous les brouillons
dwarfie: :clap:
Stilgart: après, c'est plus souvent pour déboguer ces derniers temps ... :/
Renamed: j ai pas bcp de place sur mon bureau ^^'
Stilgart: moi non plus :fearful:
Renamed: mais sinon coder j ai l impression vraiment
Renamed: que plus on est bon plus on kiff
Stilgart: c'est vrai pour tout ça
**dwarfie se souvient pas si on peut encore voir le bois du bureau de stilgart entre les feuilles de papier :D
Renamed: au début c t tellement relou
Stilgart: pas sûr :D
Renamed: j avais 20 onglets d ouvert pour faire des petits trucs complètement naze
Stilgart: bon, sur ce, je vais aller me coucher moi
Stilgart: la journée d'aujourd'hui va être longue
Renamed: ouais en fait plus on code plus on comprends les trucs sur le net
Oliten: Bonne nuit Stilgart
Oliten: Bon moi je planche sur mon puzzle encore une petite demi heure et je file aussi :)
Renamed: et donc vous vous conseillez vraiment de mettre sur papier avant d entamer a coder
Oliten: @renamed perso ca m'aide a me structurer
dwarfie: clairement ... au bout d'un moment le papier est dans la tete mais c'est pas toujours possible et on en revient au papier ... un crobar ca debloque souvent une situation ;)
Oliten: croquis
dwarfie: arf ... et en plus j'ai oublié le "d" a la fin :p
Zorg1: pas sûr qu'il y ait une écriture officiel de "crobar"
dwarfie: en effet , dans le larousse , y'a les 2 :D
Renamed: en meme temps si y a un d a crobar autant ecrire croquis y a autant de lettres
Zorg1: genre de terme que j'ai toujours entendu jamais lu ;-)
Renamed: please vous foutez pas de moi, mais ici j ai un truc que je comprends pas.
Renamed: a un moment j ai ce bout de code
Renamed: if calcul_distance_a_vitesse_max > distance:
reponse_prov = speed if i == range(light_count): rep = reponse_prov
Renamed: mais quand plus tard je tente de print le rep de ce if ça me dit
Renamed: ValueError: invalid literal for int() with base 10:
Renamed: je sais c est vraiment dégueulasse
Renamed: mais j aimerai comprendre pourquoi ça marche pas a savoir que l entrée pour speed c'est un int
Oliten: tu es sur quel puzzle Renamed ?
Renamed: en fait j arrive a contourner ce problème
Renamed: mais pour ce faire mon code devient de plus en plus dégueux xD
Renamed: c est juste après batman laveur de vitre
Renamed: en même temps je sens que je m y prends très très mal
Renamed: bon c est pas grave je vais faire une pause je m y remettrai demain bonne nuit a ceux encore la