Partage
  • Partager sur Facebook
  • Partager sur Twitter

Developper sous linux

Pour des applications multiplateforme

    26 septembre 2006 à 19:03:57

    Bonjour,
    Cela fait un baille que je code en PHP et xHTML.
    J'aimerais maintenant me lancer dans la vrai programmation d'applications :)
    Je souhaite développer sous ma Ubuntu Edgy des applications consoles comme graphiques :) (utilisant des bases de données et des communications reseau, enfin a terme pas pour débuter ^^)
    Je solicite donc vos précieux conseils afin de m'orienter vers un language de programation puissant (j'ai deja quelques notions en C) et portable. J'hesite entre le C/C++ et le Python, mais il y en a surement d'autre, j'avou qu'on s'y perd ^^
    Et je cherche aussi un environement de developement (IDE ^^ ) adapté a ce language (tournant sous linux) me permetant et coder, compiler et debugger :)
    La j'ai deja essayé KDevelop (mais je tourne sous Gnome) et j'ai voulu essayer GNUStep, seulement je le trouve pas dans le menu ^^
    En vous remerciant :)
    • Partager sur Facebook
    • Partager sur Twitter
      26 septembre 2006 à 19:31:40

      Je vais te parler du seul langage de programmation que je connais (peu, il faut l'avouer), le Java.
      Il semble correspondre à tous tes critères, il est portable, on peut parfaitement développer en Java sous Linux avec par exemple l'IDE Eclipse. (installer Eclipse sous Linux)
      De plus il existe de nombreux livres sur le Java ainsi que de nombreux tutoriaux à son sujet un peu partout sur le web (notamment ici même sur le siteduzero et sur developpez.com )
      Bien evidemment il permet de faire des application consoles et graphiques. :)

      J'espère avoir pu t'éclairer un peu. :)

      Edit: Rajout des liens
      • Partager sur Facebook
      • Partager sur Twitter
        26 septembre 2006 à 19:34:46

        Oui je JAVA a l'air interessant, seulement ce qui me gene avec ce language c'est que les utilisateur doivent installer la machine virtuel afin de faire tourner le programme, et qu'il ma l'air un peu plus lent que les autres non ?
        Sinon niveau portabilité, c'est vrai que JAVA est génial^^
        J'attend d'autre avis avant de faire un choix ^^
        • Partager sur Facebook
        • Partager sur Twitter
          26 septembre 2006 à 19:38:10

          Effectivement mais maintenant Java est pratiquement automatiquement installé sur les ordinateurs achetés dans le commerce (avec Windows XP j'entend) et je ne sais pas pour Linux mais à mon avis ça doit être vrai aussi. Je pense que ça a pu être un problème mais que ça ne l'est plus maintenant étant donné la popularité de Java.
          • Partager sur Facebook
          • Partager sur Twitter
            26 septembre 2006 à 19:44:59

            GNUstep est un framework : c'est juste des libaries (donc c'est normal qu'il n'apparaisse pas dans tes menus). Par ailleurs, en tant qu'environement, il est conseillé de l'utiliser avec windows maker, un gestionnaire de fenetre qui respecte au mieu les normes OpenStep (mais ça, c'est juste pour ton confort lors du dev).

            sudo apt-get install gnustep gnustep-devel wmaker


            Et tu le lances au demarrage de ta session (quand tu tapes ton login), en selectionnant "Windows Maker" au lieu de gnome (le paquet gnustep-devel sert à installer les outils de developpement, comme Gorm et les trucs qui vont bien pour compiler).
            Au niveau de l'ide, je te conseille ProjectManager (ou ProjectCenter) - et avant toute chose, de lire chacun des liens donnés dans la news :) (parce qu'en général, ça mene vers des tutos).

            Edit: au niveau de java, sa portabilité est quand meme assez relative. Outre le probleme de la machine virtuelle, il gere assez mal les specs de certains environements (genre, sur mac, c'est choquant).
            • Partager sur Facebook
            • Partager sur Twitter
              26 septembre 2006 à 23:15:10

              Salut,

              Citation : quelqu'un dit:

              il gere assez mal les specs de certains environements (genre, sur mac, c'est choquant).


              Je ne suis pas d'accord avec cette affirmation. sous osX.4, Apple installe le jre 1.5 par défaut.
              En ce qui concerne le langage, python est quand même plus cool que n'importe quel autre. Et avec py2exe, ton code .py est transformé en un .exe. Donc contrairement à java, python quitte le domaine des langages interpretés.
              Plus besoin que le langage ou la machne virtuelle soit installée sur le client pour que les app créées avec python ne fonctionnent.
              • Partager sur Facebook
              • Partager sur Twitter
                27 septembre 2006 à 2:00:32

                Java est vraiment au top sur la portabilité

                Pour C/C++ c'est possible, en fesant le choix d'une lib portable.

                • Partager sur Facebook
                • Partager sur Twitter
                Anonyme
                  27 septembre 2006 à 6:26:55

                  Citation : Marcinj

                  Salut,

                  Citation : quelqu'un dit:

                  il gere assez mal les specs de certains environements (genre, sur mac, c'est choquant).


                  Je ne suis pas d'accord avec cette affirmation. sous osX.4, Apple installe le jre 1.5 par défaut.



                  C'est pas en rapport avec ce qu'il a dit, hein.

                  Edit : en plus moi j'ai une version antérieur et je suis sous X.4.
                  • Partager sur Facebook
                  • Partager sur Twitter
                    27 septembre 2006 à 7:51:18

                    Je me disais j'avais du mal comprendre ce qu'était GNUStep ^^
                    Avec cet environnement je peut developper en quel language ? Que en Objective C ?
                    Actuellement je penche pas mal pour le python ou pour le C/C++ (puis avec mono on peut faire du .NET ^^ )
                    Le java a l'air interéssant, je m'y interesserais surement par la suite :)
                    • Partager sur Facebook
                    • Partager sur Twitter
                      27 septembre 2006 à 8:11:34

                      Citation : Marcinj

                      Et avec py2exe, ton code .py est transformé en un .exe



                      Sous Linux ça va pas servir à grand chose ;)
                      • Partager sur Facebook
                      • Partager sur Twitter
                        27 septembre 2006 à 8:56:14

                        *Step est assez ouvert au niveau des langages.. maybon, j'en ai déja cité pas mal dans la news: objc/c/c++ en parralele, java, python, ruby et smalltalk principalement (et globlamement, tous les langages qui ont des bindings vers le c..).
                        Si tu te dirige vers le c++ pour l'oo, jette quand meme un coup d'oeil à l'objc : c'est mieu fait, et plus simple à apprendre (parce que le c++ derive pas mal du c, dû à ses nombreuses simplifications). Et vu que tu peut utiliser le c/c++ en meme temps que du code objc (c'est le meme compilo), t'es pas limité au niveau des libs.

                        A propos de mono, ça fait couler des flots d'encre (et de sang) sur irc. Je resume un peu la situation (et Garuma corrigera :°) : fondamentalement, *Step est anterieur à .net et il est (amha) plus riche/complet.. déja parce que c'est plus qu'un framework: les <acronym title="Human Interface Guidelines">higs</acronym> sont de qualités (ça fait plus de 15ans qu'elles sont étudiées et qu'elles inspirent toutes les autres) et la methode de developpement des applications est mieu conçue (pareil, tout le monde plagit sans oser l'avouer).
                        Quand on developpe une application originale sur *step, on complemente le framework (parce que l'application se resume à des libs). Et quand on fait pas quelque chose d'original, on a pas besoin de coder : il suffit d'assembler les composants existants. Bref, la modularité est totale, et on retrouve ce confort nul part ailleurs.

                        Accessoirement, je considere que c'est un defaut de fabrication, la machine virtuelle. Maintenant, si tu veux faire du semi-interpreté, c# est mieu que java (parce qu'il s'en inspire et le corrige).

                        ---
                        Et puis pour python, avec py2exe, j'ai vaguement l'impression qu'il embarque avec lui l'interpreteur (ce qui explique les 12mo necessaires à un hello_world). Cela dit, c'est à confirmer :) (et ça reste un tres bon langage, py2exe est juste un hack pour win).
                        Dans le meme style, et en plus oo, tu as ruby qui est sympa comme tout.
                        • Partager sur Facebook
                        • Partager sur Twitter
                          27 septembre 2006 à 9:24:02

                          Un Hello world avec py2exe prends 2.4 mo. Donc un peu lourd.
                          • Partager sur Facebook
                          • Partager sur Twitter
                            27 septembre 2006 à 9:34:59

                            Il y aussi le purebasic : http://www.purebasic.fr

                            Il a un IDE (coding, compilation, débugguage), permet d'utiliser l'api GTK, permet de créer des programmes consoles ou graphiques (BD & réseau possibles). Il est portable sous MacOS & Windows.

                            Pas deproblèmes pour d'autres questions !
                            • Partager sur Facebook
                            • Partager sur Twitter
                              27 septembre 2006 à 10:01:49

                              sans lired els aut(res posts:
                              &#8594;java avec Eclipse
                              &#8594;C et C++(Kdevlop,Anjuta,Quanta+,gcc et g++,etc...)
                              &#8594;language web(php,Xhtml,CSs,...) Quanta+(tres orietenter php et Xhtml)
                              &#8594;C# monoDevelop
                              &#8594;Ruby Quanta+ + interpreteur
                              &#8594;python Quanta+ + interpreteur
                              &#8594;...(je vais aps citer tout les languages du ùmonde non plus)
                              • Partager sur Facebook
                              • Partager sur Twitter
                                27 septembre 2006 à 12:52:16

                                Dans ce cas je vais surement m'orienter sur le C et l'objective C avec GNUStep et l'IDE que tu as cité :)
                                Je vais faire ma recherche pour trouver tout les tutos/livres necessaires :)
                                Merci !
                                • Partager sur Facebook
                                • Partager sur Twitter
                                  27 septembre 2006 à 14:10:18

                                  Citation : lasts

                                  A propos de mono, ça fait couler des flots d'encre (et de sang) sur irc. Je resume un peu la situation (et Garuma corrigera :°) : fondamentalement, *Step est anterieur à .net et il est (amha) plus riche/complet.. déja parce que c'est plus qu'un framework: les higs sont de qualités (ça fait plus de 15ans qu'elles sont étudiées et qu'elles inspirent toutes les autres) et la methode de developpement des applications est mieu conçue (pareil, tout le monde plagit sans oser l'avouer).
                                  Quand on developpe une application originale sur *step, on complemente le framework (parce que l'application se resume à des libs). Et quand on fait pas quelque chose d'original, on a pas besoin de coder : il suffit d'assembler les composants existants. Bref, la modularité est totale, et on retrouve ce confort nul part ailleurs.

                                  Accessoirement, je considere que c'est un defaut de fabrication, la machine virtuelle. Maintenant, si tu veux faire du semi-interpreté, c# est mieu que java (parce qu'il s'en inspire et le corrige).



                                  • *Step est antérieur ce qui n'est pas forcément un avantage (compatibilité totale avec le C, hum :D )
                                  • *Step est aussi, de mon avis, plus évolué dans ses HIGs car ca a été le principal souci du Apple de l'époque, de ce côté là rien à dire c'est de la qualité tandis que les Winforms de .NET 1.0 en était encore au placement absolu
                                  • Néanmoins quand on regarde dans les faits (nombres d'appli et de lib .NET) .NET n'a AMHA rien a envié à la richesse de Step et cet état de fait va probablement se généraliser
                                  • La méthode de développement de Apple est peut être normalisé et tout le bataclan mais je la trouve d'un autre côté très réductrice, à partir du moment où tu veux faire quelque chose d'un peu différent tu ne peux pas
                                  • Question modularité, .NET permet (me semble t'il) la même chose avec une facilité pour découper son application en module distinct (framework et runner) néanmoins c'est du ressort du développeur d'appliquer ce principe ou pas (encore une idée de liberté par rapport à *Step)
                                  • Et moi je pense, contrairement à lasts, que les machines virtuelles et plus largements les environnements managés sont une très grande qualité pour le développement d'application desktop (perfomance, sécurité, portabilité, productivité...)


                                  Je rajouterai pour ceux qui vont se ramener sur leurs gros sabots que .NET (et *Step aussi) sont des plateformes normalisées possèdant une implémentation libre de qualité (respectivement Mono et GNUStep).

                                  Sinon Mono convient bien dans le cas de ta description daemon666. (je l'utilise pour ça sous Linux sans problème).

                                  Niveau IDE ca a déjà été dit, il y'a Monodevelop avec le RAD Stetic intégré (mais moi je préfère SciTE :) ).
                                  • Partager sur Facebook
                                  • Partager sur Twitter
                                    27 septembre 2006 à 16:42:16

                                    Je vais finalement commencer petit ^^
                                    Je vais developper un programme en C avec la librairie Ncurse et une librairie SQL pour developper un programme de gestion de mes films en mode console :)
                                    Je pense que c'est un bon entrainement en commencant comme ca :)
                                    • Partager sur Facebook
                                    • Partager sur Twitter
                                    Anonyme
                                      27 septembre 2006 à 19:27:59

                                      (Cassés, lasts et Garuma)
                                      • Partager sur Facebook
                                      • Partager sur Twitter
                                        27 septembre 2006 à 20:29:15

                                        Pas forcement, je me lance dans le C pour debuter, mais je vais par la suite utiliser soit le C# soit l'objective C, mais il faut d'abord que j'ai les bases :)
                                        Car actuellement je comprend pas encore grand chose a tout ce qui touche le .NET et l'obj C ^^
                                        • Partager sur Facebook
                                        • Partager sur Twitter
                                          27 septembre 2006 à 20:48:41

                                          Enfait ça m'arrange, comme ça j'ai pas besoin de répondre à Garuma pour lui expliguer pourquoi il se trompe sur la rigidité du model *step (il encadre la programmation, selon le but recherché mais ne la restreint pas : les tuteurs sont nombreux et extensibles).
                                          A propos des differences entre *step et les autres frameworks, *step est reconnu comme ayant permis le developpement d'applications professionnelles en quelques mois contre quelques années sur d'autres plateformes (j'ai plus les sources que je cite, mais je promets d'éditer). Soit vous me croyez sur parole, soit vous faites quelques recherches comparatives sur ce que fesait les autres compagnies à l'époque de NeXT.
                                          • Partager sur Facebook
                                          • Partager sur Twitter
                                          Anonyme
                                            27 septembre 2006 à 21:09:23

                                            Soit de toute façon vous regardez les projets .NET et vous voyez que c'est à moitié du Vista, à moitié du pas fini.

                                            Entre un truc Apple qui marche depuis quelques années (si vous considérez que c'est hors-sujet, relisez la news de lastsseldon) et un machin Microsoft qui n'est pas sorti, mon choix est vite fait.
                                            • Partager sur Facebook
                                            • Partager sur Twitter
                                            Anonyme
                                              29 septembre 2006 à 22:02:58

                                              Le python est vraiment pas mal, et il est recommandé par Canonical (Ubuntu). Avec la librairie PyGTK, tu peux ainsi faire des bons petits progs comme EasyUbuntu :)
                                              • Partager sur Facebook
                                              • Partager sur Twitter

                                              Developper sous linux

                                              × Après avoir cliqué sur "Répondre" vous serez invité à vous connecter pour que votre message soit publié.
                                              × Attention, ce sujet est très ancien. Le déterrer n'est pas forcément approprié. Nous te conseillons de créer un nouveau sujet pour poser ta question.
                                              • Editeur
                                              • Markdown