L’évolution de mon SoC

Et non, je n’ai pas encore abandonné.

Jusqu’à maintenant, j’ai passé une bonne partie de mon temps (celui qu’il me restait en enlevant les examens), à apprendre. Comprendre comment fonctionne un logiciel de 4,5 millions de ligne n’est pas une chose facile, vous l’aurez deviné. Voilà ce qui m’a pas mal occupé:

  • Git: le gestionnaire de version utilisé par Gimp. Je suis assez familié de Subversion, mais le passage à Git prend un peu de temps, surtout si on a une branche à soi.
  • Les Gobject: c’est une librairie qui permet de faire de la programmation orienté objet (POO) en C, qui est utilisée dans une bonne partie des projets Gnome, Gimp compris.  Ça change tellement la façon de coder en C que c’est quasiment un nouveau langage. Pour tout dire, ma réaction en voyant ça a été un truc du genre « c’est possible ça ? ». Assez perturbant, mais je commence à en venir à bout.
  • GEGL, BABL, et l’architecture en général: mon outil sera composé d’une série d’objet (opération Gegl, structure de donnée, interface, …), et créer cette architecture présuppose d’avoir bien compris comment fonctionne Gimp en interne. Je commence à en voir le bout également.

Cette étape est, je pense, la plus difficile et prend un temps certain. Mais j’en verrai le bout !

3 réponses à to “L’évolution de mon SoC”

  • mmiicc:

    Don’t give up!

  • LeBelge:

    Vraiment très intéressant Michaël!
    Est-il possible d’avoir accès à ta branche quelques part? Comment comptes-tu procèder?

    Comme c’est semble t-il l’un des projets les plus intéressants de ce GSoC pour Gimp, ça serait vraiment génial de suivre le truc quasi en temps réel et d’apprendre par la même occasion.

    Merci à toi et « merde » pour ce projet!
    (guys, don’t get me wrong :), the word « merde » here, it’s just a french expression to wish « good luck » to people having to pass a test)

    • Michael:

      J’ai une branche dediée sur le git de Gimp (soc-2010-cage), mais il n’y a rien à voir pour l’instant. Je ferai signe quand ça changera :)