Besoin dune reponse claire....

recluse_angel Messages postés 9 Statut Membre -  
 MarcusBasse -
bonjour a tous ....

apres maintes et maintes recherches sur le net ainsi que differents forum je ne comprend tjours pas certaines choses ....

je voudrais me mettre au C++ ...mon objectif a terme est de pouvoir realiser des progammes type utilitaires ...fonctionnant sur windaube ou linux ( si possible ) ...leC++ est ( du moins pour ce que jai lu) une version amelioré du C ....et pourtant certains disent quil est plus complet que le C++

....je cherche vraiment un language qui me permettrais de programmé beaucoup de choses ...

en clair jaimerais savoir quel language est le plus "puissant" et qui en meme temps me permettrait daplliquer mes differents programmes ou ligne de code sur un maximum de support ...pour créer des programmes type utilitaires , interface web , plug in ,mods.......voire bcp plus si jarrive a bien maitrisé ce ou ces langages...

10 réponses

sebsauvage Messages postés 33415 Statut Modérateur 15 667
 
C = langage procédural
C++ = langage orienté objet

Ce sont des conceptions différentes.

On ne peut pas dire que l'un des plus "puissant" que l'autre, mais leurs buts sont différents.
J'aurais tendance à recommender plus les langages objets.

Ceci dit:
Le langage n'est pas tout. Les librairies aussi sont importantes.
Exemple: Si tu veux faire un programme en C++ avec une interface graphique, il existe plusieurs kits graphiques.
Windows MFC, GTK, Qt, wxWidgets...
Il faut faire attention à ce qu'on choisit.
Windows MFC: n'existe que sous Windows.
GTK: existe sous Windows/Linux, mais bof bof sous Windows.
Qt: gratuit sous Linux, payant sous Windows
wxWidgets: à mon avis le meilleur choix pour des applications portables.

Mais le C++ n'est peut-être pas le meilleur choix, pour la simple raison que c'est très lié au système d'exploitation dès que tu accède au système (fichiers, gestion des répertoires, droits utilisateur, réseau...).
Il n'y a qu'à voir les tonnes de #ifdef dans les logiciels développé en C++ et censé tourner sur différentes plateformes.
Un vrai cauchemard.

J'aime beaucoup Python car c'est l'un des rares langages qui permet de faire réellement abstraction du système d'exploitation (comme Java), tout en permettant un accès bas niveau si on en a vraiment besoin.

Python+wxWidgets est pour moi le couple gagnant pour développer des applications portable en ré-écrivant le minimum de code.
0
recluse_angel Messages postés 9 Statut Membre
 
ok je te remercie de ta reponse .....je sens que je vais devoir encore un peu chercher avant de me lancer ds tel ou tel langage de prog....

cela dit est ce que python permet une bonne connaissance de la prog ainsi qune bonne habitude a dautres forme de language...?

ou plutot est ce que python me permettras de faire ce dont jai envie (en gros utilitaires, petit mods pour certains prog, modifications dinterface) ....bref de la progammation sympa .......

et de plus si jai envie de passer a de la progammation plus lourde me seras til possible de rester sur python ou faudras til que je migre vers dautres formes de language ??? ........

juste une derniere chose ...concretement a quoi sert le C++? ...un exemple simple serait cool ..... (peut on faire un logiciel par ex)

enfin si jai bien compris C++ nait pas adequat du fait de sa non compatibilité Win/Linux ..... ?

merciencore de vos reponses ... :)
0
marvinrouge
 
Salut,

en C++ on peut développer des outils énormes du type Visual C++,

marvinrouge
0
sebsauvage Messages postés 33415 Statut Modérateur 15 667
 
cela dit est ce que python permet une bonne connaissance de la prog ainsi qune bonne habitude a dautres forme de language...?

Oui et non.
Oui car c'est un langage objet propre, et qu'il possède des librairies pour faire pratiquement tout (réseau etc.), et qu'il s'interface facilement avec d'autres langages (C, C++, Java...).

Non car c'est un langage à machine virtuelle (comme Java et C#), ce qui est très différents des langages traditionnels (C++, Delphi...).

Disons que la grosse tendance actuelle et d'utiliser de plus en plus les langages à machine virtuelle, car ils permettent justement se s'affranchir du type de processeur et dans certains cas du système d'exploitation.
(--> meilleure portabilité).



et de plus si jai envie de passer a de la progammation plus lourde me seras til possible de rester sur python ou faudras til que je migre vers dautres formes de language ???

Python peut sans problème être utilisé pour des applications "lourdes" (Il y a déjà un certain nombre d'entreprise qui l'utilisent).



concretement a quoi sert le C++?

Comme Python, il peut servir à tout et n'importe quoi !
(faire un jeu, un utilitaire, etc.)


enfin si jai bien compris C++ nait pas adequat du fait de sa non compatibilité Win/Linux ..... ?

Le C++ lui-même est relativement portable Win/Linux, mais dès que tu utilises une librairie spécifique à l'OS, ça devient moins portable.
Par exemple, Visual C++ utilise exclusivement des librairies Microsoft --> application non portable.
Mais tu peux très bien utiliser un compilateur C++ (Microsoft ou autre !) avec une librairie qui existe sous Windows et Linux (comme wxWidgets).

Tes applications seront portables :-)


en C++ on peut développer des outils énormes du type Visual C++,

Sans problème.

Quelques exemples:
http://gimp.org/screenshots/
http://www.kdevelop.org/graphics/pic_corner/kdevelop-3.0_IDEAl_KDE_plastic.png

Mais en Python aussi ! (avec wxWidgets par exemple)
http://boa-constructor.sourceforge.net/Screenshots
0
pom
 
Je ne connais pas du tout Python mais si tu dois apprendre un langage, autant en apprendre un qui puisse te servir dans ta vie professionnelle (peut-etre que python est bcp utilisé, mais je ne connais pas du tout ce langage)

Je travaille avec bcp de personnes qui développe des codes de calculs (les codes sont énormes) et ils codent tous en Fortran ou C++.

Si tu dois apprendre qqch, autant apprendre qqch qui puisse te re-servir. Certes le C++ est casse-pied quand tu fais tourner ton prgm sur ton ordi ou sur un autre mais il y a tout de meme bcp de personnes qui codent en C++

salut
Pom
0
pom
 
Salut Recluse_angel

A quoi sert C++ ? Quels logiciels peut-on faire ?
réponse : Linux !

Il est vrai que le C++ n'est pas super super compatible windows/Linux mais de toute manière si tu veux faire tourner du code (j'entends par là du gros code) tu as intéret le faire sous Linux

Pom
0
sebsauvage Messages postés 33415 Statut Modérateur 15 667
 
ça dépend quand même.

Si c'est du calcul mathématique intensif, je comprend que ça se fasse en C++.

Mais pour 90% des applications, le C++ n'en sera que plus lourd.

Le développement en Python est toujours plus rapide qu'en C++.
(Ce n'est pas moi qui le dit, c'est un membre du comité ANSI C++)
0
chatbotté
 
AMHA, il faut apprendre le langage qu'utilise tes profs ou ta boîte selon le cas.

**chatbotté**
0
sebsauvage Messages postés 33415 Statut Modérateur 15 667 > chatbotté
 
vui.
Effectivement, ça dépend aussi des objectifs professionnels.
0
recluse_angel Messages postés 9 Statut Membre
 
ca reste une histoire entre dupont et pondu .....

jhesite encore ..... :)

bon deja merci de ttes vos reponses qui mapporte bcp ds mon choix ...

jai vraiment envie de partir sur C++ ...mais cette foutu portabilité minquitete ......

.pourriez vous men dire plus sur ce fameux wxWidgets ... ?? me permettrait il de maffranchir de ces satané librairies ou aurais je des contraintes tout aussi penibles ? ......

enfin quel est lavantage dutiliser une machinne virtuelle par rapport a un language type C++ ? ....

pour etre totalement sur de mon choix voila la question ultime ...si cest oui je fonce sur C++ ......Peut on grace au C++ programmer ce que lon veut (tout et nimporte quoi ..) sur nimporte quel O/S Win/Linux ...?

merci de votre aide qui seras determinant ds mon choix ....dici deux jours il y aura un nouveau programmeur C++ ou Python ds la jungle de la programmation :)

++
0

Vous n’avez pas trouvé la réponse que vous recherchez ?

Posez votre question
sebsauvage Messages postés 33415 Statut Modérateur 15 667
 
wxWidgets est une librairie qui sert uniquement à construire des interfaces graphiques.
Elle est opensource, libre d'utilisation, gratuite, puissante, accessible de différents langages (C++, Python...) et remarquablement portable (Windows, Linux, MacOS X...)
http://www.wxwidgets.org/

enfin quel est lavantage dutiliser une machinne virtuelle par rapport a un language type C++

1) Le développeur n'a plus à gérer l'allocation mémoire.
ça n'a l'air de rien, mais ça fait gagner un temps formidable et ça élimine bien des erreurs.

2) Ces langages ne sont généralement pas sensibles aux problèmes de buffer overflow (bugs utilisés par la quasi-totalité des nouveaux virus).

3) ces langages sont généralement de plus haut niveau que le C++.
Le C++ reste un immonde bricolage pour faire un langage objet en restant compatible avec le C.

4) Selon le cas, on s'affranchi plus ou moins de l'étape de compilation (pas besoin de recompiler l'exécutable pour le faire tourner sous un autre système).

5) Ces langages sont généralement fournis avec des API standardisées.
(Meilleure abstraction du système d'exploitation, ce qui n'est pas vraiment possible en C++ (même STL ne résoud pas tous les problèmes)). Seule exception: wxWidgets qui permet de faire des interfaces graphique sans se soucier de l'OS.
Pour le reste, en C++, c'est très chiant... <soupir>

Peut on grace au C++ programmer ce que lon veut (tout et nimporte quoi ..) sur nimporte quel O/S Win/Linux ...?

Oui, tout comme avec d'autres langages (Python, etc.)
0
recluse_angel Messages postés 9 Statut Membre
 
alalal maintenant je penche pour python .....^^

seb tu utilises python nest ce pas??.....et de meme quavec C++ on peut creer ce que lon veut ainsi que des interfaces graphiques??

si python est un language facilement transportable win/linux .....c lui quil me faut alors .....

juste qq questions de plus ...

pour se servir et utiliséde wxWidgets il faut au prealable passer par C++ ou python etc....ou le programme seul permet il de faire des interfaces?

python est il eloigné du C++??... ou comprendre python me feras a peu pres comprendre les autres formes de languages?

le language objet ....est destiné a creer des logiciels ?? c ca que lon apelle objet?

enfin ds le 4) de ta reponse seb ce quil faut que je comprenne c quavec python je pourrais transporter plus facilement un programme que jaurais creer entre Win et Linux ...?

je pense que c chaud mais mon choix se precise ...encore merci a vous et a seb ...
0
recluse_angel Messages postés 9 Statut Membre
 
juste deux autres petites questions....

fortran comparé a Python ....ca vaut quoi??

et de python et Java lequel resteras certainement le plus longtemps a lordre du jour ...?
0
sebsauvage Messages postés 33415 Statut Modérateur 15 667
 
fortran comparé a Python ....ca vaut quoi??

Je ne connais pas Fortran, mais de mémoire c'est un langage très orienté vers les mathématiques.
Python est plus généraliste.


et de python et Java lequel resteras certainement le plus longtemps a lordre du jour ...?

Ils existent tous les deux depuis environ 10 ans.
Python semble prendre de plus en plus d'ampleur, mais bien entendu il n'est pas encore aussi répandu que Java pour le moment.

Mais rien n'empêche de mélanger Python et Java :-)
(avec Jyhton par exemple)
0
recluse_angel
 
ok une derniere question ..... pour créer des interfaces via python faut il aussi que jutilise wxWidgets ???
0
sebsauvage Messages postés 33415 Statut Modérateur 15 667
 
Pas obligatoirement.

Python est fourni en standard avec tcl/tk, mais c'est nettement mois puissant que wxWidgets.

En Python, tu peux aussi utiliser Windows MFC, GTK, Qt, etc.
mais je te recommande wxWidgets si tu veux être vraiment portable.

http://www.wxpython.org/
0
recluse_angel
 
ok ben merci a toi je vais allez de ce pas chercher des bouquins sur python ...jespere dici qques mois pouvoir realisé des petit trucs sympa via python/wxwidgets

encore merci seb et je rend hommages a la patience que tas su avoir avec moi >_<

++
JB
0
sebsauvage Messages postés 33415 Statut Modérateur 15 667
 
De rien ! :-)

Quelques liens pour Python:
http://wikipython.flibuste.net/
http://www.python-eggs.org/links.html

Après installation de wxPython, jette un coup d'oeil dans le répertoire C:\Python23\Lib\site-packages\wx\demo
C'est truffé d'exemples !
0
MarcusBasse
 
bonjour,
je viens de suivre un peu vos questions et réponse sur tel ou tel langage.
Si je peux me permettre, je ne suis pas pro Windows ou pro Linux, Unix, MacOS ou autre. Je pense que chaque système a ces avantages et ses inconvénients.
Par contre il ne faut pas oublier la notion d'outil de développement, facteur très important et nottamment au niveau de l'aide du langage et/ou de l'outil de développement. Est-il facile de trouver des bouquins sur tel ou tel langage. Le logiciel utilisé est-il bien fourni en aide etc... Il ne faut pas oublier que l'écriture du programme ne représente qu'à peu près 5 % de son développement.
Bon courage
0