#1951 Le 22/12/2011, à 14:49
- HP
Re : /* Topic des codeurs [6] */
En plus dans python, les types de variables c'est assez n'importe quoi je trouve, on peut stocker une chaîne dans un int, etc...
Ouais… t'as tout compris !
cat /dev/urandom >/dev/null 2>&1 #github
Hors ligne
#1952 Le 22/12/2011, à 15:38
- Pylades
Re : /* Topic des codeurs [6] */
%.py:
@echo 'Shebang setting…'
sed -i '1s/^#!.*/#!$(subst /,\/,$(shell which python))/' $@
Dernière modification par Πυλάδης (Le 22/12/2011, à 15:44)
“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
#1953 Le 22/12/2011, à 15:58
- tshirtman
Re : /* Topic des codeurs [6] */
tshirtman a écrit ::!pakman a écrit :C'est compliqué, le C++, puissant mais compliqué
qu'entends tu par "puissant"?
J'entends par puissant qu'il est orienté objet et donc cela implique des concepts tels que la surcharge, la redéfinition..., qu'il permet des choses très avancées, du genre la surcharge des opérateurs...
Ok, donc pour ce type de puissance, python/ruby sont bien plus puissants.
tshirtman a écrit :j'utilise un exemplair de la seconde edition pour caler ma freebox.
Roh le salaud
Sinon, Python c'est bien, mais vu les perfs comparées au C++, je me suis dit qu'il fallait mieux apprendre C++ de façon poussée que Python.
Bah, oui, dans certains cas, on a besoin de rapidité, donc on fait un module C ou Cython, et on l'utilise en python
J'aime bien les langages compilés rapides à l’exécution, et qui bouffent pas un max de ram. En plus dans python, les types de variables c'est assez n'importe quoi je trouve, on peut stocker une chaîne dans un int, etc...
Bon, les autres t'on expliqués, mais en effet, ça marche juste différement.
:!pakman a écrit :[…] En plus dans python, les types de variables c'est assez n'importe quoi je trouve, on peut stocker une chaîne dans un int, etc...
Ce n’est pas du tout comme cela que ça fonctionne, en fait. En Python, il n’y a pas de variables ; il n’y a que des objets. Et tu attribues un nom à tes objets (avec l’opérateur « = »). Tu peux donc attribuer un nom à un entier, puis réattribuer ce même nom à une chaîne, mais c’est tout ; à aucun moment tu n’as remplacé ton entier par ta chaîne, c’est juste que si tu réutilises le dernier nom qui pointait vers ton entier, alors à ce moment l’entier n’est plus accessible et est donné en pâture au GC. Bon, en pratique ça ne se passe pas comme ça avec les entiers, vu que ce n’est pas vraiment une classe comme une autre (et c’est un type immutable de surcroît), je ne pense pas que les entiers soient gérés par le GC ; mais c’est ça l’esprit avec les autres types.
Bon, du coup je ne sais pas si j’ai été bien clair…
Ton explication ne marche pas très bien dans le cas des tableaux (ou on "remplace" effectivement). Et pour les entiers, c'est en effet, différent, mais je ne saurais pas te donner les détails, il est certains que tous les entiers ne sont pas instanciés quelque part d'avance (:P).
>>> a = 4
>>> b = 4
>>> a is b
True
>>> a = 'plop'
>>> b = 'plop'
>>> a is b
True
>>> a = list(range(4))
>>> b = list(range(4))
>>> a is b
False
>>> a = range(4)
>>> b = range(4)
>>> a is b
False
muttable/immutable n'est pas forcément la règle.
Hors ligne
#1954 Le 22/12/2011, à 16:40
- Pylades
Re : /* Topic des codeurs [6] */
Bah dans une liste, encore heureux que ça remplace. ^^
Pis les immutable, je crois qu’ils ne sont pas gérés pareil par le GC, m’enfin c’est compliqué, tout ça…
Et Perl, même en faisant des efforts, ça reste moche…
“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
#1955 Le 22/12/2011, à 17:09
- grim7reaper
Re : /* Topic des codeurs [6] */
Mais pour Nöel, je vais m'offrir "Le langage C++" de Stroustrup
Pas sûr que ça soit un bon choix pour débuter.
Je te conseille plutôt
Programmation, Principes et pratique avec C++
Bjarne STROUSTRUP
Pearson Education
Il est plus pédagogique et très bien foutu (écrit par Stroustrup aussi).
Moi aussi j'aime le Vala.
Tant que le code C généré ne passera pas ma ligne de compil’ je n’utiliserai pas ce truc.
Peut-être qu'il y a quelques années une appli se devait d'être la plus optimisée possible pour être utilisable
Ça existe encore aujourd’hui.
On ne développe pas tous sur des core i7 avec 6 Go de RAM, merci de ne pas généraliser.
Mais je suis d’accord que pour du développement sur des PC de bureau, pas besoin de chercher la petite bête.
Hors ligne
#1956 Le 22/12/2011, à 17:22
- Pylades
Re : /* Topic des codeurs [6] */
Hey, Grim… j’ai suivi ce tuto pour Perl jusqu’aux deux premiers exercices.
Pour le premier je pense que c’est bon, mais pour le second je trouve ma solution très moche. T’en penses quoi ?
#!/usr/bin/perl
use warnings;
use strict;
my $team_number = 42;
my $filename = 'input.txt';
open(my $fh, '<', $filename) or die "cannot open '$filename' $!";
while(<$fh>) {
chomp;
last if($_ eq "Team $team_number");
}
die "cannot find 'Team $team_number'" if(eof $fh);
my $max_bugs = 0;
my $max_name;
while(<$fh>) {
chomp;
last if(m/^Team \d+$/);
m/^(\w+): +(\d+)$/ or die "malformed '$_'";
if($2 > $max_bugs) {
$max_bugs = $2;
$max_name = $1;
}
}
say "$max_name wins the USB rocket launcher!" unless($max_bugs == 0);
say "Beuh… no winner." if($max_bugs == 0);
“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
#1957 Le 22/12/2011, à 17:45
- grim7reaper
Re : /* Topic des codeurs [6] */
J’ai jeté un rapide coup d’œil, à priori rien de choquant (sauf que je dois ajouter « use v5.10; » pour utiliser say).
C’est quoi qui te dérange ?
Dernière modification par grim7reaper (Le 22/12/2011, à 17:49)
Hors ligne
#1958 Le 22/12/2011, à 17:51
- Pylades
Re : /* Topic des codeurs [6] */
Bah je teste deux fois $max_bugs sur 0, rien que ça, ce n’est pas très élégant. Alors je pourrais faire un if/else, mais en Perl, on fait ce genre de choses en une ligne, non ?
“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
#1959 Le 22/12/2011, à 18:52
- grim7reaper
Re : /* Topic des codeurs [6] */
Bah oui, ternaire comme en C.
Sinon, il y a autre chose que tu trouves mal foutu dans ton code ?
Dernière modification par grim7reaper (Le 22/12/2011, à 18:54)
Hors ligne
#1960 Le 22/12/2011, à 22:55
- The Uploader
Re : /* Topic des codeurs [6] */
Ok, donc pour ce type de puissance, python/ruby sont bien plus puissants.
Bah non, en Ruby il n'y a pas de surcharge. C'est bien son seul gros défaut. J'pense que OptionParser peut aider (merci Rolinh !), mais bon ça reste naze.
Tant que le code C généré ne passera pas ma ligne de compil’ je n’utiliserai pas ce truc.
Bof, à partir du moment où t'as pas envie de te taper du Python et encore moins du C pour faire du GTK3, il n'y a plus beaucoup de choix. Pas le temps, ni l'envie de faire du GTK avec l'un de ces deux langages (car je découvre GTK en même temps, et que bientôt je serai en stage avec un mémoire à rendre.. sans compter les projets à faire, et les partiels !). Là avec la doc' Vala ça va super vite. Et vue que ça ressemble au C# (que j'ai pas mal pratiqué), ça va tout seul.
D'autant que même si Ruby-GNOME (ruby-gtk2) était prêt pour gtk3, je suis pas sûr que les dévs Xfce accepteraient d'intégrer au projet Xfce4-goodies (rêvons un peu !) une application dans un langage qu'ils ne connaissent/maîtrisent pas, alors qu'il existe xfce4-vala.
Ça existe encore aujourd’hui.
On ne développe pas tous sur des core i7 avec 6 Go de RAM, merci de ne pas généraliser.Mais je suis d’accord que pour du développement sur des PC de bureau, pas besoin de chercher la petite bête.
Ouais enfin ça dépend ce que tu fais. Si tu fais un encodeur MPEG (même MPEG-4 ASP, comme le XviD), tu va faire chauffer ton C et ton assembly.
Dans le cas contraire, même un i7 est vite à genoux.
Bon des fous on fait un décodeur WebM en Javascript (et d'autres, ou les même, un décodeur H.264/AVC, bien plus coûteux en cycles CPU que le WebM), mais personne n'a jamais dit que ça tournait à une vitesse raisonnable. ^^
Dernière modification par The Uploader (Le 23/12/2011, à 00:05)
- 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
#1961 Le 23/12/2011, à 01:48
- Pylades
Re : /* Topic des codeurs [6] */
[…] (sauf que je dois ajouter « use v5.10; » pour utiliser say) […]
Ah ouais. Du coup, vaut mieux utiliser print, nan ?
Bah oui, ternaire comme en C.
Bah j’ai essayé de faire un truc qui y ressemble, mais je n’ai pas réussi à tomber dessus par hasard. ^^ Faudrait que je continue la lecture des tutos.
Sinon, il y a autre chose que tu trouves mal foutu dans ton code ?
Je ne sais pas, ça me donne un impression bizarre. J’ai un peu de mal, avec Perl (comme pas mal de gens, en fait).
“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
#1962 Le 23/12/2011, à 02:25
- Elzen
Re : /* Topic des codeurs [6] */
/me se bat avec python-pyalsa et python-alsaaudio et désespère.
Elzen : polisson, polémiste, polymathe ! (ex-ArkSeth)
Un script pour améliorer quelques trucs du forum.
La joie de t'avoir connu surpasse la peine de t'avoir perdu…
timezone[blocklist]
Hors ligne
#1963 Le 23/12/2011, à 09:57
- grim7reaper
Re : /* Topic des codeurs [6] */
Hello World!
grim' a écrit :Tant que le code C généré ne passera pas ma ligne de compil’ je n’utiliserai pas ce truc.
Bof, à partir du moment où t'as pas envie de te taper du Python et encore moins du C pour faire du GTK3, il n'y a plus beaucoup de choix. Pas le temps, ni l'envie de faire du GTK avec l'un de ces deux langages (car je découvre GTK en même temps, et que bientôt je serai en stage avec un mémoire à rendre.. sans compter les projets à faire, et les partiels !). Là avec la doc' Vala ça va super vite. Et vue que ça ressemble au C# (que j'ai pas mal pratiqué), ça va tout seul.
On en avait déjà parlé avec xapantu ici : tout dépend de ton niveau d’exigence sur le code des logiciels que tu développes.
Pour moi ça ne passe pas, mais je comprends très bien que ça ne dérange pas d’autres
grim' a écrit :Ça existe encore aujourd’hui.
On ne développe pas tous sur des core i7 avec 6 Go de RAM, merci de ne pas généraliser.Mais je suis d’accord que pour du développement sur des PC de bureau, pas besoin de chercher la petite bête.
Ouais enfin ça dépend ce que tu fais. Si tu fais un encodeur MPEG (même MPEG-4 ASP, comme le XviD), tu va faire chauffer ton C et ton assembly.
Oui bien sûr, mais là on parlait d’application, pas de codec (c’est un peu particulier les codecs quand même).
grim7reaper a écrit :[…] (sauf que je dois ajouter « use v5.10; » pour utiliser say) […]
Ah ouais. Du coup, vaut mieux utiliser print, nan ?
Oui et non.
say sera dispo dans Perl 6 (c’est une des nouveautés de Perl 6 qui à été rendu dispo à partir de Perl 5.10) donc c’est pas vraiment un mal de l’utiliser.
Par contre c’est pas activé par défaut (sûrement pour des raisons de compat’) donc faut penser à le faire avec
use feature 'say';
ou, plus violemment (charge toutes les nouveautés disponibles dans Perl 5.10)
use feature ':5.10';
grim7reaper a écrit :Bah oui, ternaire comme en C.
Bah j’ai essayé de faire un truc qui y ressemble, mais je n’ai pas réussi à tomber dessus par hasard. ^^ Faudrait que je continue la lecture des tutos.
Pourtant c’est la même syntaxe qu’en C :
say $max_bugs != 0 ? "$max_name wins the USB rocket launcher!" : "Beuh… no winner.";
@ArkSeth : la gestion du son a fait (et fait toujours je pense) désespérer plus d’un développeur sous Linux. PulseAudio était censé remédier à ça, je ne sais pas si c’est un succès ou pas (je ne l’utilise pas).
Dernière modification par grim7reaper (Le 23/12/2011, à 09:59)
Hors ligne
#1964 Le 23/12/2011, à 10:24
- The Uploader
Re : /* Topic des codeurs [6] */
PulseAudio était censé remédier à ça, je ne sais pas si c’est un succès ou pas (je ne l’utilise pas).
Bah c'est pire j'pense, vu que PulseAudio se met par dessus ALSA (il en est dépendant), et rajoute donc de la latence (inévitable), et ne plaît pas à certains logiciels. Comme Timidity++ (que j'ai jamais réussi à faire fonctionner avec)..
Bon c'est super bien pour faire fonctionner ses haut parleurs Bluetooth ou gérer le volume sonore par application, tout ça (là où ALSA est super simple, voire simplet), mais rajouter un système audio par dessus un autre, y'a que moi qui trouve ça fou ?
T'façon c'est le bordel entre ALSA, PulseAudio, OSS3, et OSS4..
Dernière modification par The Uploader (Le 23/12/2011, à 10:28)
- 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
#1965 Le 23/12/2011, à 10:33
- Kanor
Re : /* Topic des codeurs [6] */
T'façon c'est le bordel entre ALSA, PulseAudio, OSS3, et OSS4..
Normalement le but c'est d'avoir une seul entré pulseaudio qui gére alsa, oss3, oss4…
Après la latence dans la vie de tous les jours c'est pas bien grave
et pour les utilisateurs de logiciel MAO il utilise le serveur jack
Hors ligne
#1966 Le 23/12/2011, à 11:30
- Rolinh
Re : /* Topic des codeurs [6] */
Plop,
Bah non, en Ruby il n'y a pas de surcharge. C'est bien son seul gros défaut. J'pense que OptionParser peut aider (merci Rolinh !), mais bon ça reste naze.
Je pense que tu confonds: ce n'est pas là le but de OptionParser
OptionParser is a class for command-line option analysis. It is much more advanced, yet also easier to use, than GetoptLong, and is a more Ruby-oriented solution.
...encore moins du C pour faire du GTK3
J'avoue: ce n'est pas agréable (c'est ce qui me freine/démotive dans l'écriture de LinCopier.
Sinon, la migration vers gtk3 pour xfce 4.10 n'est pas prévue Ça sera pour la prochaine version je suppose.
Et puis il n'y a aucune raison que ton projet n’atterrisse pas dans les goodies s'il est bien écrit (avec les outils prévus pour développer Xfce) et dans la philosophie Xfce. Les développeurs Xfce sont plutôt ouvert et cela me la été confirmé de vive-voix par Ali (un ami rencontré à l'université) qui s'occupe de Parole et xfce4-power-manager (qui passera dans core pour la 4.10 d'ailleurs).
Sinon, c'est fou ce qu'on peut s'amuser avec lua, awesome et un petit peu d'inventivité
Hors ligne
#1967 Le 23/12/2011, à 13:58
- Elzen
Re : /* Topic des codeurs [6] */
Bah si j'ai bien tout compris, PulseAudio est un genre de surcouche d'ALSA. Du coup, ça n'me paraît pas intéressant de l'utiliser, 1- parce qu'il n'est pas installé chez moi, ALSA marche très bien tout seul et 2- parce que si ça doit de toute façon dépendre d'ALSA, c'est un peu dommage de requérir un truc en plus.
En plus, tout ce que je veux, c'est juste un moyen d'être notifié quand le volume change ou qu'on passe le son sur muet pour ne pas avoir à faire une boucle qui vérifie à intervalles réguliers, ça n'devrait pas être si compliqué que ça
Elzen : polisson, polémiste, polymathe ! (ex-ArkSeth)
Un script pour améliorer quelques trucs du forum.
La joie de t'avoir connu surpasse la peine de t'avoir perdu…
timezone[blocklist]
Hors ligne
#1968 Le 23/12/2011, à 15:35
- The Uploader
Re : /* Topic des codeurs [6] */
Plop,
The Uploader a écrit :Bah non, en Ruby il n'y a pas de surcharge. C'est bien son seul gros défaut. J'pense que OptionParser peut aider (merci Rolinh !), mais bon ça reste naze.
Je pense que tu confonds: ce n'est pas là le but de OptionParser
OptionParser Developer Documentation a écrit :OptionParser is a class for command-line option analysis. It is much more advanced, yet also easier to use, than GetoptLong, and is a more Ruby-oriented solution.
Ah crotte, tu as raison c'est que pour la ligne de commande.
Enfin pas avoir de surcharge, soit fais des paramètres optionels et tu les tests, soit tu fait des méthodes avec des noms voisins..
The Uploader a écrit :...encore moins du C pour faire du GTK3
J'avoue: ce n'est pas agréable (c'est ce qui me freine/démotive dans l'écriture de LinCopier.
C'est le manque d'abstraction du C qui te gêne pour faire du GTK* ? (un de mes a priori quand j'ai fait le choix de Vala)
Sinon, la migration vers gtk3 pour xfce 4.10 n'est pas prévue Ça sera pour la prochaine version je suppose.
Oui ça a été repoussé parce que Xfce 4.10 est en retard.
Et puis il n'y a aucune raison que ton projet n’atterrisse pas dans les goodies s'il est bien écrit (avec les outils prévus pour développer Xfce) et dans la philosophie Xfce. Les développeurs Xfce sont plutôt ouvert et cela me la été confirmé de vive-voix par Ali (un ami rencontré à l'université) qui s'occupe de Parole et xfce4-power-manager (qui passera dans core pour la 4.10 d'ailleurs).
Cool.
- 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
#1969 Le 23/12/2011, à 15:48
- Rolinh
Re : /* Topic des codeurs [6] */
Enfin pas avoir de surcharge, soit fais des paramètres optionels et tu les tests, soit tu fait des méthodes avec des noms voisins..
Bah si on change le nom.... Utiliser des paramètres optionnels me parait nettement mieux.
C'est le manque d'abstraction du C qui te gêne pour faire du GTK* ? (un de mes a priori quand j'ai fait le choix de Vala)
Que veux-tu dire par là?
Non, ce qui me gêne, c'est GTK. Utiliser du pseudo orienté-objet en C, langage qui ne l'est pas, ben... je n'aime pas. La doc GTK me tue aussi car je ne la trouve pas très bien maintenue. Enfin, c'est aussi que je ne peux compter le nombre de fois où j'ai voulu utiliser une méthode et que paf, tu te rends compte qu'elle est dépréciée... mais tu ne sais pas par quoi elle est remplacée. J'espérais un gros mieux de ce côté avec GTK3 mais je ne l'ai pas encore assez utilisé pour me prononcer (mais j'ai bien l'impression qu'il y a eu un nettoyage dans le bon sens).
Pis bon, d'une manière générale, faire des GUI n'est pas mon truc.
Hors ligne
#1970 Le 23/12/2011, à 16:58
- tshirtman
Re : /* Topic des codeurs [6] */
tshirtman a écrit :Ok, donc pour ce type de puissance, python/ruby sont bien plus puissants.
Bah non, en Ruby il n'y a pas de surcharge. C'est bien son seul gros défaut. J'pense que OptionParser peut aider (merci Rolinh !), mais bon ça reste naze.
Arf, je ne l'avais pas compris comme ça, pour moi la surcharge c'est de redéfinir une méthode/opération dans une classe fille, là tu parles d'avoir des méthodes au même nom, mais distinguées par leur signature complête, et en effet, rien de tel en python non plus, je pense que ça demanderait l'usage des métaclasses pour faire pareil, sinon, c'est du bricolage, je ne pense pas que les décorateurs suffisent non plus.
edit: pour python, y'a des réponses intéressantes là http://bytes.com/topic/python/answers/6 … verloading apparement y'a plusieurs implémentations via les décorateurs (dont PEAK, qui n'est pas très maintenus il me semble, j'ai galéré pour faire marcher un programme qui l'utilisait l'année dernière).
Dernière modification par tshirtman (Le 23/12/2011, à 17:15)
Hors ligne
#1971 Le 23/12/2011, à 19:15
- The Uploader
Re : /* Topic des codeurs [6] */
bah on m'a enseigné surcharge : overloading, et redéfinition : overriding.
Me trompé-je ?
- 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
#1972 Le 23/12/2011, à 20:31
- tshirtman
Re : /* Topic des codeurs [6] */
Apparement, les termes varient selon les communautés/langages…
Hors ligne
#1973 Le 23/12/2011, à 22:00
- The Uploader
Re : /* Topic des codeurs [6] */
The Uploader a écrit :Enfin pas avoir de surcharge, soit fais des paramètres optionels et tu les tests, soit tu fait des méthodes avec des noms voisins..
Bah si on change le nom.... Utiliser des paramètres optionnels me parait nettement mieux.
The Uploader a écrit :C'est le manque d'abstraction du C qui te gêne pour faire du GTK* ? (un de mes a priori quand j'ai fait le choix de Vala)
Que veux-tu dire par là?
Ben j'parlais justement de faire du pseudo orienté objet au lieu d'utiliser un langage objet. ^^'
Non, ce qui me gêne, c'est GTK. Utiliser du pseudo orienté-objet en C, langage qui ne l'est pas, ben... je n'aime pas. La doc GTK me tue aussi car je ne la trouve pas très bien maintenue. Enfin, c'est aussi que je ne peux compter le nombre de fois où j'ai voulu utiliser une méthode et que paf, tu te rends compte qu'elle est dépréciée... mais tu ne sais pas par quoi elle est remplacée. J'espérais un gros mieux de ce côté avec GTK3 mais je ne l'ai pas encore assez utilisé pour me prononcer (mais j'ai bien l'impression qu'il y a eu un nettoyage dans le bon sens).
Pis bon, d'une manière générale, faire des GUI n'est pas mon truc.
Ouais, à vue de nez la doc de Vala est à jour mais un peu mince : http://live.gnome.org/Vala/Documentation#Sample_Code (y'a quelques samples codes pour GTK).
Puis bon j'aurais aimé allier le logiciel de design GTK Glade (pour pouvoir décrire la fenêtre en XML), et Vala (pour la logique), mais bon j'sais pas trop comment m'y prendre.
Parce que Faire la fenêtre et la logique dans un langage de programmation, c'est pas grave (juste moins pratique pour la présentation qu'utiliser un langage de... présentation !) tant qu'on peut les séparer au niveau fichier. En C# il y a le mot clé partial pour dire qu'on décrit qu'une partie d'une classe, c'est utilisé en WinForms pour séparer la présentation et la logique, mais je sais même pas si c'est possible. Si oui tant mieux, si non ça pue..
Dernière modification par The Uploader (Le 23/12/2011, à 22:27)
- 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
#1974 Le 23/12/2011, à 22:22
- Rolinh
Re : /* Topic des codeurs [6] */
Finalement, pour LinCopier, je n'utilise pas Vala même si j'avais d'abord pensé que ce serait plus facile. Je me contente de Glade pour faire le maximum et le reste en C avec gtk directement. En fait, j'avais vachement du mal à savoir comment interfacer ce que produit vala avec le code de mon programme en C. Du coup bah.... voilà.
C'est beaucoup moins pénible de faire une GUI quand on est tout en OO. Il parait que qt combiné au C++ est nettement plus digeste et mieux fichu.
Hors ligne
#1975 Le 23/12/2011, à 22:25
- tshirtman
Re : /* Topic des codeurs [6] */
il parait oui…
moi en GUI, je fais que du python/kivy depuis un bail, et j'adore, mais c'est vrai que c'est un peu différent…
Hors ligne