Citation Envoyé par Mister.BIXS Voir le message
Bonjour à TOUSSS...

Bon je sais que ce '''topic''', est sans '''mouvements'''... depuis 2009... je crois...

MAIS... après m'être lancé dans la '''Recherche Tous-Zazimuts'''... je passe en mode '''Questions/Réponses'''...

Dans une logique complète de développements, d'une machine cohérente, auto-programmable et auto-évolutive...
Sachant que de toutes manières, j'ai TOUT à réapprendre...

Sur quelle base construiriez-vous votre '''machine''' ???... de développement, ET, POUR développer, avec quoi ???... en français, mais pas forcément...

Je voie 2 grandes lignes :

1- la ligne C/C++...

2- la ligne Java...

Donc quel OS/Distribution est '''prédestiné''' ?... Dans le sens installé avec soit C, soit Java, voir programmé avec, ou inclus dans le '''pack''', ou fait pour ?...
Bonjour.

Faisons un peu le normand pour commencer . Tu es dans la rubrique outils de développement de Linux. Ta première question est "OS/Distribution" ? Tu comptes aussi développer sous d'autres OS que Linux ? Parce que si la réponse est oui les réponses qui vont venir après ne correspondront pas.

En admettant que tu te cantonnes à Linux, on peut dors et déjà répondre de manière générale. Quelque soit la distribution Linux que tu vas adopter tu auras accès à tous les langages/outils de développement nécessaires. Ce sont les mêmes. Là où tu trouveras des différences ce sont les versions qui te seront mis à disposition à un instant t.

Pour ma part, j'ai testé pas mal de distributions pour finir par m'arrêter sur la Debian sid. Tu es toujours à la dernière version. Mais ca peut être aussi un inconvénient. Les nouvelles versions peuvent rendre ton système instable. Une version moins "hardcore" est la Debian testing. Les paquets sont ici testés, donc moins de risquent de plantage.
Toutes les distributions dérivant de Debian te donneront accès à la version stable de celle-ci avec quelques apports personnels. Par exemple la Ubuntu façilite l'utilisation de l'OS Linux avec la prise en charge des différentes bibliothèques nécessaires pour une utilisation de tous les jours (mais avec un revers à la médaille : utilisation de code non libre).

Tu as ensuite la RedHat et ses dérivées, la Suse et pour finir la Slackware (qui est plutôt pour eux qui aiment avoir les mains dans le cambouis ). Pour avoir une idée exhaustive voila une liste : https://fr.wikipedia.org/wiki/Liste_...ibutions_Linux

Quels sont TOUS les éléments nécessaires... pour pouvoir TOUT faire, applis, imports-net, blogs/sites, phones, photos, vidéos, connexions(internet), domotiques...
Les éditeurs, compilateurs, debuggers, reverse-engine, vérificateurs de sources/signatures, et autres optimiseurs de threads...

Bien sur, comme d'ab', on va avoir la moitié pour, et la moitié contre !... mais moi je veux savoir POURQUOI ?...

...dans l'exercice de la programmation, quand on '''travail''' !...

...la lisibilité du code, ses outils de constructions, les transmissions de valeurs, gestion des codes d'érreurs internes et externes, les possibilités de convertir et/ou inclure des bibliothèques différentes du langage, le pilotage d'appli-externes... l'ajout de modules en commandes/fonctions internes au langage, la traduction d'un code autre, dans le langage, les affinités avec d'autres langages...

De toutes façons... faudra que je ré-apprenne tout !... Alors autant, ce coup-ci, prendre le '''meilleur''' !...

Je vous remercie d'avance pour vos réponses et je vous dit à bientôt...@+++...
La (les) question est très large. Je te réponds donc en fonction de mon cas.

Sous Debian, les bibliothèques sont composées de deux paquets. Je vais prendre un exemple réel. Soit la bibliothèque mysql. Tu désires gérer une base de données. les fichiers utilisés seront :
  1. libmysqlclient18 : fichiers objets utilisés par les applications,
  2. libmysqlclient-dev : fichiers nécessaires pour pouvoir compiler.

Donc il me faudra installer le"...-dev" pour pouvoir l'utiliser dans mes compilations.

Maintenant ceci est vrai en C. Si je veux programmer en C++ j'installe alors la libmysql++, la libmysql-java pour le java etc. C'est relativement simple de choisir le langage dans lequel je veux coder.

Côté compilateur, j'utilise gcc/g++. Il sait tout faire. C'est LE compilateur privilégié sous Linux.

Pour les éditeurs, effectivement ici, c'est un peu la côte d'amour de chacun. Tu peux utiliser
  • vi, éditeur de texte de base sous linux. Peut devenir très puissant mais son approche n'est pas forcément des plus facile,
  • vim, qui est un vi augmenté.

Bon ces deux éditeurs de texte ont l'avantage de fonctionner en ligne de commande. Donc pas besoin de système fenétré pour travailler. Si maintenant tu désires travailler en mode fenêtré alors tu as (mais la liste n'est pas exhaustive) :
  • emacs : éditeur puissant (qui fonctionne aussi en ligne de commande) complètement configurable,
  • Anjuta : ide conçu au départ pour construire des applications à base de Gtk+. Mais on peut compiler avec d'autres langages que le C et le C++,
  • Code::Block : ide linux/windows simple d'utilisation. Semble être le choix des jeunes programmeurs (à mon avis),
  • Eclipse : éditeur écrit en java pour le java au départ. Peut être utilisé pour programmer dans d'autres langages. L'avantage ici est qu'il est utilisable sous n'importe quelle plateforme, java oblige ,
  • Netbeans : "concurrent" d'Eclipse,
  • BlueFish : éditeur orienté Web. (celui que j'utilise en priorité pour la conception de sites en php/Mysql)
  • ...

Tu trouveras sur le net sûrement des sites avec des listes d'ide possibles. Je ne les connais pas tous.

Pour finir, comme je programme essentiellement en C/C++ voila les outils que j'utilise pour avoir un environnement complet, à mon point de vue :
  • Emacs pour éditer, compiler et déboguer,
  • Gdb (débogueur) qui est utilisé par Emacs. Peut aussi être utilisé indépendemment.
  • les Autotools. Ensemble de scripts pour permettre la création de projets,
  • valgrind pour contrôler la gestion mémoire,
  • cppcheck pour contrôler le respect de la norme des codes sources.


Voila, j'espère te donner un début de piste pour ton retour parmi nous.