Chat:Fr/2021-09-12

From CG community
Revision as of 05:29, 13 September 2021 by Chat Log (talk | contribs) (Created page with "<img src=/a/69078667938236> Remi_avec_un_i: Pas facile The Bridge (avec les motos) ... mais satisfaisant une fois qu'on y arrive. <img src=/a/17785582865119> '''**dwarfie a l...")
(diff) ← Older revision | Latest revision (diff) | Newer revision → (diff)
Jump to navigation Jump to search

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

Default avatar.png JBM: ouais, python ça occupe

philRG: bon il devait être fatigué en codant vindinium, ou alors c moi :-)

Default avatar.png JBM: l'un n'empêhe pas l'eutre

Default avatar.png JBM: houla j'ai bu ou quoi

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

Default avatar.png 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

Default avatar.png 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

Default avatar.png 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

Default avatar.png 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

Default avatar.png 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

Default avatar.png 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

Default avatar.png Renamed: bonne nuit pardouiln

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

Default avatar.png 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.

Default avatar.png 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)

Default avatar.png 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é :/

Default avatar.png 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

Default avatar.png 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

Default avatar.png Renamed: en fait c est la syntaxe en Js

Default avatar.png 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

Default avatar.png Renamed: du fait des crochets à la ligne

Stilgart: Renamed: la syntaxe c'est que de la syntaxe

Default avatar.png 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?

Default avatar.png 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:

Default avatar.png 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?

Default avatar.png 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

Default avatar.png 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

Default avatar.png 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

Default avatar.png Renamed: etienne932 je pense qu il y a aucun problème a check sur google

Default avatar.png 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é

Default avatar.png 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

Default avatar.png Renamed: j avoue

Etienne932: BTS SIO ça compte? x)

Default avatar.png Renamed: mais bon ça vient avec le temps et la pratique je me dis

Default avatar.png 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

Default avatar.png 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

Default avatar.png 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*

Default avatar.png Rapster: lol

Default avatar.png Popop: Même effet après 4 ans :D

dwarfie: je confirme .... et surtout ne jamais oublier la technique secrete du papier/crayon/cerveau ....

Default avatar.png Renamed: perso je suis a genre 1 mois et je suis encore perdu ^^'

Default avatar.png Rapster: attends qqs années

Etienne932: je vais essayer de m'entraîner genre 5h par jour

Stilgart: 1 mois même à temps plein c'est très peu

Default avatar.png Rapster: ça va te dégouter

Default avatar.png Renamed: perso etienne

Default avatar.png Renamed: depuis que j ai découvers ce site je fais facile 5h par jour

Default avatar.png Renamed: je tente les puzzle

Default avatar.png Renamed: et ça me prend des heures xD

Etienne932: il y a pas des puzzles pr débutant?

Default avatar.png Renamed: sisi

Stilgart: je suggérerai bien 1 puzzle par jour plutôt

Default avatar.png Renamed: tu vas sur entrainement

Default avatar.png Rapster: il y a qq part sur le site, une catégorie algo qui te sort la complexité de ton code?

Default avatar.png Renamed: perso ça me prend souvent 2 jours pour faire un puzzle

Stilgart: Etienne932: pour le grand débutant, non

Default avatar.png Renamed: genre le premier jour je reflechi y a rien qui vient

Default avatar.png Renamed: le lendemain je trouve des solutions

Stilgart: sur les easy ?

Default avatar.png Renamed: la je pense je suis sur le premier moyen

Default avatar.png Renamed: le puzzle avec les feu

Oliten: Re bonsoir

Default avatar.png Renamed: bonsoir

Etienne932: je vais essayer de faire "The descent" --> boucles

Stilgart: attention, le medium c'est du fourre-tout

Default avatar.png Renamed: mais en vrai

Default avatar.png Renamed: meme dans les easy

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)

Default avatar.png Renamed: le chucknorris je l ai reussi qu a 50%

Default avatar.png Renamed: le site me dit que j ai trop codé dur

Default avatar.png 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

Default avatar.png Renamed: pourtant il marche

dwarfie: une fois le chuck norris fait ... autant enchainé sur le bruce lee ensuite ... c'est son contraire ....

Default avatar.png 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 ?

Default avatar.png Renamed: perso 2 jours oliten

Default avatar.png Renamed: mais je suis débutant

Stilgart: moins de 15 min, en faisant autre chose

**dwarfie ne repondra pas , ce serait deprimant

Default avatar.png Renamed: stilgart il te les fait en 5 minutes

Stilgart: dwarfie est plus rapide que moi

Oliten: Je suis débutant également

Default avatar.png Renamed: masije me disque c est une histoire d habitude

Default avatar.png 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

Default avatar.png Renamed: et ils voient le problème ils savent casi d entrée comment il vont faire

Default avatar.png Renamed: la ou nous on tatonne

Default avatar.png Renamed: avec des if par ci et par là xD

Stilgart: il faut voir plus large que ça

Default avatar.png Renamed: j ai codé des trucs qui font 30 lignes

Default avatar.png 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)

Default avatar.png 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

Default avatar.png Renamed: là par rapport a quand je suis arrivé sur le site je sens que j ai progressé

Default avatar.png Renamed: même ma manière d entamer les programmes ça a changé

Stilgart: réfléchir plus avant de coder

Default avatar.png Renamed: surement

Stilgart: un bon objectif serait d'arriver à avoir tout le code en tête avant de coder

Default avatar.png Renamed: en fait je mets de plus en plus de commentaire

Stilgart: sur les easy c'est jouable

Default avatar.png Renamed: pour tenter de structurer ma pensée

Default avatar.png 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 ... :/

Default avatar.png Renamed: j ai pas bcp de place sur mon bureau ^^'

Stilgart: moi non plus :fearful:

Default avatar.png Renamed: mais sinon coder j ai l impression vraiment

Default avatar.png 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

Default avatar.png Renamed: au début c t tellement relou

Stilgart: pas sûr :D

Default avatar.png 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

Default avatar.png Renamed: ouais en fait plus on code plus on comprends les trucs sur le net

Default avatar.png Renamed: bonne nuit stilgart

Oliten: Bonne nuit Stilgart

Oliten: Bon moi je planche sur mon puzzle encore une petite demi heure et je file aussi :)

Default avatar.png 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 ;)

Default avatar.png Renamed: un crobar ?

Default avatar.png Popop: un brouillon

Oliten: croquis

Default avatar.png Renamed: oki ty

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

Default avatar.png 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 ;-)

Default avatar.png Renamed: please vous foutez pas de moi, mais ici j ai un truc que je comprends pas.

Default avatar.png Renamed: a un moment j ai ce bout de code

Default avatar.png Renamed: if calcul_distance_a_vitesse_max > distance:

       reponse_prov = speed
       if i == range(light_count):
           rep = reponse_prov

Default avatar.png Renamed: mais quand plus tard je tente de print le rep de ce if ça me dit

Default avatar.png Renamed: ValueError: invalid literal for int() with base 10:

Default avatar.png Renamed: je sais c est vraiment dégueulasse

Default avatar.png 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 ?

Default avatar.png Renamed: aneo

Default avatar.png Renamed: en fait j arrive a contourner ce problème

Default avatar.png Renamed: mais pour ce faire mon code devient de plus en plus dégueux xD

Default avatar.png Renamed: c est juste après batman laveur de vitre

Default avatar.png Renamed: en même temps je sens que je m y prends très très mal

Default avatar.png Renamed: bon c est pas grave je vais faire une pause je m y remettrai demain bonne nuit a ceux encore la