Journal Processing

Posté par  .
Étiquettes : aucune
16
1
sept.
2008
http://processing.org/

Processing est un langage open source basé sur java, il permet de scripter des animations 2D/3D de façon très intuitive. Il a été développer pour faciliter l'expression artistique à travers java.

J'ai choisi d'en parler dans ce journal car une recherche sur linxfr.org n'a donné aucun résultats... Or c'est un langage à connaître et surtout à faire connaître.

Je l'ai découvert suite à un article sur une animation musicale sur le blog de Libération http://www.ecrans.fr/ .

Ce langage fortement typé et proche de perl dans sa synthaxe est relativement simple à appréhender. Il suffit de parcourir en diagonale la documentation (disons les trois premiers paragraphes...) pour faire son premier script et crier victoire devant ce rectangle qui apparait après avoir cliquer sur "run". Ensuite les tests se suivent, puis on visualise et on lis le script des démos, alors les test s'enchainent frénétiquement. Je ne suis pas programmeur (un peu de bash et de python pour administrer mes serveurs) mais au bout d'une dizaine d'essais je suis passé directement à la créations d'objets, en lisant la class d'une démo. Cette possibilité décuple les perspectives du langage.

Personnellement je conseillerais ce langage à tout ceux qui veulent apprendre à "coder" pour la simplicité, la synthaxe, le résultat en direct, et l'appréhension de principes complexes comme les objets (la théorie est simple mais la pratique n'est pas toujours si évidente).

En bref un gros potentiel chronophage pour qui n'a pas de velléités artistiques, un bon remplaçant à flash pour les animations scriptables, et un excellent outil de formation à la programmation, à découvrir au plus vite!!!!
  • # et en plus il peut faire le café

    Posté par  . Évalué à 2.

    ca fait un petit moment que je veut essayer ce langage
    pour le relier a une carte électronique arduino
    http://hardware.processing.org/
  • # complexification.net

    Posté par  . Évalué à 5.

    Pour ceux qui voudrait des exemples de processing en action je recommande vivement le site du développeur Jared Tarbell qui a développé quelques algorithmes dans ce langage, le code source est dispo dans les applets.

    http://www.complexification.net/gallery/
  • # Dans vos pages web

    Posté par  (site web personnel, Mastodon) . Évalué à 6.

    >Processing est un langage open source basé sur java

    "basé", c'est un peu vite dit. Il a surtout une implémentation en java.

    Il existe aussi une implémentation en javascript réalisée par John Resig (monsieur jQuery) :

    http://ejohn.org/blog/processingjs/
    http://ejohn.org/blog/overview-of-processing/

    Pas besoin d'installer java, un browser (très récent) suffit :-)
  • # Langage?

    Posté par  (site web personnel) . Évalué à 1.

    Euh, corrige-moi si je me trompe, mais j'ai plutôt l'impression qu'il ne s'agit "que" d'une API pour faire des animations.

    Car bon, vu que c'est un truc en Java (ou JavaScript donné dans les commentaires), un langage écrit dans un ou plusieurs langages, ça fait un peu bizarre.

    Il faut faire la différence entre le langage lui-même, et la bibliothèque de fonctions associées, et les bibliothèques tierces.
    La, je vois une bibliothèque tierce, et suis curieux de savoir pour quelles raisons tu appelles ça un langage.
    • [^] # Re: Langage?

      Posté par  (site web personnel) . Évalué à 3.

      http://processing.org/ ligne 1:
      Processing is an open source programming language and environment

      "La liberté est à l'homme ce que les ailes sont à l'oiseau" Jean-Pierre Rosnay

      • [^] # Re: Langage?

        Posté par  (site web personnel) . Évalué à 2.

        Oui, je lis souvent dans les plaquettes publicitaires les mots "nouveau", "jamais vu ailleurs", ""exceptionnel", "numéro 1", "fait même le café".

        donc quand je vois ça tiré des exemples :
        void draw()
        {
        background(0); // Set the background to black
        y = y - 1;
        if (y < 0) { y = height; }
        line(0, y, width, y);
        }


        je sais que je peux le compiler tel quel en C, C++, Java du moment ou j'ai la bibliothèque appropriée.

        Rien de neuf au niveau du langage (le C, c'est vraiment pas neuf!), juste une API.

        J'aimerai savoir ce qu'il y a de neuf pour appeler ça un langage, hors communication "marketing".

        Ce n'est pas un essai de troll, juste une demande de confirmation qu'on peut appeler ça un langage à la place d'API.
        • [^] # Re: Langage?

          Posté par  . Évalué à 0.

          J'aimerai savoir ce qu'il y a de neuf pour appeler ça un langage, hors communication "marketing".
          Ce n'est pas un essai de troll, juste une demande de confirmation qu'on peut appeler ça un langage à la place d'API.


          Rien du tout juste la première page du site web...

          "Gentoo" is an ancient african word, meaning "Read the F*ckin' Manual". "Gentoo" also means "I am what I am because you all are freaky n3rdz"

        • [^] # L'usage

          Posté par  . Évalué à 2.

          C'est pas une question de neuf ou pas, c'est l'usage qui fait appeler ça un langage. La communication, aider les potentiels non utilisateur ou utilisateur à savoir si ce sera utile pour eux n'est pas inaproprié.

          On appelle GTK pour afficher une boîte de dialogue
          On écrit un traitement en Pro*C

          Le comment c'est fait derrière (pré-processeur, interpreteur de script intégré, API) importe peu du point de vue utilisateur.

          Je crois que les utilisateurs d'OpenGL, de jQuerry ou des diverses extensions au C pour la conception de matériel se posent plus comme utilisateur d'un langage que d'une bibliothèque.

          (et ne pas oublier qu'un langage n'est pas nécessairement turing complete).

          Analogie foireuse : Couteau : objet en metal (API), instrument de cuisine (bibliothèque), arme (langage)

          Surtout que API est un terme très (trop?) large, ça va couvrir aussi bien l'interface de joomla et firefox pour créer des modules, les .h du noyau que la documentation des fonctions élevés d'un langage. Son utilisation, même si elle est correct, tiendrait du concours aux buzzword dans la présentation d'un outil et serait aussi utile qu'un XML powered.
        • [^] # Re: Langage?

          Posté par  (site web personnel) . Évalué à 1.

          Tu ne confondrais pas langage et syntaxe ? ;)
    • [^] # Re: Langage?

      Posté par  . Évalué à 1.

      Processing et l'Arduino partage le même IDE et a peut près le même langage en gros c'est du C avec des bibliothèques qui vont bien faciles d'utilisation pour le néophyte et où tous est vérifié, valider et compilé par l'IDE par la suite ( GCC-AVR pour l'arduino ). Le langage n'a rien de révolutionnaire c'est simplement un environnement vraiment pas mal foutue pour les débutants et assez ouvert pour pouvoir vraiment s'amuser.

      C'est pas révolutionnaire c'est simplement bien fait et en soit c'est déjà pas mal.
  • # "langage fortement typé et proche de perl" ???

    Posté par  (site web personnel) . Évalué à 3.

    Pour moi ça ressemble fortement à du java, ou alors j'ai rien compris...

    cf : http://www.complexification.net/gallery/machines/sandTravele(...) (dont le résultat est très joli en passant).

    J'ai beau chercher, j'ai l'impression que c'est un java (donc une syntaxe à la C), dans lequel on a mis les primitives graphiques dans Object.

    Rien de nouveau sous le soleil donc : syntaxe à la C, pas possible de créer ses structures de contrôles, pas totalement objet (float, int pas objet), etc...

    A part ça c'est une bonne idée, et j'aime beaucoup l'idée de retrouver l'ordinateur de mon enfance, où j'avais pas 36 classes à instancier pour afficher un point à l'écran.

    Si en plus il y a une implémentation en javascript, c'est le bonheur, on est indépendant !

    « Il n’y a pas de choix démocratiques contre les Traités européens » - Jean-Claude Junker

    • [^] # Re: "langage fortement typé et proche de perl" ???

      Posté par  . Évalué à 1.

      Oui c'est du java, mais la synthaxe me semble (sachant que je ne connais pas java) simplifié pour faire du graphique, et la création d'objet me semble (je ne "code" pas toute la journée) également simplifié, j'ai compris plus rapidement comment faire par rapport à python, perl, php ou C++.

      Le hic c'est le fort typage, et les {} ; et autre, qui, quand on vient de python, semblent faire perdre du temps...

      Mais oui c'est du java, donc t'as compris.

      Un des tutoriels en français explique justement de lire les fichiers java que processing crée pour apprendre le langage java...
      http://www.ecole-art-aix.fr/rubrique81.html

      "Gentoo" is an ancient african word, meaning "Read the F*ckin' Manual". "Gentoo" also means "I am what I am because you all are freaky n3rdz"

      • [^] # Re: "langage fortement typé et proche de perl" ???

        Posté par  . Évalué à 3.

        >le hic c'est le fort typage, et les {} ; et autre, qui, quand on vient de python, semblent faire perdre du temps...

        Ce n'est pas tellement le typage fort qui fait "lourd" par rapport a Python et autre, c'est le typage explicite: Scala fait par exemple de 'inference de type locale' qui garde le typage fort mais allège la lecture, c'est pas neuf comme concept: Limbo le faisait déjà et ça permet d'avoir les avantages des deux.

        Par contre je trouve que la déclaration de variable explicite est une bonne idée contrairement a ce que fait ce langage ou Python: AMHA ça devrait être optionnel, mais présent par défaut: bref l'inverse du Perl.

        Pour ce qui est de {}: un prof a trouvé qu'en utilisant une syntaxe a la Python pour l'indentation (enfin il n'est pas fou lui, il n'a autorisé que les espaces pas les tabulations!) les débutants avaient plus de facilité a apprendre un langage: ce qui est interressant c'est qu'il a changé juste ce point et garder le reste a l'identique pour faire la comparaison.
    • [^] # Re: "langage fortement typé et proche de perl" ???

      Posté par  (site web personnel) . Évalué à 6.

      Technologiquement ya rien de neuf mais apparemment les graphistes/designers sont fans. Si ça peut leur éviter de faire du C(++) sans comprendre les pointeurs ou du Python impossible à relire (par pitié, arrêtez de conseiller des langages à typage dynamique aux débutants), pourquoi pas.

      > Ce langage [est] proche de perl dans sa synthaxe
      De ce que j'en ai vu (pas grand chose bien que mon frère me bassine avec depuis des mois), je vois vraiment pas le rapport avec la syntaxe de Perl.

      pertinent adj. Approprié : qui se rapporte exactement à ce dont il est question.

  • # Prototypage

    Posté par  . Évalué à 5.

    En tant que developpeur OpenGL et prof, je compte me servir de processing pour faire (et faire faire) du prototypage d'application 3D, des tests de faisabilité etc.. Il est très utilisé par les artistes numériques mais aussi par les geeks de tout poil pour faire de la visualisation de données. Pour info le dernier clip de Radiohead est réalisé gràce à processing (le programmee st d'ailleurs disponible).
  • # Déjà évoqué

    Posté par  (site web personnel) . Évalué à 2.

    > J'ai choisi d'en parler dans ce journal car une recherche sur linxfr.org n'a donné aucun résultats...

    Et pourtant... cf la dépêche Code Swarm, qui utilise Processing (mais ce n'était pas dit dans la dépêche) https://linuxfr.org//2008/06/22/24246.html
  • # Heuu...

    Posté par  . Évalué à 2.

    En bon rédacteur soucieux de la pertinence de ses écrits je souhaite modifier certaines informations dans ce journal, afin qu'il soit en accord avec les différentes remarques que vous avez eu la gentillesse de poster en commentaires.
    Mais où est ce ù¨%*$^ de bouton "edit"/"modifier"/que sais je ?

    Je vais de ce pas lire le F*M

    "Gentoo" is an ancient african word, meaning "Read the F*ckin' Manual". "Gentoo" also means "I am what I am because you all are freaky n3rdz"

Suivre le flux des commentaires

Note : les commentaires appartiennent à celles et ceux qui les ont postés. Nous n’en sommes pas responsables.