bobefrei a écrit 160 commentaires

  • [^] # Re: Ruby On Rails

    Posté par  . En réponse à la dépêche Support d'Ajax dans Ruby on Rails. Évalué à 2.

    Tout est fait en HTML+Javascript.

    Dans une application de ce type, deux tâches demandent des performances: l'affichage et la gestion des données. Les langages de scripts les délèguent au navigateur web ou à des API comme Qt ou GTK pour la première et à un SGBD pour la seconde.

    L'errreur de Microsoft avec le Compact Framework c'est d'avoir voulu faire de Winform un simple binding vers la GUI de win32. Résultat c'est super lent.
  • [^] # Re: Ruby On Rails

    Posté par  . En réponse à la dépêche Support d'Ajax dans Ruby on Rails. Évalué à 2.

    >Vas-y envoi moi les 2 programmes, le serveur web+html et l'appli WinForms que je compares.

    Pour la winform tu peux le faire toi même, crée un projet bidon et mets une forme avec des contrôles. Par contre l'autre appli, je n'ai pas le droit de la sortir d'ici, mais le serveur web vient des outils d'iAnywhere mBusiness tu dois pouvoir télécharger une démo sur leur site.
  • [^] # Re: Ruby On Rails

    Posté par  . En réponse à la dépêche Support d'Ajax dans Ruby on Rails. Évalué à 2.

    >venant de nulle part

    Pas de nulle part, elle vient du travail que l'on fournit en ce moment comme je l'ai dis. Ce n'est pas biaisé par nos compétences, tu peux faire l'expérience suivante:

    Prends le compact framework, un pocket pc et VS.NET.
    Dessine un formulaire dans l'éditeur avec une vingtaine de contrôles dessus.
    Mesure le temps qu'il faut pour l'afficher.

    Sans avoir tapé une seule ligne de code, ça va déjà mettre 10s se charger... On est obligé de gérer un système de cache pour compenser cette lenteur.

    Pour revenir au type dynamique vs typage fort, si tu ne veux pas prendre en compte les outils annexes qui permettent de faire des vérifications sur les langages dynamiques comme cela t'as été signalé dans les posts précédents...
  • [^] # Re: Ruby On Rails

    Posté par  . En réponse à la dépêche Support d'Ajax dans Ruby on Rails. Évalué à 2.

    >Blablabla. Mauvais codeur, changer de codeur, pas de techno.

    Arg je m'avoue vaincu devant une argumentation aussi bien construite, basée sur des preuves irréfutables, issu d'une profonde réflexion et surtout très constructive.

    >Faut savoir le type est défini ou il ne l'est pas ?
    Blablabla, oui par inférence, tu comprends rien à rien.
  • [^] # Re: Ruby On Rails

    Posté par  . En réponse à la dépêche Support d'Ajax dans Ruby on Rails. Évalué à 2.

    > Bah pour les PDA, y'a Visual Studio.

    Pour Pocket PC uniquement et il coute cher.

    >Et franchement sur ce genre de machine t'as le problème des perfs tout de même, alors bon Ruby & Co voilà quoi.

    Pour la petite histoire:
    .NET est très très lent sur Pocket PC certainement parce que Winforms est pourri, car dans mon équipe on obtient des programmes plus réactifs avec une autre solution avec un serveur web embarqué et des pages HTML/Javascript...


    Yahooooo... Donc c'est quoi les paradigme révolutionnaire de Python ?


    Arrête de tout ramener à Python, ça fait au moins 8 posts qu'on parle des langages en général!


    Ah bon ? Quel vérification ? Par quel outil ?
    Si je fais :
    if(rand() < 0.5)
    o = new Carotte
    else
    o = new Patate

    addition(new Patate, o)
    Il va se passer quoi ? Tu m'expliques ?


    Tu auras une erreur, car:

    - soit o n'existait pas avant, donc il n'est dans l'espace de nom de la ligne addition(new Patate, o), mais dans celui du if et du else. Ce sont d'ailleurs deux variables o distinctes.

    - soit o existait avant et il aura donc un type, par exemple Carotte, et la ligne o = new Patate sera donc incorrecte.

    Pour l'application de ce principe à des langages en gardant le côté dynamiques, il faudrait l'introduire sous forme d'avertissement ou ajouter un mot clef pour dire qu'une classe peut être modifié dynamiquement ou non...
  • [^] # Re: Ruby On Rails

    Posté par  . En réponse à la dépêche Support d'Ajax dans Ruby on Rails. Évalué à 2.

    >Et tu ne m'expliques toujours pas comment en Python tu ferais pour dériver 2 méthodes avec la même signature provenant de 2 classes différentes.

    En Python je ne sais pas, je n'en fait pas souvent. Pourquoi tu me parles de Python?
  • [^] # Re: Ruby On Rails

    Posté par  . En réponse à la dépêche Support d'Ajax dans Ruby on Rails. Évalué à 2.

    > Gni ? Tu peux t'expliquer là ?

    T'as déjà développer autre chose que des sites avec J2EE ou .NET? Je développe souvent pour PDA (Pocket PC, Palm) et plus rarement pour des systèmes embarqués, récemment j'ai fait des applications de tests de charge en cluster... Dans ces environnements, il n'y a pas toujours d'IDE complet disponible ou ton employeur n'en achètes pas ou ta machine de travail n'est pas assez puissante pour en faire tourner un, etc.

    >Pas du tout, j'utilises en permanence les interfaces.

    Parce que tu utilises toujours le même langage, il y a d'autres paradigmes...

    >Ah bah oui comme ca je vais pouvoir faire :
    >addition(patate, carotte)

    Si patate et carotte ne sont pas des entiers, tu auras une erreur pendant la phase de vérification, pas à l'exécution.

    > C'est magnifique dis donc. T'en a d'autres des comme ca ?

    Lis ça avant de prendre un ton ironique qui montre que tu n'as rien compris: http://en.wikipedia.org/wiki/Type_inference(...)
  • # et aussi...

    Posté par  . En réponse au journal Le metier de trolleur.... Évalué à 4.

    Il y aussi Timaniac qui est un trolleur de haut niveau. Et puis moi aussi j'aime répondre aux trolls, vive les trolls!
  • [^] # Re: Merci à l'équipe eagle

    Posté par  . En réponse au journal le pilote eagle-usb c'est fini.... Évalué à 3.

    Il est clair que ce modem est vraiment pourri mais quand on a que ça, on est bien content que l'équipe eagle se soit cassé la tête pour que ça marche! Bravo!
  • [^] # Re: Ruby On Rails

    Posté par  . En réponse à la dépêche Support d'Ajax dans Ruby on Rails. Évalué à 1.

    On n'a pas toujours accès à un bon IDE et cela reste du bricolage.

    Tu prends des cas particuliers alors que le type d'écriture dont je parle est faite pour améliorer le cas général.

    Pour ton exemple avec les classes A, B, C, ce n'est pas un problème:

    A var = new C(); serait remplacé par var = new C() as A;

    Mais l'avantage du calcul automatique des types n'est pas à la création mais à l'affectation, aux paramètres...

    Si tu écris A = B, A prends le type de B, pas besoin de le préciser sauf si tu veux faire une conversion ou utiliser un sous-type.

    Autre exemple prends la fonction:


    int addition(int a, int b)
    {
    return a + b;
    }


    N'est-il pas plus simple d'écrire:


    addition(a, b)
    {
    return a + b;
    }


    Comme on fais une addition, a et b seront:

    - des nombres entiers ou flottants avec un typage laxiste comme en Java/C++.
    - des entiers avec typage plus strict comme OCAML où l'addition entre nombres flottants s'écrit +., car il s'agit d'une opération différente.
  • [^] # Re: Ruby On Rails

    Posté par  . En réponse à la dépêche Support d'Ajax dans Ruby on Rails. Évalué à 2.

    Il est dommage de compenser les faiblesses d'un langage par son IDE.

    Pour le problème de l'instanciation d'un type et l'affectation à une référence vers un parent ou une interface, il suffit d'une conversion:

    Ref = new MaClasse() as MonInterface

    Ce genre de détail de syntaxe semble dérisoire, mais si ça rend un code plus lisible et plus agréable, ça vaut le coup.
  • [^] # Re: les communistes sont-ils libres ?

    Posté par  . En réponse à la dépêche Ekopedia progresse et a besoin de toi. Évalué à 7.

    ... et accessoirement promotion d'une certaine idée de liberté

    (ah ben non, finalement, c'est pas dutout communiste ;)


    Y aura-t-il toujours un trolleur dans chaque forum qui n'a comme vision du communisme que l'ex-URSS?

    Y aura-t-il toujours son contre-trolleur dans chaque forum qui n'a comme vision du libéralisme que la théorie économique?

    Ou peut être qu'un jour ils ouvriront tous deux une encyclopédie ou un livre d'Histoire avant de parler sans savoir...
  • [^] # Re: Ruby On Rails

    Posté par  . En réponse à la dépêche Support d'Ajax dans Ruby on Rails. Évalué à 1.

    Dans test d'intégration, il y a intégration, ça veut dire qu'il faut compiler tout le projet. Donc c'est long.
  • [^] # Re: Ruby On Rails

    Posté par  . En réponse à la dépêche Support d'Ajax dans Ruby on Rails. Évalué à 2.

    Et qu'est t'en sait ? Il peut très bien générer le code intermédiaire (la première phase de compilation qui correspond au "front-end") sans te pondre explicitement le code dans un répertoire pour que tu le vois.


    Il peut aussi danser la carioca sans que je le sache, mais entre le moment où, après une modification, je lance la compilation et celui où j'obtiens mon exécutable, il s'écoule entre 30s et 3min sur mon projet actuel. A chaque session de debug, c'est particulièrement pénible.

    Si tu as une technique secrête pour que mon programme soit compilé et lancé en moins d'une seconde je suis preneur!

    C'est complémentaire, pas exclusif.


    C'est peut être même prolyxe parfois, mais en tout cas c'est relou d'attendre, ça c'est sur.
  • [^] # Re: Ruby On Rails

    Posté par  . En réponse à la dépêche Support d'Ajax dans Ruby on Rails. Évalué à 2.

    >Personne ne t'empêche de tester une idée dans un langage à typage "faible".

    Comme ça tu perds du temps à porter ton prototype dans un autre langage...

    >De plus c'est pas non plus super long d'écrire le type hein.

    Un seul non, mais sur un programme ça représente une grande partie de ce que tu tapes. Surtout avec Java/C++/C# qui t'obligent à taper plusieurs fois la même info:

    MonType obj = new MonType();
    MaListe<MonType> Liste = new MaListe<MonType>(obj);
    MonType obj2 = Liste.first();

    Une bonne syntaxe associé à un interpréteur/compilateur intelligent permette de déduire le type des instances:

    obj := new MonType()
    Liste := new MaListe(obj)
    obj2 = Liste.first();

    ( := est là pour faire différence entre instanciation et affectation )

    Au delà de cette syntaxe fictive, des langages comme OCAML implémente ce genre de chose sous la forme de l'inférence de type.
  • [^] # Re: Ruby On Rails

    Posté par  . En réponse à la dépêche Support d'Ajax dans Ruby on Rails. Évalué à 2.

    >Si c'est une compilation.

    NON! Je bosse sur Visual Studio en ce moment et le fait qu'il souligne en rouge les erreurs de syntaxe n'est pas une compilation puisqu'elle ne génère pas les fichiers exécutables.

    >>il n'est pas toujours possible de faire des tests unitaires...
    >Dans quels cas ?

    Quand tu fais des tests d'intégration!
  • [^] # Re: Ruby On Rails

    Posté par  . En réponse à la dépêche Support d'Ajax dans Ruby on Rails. Évalué à 3.

    N'importe quoi qu'est ce qu'il faut pas entendre...


    Ce n'est pas n'importe quoi, j'ai travailler sur des projets où c'était ça! Bien sur c'était un peu plus compliqué qu'un Hello World... Pourquoi crois-tu que j'ai le temps de poster sur linuxfr?

    Avec certains IDE (Eclipse, Visual Studio) c'est même fait en background avec retour instantané (surlignage de la faute) lorsque le developpeur tappe son code.


    Ce n'est pas une compilation mais une vérification de syntaxe. Ce fonctionnement est d'ailleurs présent pour des langages non compilés.

    Et puis franchement cette phase de "compilation" c'est aussi pour gagner du temps à l'exécution.


    Dans l'absolu oui, en pratique quand tu débogues ou fait des tests à répétition, ça peut faire perdre beaucoup de temps, car il n'est pas toujours possible de faire des tests unitaires...

    c'est tout benef, il n'y a aucun inconvénient en terme de productivité


    Je ne serais pas si catégorique.
  • [^] # Re: Alternative

    Posté par  . En réponse au journal Java, .NET et les logiciels libres. Évalué à 3.

    Bon ce n'est pas la peine d'insister, si ça n'est pas J2EE ou .NET tu n'en voudras quoi qu'on te propose puisque ces deux plateformes représentent la perfection, l'aboutissement ultime en matière de développement et que tout ce qui ose en dévier ne serait-ce que d'une ligne de code ne mérite qu'un profond mépris.

    Quand je vois en ce moment même comment .NET rame pour afficher la moindre fenêtre sur mon Pocket PC et qu'il s'agit d'une tes références en terme de performance...
  • [^] # Re: Alternative

    Posté par  . En réponse au journal Java, .NET et les logiciels libres. Évalué à 2.

    Parce qu'Objective C et Smalltalk n'ont pas d'API, pas d'environnement? Et OpenStep? Et Cocoa? Et Squeak?

    Je n'y avais pas penser mais ces plateformes sont peut être aussi de bonnes alternatives à J2EE. A étudier...

    Sinon, je viens de lire la dépêche sur Ruby on Rail, ça a l'air pas mal aussi.
  • [^] # Re: Vers un système plus raisonnable...

    Posté par  . En réponse à la dépêche Une réforme du système des brevets aux Etats-Unis ?. Évalué à 1.

    Cette alternative est valable si le tiers est de bonne foi et n'amène pas l'affaire devant la justice.

    Pour les LL je croyais qu'une utilisation non lucrative d'un brevet était permise. Qu'en est-il réellement?
  • [^] # Re: Et pourquoi pas ...

    Posté par  . En réponse au journal Et si on recommencait ?. Évalué à 4.

    Il a dit payé convenablement.
  • [^] # Re: Bindings

    Posté par  . En réponse au journal Spécifier une nouvelle librairie graphique. Évalué à 2.

    Tu seras obligé de passer par les bindings d'OpenGL et SDL pour accéder au matériel. A moins que tu veuilles réécrire tous les drivers du monde?

    Je pense qu'il faut placer ta librairie à un plus haut niveau, cad proposer des fonctionnalités telles qu'un scenegraph, un moteur physique, la gestion des ressources (textures, sons, objets 3D, scripts...), du jeu en réseau,etc.

    A bas niveau, il ne reste qu'un domaine qui est mal couvert (par le libre en tout cas): les calculs "vectoriels" utilisant MMX, SSE et co.

  • [^] # Re: Ruby On Rails

    Posté par  . En réponse à la dépêche Support d'Ajax dans Ruby on Rails. Évalué à 2.

    Sauf que quand ton cycle de compilation/déploiement prend 5min, ça "n'enlarge" plus, ça fait perdre du temps.
  • [^] # Re: Vers un système plus raisonnable...

    Posté par  . En réponse à la dépêche Une réforme du système des brevets aux Etats-Unis ?. Évalué à 1.

    Le danger est pour un inventeur (personne ou entreprise) qui n'a pas les moyens de déposer un brevet:

    - s'il le diffuse publiquement, personne ne pourra déposer de brevet, mais des concurrents pourront profiter gratuitement de son travail.
    - s'il le garde pour lui, il prend le risque qu'un autre trouvant la même invention plus tard ne dépose un brevet qui lui interdira d'utiliser la sienne.
  • [^] # Re: Alternative

    Posté par  . En réponse au journal Java, .NET et les logiciels libres. Évalué à 2.

    <blockquote> : c'est relativement nouveau dans le monde du libre </blockquote>

    Ce n'est pas du tout nouveau dans le libre, Java et C# puisent beaucoup de leurs idées des plateformes Objective C et Smalltalk.