#976 Le 09/05/2011, à 16:42
- The Uploader
Re : Linux est-il vraiment utilisable par un débutant en informatique? Oui
[...]
*Strings are mutable.
*You can make constants (variables whose value you don't intend to change).
*There's only one kind of list container (an Array), and it's mutable.
*There are no "new style" and "old style" classes. Just one kind.
*When tested for truth, only false and nil evaluate to a false value. Everything else is true (including 0, 0.0, "", and []).
*"mixin's" are used instead of multiple inheritance.
Et j'adore ces deux là :
*You never directly access attributes. With Ruby, it's all method calls.
*There's public, private, and protected to enforce access, instead of Python's _voluntary_ underscore __convention__.
PAN ta full-POO
Mais on peux toujours se foutre une balle dans le pied (grand argument classique des Pythoneux pour se faire passer pour l'élite : "on est des adultes, tout ça " .. )
[...]
*You can add or modify the methods of built-in classes. Both languages let you open up and modify classes at any point, but Python prevents modification of built-ins — Ruby does not.
Dernière modification par The Uploader (Le 09/05/2011, à 17: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
#977 Le 09/05/2011, à 17:07
- Snake046
Re : Linux est-il vraiment utilisable par un débutant en informatique? Oui
@Snake046: J'aimerai bien que tu me dises ce qui n'est pas objet dans python... les mots clés peut être? (et si tu "ne peux pas me laisser dire ça", je veux bien des faits!
Bah justement, va voir le lien de The Uploader, point numéro deux !
edit: et python est très très bon pour le fonctionel aussi, t'es pas au courant?
Moi ce dont je suis au courant, mais Ruby apporte plus de possibiltiés que le Python de ce côté là !
Au fait, en Python, tu peux faire quelque chose comme ça ?
x = if a then b else if c then d else e
C'est la base quand meme !
Dernière modification par Snake046 (Le 09/05/2011, à 17:11)
Aucun message n'est caché dans cette signature.
Hors ligne
#978 Le 09/05/2011, à 17:40
- tshirtman
Re : Linux est-il vraiment utilisable par un débutant en informatique? Oui
oui, ça s'écrit pratiquement pareil, même
>>> a, b, c, d, e = False, 1, False, 2, 3
>>> x = b if a else d if c else e
>>> x
3
Tu peux être plus spécifique? The uploader a donné deux liens… un seul parle de python, la première section contient des points pour lesquels les deux langages sont identiques, la deuxièmes parles de différences, le deuxième point de cette section parle des constantes… ce qui n'a pas grand rapport avec l'OOP…
Quand aux possibilités que ruby apporte en fonctionnel, et que python n'a pas, je veux bien un exemple... par ce qu'entre les itertools, les comprehension lists, et le reste, je suis pas un expert, mais je trouve qu'on est bien fournis quand même…
Hors ligne
#979 Le 09/05/2011, à 17:43
- tshirtman
Re : Linux est-il vraiment utilisable par un débutant en informatique? Oui
Unlike Python, in Ruby,... a écrit :[...]
*Strings are mutable.
*You can make constants (variables whose value you don't intend to change).
*There's only one kind of list container (an Array), and it's mutable.
*There are no "new style" and "old style" classes. Just one kind.
*When tested for truth, only false and nil evaluate to a false value. Everything else is true (including 0, 0.0, "", and []).
*"mixin's" are used instead of multiple inheritance.
Et j'adore ces deux là :*You never directly access attributes. With Ruby, it's all method calls.
*There's public, private, and protected to enforce access, instead of Python's _voluntary_ underscore __convention__.
PAN ta full-POO
Ce sont des choix de design, qui ont rapport avec l'implémentation de l'OO (parfois) mais je vois mal en quoi on peut dire que ces choix sont "plus" POO que les choix opposés… (je trouve personnellement private anti-poo… mais bon)
Mais on peux toujours se foutre une balle dans le pied (grand argument classique des Pythoneux pour se faire passer pour l'élite : "on est des adultes, tout ça " .. )
[...]
*You can add or modify the methods of built-in classes. Both languages let you open up and modify classes at any point, but Python prevents modification of built-ins — Ruby does not.
qui parle de se tirer une balle dans le pied avec ça?
Dernière modification par tshirtman (Le 09/05/2011, à 17:43)
Hors ligne
#980 Le 09/05/2011, à 17:46
- The Uploader
Re : Linux est-il vraiment utilisable par un débutant en informatique? Oui
qui parle de se tirer une balle dans le pied avec ça?
Ben c'est plus ou moins comme dire "vous pouvez monkey-patcher les classes de base telles que int et string comme des gros cochons baveux"!
Ou alors j'ai rien compris.
- 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
#981 Le 09/05/2011, à 18:15
- Pylades
Re : Linux est-il vraiment utilisable par un débutant en informatique? Oui
Pour apporter ma pierre au troll, je dirais que Python (enfin, Python 3, qui lui est consistant) et Ruby sont tous deux intéressants, mais dans des domaines différents. Ruby est plus orienté objet ; peut-être un peu trop pour faire autre chose que de l'objet avec, de mon point de vue (enfin, disons que si tu veux apprendre Ruby, t'as vraiment intérêt à apprendre la POO pour pouvoir t'en servir correctement).
“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
#982 Le 09/05/2011, à 19:07
- Кຼزດ
Re : Linux est-il vraiment utilisable par un débutant en informatique? Oui
Ah non, je peux pas te laisser dire ça. Python n'est absolument pas full-objet. C'est un langage objet, certes, mais pas full-objet.
Je suis curieux, donc je veux bien savoir pourquoi un langage dans lequel tout est objet n'est pas full-objet.
x = if a then b else if c then d else e
C'est la base quand meme !
Pour pouvoir faire du code ultra compact et chiant à relire ? Moui, c'est faisable dans à peu près tous les langages (encore aujourd'hui je suis tombé sur 2 ternaires imbriqués dans un appel de fonction, c'est pas forcément sympa).
Sinon, le plus gros problème de ruby, c'est qu'il est un peu l'antagoniste de python sur le style ; une majorité des rubyistes prennent ça comme un avantage, mais, le fait d'avoir des tonnes de raccourcis (à la perl, en un poil moins prononcé) fait que chaque codeur ruby code un peu dans son propre langage à lui, ce qui rend le code assez affreux à reprendre en général.
(genre, qui, ici, se sert de 5.times { puts "koin" } ?)
dou
Hors ligne
#983 Le 09/05/2011, à 19:32
- bahoui
Re : Linux est-il vraiment utilisable par un débutant en informatique? Oui
Bonsoir,
pour en revenir au sujet, les parents du gamin de 9 ans pour qui j'ai installé 10.10 sur un vieux pc sont très contents et lui aussi.
ils apprécient la facilité de prise en main et la logithèque fournie. Pourtant au début, ils avaient peur de ne pas s'adapter à un environnement différent de windows.
Mettez [résolu] dans le titre quand le problème est réglé (cliquez sur "modifier" dans votre 1er message).
Hors ligne
#984 Le 09/05/2011, à 20:09
- The Uploader
Re : Linux est-il vraiment utilisable par un débutant en informatique? Oui
(genre, qui, ici, se sert de 5.times { puts "koin" } ?)
C'est la première ligne de code Ruby que j'ai vu et je l'ai compris de suite.
Je trouve ça très "langage naturel" comme façon de coder. ^^
Et puis, je ne trouve pas qu'il y ai tant de code "raccourci" que ça, ni qu'il soit forcément indéchiffrable, surtout que Ruby suit la "loi" de l'étonnement moindre possible (POLA) (pour l'auteur principale de Ruby, s'entend ).
[troll] Entre du code Ruby et du code Java, devinez lequel est vraiment indéchiffrable [/troll]
Dernière modification par The Uploader (Le 09/05/2011, à 20:16)
- 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
#985 Le 10/05/2011, à 16:36
- Snake046
Re : Linux est-il vraiment utilisable par un débutant en informatique? Oui
Je suis curieux, donc je veux bien savoir pourquoi un langage dans lequel tout est objet n'est pas full-objet.
Tout n'est pas objet en Python. Même depuis la 2.2 !
Sinon, le plus gros problème de ruby, c'est qu'il est un peu l'antagoniste de python sur le style ; une majorité des rubyistes prennent ça comme un avantage, mais, le fait d'avoir des tonnes de raccourcis (à la perl, en un poil moins prononcé) fait que chaque codeur ruby code un peu dans son propre langage à lui, ce qui rend le code assez affreux à reprendre en général.
(genre, qui, ici, se sert de 5.times { puts "koin" } ?)
Dans le cas d'un langage aussi verbeux que Ruby, ça ne change absolument rien d'avoir plusieurs mots pour dire les même choses...
Si je te dis "ajoute 1 et 1" et "additionne 1 et 1" tu le comprend de la même façon sans avoir vraiment besoin d'y penser.
Ça rend effectivement le langage beaucoup plus long à connaître dans son ensemble, mais beaucoup plus simple à entendre.
Quand tu tombe sur une syntaxe que tu ne comprend pas, tu la saisis tout de suite.
[troll] Entre du code Ruby et du code Java, devinez lequel est vraiment indéchiffrable [/troll]
Je fais du Java tout les jours en ce moment.
Et la phrase que je répète le plus souvent ces temps-ci, c'est tout simplement "Java, c'est de la merde"... chaque fois que j'y cherche une fonctionnalité et que je découvre qu'elle n'existe pas dans ce langage (c'est assez systématique... comme si la syntaxe était déjà pas assez désagréable, il faut en plus qu'ils développent un langage qui ne sache rien faire).
Aucun message n'est caché dans cette signature.
Hors ligne
#986 Le 10/05/2011, à 17:17
- nathéo
Re : Linux est-il vraiment utilisable par un débutant en informatique? Oui
De toutes façons ruby c'est la classe...
Dernière modification par nathéo (Le 10/05/2011, à 17:18)
C'est rarement par le sarcasme qu'on élève son âme.
Le jus de la vigne clarifie l'esprit et l'entendement.
De quoi souffres-tu ? De l'irréel intact dans le réel dévasté ?
La liberté n'est qu'un vain fantôme, quand une classe d'hommes peut affamer l'autre impunément. timezone[America/Bogota]
Hors ligne
#987 Le 10/05/2011, à 17:25
- The Uploader
Re : Linux est-il vraiment utilisable par un débutant en informatique? Oui
Le seul langage qui fait regretter d'avoir une journée de travail qui s'arrête.
- 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
#988 Le 10/05/2011, à 17:48
- Joss17
Re : Linux est-il vraiment utilisable par un débutant en informatique? Oui
Je fais du Java tout les jours en ce moment.
Et la phrase que je répète le plus souvent ces temps-ci, c'est tout simplement "Java, c'est de la merde"... chaque fois que j'y cherche une fonctionnalité et que je découvre qu'elle n'existe pas dans ce langage (c'est assez systématique... comme si la syntaxe était déjà pas assez désagréable, il faut en plus qu'ils développent un langage qui ne sache rien faire).
Bah le java au niveau du langage lui même c'est pauvre, ce qui est puissant et touffu c'est les objets de bases + les objets dispo dans les librairies que tu utilises. C'est le deuxième effet java, se rendre compte que au final tout es disponible mais il faut apprendre à utiliser les objets.
Pour info c'est quoi que tu cherches à faire qui est impossible ?
a+
Hors ligne
#989 Le 10/05/2011, à 18:41
- tshirtman
Re : Linux est-il vraiment utilisable par un débutant en informatique? Oui
Кຼزດ a écrit :Je suis curieux, donc je veux bien savoir pourquoi un langage dans lequel tout est objet n'est pas full-objet.
Tout n'est pas objet en Python. Même depuis la 2.2 !
Ça te ferait mal de DONNER UN PUTAIN D'EXEMPLE? (oui je gueule, par ce que c'est pas la première fois que je demande, et que tu te permet d'insister sur cette argument qui nécessite au moins UN exemple, pour être etayé, et que tu n'en a pas donné)
(et au passage, on est en 3.2, mais c'est pas grave, j'accepterais les exemples jusqu'en python 2.5, version déjà bien ancienne)
Dernière modification par tshirtman (Le 10/05/2011, à 18:43)
Hors ligne
#990 Le 11/05/2011, à 13:32
- Snake046
Re : Linux est-il vraiment utilisable par un débutant en informatique? Oui
Snake046 a écrit :Je fais du Java tout les jours en ce moment.
Et la phrase que je répète le plus souvent ces temps-ci, c'est tout simplement "Java, c'est de la merde"... chaque fois que j'y cherche une fonctionnalité et que je découvre qu'elle n'existe pas dans ce langage (c'est assez systématique... comme si la syntaxe était déjà pas assez désagréable, il faut en plus qu'ils développent un langage qui ne sache rien faire).Bah le java au niveau du langage lui même c'est pauvre, ce qui est puissant et touffu c'est les objets de bases + les objets dispo dans les librairies que tu utilises. C'est le deuxième effet java, se rendre compte que au final tout es disponible mais il faut apprendre à utiliser les objets.
Pour info c'est quoi que tu cherches à faire qui est impossible ?
a+
Je suis bien d'accord, et c'est vrai que c'est pas mal d'avoir tout sous la main ! Mais ça m'a beaucoup embêté de ne pas avoir accès à :
- Des classes template (et pour ceux qui oseraient me répondre ça, NON, les generics ne sont pas un équivalent aux templates).
- Héritage multiple, mais ça c'est pas trop grâve.
- friend (parce que l'alternative c'est de tout écrire dans UN SEUL fichier, et je me retrouve avec des fichiers de 700 lignes que mes collègues mettront un bon boût de temps à comprendre, même avec les pavés de commentaires que j'ai rédigé).
- Les pointeurs sur méthodes (parce qu'utiliser des interfaces pour remplacer tout les cas ou le pointeur sur méthode est juste évident dans n'importe quel autre langage, c'est juste horrible).
- Pas de scope global, bien que ce soit un choix qui puisse se comprendre.
On peut faire des choses plutôt jolies en Java (par exemple, les generics sont une approche plutôt intéressante à un des problèmes que les template peuvent résoudre - et dans les cas en question, les generics sont sûrement même plus efficace).
Mais ne serait-ce que les template, dans un langage typé, c'est une fonctionnalité indispensable. Sans parler de la mêtaprog.
Ça te ferait mal de DONNER UN PUTAIN D'EXEMPLE?
len
et au passage, on est en 3.2, mais c'est pas grave, j'accepterais les exemples jusqu'en python 2.5, version déjà bien ancienne
J'ai dit 2.2 parce que je fais mes devoirs, et que c'est à partir de la 2.2 que Python est devenu presque full-objet. Avant c'était pas plus objet que Java.
Aucun message n'est caché dans cette signature.
Hors ligne
#991 Le 11/05/2011, à 14:24
- Joss17
Re : Linux est-il vraiment utilisable par un débutant en informatique? Oui
Je suis bien d'accord, et c'est vrai que c'est pas mal d'avoir tout sous la main ! Mais ça m'a beaucoup embêté de ne pas avoir accès à :
- Des classes template (et pour ceux qui oseraient me répondre ça, NON, les generics ne sont pas un équivalent aux templates).
- Héritage multiple, mais ça c'est pas trop grâve.
- friend (parce que l'alternative c'est de tout écrire dans UN SEUL fichier, et je me retrouve avec des fichiers de 700 lignes que mes collègues mettront un bon boût de temps à comprendre, même avec les pavés de commentaires que j'ai rédigé).
- Les pointeurs sur méthodes (parce qu'utiliser des interfaces pour remplacer tout les cas ou le pointeur sur méthode est juste évident dans n'importe quel autre langage, c'est juste horrible).
- Pas de scope global, bien que ce soit un choix qui puisse se comprendre.
Là j'avoue que tu me surpasse en java je ne peux pas contre-argumenter sur tout ces points et tu as certainement raison (je me suis arrêter professionnellement au moment ou on était à la 1.4). En tout cas pour les pointeurs sur méthode tu as raison, mais de mémoire il n'y a pas un objet méthode que tu pourrait récupéré sur ton objet de base pour le passer en paramètre ?
a+
Hors ligne
#992 Le 11/05/2011, à 15:15
- Keldath
Re : Linux est-il vraiment utilisable par un débutant en informatique? Oui
Ça te ferait mal de DONNER UN PUTAIN D'EXEMPLE?
len
Je ne comprend pas ?
>>> type(len)
<type 'builtin_function_or_method'>
>>> type(type(len))
<type 'type'>
len(container) fait simplement appel à la méthode __len__ :
>>> l = range(5)
>>> l
[0, 1, 2, 3, 4]
>>> len(l)
5
>>> l.__len__()
5
>>>
Et même topo pour toutes les fonctions builtin.
Dernière modification par Keldath (Le 11/05/2011, à 15:16)
Hors ligne
#993 Le 11/05/2011, à 15:26
- tshirtman
Re : Linux est-il vraiment utilisable par un débutant en informatique? Oui
Voilà, j'étais sur que c'était quelque chose dans ce gout là… donc un mauvais exemple…
Hors ligne
#994 Le 11/05/2011, à 15:31
- Snake046
Re : Linux est-il vraiment utilisable par un débutant en informatique? Oui
En tout cas pour les pointeurs sur méthode tu as raison, mais de mémoire il n'y a pas un objet méthode que tu pourrait récupéré sur ton objet de base pour le passer en paramètre ?
C'est effectivement ce que je fais pour le moment. Ça sauve la mise, mais ce n'est pas très élégant... et dans le cas où tu dois gérer un gros nombre de callbacks, ça fait beaucoup de lignes à taper pour peu de chose (il faut déclarer ton objet méthode, et toute ses dérivées).
@Kelbath: donc, c'est du non-objet qui appelle de l'objet ?
Aucun message n'est caché dans cette signature.
Hors ligne
#995 Le 11/05/2011, à 15:35
- tshirtman
Re : Linux est-il vraiment utilisable par un débutant en informatique? Oui
c'est du sucre syntaxique…
(et c'est de l'objet, un objet callable qui appelle un autre objet callable sur un autre objet)
Dernière modification par tshirtman (Le 11/05/2011, à 15:36)
Hors ligne
#996 Le 11/05/2011, à 15:37
- The Uploader
Re : Linux est-il vraiment utilisable par un débutant en informatique? Oui
+1.
- 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
#997 Le 11/05/2011, à 16:26
- Pylades
Re : Linux est-il vraiment utilisable par un débutant en informatique? Oui
+2
“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
#998 Le 11/05/2011, à 16:42
- Snake046
Re : Linux est-il vraiment utilisable par un débutant en informatique? Oui
c'est du sucre syntaxique…
(et c'est de l'objet, un objet callable qui appelle un autre objet callable sur un autre objet)
Ah non, c'est une FONCTION quie appelle une méthode.
Aucun message n'est caché dans cette signature.
Hors ligne
#999 Le 11/05/2011, à 16:52
- tshirtman
Re : Linux est-il vraiment utilisable par un débutant en informatique? Oui
en python, les fonctions sont des objets
(et les "builtins" sont précisément là pour ça, être des fonctions disponible quand ça n'a pas vraiment de sens d'attacher une méthode à un objet, mais plutot de la mettre dans le namespace global)
Dernière modification par tshirtman (Le 11/05/2011, à 16:54)
Hors ligne
#1000 Le 11/05/2011, à 16:54
- Keldath
Re : Linux est-il vraiment utilisable par un débutant en informatique? Oui
tshirtman a écrit :c'est du sucre syntaxique…
(et c'est de l'objet, un objet callable qui appelle un autre objet callable sur un autre objet)
Ah non, c'est une FONCTION quie appelle une méthode.
Mais comme les fonctions sont des objets, peu importe.
La POO, c'est l'encapsulation de concept réutilisables dans des "boîtes". Après tu présentes ça de la manière que tu veux. Python a choisi cette façon de présenter les choses, mais tout reste objet.
Hors ligne