Builder et Linux

Builder et Linux - C++ - Programmation

Marsh Posté le 11-03-2017 à 20:18:14    

Bonjour à tous
 
Je reviens au C, et notamment pour Linux. J'ai pratiqué le C... il y a vingt ans. Oui : je vais tout réapprendre :D
 
Ma question : le C++ Builder, inclus dans Delphi XE7, permet-il de programmer Linux ? J'ai lu cet article : https://delphi.developpez.com/actu/ [...] possibles/
et j'ai un peu de mal à comprendre. Builder fonctionne uniquement sous les versions serveur de Linux ?
 
A mes yeux, Builder ayant la même implantation que Delphi (composants, notamment, écrits pour la Pascal et le C ), Builder m'attirerait davantage que Visual Studio. Lequel peut générer du code pour la plateforme Linux. Mais, avec ce dernier, je vais devoir et réapprendre le C, et apprendre à manipuler cet IDE particulièrement lourd.
 
Alors : pourquoi pas Builder ? La différence profonde entre les deux ? On reste en C++, non ?
 
Merci  

Reply

Marsh Posté le 11-03-2017 à 20:18:14   

Reply

Marsh Posté le 12-03-2017 à 09:40:34    

HERIBERT a écrit :

Bonjour à tous
 
Je reviens au C, et notamment pour Linux. J'ai pratiqué le C... il y a vingt ans. Oui : je vais tout réapprendre :D
 
Ma question : le C++ Builder, inclus dans Delphi XE7, permet-il de programmer Linux ? J'ai lu cet article : https://delphi.developpez.com/actu/ [...] possibles/
et j'ai un peu de mal à comprendre. Builder fonctionne uniquement sous les versions serveur de Linux ?
 
A mes yeux, Builder ayant la même implantation que Delphi (composants, notamment, écrits pour la Pascal et le C ), Builder m'attirerait davantage que Visual Studio. Lequel peut générer du code pour la plateforme Linux. Mais, avec ce dernier, je vais devoir et réapprendre le C, et apprendre à manipuler cet IDE particulièrement lourd.
 
Alors : pourquoi pas Builder ? La différence profonde entre les deux ? On reste en C++, non ?
 
Merci  


 
 
première question: est-ce que tu veux faire du C ou du C++ ? avec le temps, la similitude entre les deux langages diminue fortement. Si la syntaxe du C et les bibliothèques sont assez stables sur ces 20 dernières années (il me semble que la dernière grosse modif est le C99, à confirmer) le style de programmation du C++ a considérablement évolué récemment.  
 
Ensuite je ne comprends pas si tu veux faire du code Linux sous windows ? Pourquoi pas directement sous linux ?  
 
Enfin si tu cherches un IDE léger, simple à prendre en main et à mon avis contenant tout ce dont un débutant à besoin, tu peux regarder du côté de Code::Blocks (http://codeblocks.org). C'est un IDE libre , open source et qui fonctionne aussi bien sous linux que sous windows (et même sous mac). Si tu es sous Windows et que tu n'as pas déjà un compilateur installé, alors tu dois juste prendre la "bonne" version (par exemple "codeblocks-16.01mingw-setup.exe" qui contient le compilateur mingw).
 
Enfin, moi ce que j'en dis..

Reply

Marsh Posté le 12-03-2017 à 16:38:47    

En principe il faut juste le compilateur (gcc bien sûr, surtout sous/pour Linux!) et une ligne de commande / console / ... :o C'est vraiment pas très compliqué à utiliser le gcc.
 
gcc fichier.c peut déjà suffire, mais je conseille vivement gcc -Wall fichier.c voire gcc -Wall -o nom_du_programme fichier.c ou quelque chose comme ça.
 
Après il y a aussi tout l'univers des Makefiles et Co.


Message édité par rat de combat le 12-03-2017 à 16:39:28
Reply

Marsh Posté le 12-03-2017 à 17:36:26    

@leonhard : 1) C++.  
2) CB : autocomplétion, débogage pas à pas, etc. Mais sous et pour Windows, apparemment, Builder est aux normes du C++ .  
3) Pour la programmation C++ sous Windows, Builder, comme je disais, présente un avantage certain : les composants que j'utilise sous Delphi (Jedi, TMS) sont écrits pour les deux langages. D'où l'intérêt de Builder : même implantation que Delphi.
 
@rat de combat : je prends l'info ;) Cela étant, une IDE, c'est tout de même plus convivial. Je compilais en ligne de commande sous MSDOS. Avec l'arrivée des IDE (et même avec le Turbo C de Borland), c'était nettement plus agréable.  
 
Le grand inconvénient pour un non anglophone, c'est que CB et QT t'affichent leurs messages en anglais. Je parle d'expérience : pour avoir mal traduit une API de Microsoft, j'ai lancé un sujet qui a pas mal duré, sur developpez.net. Jusqu'au moment où un véritable angliciste a traduit littéralement la doc de cette API... et reconnu qu'elle était ambiguë. Du coup, Google inversait les booléens  :pt1cable:  
 
 

Reply

Marsh Posté le 12-03-2017 à 17:52:04    

Juste pour éviter les malentendus, merci d'être très clair: Tu veux développer des logiciels en C++ pour quel OS et sous quel OS? Autrement dit sur quel système le programme doit tourner et quel est l'OS que tu veux utiliser pour développer ce programme? (OS=operating system, Linux ou Windows)
 
C::B fonctionne aussi sous Linux, forcément! :o Il est très probablement aussi possible de faire de la cross-compilation (compiler du code pour Linux en utilisant Windows ou l'inverse) mais il faudra bricoler un peu et sans parler anglais ça peut être dûr. Il existe peut-être une interface en français pour C::B et peut-être aussi pour le gcc (qui peut faire du C++ aussi bien sûr) mais tu auras plus d'infos en anglais sur le web c'est sûr.
 
Je ne connais pas ce Builder machin truc mais je comprends tes arguments, il y a des modules avec que tu connais et que tu peux réutiliser. Par contre est-ce que tu veux publier tes codes ou les passer à d'autres personnes? Parce que dans ce cas je conseille vivement d'utiliser un truc plus répandu (genre gcc), surtout si c'est pour Linux!
 
En principe il faut bien séparer l'IDE (C::B ou autre) et le compilateur. Ce qui définit le système d'exploitation sur lequel le programme fabriqué peut tourner c'est bien le compilateur, pas l'IDE - sachant que Builder c'est probablement un ensemble inséparable, alors que C::B peut en principe appeller/utiliser n'importe quel compilateur.
 
En fait, si je comprends bien tu veux fabriquer des programmes avec des interfaces graphiques. Pour (ré)apprendre le C++ il est à mon avis préférable de se limiter à des programmes en ligne de commande au début histoire de ne pas rendre les choses trop complexes - mais ça dépend de ton niveau et de tes préférences bien sûr.

Reply

Marsh Posté le 12-03-2017 à 19:36:53    

Je n'étais pas très clair, effectivement :D !
 
Programmer pour Windows sous Windows, et de même pour Linux sous Linux.  
 
"En principe il faut bien séparer l'IDE (C::B ou autre) et le compilateur" : c'est évident.  
 
 
"C::B peut en principe appeller/utiliser n'importe quel compilateur." : là, c'était beaucoup moins évident. Mais c'est très excellent ! :bounce:  
 
"Pour (ré)apprendre le C++ il est à mon avis préférable de se limiter à des programmes en ligne de commande au début" : tout à fait d'accord. Surtout sous Linux ! Quand je lis "Développement système sous Linux" de Christophe Blaes ICI, et pour ne parler que de ce titre, il n'y a aucun doute : d'abord des applications consoles.  
 

Reply

Marsh Posté le 12-03-2017 à 23:03:11    

J'ai regardé le lien de ton premier message et honnêtement j'ai rien compris. :o Tout ce bazar avec Builder me semble être pour des applications qui tournent sur des servers et qui permettent à plusieurs personnes de se connecter pour faire telle ou telle chose, en tout cas des grosses applications biens complexes.
 
Je comprends que tu veuilles (?) pouvoir réutiliser des choses que tu connais mais franchement, rien que pour la quantité de doc disponible, oublie ça et prend C::B et le gcc (ou mingw sous Windows). C'est très répandu, ça fonctionne "out of the box"=on installe et puis ça marche direct un peu partout, tu auras la même IDE peu importe l'OS et en plus c'est Open Source, donc pas de risque que ça disparaisse ou devienne payant ou autre un jour. Et si tu veux faire des choses graphiques, le Qt c'est hyper répandu, on doit pouvoir trouver de la doc en français aussi.
 
Concernant ton bouquin, oulà, c'est pas vraiment un truc pour débuter je dirais. :o  

Citation :

À qui s'adresse cet ouvrage ?
    Aux développeurs concernés par les aspects système de la programmation sous Linux et Unix
    Aux administrateurs système en charge de la gestion d'un parc Linux et/ ou Unix
    Aux étudiants en informatique (1er et 2e cycles universitaires, écoles d'ingénieurs, etc.)

http://www.editions-eyrolles.com/L [...] sous-linux
Pour faire des petites applications en console il n'y a pas besoin de connaître le fonctionnement interne de Linux sur le bout des doigts, le C++ offre des fonctions standard qui font abstraction de tout ça - même si bien sûr il y a des limites. Pour la partie graphique "brute" (sans bibliothèque tiers) il faut bien sûr très bien connaître l'OS, mais comme tu veux programmer pour Windows et Linux je suppose que tu veux avoir du code que tu peux compiler pour l'un comme pour l'autre, donc il faut obligatoirement utiliser une bibliothèque tiers genre Qt qui fait abstraction de l'OS et des enormes différences entre les deux systèmes.
 
edit: Concernant Builder le site du fabricant est déjà beaucoup plus clair: https://www.embarcadero.com/products/cbuilder
Par contre je ne vois pas Linux: "Windows (32 and 64), iOS, and Android" (Android != Linux genre Debian)


Message édité par rat de combat le 12-03-2017 à 23:07:46
Reply

Sujets relatifs:

Leave a Replay

Make sure you enter the(*)required information where indicate.HTML code is not allowed