Contenu | Rechercher | Menus

Annonce

DVD, clés USB et t-shirts Ubuntu-fr disponibles sur la boutique En Vente Libre

Si vous avez des soucis pour rester connecté, déconnectez-vous puis reconnectez-vous depuis ce lien en cochant la case
Me connecter automatiquement lors de mes prochaines visites.

À propos de l'équipe du forum.

#2426 Le 02/02/2012, à 21:37

The Uploader

Re : /* Topic des codeurs [6] */

Etoma a écrit :

Ok. Mais à la base, l'apprentissage de l'algorithmique sert pour les deux?
Apprendre à trouver une solution logique à un problème, où il peut y avoir plusieurs "chemins"?

l'algorithmique sert pour tout, c'est généraliste.

Il y a toujours plusieurs solutions à un problème, même si souvent il y a des solutions (re)connues pour les problèmes typiques.

Pour les bouquins ou savoir par où commencer je pense que d'autres pourront mieux te conseiller que moi : j'ai fait peu d'algo' "pur", et ce tardivement.

Dernière modification par The Uploader (Le 02/02/2012, à 21:38)


- Oldies PC : Intel Pentium 3 @ 800 Mhz sur CM ASUS P2B-F, GeForce 4 Ti4800 SE, Disque Dur Hitachi 160 Go, 512 Mo de RAM, 3DFX Voodoo 2, Sound Blaster 16 ISA PnP, Windows 98 SE / XP)
- Desktop : Intel Core i7 6700K @ 4 GHz sur CM ASUS Z170-P, GeForce GTX 1070, SSD Samsung 850 EVO 1 To, 16 Go de RAM, Disque Dur Seagate Barracuda 3 To, Windows 10

Hors ligne

#2427 Le 02/02/2012, à 21:37

HP

Re : /* Topic des codeurs [6] */

Etoma a écrit :

Ça change quelque chose pour l'algorithmique? Sinon GUI .

Si tu débutes… commence par de la CLI wink


cat /dev/urandom >/dev/null 2>&1 #github

Hors ligne

#2428 Le 02/02/2012, à 21:50

grim7reaper

Re : /* Topic des codeurs [6] */

HP a écrit :
Etoma a écrit :

Ça change quelque chose pour l'algorithmique? Sinon GUI .

Si tu débutes… commence par de la CLI wink

+1

Sinon le seul bouquin d’algo que je connais n’est pas vraiment un truc d’initiation donc bon… Je ne sais pas trop quoi conseiller sur ce coup-là.

Dernière modification par grim7reaper (Le 02/02/2012, à 21:50)

Hors ligne

#2429 Le 02/02/2012, à 21:52

The Uploader

Re : /* Topic des codeurs [6] */

Mais faut-il vraiment passer par l’algorithmique ?

</epic troll (ou pas)>

Dernière modification par The Uploader (Le 02/02/2012, à 21:52)


- Oldies PC : Intel Pentium 3 @ 800 Mhz sur CM ASUS P2B-F, GeForce 4 Ti4800 SE, Disque Dur Hitachi 160 Go, 512 Mo de RAM, 3DFX Voodoo 2, Sound Blaster 16 ISA PnP, Windows 98 SE / XP)
- Desktop : Intel Core i7 6700K @ 4 GHz sur CM ASUS Z170-P, GeForce GTX 1070, SSD Samsung 850 EVO 1 To, 16 Go de RAM, Disque Dur Seagate Barracuda 3 To, Windows 10

Hors ligne

#2430 Le 02/02/2012, à 22:17

tshirtman

Re : /* Topic des codeurs [6] */

On peut apprendre l'algo en même temps qu'un langage, si ce langage est proche du pseudo code tongue

@etoma: learnpythonthehardway.org par exemple

Dernière modification par tshirtman (Le 02/02/2012, à 22:18)

Hors ligne

#2431 Le 02/02/2012, à 22:20

The Uploader

Re : /* Topic des codeurs [6] */

tshirtman a écrit :

On peut apprendre l'algo en même temps qu'un langage, si ce langage est proche du pseudo code

Justement de ce point de vue Ruby est très fort :

cool

Dernière modification par The Uploader (Le 02/02/2012, à 22:34)


- Oldies PC : Intel Pentium 3 @ 800 Mhz sur CM ASUS P2B-F, GeForce 4 Ti4800 SE, Disque Dur Hitachi 160 Go, 512 Mo de RAM, 3DFX Voodoo 2, Sound Blaster 16 ISA PnP, Windows 98 SE / XP)
- Desktop : Intel Core i7 6700K @ 4 GHz sur CM ASUS Z170-P, GeForce GTX 1070, SSD Samsung 850 EVO 1 To, 16 Go de RAM, Disque Dur Seagate Barracuda 3 To, Windows 10

Hors ligne

#2432 Le 02/02/2012, à 22:33

Elzen

Re : /* Topic des codeurs [6] */

Hey, les gens… ça existe un « navigateur » en mode texte qui ne prenne pas une URL, mais à qui tu files directement à bouffer du code HTML ?

Hors ligne

#2433 Le 02/02/2012, à 22:47

Etoma

Re : /* Topic des codeurs [6] */

Mouais, en gros, je prends un bouquin d’initiation à la programmation, dont les premiers chapitres parlent d'algorithmique et qui développent plus loin sur les langages.
Reste plus qu'à.

Dernière modification par Etoma (Le 02/02/2012, à 22:47)


"un gars qui agit pour le bien des gens sans leur demander leur avis"
PirateBox

Hors ligne

#2434 Le 02/02/2012, à 23:00

Pylades

Re : /* Topic des codeurs [6] */

Πυλάδης a écrit :

Hey, tshirtman, t’as fait comment pour dire à ton Vim d’aller chercher le vimrc sur ~/.vim/vimrc ?


“Any if-statement is a goto. As are all structured loops.
“And sometimes structure is good. When it’s good, you should use it.
“And sometimes structure is _bad_, and gets into the way, and using a goto is just much clearer.”
                Linus Torvalds – 12 janvier 2003

Hors ligne

#2435 Le 02/02/2012, à 23:50

Pylades

Re : /* Topic des codeurs [6] */

Au fait, les utilisateur de Clang/LLVM, vous n’avez pas de problème avec Valgrind ? Chez moi, on perd pas mal d’informations, en compilant avec Clang (sans compter que les flags pour les warnings ne sont pas documentés)…


“Any if-statement is a goto. As are all structured loops.
“And sometimes structure is good. When it’s good, you should use it.
“And sometimes structure is _bad_, and gets into the way, and using a goto is just much clearer.”
                Linus Torvalds – 12 janvier 2003

Hors ligne

#2436 Le 02/02/2012, à 23:58

tshirtman

Re : /* Topic des codeurs [6] */

@The Uploader: excuse moi, mais pour ce que j'en découvre pour l'instant, le ruby m'a l'air quand même moins bien que python pour un débutant… les avantages ont surtout l'air pour ceux qui sont prêt à jouer aux apprentis sorcier, en patchant le langage dans tous les sens, créant des DSL et autre choses, c'est sans doute cool pour la métaprogrammation, mais je pense qu'il faut d'abords avoir des bases un peu plus strictes.

@pylade: regarde init.sh…

Hors ligne

#2437 Le 03/02/2012, à 00:05

Kanor

Re : /* Topic des codeurs [6] */

Arkseth
euh

w3m filename

ça te va pas ?

Hors ligne

#2438 Le 03/02/2012, à 00:08

grim7reaper

Re : /* Topic des codeurs [6] */

Πυλάδης a écrit :

Au fait, les utilisateur de Clang/LLVM, vous n’avez pas de problème avec Valgrind ?

À première vue non, tu as un exemple de code ?

Πυλάδης a écrit :

(sans compter que les flags pour les warnings ne sont pas documentés)…

Perso, pour le mode débug, je suis passé à ça

clang -g -ansi -pedantic -Weverything -fcatch-undefined-behavior -ftrapv

^^

Je pense que Wall et Wextra sont suffisant pour pas mal de cas.
Sinon, pour plus d’info tu peux lire la réponse d’un dev de Clang qui bosse chez Google.

Pour -fcatch-undefined-behavior et -ftrapv, je les ai ajouté après avoir lu ça et ça (mais j’avais déjà posté les liens ici).

Dernière modification par grim7reaper (Le 03/02/2012, à 00:09)

Hors ligne

#2439 Le 03/02/2012, à 00:17

Elzen

Re : /* Topic des codeurs [6] */

Kanor a écrit :

Arkseth
euh

w3m filename

ça te va pas ?

Bah c'est  bien, mais ça bouffe quand même un fichier.
Genre si j'ai un machin qui me génère du code à la volée ou que j'ai déjà téléchargé le contenu du fichier pour faire d'autres traitements dessus, j'suis obligé d'enregistrer ça sur le disque pour le donner à bouffer à w3m, ce qui est assez triste.
J'voudrais pouvoir faire un truc genre

echo '<html><head><title>Titre</title></head><body><div>Contenu</div></body></html>' | w3m

ou bien

w3m '<html><head><title>Titre</title></head><body><div>Contenu</div></body></html>'

ou quelque chose du genre, tu vois ?

Edit : hey ! Bah en fait, la première solution marche, il suffisait de préciser manuellement le type mime du fichier ^^ (avec -T text/html ou -T application/xhtml+xml)

Dernière modification par ArkSeth (Le 03/02/2012, à 00:21)

Hors ligne

#2440 Le 03/02/2012, à 00:18

The Uploader

Re : /* Topic des codeurs [6] */

tshirtman a écrit :

@The Uploader: excuse moi, mais pour ce que j'en découvre pour l'instant, le ruby m'a l'air quand même moins bien que python pour un débutant… les avantages ont surtout l'air pour ceux qui sont prêt à jouer aux apprentis sorcier, en patchant le langage dans tous les sens, créant des DSL et autre choses, c'est sans doute cool pour la métaprogrammation, mais je pense qu'il faut d'abords avoir des bases un peu plus strictes.

Le why (poignant) guide prouve le contraire j'pense : ça ressemble bien souvent à du pseudo code, à de l'anglais 'naturel' (même un peu plus souvent que pour Python 2.x, AMHA).

Franchement si quand je débutais j'avais eu Ruby ben j'aurais bien moins souffert qu'avec les BASIC qui sont pourtant soit disant faits pour les débutants ! Les BASIC, c'est de la grosse daube ouais ! Tous, sans exception ! En tant que débutant, on peut apprendre énormément avec irb, d'ailleurs.

Et puis Ruby EST strict : le langage est purement OO, suit le principe de moindre surprise (il est bien plus constant que d'autres langages), etc...

Le "monkey patching" et les capacités DSL de Ruby, c'est certes sympa et bien intégré, mais ce n'est pas tout ce que le langage sait faire, loin de là. J'ai découvert ça tard, et je m'en sers quasiment jamais. Et rien n'oblige de les utiliser.

Bref, tu dis un peu n'importe quoi, j'trouve, là. hmm

Surtout que bon, Ruby on Rails s'en sort bien pour un framework utilisant un langage aussi peu strict... Et parmi les centaines de gems disponibles, il n'y a que très peu de DSLs ou de patchs de sorciers... Bref, j'te conseille de parcourir RubyForge et RubyGems pour voir les vrais capacités du langage..

Dernière modification par The Uploader (Le 03/02/2012, à 00:49)


- Oldies PC : Intel Pentium 3 @ 800 Mhz sur CM ASUS P2B-F, GeForce 4 Ti4800 SE, Disque Dur Hitachi 160 Go, 512 Mo de RAM, 3DFX Voodoo 2, Sound Blaster 16 ISA PnP, Windows 98 SE / XP)
- Desktop : Intel Core i7 6700K @ 4 GHz sur CM ASUS Z170-P, GeForce GTX 1070, SSD Samsung 850 EVO 1 To, 16 Go de RAM, Disque Dur Seagate Barracuda 3 To, Windows 10

Hors ligne

#2441 Le 03/02/2012, à 00:42

HP

Re : /* Topic des codeurs [6] */

The Uploader a écrit :

Bref, tu dis un peu n'importe quoi, j'trouve, là. hmm

Pareil…


cat /dev/urandom >/dev/null 2>&1 #github

Hors ligne

#2442 Le 03/02/2012, à 00:50

Rolinh

Re : /* Topic des codeurs [6] */

grim7reaper a écrit :
clang -g -ansi -pedantic -Weverything -fcatch-undefined-behavior -ftrapv

Ah, ça tombe bien: j'allais te la demander. smile

Hors ligne

#2443 Le 03/02/2012, à 00:50

tshirtman

Re : /* Topic des codeurs [6] */

Je ne dis pas que c'est pas naturel, pour les choses basiques, mais rechercher à tout prix cette ressemblance, est à mon sens parfois contreproductif.

Genre le truc qu'on a vu hier, je trouve que ça viole vraiment le principe de la moindre surprise. De façon non nécessaire à mon sens, vu qu'il y a déjà une syntaxe pour les blocs, c'est juste pour le plaisir d'en avoir deux… hmm

Le langage est peut être purement OO, mais la plupart des libs n'utilisent pas de namespace, on a donc des effets de bords non désirés aux imports, alors il y a des libs pour blacklister des bouts d'imports, bref, c'est un peu bordélique.

Tiens un truc con, l'indentation significative me manque, j'ai perdu 10mn tout à l'heure à chercher pourquoi mon instruction était executé que dans un cas du if/else, ben je l'avais inséré une ligne trop haut, mais indenté correctement, donc je voyais pas qu'elle était avant le end, pas après…

Les basics sont foireux oui, moi aussi ils m'ont retardé (fortement) dans mon apprentissage de la programmation, mais pour l'instant, je trouve python bien plus clair, et ayant bien moins de "gotcha" que ruby.

pour moi le seul effet positif de tout ça, par rapport à python, c'est les dsl et monkey patch, qui sont des trucs à plutot ne pas montrer au débutant, et je pense, très rarement une bonne idée à utiliser (mais parfois une très bonne idée oui).

Hors ligne

#2444 Le 03/02/2012, à 01:02

The Uploader

Re : /* Topic des codeurs [6] */

tshirtman a écrit :

Je ne dis pas que c'est pas naturel, pour les choses basiques, mais rechercher à tout prix cette ressemblance, est à mon sens parfois contreproductif.

Tu peux l'éviter aussi, ça dépend comment tu écris ton Ruby (comme par exemple utiliser les if de fin de ligne ou les if de manière classique). Pour moi cette ressemblance rend le langage bien plus lisible et conviviale.

tshirtman a écrit :

Le langage est peut être purement OO, mais la plupart des libs n'utilisent pas de namespace, on a donc des effets de bords non désirés aux imports, alors il y a des libs pour blacklister des bouts d'imports, bref, c'est un peu bordélique.

La plupart des libs que j'ai les utilisent, ainsi que le "fer de lance" Ruby On Rails. Que veux tu, tout le monde ne sait pas programmer, sur n'importe quel langage il y aura forcément des amateurs qui utilisent mal le langage...

tshirtman a écrit :

Genre le truc qu'on a vu hier, je trouve que ça viole vraiment le principe de la moindre surprise. De façon non nécessaire à mon sens, vu qu'il y a déjà une syntaxe pour les blocs, c'est juste pour le plaisir d'en avoir deux…

Le POLA ce n'est pas ce que tu crois. C'est surtout quand tu connais les principes du langage que tu n'es plus surpris, que ça devient naturel :

Yukihiro Matsumoto a écrit :

Everyone has an individual background. Someone may come from Python, someone else may come from Perl, and they may be surprised by different aspects of the language. Then they come up to me and say, 'I was surprised by this feature of the language, so Ruby violates the principle of least surprise.' Wait. Wait. The principle of least surprise is not for you only. The principle of least surprise means principle of least my surprise [sic]. And it means the principle of least surprise after you learn Ruby very well. For example, I was a C++ programmer before I started designing Ruby. I programmed in C++ exclusively for two or three years. And after two years of C++ programming, it still surprises me.

Bref, les évolutions de Ruby respectent POLA et ne dérogent pas aux règles pré-établies. ( comme c'est le cas pour les nouvelles versions de BSD : http://linuxfr.org/news/freebsd-90-est-disponible )

Et la redondance, c'est un plus pour les débutants et ceux qui viennent d'autres langages : Tu peux utiliser Hash.value? ou Hash.has_value? c'est pareil et que ce soit l'un ou l'autre tout le monde comprend. C'est l'un des principes du langage et perso ça me plaît fortement.

tshirtman a écrit :

Tiens un truc con, l'indentation significative me manque, j'ai perdu 10mn tout à l'heure à chercher pourquoi mon instruction était executé que dans un cas du if/else, ben je l'avais inséré une ligne trop haut, mais indenté correctement, donc je voyais pas qu'elle était avant le end, pas après…

Pour moi l'indentation significative c'est contre-productif, un do/end if/end n'importe quoi/end c'est beaucoup plus clair et moins casse gueule.

tshirtman a écrit :

pour moi le seul effet positif de tout ça, par rapport à python, c'est les dsl et monkey patch, qui sont des trucs à plutot ne pas montrer au débutant, et je pense, très rarement une bonne idée à utiliser (mais parfois une très bonne idée oui).

ben justement le why (poignant) guide (ni même "Learn Ruby The Hard Way", du moins j'en doute fortement) ne les montrent pas.

Bref, tu me parles surtout de goûts et de couleurs, là.

Dernière modification par The Uploader (Le 03/02/2012, à 01:09)


- Oldies PC : Intel Pentium 3 @ 800 Mhz sur CM ASUS P2B-F, GeForce 4 Ti4800 SE, Disque Dur Hitachi 160 Go, 512 Mo de RAM, 3DFX Voodoo 2, Sound Blaster 16 ISA PnP, Windows 98 SE / XP)
- Desktop : Intel Core i7 6700K @ 4 GHz sur CM ASUS Z170-P, GeForce GTX 1070, SSD Samsung 850 EVO 1 To, 16 Go de RAM, Disque Dur Seagate Barracuda 3 To, Windows 10

Hors ligne

#2445 Le 03/02/2012, à 01:02

Etoma

Re : /* Topic des codeurs [6] */

Rien compris.
big_smile


"un gars qui agit pour le bien des gens sans leur demander leur avis"
PirateBox

Hors ligne

#2446 Le 03/02/2012, à 01:12

The Uploader

Re : /* Topic des codeurs [6] */

Bah voilà au lieu de coder j'écris sur des trucs de toute façon subjectifs. hmm

Fuck ! mad


- Oldies PC : Intel Pentium 3 @ 800 Mhz sur CM ASUS P2B-F, GeForce 4 Ti4800 SE, Disque Dur Hitachi 160 Go, 512 Mo de RAM, 3DFX Voodoo 2, Sound Blaster 16 ISA PnP, Windows 98 SE / XP)
- Desktop : Intel Core i7 6700K @ 4 GHz sur CM ASUS Z170-P, GeForce GTX 1070, SSD Samsung 850 EVO 1 To, 16 Go de RAM, Disque Dur Seagate Barracuda 3 To, Windows 10

Hors ligne

#2447 Le 03/02/2012, à 01:18

tshirtman

Re : /* Topic des codeurs [6] */

pareil, j'ai du code à faire, donc je vais pas te faire perdre ton temps plus que ça.

@Etoma: tire à pile ou face, et choisit python dans les deux cas tongue

Hors ligne

#2448 Le 03/02/2012, à 01:19

The Uploader

Re : /* Topic des codeurs [6] */

Face Ruby gagne, pile Python perd! tongue

Dernière modification par The Uploader (Le 03/02/2012, à 01:19)


- Oldies PC : Intel Pentium 3 @ 800 Mhz sur CM ASUS P2B-F, GeForce 4 Ti4800 SE, Disque Dur Hitachi 160 Go, 512 Mo de RAM, 3DFX Voodoo 2, Sound Blaster 16 ISA PnP, Windows 98 SE / XP)
- Desktop : Intel Core i7 6700K @ 4 GHz sur CM ASUS Z170-P, GeForce GTX 1070, SSD Samsung 850 EVO 1 To, 16 Go de RAM, Disque Dur Seagate Barracuda 3 To, Windows 10

Hors ligne

#2449 Le 03/02/2012, à 01:19

grim7reaper

Re : /* Topic des codeurs [6] */

Rolinh a écrit :
grim7reaper a écrit :
clang -g -ansi -pedantic -Weverything -fcatch-undefined-behavior -ftrapv

Ah, ça tombe bien: j'allais te la demander. smile

Bon, faut quand même faire gaffe avec Weverything.
Pour l’instant je l’ai à titre expérimental pour savoir si c’est pas trop chiant quand même car

Chandler Carruth a écrit :

-Weverything: This is an insane group that literally enables every warning in Clang. Don't use this on your code. It is intended strictly for Clang developers or for exploring what warnings exist.

Bon, pour le moment ça va.

Dernière modification par grim7reaper (Le 03/02/2012, à 01:21)

Hors ligne

#2450 Le 03/02/2012, à 01:21

Rolinh

Re : /* Topic des codeurs [6] */

Ah ouais, quand même. Bon, de toute façon, pour le moment je n'ai pas réussi à faire fonctionner le mode grim. On dirait qu'il ne prend pas en compte mes flags.

Hors ligne