Contenu | Rechercher | Menus

Annonce

Si vous rencontrez des soucis à rester connecté sur le forum (ou si vous avez perdu votre mot de passe) déconnectez-vous et reconnectez-vous depuis cette page, en cochant la case "Me connecter automatiquement lors de mes prochaines visites".
Test de l'ISO d'Ubuntu francophone : nous avons besoin de testeurs pour la version francophone d'Ubuntu 14.04. Liens et informations ici.

#851 Le 15/03/2013, à 16:34

Elzen

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

Hey, j'n'avais pas vu ! Je n'suis pas sûr de me rappeler des différents algos de tri classiques, mais en tout cas, je suis fan de ceux-là big_smile


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…
J'ai pour qualité de ne jamais attaquer les gens. J'ai pour défaut de souvent avoir l'air de le faire.

Hors ligne

#852 Le 16/03/2013, à 14:01

tshirtman

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

grim7reaper a écrit :
The Uploader a écrit :

Tu manipules constamment des références dans un langage objet.

Pas forcément. En C++ les deux existent (pointeurs et références).

Alan Kay a écrit :

I invented the term Object-Oriented, and I can tell you I did not have C++ in mind.

tongue
Sinon, j'ai pas regardé en profondeur le lien sur le c++ "dynamique", mais je sais pas si c'est une très bonne idée d'ajouter ça à un langage comme c++ ^^.

Hors ligne

#853 Le 16/03/2013, à 14:49

grim7reaper

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

tshirtman a écrit :
Alan Kay a écrit :

I invented the term Object-Oriented, and I can tell you I did not have C++ in mind.

tongue

En même temps, le terme a été créé avant l’apparition du C++ (ou alors, le C++ en était encore à ses débuts, genre c’était tout juste du C with classes), donc bon ça fait un peu mauvaise fois pour le coup…

tshirtman a écrit :

Sinon, j'ai pas regardé en profondeur le lien sur le c++ "dynamique", mais je sais pas si c'est une très bonne idée d'ajouter ça à un langage comme c++ ^^.

Déjà, il le déconseille très fortement pour du code de production, pour des raisons évidentes de sécurité ^^'
Mais dans la phase de développement, ça semble apporter pas mal de souplesse. Le genre de trucs que l’on reproche justement aux langages compilés par rapport aux langages de scripts.

Hors ligne

#854 Le 16/03/2013, à 16:23

tshirtman

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

Je pense qu'il veut dire qu'il ne pensais pas quelque chose qui ressemble à ce qu'est C++, qui a longtemps été considéré, par l'industrie et par l'enseignement comme *le* langage objet.

Il donne plus d'info sur ce qu'il considère comme "OOP" ici:
http://userpage.fu-berlin.de/~ram/pub/p … kay_oop_en

OOP to me means only messaging, local retention and protection and
hiding of state-process, and extreme late-binding of all things. It
can be done in Smalltalk and in LISP. There are possibly other
systems in which this is possible, but I'm not aware of them.

(trouvé via wikiquote).

Hors ligne

#855 Le 16/03/2013, à 16:37

The Uploader

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

Pour ce que ça vaut, Ruby utilise le passage de message entre objets :
http://rubylearning.com/blog/2010/11/03 … nd-blocks/

Par contre l' "extreme late binding" :  ça dépend de quoi on parle, de l'absence de compilateur ou d'un code comme celui-ci :

# early binding:
def create_a_foo(*args)
  Foo.new(*args)
end
my_foo = create_a_foo

# late binding:
def create_something(klass, *args)
  klass.new(*args)
end
my_foo = create_something(Foo)

Y'a une définition exacte ?

Pour ça :

local retention and protection and
hiding of state-process

C'est "facile" à faire (mot clé 'private', etc...) mais ça dépend comment on code...
Ça peut vite être foutu en l'air avec Object#instance_variable_get :
http://stackoverflow.com/questions/2131 … te-in-ruby
(par contre je doute qu'on puisse les modifier)
Ou Object#instance_eval :
http://jamescrisp.org/2009/08/05/spying … s-in-ruby/

Dernière modification par The Uploader (Le 16/03/2013, à 17:43)


Passer de Ubuntu 10.04 à Xubuntu 12.04 LTS
Archlinux + KDE sur ASUS N56VV.
ALSA, SysV,  DBus, Xorg = Windows 98 !
systemd, kdbus, ALSA + PulseAudio, Wayland = modern OS (10 years after Windows, but still...) !  Deal with it !

Hors ligne

#856 Le 16/03/2013, à 17:37

grim7reaper

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

tshirtman a écrit :

Je pense qu'il veut dire qu'il ne pensais pas quelque chose qui ressemble à ce qu'est C++, qui a longtemps été considéré, par l'industrie et par l'enseignement comme *le* langage objet.

En même temps, l’industrie a rarement été bonne conseillère…
Et l’enseignement a souvent été à côté de la plaque pour le C++, donc bon hmm
Après hein, c’est sur que le C++ à des défauts et que c’est pas LE langage objet (titre qu’il n’a d’ailleurs jamais revendiqué, d’autant plus qu’il est multi-paradigme).
Par contre, Java l’a souvent revendiqué et il est loin d’être un très bon langage objet aussi (types de base non objets (bon y’a les wrappers…), les fonctions ne sont pas des objets, …).



The Uploader a écrit :

ça dépend de quoi on parle, de l'absence de compilateur

Étant donné qu’il cite Lisp et que Lisp peut être compilé, je pense que non du coup.

The Uploader a écrit :

Pour ça :

local retention and protection and
hiding of state-process

C'est "facile" à faire (mot clé 'private', etc...) mais ça dépend comment on code...
Ça peut vite être foutu en l'air avec Object#instance_variable_get :
http://stackoverflow.com/questions/2131 … te-in-ruby
(par contre je doute qu'on puisse les modifier)
Ou Object#instance_eval :
http://jamescrisp.org/2009/08/05/spying … s-in-ruby/

Même sans ça, y’a juste à voir les gens qui mettent tout en private mais font des getters/setters pour chaque champs…

Hors ligne

#857 Le 19/03/2013, à 07:12

nesthib

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

plop les gens o/

une méthode de programmation révolutionnaire → http://gkoberger.github.com/stacksort/

enjoy tongue


GUL Bordeaux : GirollServices libres : TdCT.org
Hide in your shell, scripts & astuces :  applications dans un tunnelsmart wgettrouver des pdfinstall. auto de paquetssauvegarde auto♥ awk
  ⃛ɹǝsn xnuᴉꞁ uʍop-ǝpᴉsdnGMT-4

Hors ligne

#858 Le 21/03/2013, à 12:15

grim7reaper

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

Bon, je commence à regarder un peu le modèle sur lequel je vais devoir bosser (pour le moment je me contentai de le lancer, maintenant je vais devoir le modifier).
Bon, je viens de voir une fonction qui prends 147 paramètres en entrée -___-"
Bon pour excuse, à la base il n‘a pas été développé par des informaticiens et maintenant il traîne son historique hmm

Sinon m’étant pas mal amusé avec Python récemment, j‘ai décidé (depuis le temps que je le dit, au moins 3 ans…) de me mettre à Ruby pour voir.
Pour me faire la main j’ai développé un truc genre configparser (mais sans interpolation de variable). Avec ça j’ai pu me mettre dans le bain (test unitaire en Ruby, utilisation de rake, création d'une gem, etc.)
Et là depuis que je suis tombé sur ça j’essaye de le refaire en Ruby (ça marche plutôt bien je devrais le finir avant la fin de la semaine si tout va bien, et en plus propre que la version Python). Là c’est une bonne occasion de voir la FFI en Ruby.

Hors ligne

#859 Le 21/03/2013, à 12:28

The Uploader

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

grim7reaper a écrit :

Bon, je commence à regarder un peu le modèle sur lequel je vais devoir bosser (pour le moment je me contentai de le lancer, maintenant je vais devoir le modifier).
Bon, je viens de voir une fonction qui prends 147 paramètres en entrée -___-"

Tous obligatoires ?
Je... je comprends même pas comment on peut avoir autant de paramètres... C'est une fonction qui tente de tout faire même le café ? O_O

Déjà à 8/10 j'commence vraiment à m'inquiéter...

grim7reaper a écrit :

Bon pour excuse, à la base il n‘a pas été développé par des informaticiens et maintenant il traîne son historique hmm

Dur. hmm

grim7reaper a écrit :

Sinon m’étant pas mal amusé avec Python récemment, j‘ai décidé (depuis le temps que je le dit, au moins 3 ans…) de me mettre à Ruby pour voir.
Pour me faire la main j’ai développé un truc genre configparser (mais sans interpolation de variable). Avec ça j’ai pu me mettre dans le bain (test unitaire en Ruby, utilisation de rake, création d'une gem, etc.)

Ça m'a l'air de ressembler à OptionParser sauf que c'est pour les arguments en ligne de commande. Mais on peut peut-être l'adapter pour prendre un fichier "à la .INI" en entrée (ça fait longtemps que j'ai pas touché à OptionParser). Si c'est le cas ça peut te faire gagner du temps :

Features

    1.The argument specification and the code to handle it are written in the same place.

    2.It can output an option summary; you don’t need to maintain this string separately.

    3.Optional and mandatory arguments are specified very gracefully.

    4.Arguments can be automatically converted to a specified class.

    5.Arguments can be restricted to a certain set.

edit : https://www.ruby-toolbox.com/projects/configparser

grim7reaper a écrit :

Et là depuis que je suis tombé sur ça j’essaye de le refaire en Ruby (ça marche plutôt bien je devrais le finir avant la fin de la semaine si tout va bien, et en plus propre que la version Python). Là c’est une bonne occasion de voir la FFI en Ruby.

http://rubygems.org/gems/ffi ?

Dernière modification par The Uploader (Le 21/03/2013, à 12:32)


Passer de Ubuntu 10.04 à Xubuntu 12.04 LTS
Archlinux + KDE sur ASUS N56VV.
ALSA, SysV,  DBus, Xorg = Windows 98 !
systemd, kdbus, ALSA + PulseAudio, Wayland = modern OS (10 years after Windows, but still...) !  Deal with it !

Hors ligne

#860 Le 21/03/2013, à 12:43

grim7reaper

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

The Uploader a écrit :
grim7reaper a écrit :

Bon, je commence à regarder un peu le modèle sur lequel je vais devoir bosser (pour le moment je me contentai de le lancer, maintenant je vais devoir le modifier).
Bon, je viens de voir une fonction qui prends 147 paramètres en entrée -___-"

Tous obligatoires ?

C’est du Fortran, donc oui.
Les paramètres optionnels, ça existent pas (du moins en Fortran 95)

The Uploader a écrit :

Je... je comprends même pas comment on peut avoir autant de paramètres... C'est une fonction qui tente de tout faire même le café ? O_O

En gros l’architecture (si on peut parler d’architecture, encore une fois ça n’a pas été fait par des gens formés pour) du bousin c’est un fichier par module (donc ça fait des très gros fichiers, genre celui que je regardais là il fait presque 10 000 lignes…). Et cette fameuse fonction c‘est le point d’entrée du module donc ils fourrent tout les paramètres pour le module en paramètres de cette fonction.

The Uploader a écrit :
grim7reaper a écrit :

Pour me faire la main j’ai développé un truc genre configparser (mais sans interpolation de variable). Avec ça j’ai pu me mettre dans le bain (test unitaire en Ruby, utilisation de rake, création d'une gem, etc.)

Ça m'a l'air de ressembler à OptionParser sauf que c'est pour les arguments en ligne de commande.

OptionParser semble correspondre à argparse en Python.

The Uploader a écrit :

Mais on peut peut-être l'adapter pour prendre un fichier "à la .INI" en entrée (ça fait longtemps que j'ai pas touché à OptionParser). Si c'est le cas ça peut te faire gagner du temps

Bah je le faisais surtout histoire de pratiquer, y’a déjà une ou deux gems qui font ça aussi (quoique qu’elles me semble moins flexible que ce que j‘ai fait).
Mais là je venais de coder ça en Java, je voulais me mettre à Ruby donc je suis parti là-dessus.

The Uploader a écrit :
grim7reaper a écrit :

Et là depuis que je suis tombé sur ça j’essaye de le refaire en Ruby (ça marche plutôt bien je devrais le finir avant la fin de la semaine si tout va bien, et en plus propre que la version Python). Là c’est une bonne occasion de voir la FFI en Ruby.

http://rubygems.org/gems/ffi ?

Ouais, c’est ce que j’utilise. DL avait une doc’ moisie (et il semble qu‘il soit déprécié), Fiddle semble être plus ou moins un remplacement mais la doc’ est toujours aussi maigre.
Puis finalement je suis tombé sur ffi oui, et là bonne doc, bonne API donc en avant !
Depuis Ruby 1.9.3 je crois que ça vient par défaut (à vérifier).

Dernière modification par grim7reaper (Le 21/03/2013, à 12:44)

Hors ligne

#861 Le 21/03/2013, à 13:24

sweetly

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

grim7reaper a écrit :
The Uploader a écrit :
grim7reaper a écrit :

Bon, je commence à regarder un peu le modèle sur lequel je vais devoir bosser (pour le moment je me contentai de le lancer, maintenant je vais devoir le modifier).
Bon, je viens de voir une fonction qui prends 147 paramètres en entrée -___-"

Tous obligatoires ?

C’est du Fortran, donc oui.
Les paramètres optionnels, ça existent pas (du moins en Fortran 95)

Il me semble que l'attribut OPTIONAL sur un intent(in), c'est possible depuis le fortran90, non ? Bien que ça soit dangereux et lourd.

Hors ligne

#862 Le 21/03/2013, à 14:05

grim7reaper

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

Ha ouais, bien vu, j’avais oublié ça.
Mais là en l’occurrence ils sont bien tous obligatoire.

Hors ligne

#863 Le 21/03/2013, à 20:57

Rolinh

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

@grim: c'est dispo quelque part ce que tu codes?

Sinon, pour te rassurer un peu, pas plus tard que cette semaine j'ai essayé de compiler un projet pour un ami (il voulait voir si j'y parvenais avec ma machine) et la compilation a échoué notamment en raison d'un fichier C un peu... gros (260'000 lignes dans un seul fichier... et non, il n'y a pas un 0 de trop). Sur une machine avec 2G de ram, ça plante par manque de mémoire (c'est un projet comportant à l'heure actuelle plus de 10'000'000 de lignes de code, principalement en C, C++ et Lisp).


Blog
"If you put a Unix shell to your ear, do you hear the C ?"

Hors ligne

#864 Le 21/03/2013, à 21:19

Le Rouge

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

@ rolinh : le « projet », c'est emacs ? ^^


C'est deux suites de Cauchy qui veulent aller à la soirée 'no limit'. Hélas, à l'entrée le videur leur dit : "désolé, c'est complet !".
mon site perso (π²/6.fr) et mon blog

Hors ligne

#865 Le 21/03/2013, à 21:25

Rolinh

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

tongue Non, un projet rassemblant plusieurs universités.


Blog
"If you put a Unix shell to your ear, do you hear the C ?"

Hors ligne

#866 Le 21/03/2013, à 21:28

grim7reaper

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

Rolinh a écrit :

@grim: c'est dispo quelque part ce que tu codes?

Les trucs en Ruby ? Ça va l’être ouais.
Je sais pas encore où et comment (vu que j’ai plus mon serveur maison), mais ouais ^^.
Le truc avec Alsa je peux peut-être le mettre sur rubygems, pour le truc sur les fichiers INI je ne sais pas. À voir.
Au pire je posterais ici.

Rolinh a écrit :

Sinon, pour te rassurer un peu, pas plus tard que cette semaine j'ai essayé de compiler un projet pour un ami (il voulait voir si j'y parvenais avec ma machine) et la compilation a échoué notamment en raison d'un fichier C un peu... gros (260'000 lignes dans un seul fichier... et non, il n'y a pas un 0 de trop). Sur une machine avec 2G de ram, ça plante par manque de mémoire (c'est un projet comportant à l'heure actuelle plus de 10'000'000 de lignes de code, principalement en C, C++ et Lisp).

oO
C’est quoi comme projet ?
Et pourquoi un fichier de 260 000 lignes ?
Remarque ça me rappelle quand j’ai dû télécharger le code source d’Android l’an dernier. De mémoire ça faisait 15-16 Go.

Hors ligne

#867 Le 21/03/2013, à 21:32

Le Rouge

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

Rolinh a écrit :

tongue Non, un projet rassemblant plusieurs universités.

On veut des noms yikes


C'est deux suites de Cauchy qui veulent aller à la soirée 'no limit'. Hélas, à l'entrée le videur leur dit : "désolé, c'est complet !".
mon site perso (π²/6.fr) et mon blog

Hors ligne

#868 Le 21/03/2013, à 21:36

Rolinh

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

grim7reaper a écrit :

Les trucs en Ruby ? Ça va l’être ouais.
Je sais pas encore où et comment (vu que j’ai plus mon serveur maison), mais ouais ^^.
Le truc avec Alsa je peux peut-être le mettre sur rubygems, pour le truc sur les fichiers INI je ne sais pas. À voir.
Au pire je posterais ici.

Je peux t'héberger le code si tu le souhaites. wink

grim7reaper a écrit :

oO
C’est quoi comme projet ?
Et pourquoi un fichier de 260 000 lignes ?

Comme je l'ai dit, un projet universitaire. Je ne peux pas vraiment en dire plus et les sources ne sont pas ouvertes.
Le fichier de 260'000 lignes est un fichier de dataset pour du training. Pourquoi dans un seul fichier? Pas la moindre idée.


Blog
"If you put a Unix shell to your ear, do you hear the C ?"

Hors ligne

#869 Le 21/03/2013, à 22:11

grim7reaper

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

Rolinh a écrit :
grim7reaper a écrit :

Les trucs en Ruby ? Ça va l’être ouais.
Je sais pas encore où et comment (vu que j’ai plus mon serveur maison), mais ouais ^^.
Le truc avec Alsa je peux peut-être le mettre sur rubygems, pour le truc sur les fichiers INI je ne sais pas. À voir.
Au pire je posterais ici.

Je peux t'héberger le code si tu le souhaites. wink

Sympa merci.
Ça pourrait être une bonne solution en effet, quand ça sera prêt (peut-être dans le week-end, au moins pour le parser de fichier INI) on pourra voir ça smile

Rolinh a écrit :
grim7reaper a écrit :

oO
C’est quoi comme projet ?
Et pourquoi un fichier de 260 000 lignes ?

Comme je l'ai dit, un projet universitaire. Je ne peux pas vraiment en dire plus et les sources ne sont pas ouvertes.
Le fichier de 260'000 lignes est un fichier de dataset pour du training. Pourquoi dans un seul fichier? Pas la moindre idée.

Ok, donc c’est plus des données que du code au final, si j’ai bien compris ce que tu entends par dataset. Ça peut un peu expliquer la taille.
Un projet universitaire closed-source, c’est un peu bizarre. Y’a des entreprises qui sont aussi impliqué dedans (je te demande pas des noms hein) ?

Hors ligne

#870 Le 21/03/2013, à 22:39

Rolinh

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

grim7reaper a écrit :

Sympa merci.
Ça pourrait être une bonne solution en effet, quand ça sera prêt (peut-être dans le week-end, au moins pour le parser de fichier INI) on pourra voir ça smile

Ça marche. N'hésite pas à me contacter.

grim7reaper a écrit :

Ok, donc c’est plus des données que du code au final, si j’ai bien compris ce que tu entends par dataset. Ça peut un peu expliquer la taille.
Un projet universitaire closed-source, c’est un peu bizarre. Y’a des entreprises qui sont aussi impliqué dedans (je te demande pas des noms hein) ?

Il y a des données d'entrainement mais aussi beaucoup de code quand même. wink
Je trouve aussi que c'est bizarre. Pour avoir accès aux sources, il faut signer des clauses de non-divulgation, etc. J'avoue que pour un projet qui est issue d'une collaboration entre plusieurs universités (dont des très réputées...), c'est vraiment surprenant. Pour ce qui est des entreprises, je n'en ai pas la moindre idée. Ce n'est pas moi qui bosse sur ce projet. wink
Heureusement, j'ai déjà vu assez d'horreurs sur le projet sur lequel je travaille (vidéo en embarqué). tongue


Blog
"If you put a Unix shell to your ear, do you hear the C ?"

Hors ligne

#871 Le 22/03/2013, à 08:32

Mindiell

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

dataset d'entrainement, ça pue l'IA ça, non ? smile

Hors ligne

#872 Le 22/03/2013, à 09:33

Rolinh

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

@Mindiell: smile


Blog
"If you put a Unix shell to your ear, do you hear the C ?"

Hors ligne

#873 Le 22/03/2013, à 10:46

Mindiell

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

Ah, alors je rajoute "réseau de neurones" en plus et je valide ;P

Hors ligne

#874 Le 23/03/2013, à 09:31

grim7reaper

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

Je regardais NArray en Ruby (qui semble le standard de facto pour les tableaux multidimensionnels) et il y a quand même un truc qui me chiffonne hmm
En Ruby, la classe Array utilise le row-major order pour ce qui est de l’indexation. Très bien, rien de surprenant vu les inspirations du langage.
La classe NArray par contre utilise le column-major order pour l’indexation (comme en Fortran entre autre), bon déjà là ça perturbe, mais en plus il commence l’indexation à 0 (comme en C, en Fortran ça commence à 1) et en plus en interne, niveau stockage, ça semble être du row-major order neutral
Donc là je suis franchement perspicace hmm
C’est quoi la logique ?
Ne pas être cohérent avec Ruby pour plaire à ceux qui font du Fortran ?
Pourquoi pas, mais dans ce cas, pourquoi utiliser le row-major order si c’est pour indexer en column-major order (et pourquoi commencer à 0, quitte à imiter Fortran, R, … autant le faire jusqu'au bout).

C’est con, je pense que la communauté Ruby s’est trop focalisé sur le Web (via RoR) au détriment du reste. Je voulais voir pour un truc vaguement semblable à numpy pour Ruby, je trouve uniquement NArray (qui ne couvre qu’une petite partie de numpy mais cela dit ça me suffisait pour ce que je voulait faire) qui a une logique étrange

Dernière modification par grim7reaper (Le 23/03/2013, à 10:15)

Hors ligne

#875 Le 23/03/2013, à 09:48

The Uploader

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

Je connaissais même pas NArray.

grim7reaper a écrit :

C’est con, je pense que la communauté Ruby c’est trop focalisé sur le Web (via RoR) au détriment du reste.

C'est aussi mon avis depuis longtemps.

grim7reaper a écrit :

Je voulais voir pour un truc vaguement semblable à numpy pour Ruby, je trouve uniquement NArray (qui ne couvre qu’une petite partie de numpy mais cela dit ça me suffisait pour ce que je voulait faire) qui a une logique étrange

SInon ceci a l'air pas mal : http://sciruby.com/
T'as regardé sur ruby toolbox ?


Passer de Ubuntu 10.04 à Xubuntu 12.04 LTS
Archlinux + KDE sur ASUS N56VV.
ALSA, SysV,  DBus, Xorg = Windows 98 !
systemd, kdbus, ALSA + PulseAudio, Wayland = modern OS (10 years after Windows, but still...) !  Deal with it !

Hors ligne

Haut de page ↑