Contenu | Rechercher | Menus

Annonce

Si vous avez des soucis pour rester connecté, déconnectez-vous puis reconnectez-vous depuis ce lien en cochant la case
Me connecter automatiquement lors de mes prochaines visites.

À propos de l'équipe du forum.

#1 Le 26/09/2007, à 21:04

Mouke

Conseil choix du language.

Bonjour,
Bon je suis décidé à aider Linux. Alors je fais déjà de la pub pour mais je veux aller plus loin en commençant à apprendre à faire de la programmation de logiciels.
Je voulais savoir quel langage devrais-je aborder en premier sachant que j'ai eu des échos positifs du C++, du Java et du Python.
Seulement j'ai plusieurs conditions à remplir:
1: Je pars de rien et je veux quelque chose d'assez simple à comprendre pour commencer, quitte à devoir apprendre un autre langage par la suite.
2: Je veux aider les gens à ne pas payer de logiciels hyper-chers sans pour autant les forcer à pirater, que ce soit sur Linux ET Windows. Je tiens à pouvoir programmer sur les 2 OS, et particulièrement sur Windows d'abord car c'est là-bas que le piratage et le propriétarisme de logiciel est le plus gros et aussi car c'est la plateforme la plus utilisée (moi-même j'utilise plus Windows que Linux) sans pour autant oublier notre sympathique Manchot.
3: Je veux que le logiciel à utiliser SOIT GRATUIT car je suis assez bas dans les finances et je suis pas assez méchant pour pirater un logiciel.
J'ai déjà 2-3liens de sites de tutoriaux, j'attends simplement d'autres avis afin de m'aider dans le choix du langage. Merci d'avance pour les réponses smile.


Mouke's Config: AMD Athlon XP-M 2600+ O/C 2,1Ghz, 1Go, Nvidia Geforce 7800GS O/C, nForce 2 Audio, Hitachi 160Go.
Ubuntu 7.10 Gutsy GNOME/e17. (et aussi XP pour les jeux)

Hors ligne

#2 Le 26/09/2007, à 21:23

blackbg

Re : Conseil choix du language.

Je ne suis pas expert en programmation, j'ai juste quelques bases en C/C++. Ce langage me parait être assez haut niveau [ simple ] tout en restant très puissant !
Sinon, pour apprendre ce même langage, je ne te conseilles qu'une seule adresse : http://siteduzero.com

Hors ligne

#3 Le 26/09/2007, à 21:25

fabien26

Re : Conseil choix du language.

Python est vraiment pas mal pour les interface graphiques, utilisant d'autre programmes en lignes de commandes, ou simplement de petit programmes graphiques

Le meilleur exemple d'aboutissement en python est emesene (logiciel client MSN en pyGKT)

Pour des programmes avec une grande base interne, le C et le C++ sot vraiment pas mal (les exemples ne manque pas (pour C: Gimp, pour C++: tous ce que est en Qt)

Par contre la Java honnêtement je vois aucun intérêts ...


Haiku - Un système totalement libre (MIT/BSD) inspiré par BeOS. Ce n'est pas Linux, ce n'est pas vraiment un Unix, c'est un Système d'exploitation Graphique. Un très bon projet que je vous conseil de tester dans Virtualbox ou sur un vieux PC.

Ma page utilisateur

Hors ligne

#4 Le 26/09/2007, à 21:43

Mouke

Re : Conseil choix du language.

Salut,
Site du Zero est déjà dans mes favoris.
Par contre en Java si vous voulez un exemple je peux vous citer Azureus.
Par contre tout ce que vous me racontez, j'y pige rien :s.
Hum pour Emesene je connais de nom mais j'ai jamais essayé, j'ai juste utilisé GAIM/Pidgin sur Linux et actuellement j'attends la 7.10 pour le réinstaller.


Mouke's Config: AMD Athlon XP-M 2600+ O/C 2,1Ghz, 1Go, Nvidia Geforce 7800GS O/C, nForce 2 Audio, Hitachi 160Go.
Ubuntu 7.10 Gutsy GNOME/e17. (et aussi XP pour les jeux)

Hors ligne

#5 Le 26/09/2007, à 21:56

cat_loic

Re : Conseil choix du language.

Je te conseille aussi Python, car il remplis toutes tes conditions (remarque le C/C++ aussi, mais Python à l'avantage d'être plus haut niveau : c'est à dire plus compréhensible par un humain et donc plus facile à apprendre) :
1. http://www.siteduzero.com/tuto-3-2092-0 … ython.html Un petit tutoriel pour connaître les bases, si tu l'as fini et que Python t'intérresse, alors tu peux aller chercher sur le web le cours de G. Swinnen, en libre téléchargement au format PDF (en tapant le nom  "G. Swinnen" dans un moteur de recherche, tu devrais trouver très facilement ;
2. Python est multi-plateforme, c'est à dire que si tu fais un script en Python, il marchera sous GNU/Linux, Mac OS X et Windows, si les systèmes sont équipés de python. Sous GNU/Linux et Mac OS X Python est déjà installé, sous windows on peut l'installer aisément, mais on peut aussi transformer ton script .py en .exe facilement ;
3. Python est libre et gratuit, c'est donc à toi de décider de fixer un prix ou non à ton programme smile

De plus je te conseille Python, car la communauté francophone, bien que restreinte, sur le site du Zér0 peux t'aider !

Hors ligne

#6 Le 26/09/2007, à 22:14

Mouke

Re : Conseil choix du language.

cat_loic a écrit :

Je te conseille aussi Python, car il remplis toutes tes conditions (remarque le C/C++ aussi, mais Python à l'avantage d'être plus haut niveau : c'est à dire plus compréhensible par un humain et donc plus facile à apprendre) :
1. http://www.siteduzero.com/tuto-3-2092-0 … ython.html Un petit tutoriel pour connaître les bases, si tu l'as fini et que Python t'intérresse, alors tu peux aller chercher sur le web le cours de G. Swinnen, en libre téléchargement au format PDF (en tapant le nom  "G. Swinnen" dans un moteur de recherche, tu devrais trouver très facilement ;
2. Python est multi-plateforme, c'est à dire que si tu fais un script en Python, il marchera sous GNU/Linux, Mac OS X et Windows, si les systèmes sont équipés de python. Sous GNU/Linux et Mac OS X Python est déjà installé, sous windows on peut l'installer aisément, mais on peut aussi transformer ton script .py en .exe facilement ;
3. Python est libre et gratuit, c'est donc à toi de décider de fixer un prix ou non à ton programme smile

De plus je te conseille Python, car la communauté francophone, bien que restreinte, sur le site du Zér0 peux t'aider !

Merci de la réponse.
Non si je commence à faire de la programmation, je compte taper dans de l'open source et en logiciel gratuit. Mais par la suite des logiciels payants pour me faire de l'argent de poche serait intéressant smile.
Quant au tuto de G. Swinnen, Google me le donnera wink.
Multi-plateforme: Euh je vais pas scripter pour Mac OS car j'ai pas de Mac chez moi et honnêtement j'en veux pas.

Merci à tous de vos réponses, si vous avez encore quelque chose à me conseiller, je reste ouvert.

PS: le site du zéro a vraiment l'air sympa. J'ai lu un peu le tuto sur l'installation de Kubuntu et j'avoue qu'il est très détaillé.


Mouke's Config: AMD Athlon XP-M 2600+ O/C 2,1Ghz, 1Go, Nvidia Geforce 7800GS O/C, nForce 2 Audio, Hitachi 160Go.
Ubuntu 7.10 Gutsy GNOME/e17. (et aussi XP pour les jeux)

Hors ligne

#7 Le 26/09/2007, à 23:12

Le Farfadet Spatial

Re : Conseil choix du language.

Salut à tous !

   Ah ! Le choix du premier langage. Voilà qui n'est jamais facile. Je me permets d'apporter ma propre réponse, qui est celle d'un théoricien universitaire.

   D'abord, visiblement, tu souhaites pouvoir faire des programmes multi-plateformes, ce qui est une bonne habitude à laquelle je t'encourage. Tous les langages que tu as cités te permettrons d'atteindre un tel objectif. D'autres également. En tout cas, tous les langages que je te présente te permettrons de faire du code portable. Par contre, il faut savoir qu'il n'y a pas de langage parfait, que tous ont leurs qualités et leurs défauts. Donc, le choix doit être fonction de ce que tu cherches faire.

   Puisque je suis toujours dans les préliminaires et puisque tu pars de zéro, il faut que tu te rendes compte qu'il est illusoire que tu lances maintenant toi-même un projet qui pourra être utile. Donc, soit tu cherches à collaborer à un projet existant (c'est une très bonne chose), soit tu procèdes en deux étapes : d'abord, tu apprends à programmer, ensuite tu lances ton projet.

   De sorte que nous avons déjà un premier élément de réponse pour ton choix : si tu décides de collaborer à un projet existant, le bon choix c'est d'apprendre le langage utilisé dans le projet ! D'ailleurs, tu pourras, dans un premier temps, te contenter de lire le code du projet tout en apprenant le langage et en corrigeant au passage des bogues. C'est une contribution extrêmement importante et c'est un bon moyen de rentrer dans un projet, tout en prenant de bonnes habitudes si le projet est bien codé. Plusieurs contribueurs majeurs à Linux ont d'ailleurs commencé leur carrière comme cela.

   Tant que j'y suis, je te conseille de te procurer « Introduction à l'Algorithmique, Cours et exercices » de Thomas H. CORMEN, Charles E. LEISERSON, Ronald L. RIVEST et Clifford STEIN, deuxième édition parue chez Dunod en 2004 : le bouquin est énorme, mais tu ne le liras pas d'un coup. Par contre, il te suivra dans toute ta vie de programmeur, depuis tes premiers pas jusqu'à la pratique avancée. De plus, tu pourras en tirer profit quel que soit le langage que tu utiliseras. D'ailleurs, globalement, je te conseille le format livre pour tout ce qui est documentation, bien plus facile à utiliser et à consulter lorsque l'on est en situation d'effectivement coder.

   Maintenant, quel langage choisir ? Comme dit précédemment, cela va beaucoup dépendre de ce que tu veux faire. Je te propose une petite sélection, sachant que pour tous les langages dont je parle, tu trouveras des compilateurs et des environnements de développements libres.

   D'abord, un langage généraliste, très bien adapté au web et pur objet --- paradigme de programmation le plus répandu à l'heure actuelle. Par contre, il n'est à utiliser que dans les cas où le temps d'exécution n'est pas critique (encore que sa lenteur soit trop souvent exagérée) : Java. Simple à apprendre, propre, c'est en général un bon choix. Notons qu'il est souvent utilisé dans le temps réel. Si tu optes pour ce langage (ou tout autre langage orienté objet), je te conseille d'apprendre la modélisation UML, toutefois je pense qu'il vaut mieux avoir un peu touché le langage avant de se lancer dans l'UML, afin que les concepts ne soient pas trop abstrait. Il y a de nombreux ouvrages de qualités dédiés à l'apprentissage de JAVA, il suffit d'aller dans une librairie informatique et de choisir celui qui te plaît.

   Dans la série des langages généralistes, un autre, qui a l'avantage de permettre d'opter aussi bien une approche objet que fonctionnelle (et même de permettre de mêler les deux approches), qui autorise d'excellentes performances (équivalentes à C) et qui est extrêmement robuste --- plus encore qu'ADA, pour les connaisseurs, --- tout en permettant une énorme productivité : Objective CaML. Son inconvénient est qu'il est très peu utilisé dans les projets réels (ce qui est bien dommage), de sorte que c'est surtout un excellent choix pour l'apprentissage. Un très bon ouvrage pour apprendre à programmer en Objective CaML : « Développement d'applications avec Objective Caml » d'Émmanuel CHAILLOUX, Pascal MANOURY et Bruno PAGANO, paru chez O'Reilly en 2000. Si tu optes pour ce langage, envisage l'apprentissage d'UML à moyen terme.

   Pour la programmation scientifique, dans la mesure où il n'y a pas de calcul trop intensif, mais également à mon sens un très bon moyen d'apprendre la programmation de manière propre sans risquer de prendre de mauvaise habitude et sans trop se prendre la tête (en plus le langage permet une très bonne productivité) : Haskel, principalement langage fonctionnel, mais avec une partie objet. Différents ouvrages sont parus, généralement de bonne qualité, il suffit de prendre celui qui te plaira le plus.

   Si tu es plus orienté intelligence artificiel, quoique le paradigme de programmation est un peu particulier (programmation logique) : Prolog. Quelques livres parus à son sujet, il faut prendre ce qui est disponible dans la librairie informatique la plus proche de chez toi --- il y en a en général au moins un et de bonne qualité.

   Si tu veux faire de la programmation système, le langage de référence est C. Ce n'est pas un langage difficile à apprendre contrairement aux idées reçues, par contre il est impératif, procédural et structuré --- il est possible d'adopter une approche objet, mais elle ne fait pas vraiment partie du langage, --- ce qui signifie qu'il est facile de faire des choses assez peu propres (voir vraiment n'importe quoi) et donc difficile à maintenir, souvent inefficace et comportant des bogues étranges. De plus, la gestion des pointeurs et plus généralement de la mémoire peu vite devenir un casse-tête inextricable. C'est le langage utilisé pour le codage du noyau Linux, entre autre. De nombreux ouvrages de qualités disponibles.

   Pour le web, PHP (en général couplé à MySQL) est un très bon choix. Simple, facile à apprendre, disposant d'une bibliographie abondante et permettant d'être très vite opérationnel. Par contre, il est totalement spécialisé dans le web.

   Un très bon langage pour la création d'automates et le traitement des chaînes de caractère : Perl. Il dispose lui aussi d'une bonne bibliographie.

   Enfin, un langage extrêmement versatile et généraliste, qui permet aussi bien la programmation scientifique, le calcul intensif, le temps réel, la programmation système, que toutes sortes d'applications. Les principaux paradigmes supportés sont la programmation impérative, la programmation structurée, la programmation procédurale, la programmation orientée objet, la programmation orientée prototypes et la programmation orientée composants. De plus, les extensions du langage (principalement la bibliothèque standard et la bibliothèque Boost) lui permettent de supporter d'autres paradigmes. Si tu optes pour ce langage, il sera bon, également, de te mettre à UML une fois les bases maîtrisées, ainsi que d'apprendre à utiliser la bibliothèque Boost. Par contre, contrairement aux autres langages proposés, c'est un langage difficile, tant au niveau de l'apprentissage qu'au niveau de son utilisation. De plus, il est souvent extrêmement souvent mal utilisé et mal enseigné. Attention donc à la littérature sur son sujet : trop souvent, elle propose d'apprendre du C un peu étendu compilé par un compilateur C++ (une aberration), avec gestion des pointeurs à la C (n'importe quoi), utilisation de la bibliothèque standard C en lieux et place de la bibliothèque standard C++ --- qui est pourtant bien plus versatile et très efficace si on sait l'utiliser proprement. La seule référence à laquelle on puisse vraiment faire confiance en matière d'apprentissage du C++ c'est « Le langage C++ » de Bjarne STROUSTRUP (le créateur du langage) paru chez Pearson Education. C++ est un excellent choix pour un projet réel --- par exemple, je l'utilise dans la programmation d'un modèle d'océan, --- mais je le déconseille pour l'apprentissage de la programmation (même si je connais des gens qui n'ont jamais utilisé que ce langage). Je conseille également d'apprendre le C++ avant le C, pour éviter une contamination mal venue.

   Voilà, maintenant, il ne te reste plus qu'à faire ton choix. Si tu as besoin d'éclaircissements, n'hésite pas à revenir demander plus de détails.

   À bientôt.

                                                                                                  Le Farfadet Spatial

Hors ligne

#8 Le 27/09/2007, à 00:26

Julian

Re : Conseil choix du language.

Après cette belle présentation détaillée, tu as quand même oublié Python & Ruby.

En "langage extrêmement versatile et généraliste" c'est quand même pas mal.

C'est volontaire cet oubli?

Dernière modification par Julian (Le 27/09/2007, à 00:30)


julian@jabber.fr

Hors ligne

#9 Le 27/09/2007, à 01:06

compte supprimé

Re : Conseil choix du language.

Bonsoir,

Totalement d'accord avec le Farfadet Spatial !

J'ajouterai seulement que lorsqu'on sait faire un "beau" programme dans un langage donné, il n'est en général pas très difficile d'en apprendre assez vite un autre similaire, s'il s'avère beaucoup plus adapté. La programmation, c'est plus un état d'esprit, une histoire de logique, de bonnes habitudes, que de langage particulier... Et effectivement, on apprend énormément en lisant des programmes bien faits et en essayant de comprendre ce qu'ils font...

A+


PS : pour débuter, je me demande si l'écriture de petits scripts en bash, que l'on peut tester de suite, n'est pas une bonne méthode...
http://abs.traduc.org/abs-5.0-fr/
Résumé

Ce tutoriel ne suppose aucune connaissance de la programmation de scripts, mais permet une progression rapide vers un niveau intermédiaire/avancé d'instructions tout en se plongeant dans de petites astuces du royaume d'UNIX®. Il est utile comme livre, comme manuel permettant d'étudier seul, et comme référence et source de connaissance sur les techniques de programmation de scripts. Les exercices et les exemples grandement commentés invitent à une participation active du lecteur avec en tête l'idée que la seule façon pour vraiment apprendre la programmation de scripts est d'écrire des scripts.

Ce livre est adapté à une utilisation en classe en tant qu'introduction générale aux concepts de la programmation.

Dernière modification par faustus (Le 27/09/2007, à 01:21)

#10 Le 27/09/2007, à 11:54

Mouke

Re : Conseil choix du language.

Merci Farfadet.
Ton post est vraiment intéressant.
Déjà partir sur l'idée du multi-plateforme me vient de l'envie de contribuer aux logiciels libres. En développant sur Linux et Windows, je ne peux qu'aider la lutte contre le piratage sur Windows et aider Linux.
Je vais tenter de trouver le livre que tu m'as conseillé, je dois surement pouvoir le commander depuis un site web.
Cependant je vois que tu parles un peu de Php et de MySQL. Actuellement la programmation web ne m'intéresse pas pour apprendre, mais dès que je saurais un peu toucher à la programmation logicielle, je pense m'y mettre. Nvu est d'après plusieurs sources un excellent logiciel pour faire du web.

Bon donc je pense m'orienter vers le C++, qui m'a l'air d'être le plus intéressant. Même si plusieurs rumeurs le disent "difficile" (hum c'est du même niveau que les rumeurs de difficulté que Linux ou pas ?), je compte m'y mettre pendant mes vacances scolaires. J'ai une faculté d'apprentissage rapide, je pense que je m'en sortirais avec de bons ouvrages et Google.

Merci à tous de votre aide, en espérant bientôt vous présenter un logiciel de ma création smile.


Mouke's Config: AMD Athlon XP-M 2600+ O/C 2,1Ghz, 1Go, Nvidia Geforce 7800GS O/C, nForce 2 Audio, Hitachi 160Go.
Ubuntu 7.10 Gutsy GNOME/e17. (et aussi XP pour les jeux)

Hors ligne

#11 Le 27/09/2007, à 13:28

Luc Hermitte

Re : Conseil choix du language.

Le gros problème de l'apprentissage du C++, c'est l'absence de bonnes ressources sur l'apprentissage du C++ (et non du C, du C/C++, etc).

Le bouquin de Stroustrup est très bien, mais c'est une référence, non un livre d'apprentissage.
Les rares excellentes ressources d'apprentissage du langage que je connaisse sont essentiellement en Anglais:
- Accelerated C++ (aka AC++) de Koenig et Moo (il vaut mieux être familier avec un quelconque autre langage avant, et avec l'algorithmie)
- La 4e edition du livre de S.Lippman, A.Lajoie et B.Moo (je ne me souviens jamais du titre), seule la 3e edition a été traduite (mais elle (3e ed) ne suit pas l'approche moderne)
- Le bouquin de Francis Glassborrow, traduit chez Micro Application sous le titre "Je me lance" -- le seul pré-requis est windows, ou déjà savoir bien se débrouiller sous linux pour installer la bibliothèque graphique maintenue par l'auteur (le contacter ; aucune garantie que cela marchera). Par contre, c'est pour archi débutant, et cela ne va pas loin dans le C++ (pas d'OO, pas de pointeurs (si si!), pas de templates). Il peut remplir le pré-requis d'AC++.

Sinon, +1 au fait que ce n'est pas forcément le langage le plus adapté pour débuter. Il est effectivement très complexe, mais paradoxalement, au début il est plus simple d'être productif en C++ qu'en C -- quand on ne s'est pas fait embrouiller la tête avec tous les détails bas niveau inesquivables au début de l'apprentissage du C.

#12 Le 27/09/2007, à 13:31

compte supprimé

Re : Conseil choix du language.

Bonjour,

http://cpp.developpez.com/cours/

A+

#13 Le 27/09/2007, à 15:15

bipede

Re : Conseil choix du language.

Mouke a écrit :

Bon donc je pense m'orienter vers le C++, qui m'a l'air d'être le plus intéressant. Même si plusieurs rumeurs le disent "difficile" (hum c'est du même niveau que les rumeurs de difficulté que Linux ou pas ?), je compte m'y mettre pendant mes vacances scolaires. J'ai une faculté d'apprentissage rapide, je pense que je m'en sortirais avec de bons ouvrages et Google.

Si tu débutes en programmation, et sauf si tu es particulièrement doué, je te déconseille de commencer par C++.

Fais-toi d'abord la main sur autre chose de plus accessible et documenté.
Python est un langage idéal pour cela. Tu pourras y aborder tous les concepts du développement, autant en procédural qu'en objet.

Python est inclus d'origine dans Ubuntu, car de nombreux utilitaires de notre distribution préférée sont développés dans ce langage.

Je ne fais que te donner un avis... Tu en fais ce que tu veux...


Desktop: MSI - Intel® Core™ i5-3330 CPU @ 3.00GHz × 4 - RAM 8 go- Kubuntu 21.04 - Système sur SSD 64 Go - /home sur HDD 500 Go.
Laptop: DELL Inspiron-15 3567 - Intel® Core™ i5-7200 CPU @ 2.50GHz × 4 - RAM 8 go - HDD 1 To - Ubuntu 20.10 avec /home séparé.

Mon site: Les contributions du bipède

Hors ligne

#14 Le 27/09/2007, à 16:59

compte supprimé

Re : Conseil choix du language.

Je partage l'avis de bipède...
C++ n'est vraiment pas ce qu'il y a de plus simple pour commencer. A mon avis, tu t'en rendras vite compte.

Python ? Oui...

Mais pourquoi pas quelques semaines sur bash, tout simplement, pour acquérir les rudiments ? Et on peut faire de très jolies petites choses et utiles, avec bash... En plus, les scripts à étudier ne manquent pas...
Par exemple essayer de résoudre : http://forum.ubuntu-fr.org/viewtopic.php?pid=1198368#p1198368

Dernière modification par faustus (Le 27/09/2007, à 17:07)

#15 Le 28/09/2007, à 00:33

Le Farfadet Spatial

Re : Conseil choix du language.

Salut à tous !

Julian a écrit :

Après cette belle présentation détaillée, tu as quand même oublié Python & Ruby.

En "langage extrêmement versatile et généraliste" c'est quand même pas mal.

C'est volontaire cet oubli?

C'est volontaire, parce que je ne connais ni Python (à part qu'il est le langage utilisé par les concepteurs d'Ubuntu), ni Ruby : je ne peux pas tout savoir et j'en suis désolé... Du coup, j'ai préféré ne pas en parler plutôt que de dire des bêtises. Notons néanmoins que tous deux sont interprétés, ce qui est certes un avantage pour ce qui est de tester immédiatement ses programmes, mais les rend inadaptés aux applications où le temps d'execution est critique --- cela dit, il n'y en a pas tant que ça et un bon algorithme fera souvent l'essentiel des performances.

faustus a écrit :

J'ajouterai seulement que lorsqu'on sait faire un "beau" programme dans un langage donné, il n'est en général pas très difficile d'en apprendre assez vite un autre similaire, s'il s'avère beaucoup plus adapté. La programmation, c'est plus un état d'esprit, une histoire de logique, de bonnes habitudes, que de langage particulier...

Entièrement d'accord, d'où l'intérêt d'apprendre l'algorithmique et la modélisation UML.

pour débuter, je me demande si l'écriture de petits scripts en bash, que l'on peut tester de suite, n'est pas une bonne méthode...

C'est pas mal pour une première expérience, mais cela reste trop limité pour réellement apprendre la programmation. Cependant, passer les premieres semaines de la découvertes de la programmation à faire du script shell est une bonne idée.

Mouke a écrit :

Je vais tenter de trouver le livre que tu m'as conseillé, je dois surement pouvoir le commander depuis un site web.

Il est très facile à trouver, aucun problème avec l'achat par Internet.

Bon donc je pense m'orienter vers le C++, qui m'a l'air d'être le plus intéressant. Même si plusieurs rumeurs le disent "difficile" (hum c'est du même niveau que les rumeurs de difficulté que Linux ou pas ?)

C++ est véritablement difficile et, en plus, il cache sa difficulté. En fait, de tous les langages que je connais, c'est le seul qui soit rééllement difficile. Je continue de ne pas le considérer comme un bon langage pour découvrir la programmation, même si c'est un très bon choix pour développer une application concrète.

Luc Hermitte a écrit :

Le gros problème de l'apprentissage du C++, c'est l'absence de bonnes ressources sur l'apprentissage du C++ (et non du C, du C/C++, etc).

Je suis bien d'accord.

Le bouquin de Stroustrup est très bien, mais c'est une référence, non un livre d'apprentissage.

Là, je ne suis pas d'accord : je trouve que c'est un excellent livre pour apprendre le C++. Par contre, il est nécessaire, pour l'aborder de manière fructueuse, de déjà connaître la programmation et l'algorithmique.

- Accelerated C++ (aka AC++) de Koenig et Moo (il vaut mieux être familier avec un quelconque autre langage avant, et avec l'algorithmie)
- La 4e edition du livre de S.Lippman, A.Lajoie et B.Moo (je ne me souviens jamais du titre), seule la 3e edition a été traduite (mais elle (3e ed) ne suit pas l'approche moderne)

Oui, mais enfin, ces ouvrages partent du principe que le lecteur connaît déjà la programmation, donc autant se reporter au Stroustrup (plutôt s'adresser à Dieu qu'à ses saints).

Le bouquin de Francis Glassborrow, traduit chez Micro Application sous le titre "Je me lance"

Là, personnellement, je ne le trouve pas terrible : c'est du pur Windows --- pour l'utiliser avec Linux, il vaut mieux déjà connaître le C++, donc pas d'intérêt --- et, comme tu le dis, ça ne va pas loin.

bipede a écrit :

Si tu débutes en programmation, et sauf si tu es particulièrement doué, je te déconseille de commencer par C++.

Je suis d'accord, quoique je dirais plutôt : « MÊME si tu es particulièrement doué.  »

   Mon avis personnel est que le mieux, pour commencer, c'est Objective CaML, même si le fait que je sois universitaire n'est pas totalement étranger à ce point de vue. Ou alors JAVA. De plus, je me dis que si tant de gens te conseillent Python, c'est qu'il y a sans doute quelque chose derrière.

   À bientôt.

                                                                                                               Le Farfadet Spatial

Dernière modification par Le Farfadet Spatial (Le 28/09/2007, à 00:49)

Hors ligne

#16 Le 28/09/2007, à 00:46

best_friend_fr

Re : Conseil choix du language.

Salut

Pour faire avancer le debat, je dirais que pour debuter, ca te donnera de bonnes habitudes d'indentation smile


sudo apt-get replace langage_sms by grammaire orthographe ponctuation
La documentation est avant tout faite pour ceux qui posent les questions, et non ceux qui y répondent
Best_friend_fr

Hors ligne

#17 Le 28/09/2007, à 13:03

aleph

Re : Conseil choix du language.

> Le Farfadet Spatial

> C'est volontaire, parce que je ne connais ni Python (à part qu'il est le langage utilisé par les concepteurs d'Ubuntu), ni Ruby : je ne peux pas tout savoir et j'en suis désolé... Du coup, j'ai préféré ne pas en parler plutôt que de dire des bêtises. Notons néanmoins que tous deux sont interprétés, ce qui est certes un avantage pour ce qui est de tester immédiatement ses programmes, mais les rend inadaptés aux applications où le temps d'execution est critique --- cela dit, il n'y en a pas tant que ça et un bon algorithme fera souvent l'essentiel des performances.

---

http://forum.ubuntu-fr.org/viewtopic.php?pid=1125889#p1125889

A prendre uniquement dans le sens information.

#18 Le 28/09/2007, à 19:19

KillVador

Re : Conseil choix du language.

<propagande>
Je plussoie de toutes mes forces.
Utilise le Python.
Choisis la simplicité.
Choisis la portabilité.
Choisis Guido van Rossum.
Choisis la modularité.
Choisis la Lumière.
Choisis le Bien.

Hallowed are the Ori.
</propagande>

Excuse : on est vendredi soir.

Bon week-end à tous, et joyeux apprentissage Mouke.

J'ajouterais cependant que le plus important est le fun, en effet un bon développeur ne peut que s'amuser lorsqu'il programme.

Hors ligne

#19 Le 28/09/2007, à 20:10

skt310

Re : Conseil choix du language.

Pour le c++ il y a le cour de http://www.siteduzero.com(dans le menu lien c++) qui est pas mal. Il est encore en construction mais il aborde déjà les points les plus importants (classes,héritage). Je lui vois un seul défaut: son créateur considère qu'on doit avoir lu son cours (ou un autre) de c avant (ce qui n'est pas une bonne chose a mon avis). Une fois les bases connues, je trouve que le livre "Programmer en c++" de Claude Delanoy (aux éditions Eyrolles) est un bon ouvrage qui apprend bien le concept de la POO et l'utilisation de la STL (bibliothèque standar)

Pour avoir toujours programmé en c++, je peut dire qu'il est possible d'apprendre ce langage sans trop de difficulté a condition de ne pas être trop pressé. Je pense que en y allant progressivement, en faisant plein d'exercices d'application sur chaque point vu dans un cours il est aisément possible d'apprendre le c++. Après je pense que la meilleure façon de programmer bien comprendre la POO est de programmer des applications graphiques (avec QT ou wxWidget) ou des jeux et de lire des bons codes sources.


NOVATUX : Besoin d'un ordinateur parfaitement compatible avec linux, un très bon contact avec le vendeur, des conseils, une instalation personalisée. Bref que du bonheur quoi. Allez voir ce site! J'ai acheté mon portable ici et vraiment c'est un plaisir!

Hors ligne

#20 Le 30/09/2007, à 23:19

Luc Hermitte

Re : Conseil choix du language.

Bonsoir,

Le Farfadet Spatial a écrit :

- Accelerated C++ (aka AC++) de Koenig et Moo (il vaut mieux être familier avec un quelconque autre langage avant, et avec l'algorithmie)
- La 4e edition du livre de S.Lippman, A.Lajoie et B.Moo (je ne me souviens jamais du titre), seule la 3e edition a été traduite (mais elle (3e ed) ne suit pas l'approche moderne)

Oui, mais enfin, ces ouvrages partent du principe que le lecteur connaît déjà la programmation, donc autant se reporter au Stroustrup (plutôt s'adresser à Dieu qu'à ses saints).

Bah. Si les voies du divin étaient si prénétrables, il n'y aurait pas tous ces cultes -- c'est dingue, une analogie à deux balles qui s'appliquerait presque au C++.
<désolé>

Le Farfadet Spatial a écrit :

Le bouquin de Francis Glassborrow, traduit chez Micro Application sous le titre "Je me lance"

Là, personnellement, je ne le trouve pas terrible : c'est du pur Windows --- pour l'utiliser avec Linux, il vaut mieux déjà connaître le C++, donc pas d'intérêt --- et, comme tu le dis, ça ne va pas loin.

Il ne va pas loin dans le C++, mais les autres initiations à la programmation ne vont pas loin non plus (comparé à tout ce qu'un langage comme le C++ pourrait offrir).
Et voyant le livre comme un ouvrage d'initiation qui démarre par le C++ (qui est un choix rarement recommandable, et pourtant pas si rarement fait), c'est certainement un des meilleurs que l'on puisse trouver. Du coup, je trouve qu'il n'est pas à écarter ; à voir selon le public (OK, sur un forum de linuxiens, il a un furieux handicap)


@skt310, ce que tu critiques dans les tutos du sdz est bien plus exarbé dans ce livre pour le moins critiqué (/avec plein d'avis divergents dessus -- il est trop tard, le bon terme m'échappe %}) que tu cites : c'est un cours de C++ pour ceux qui viennent du C, d'ailleurs il y a une série de rappels du C fort conséquente dedans (des choses (pointeurs) que l'on n'a pas besoin de voir en C++ avant au moins le polymorphisme ; quant à la SL, c'est tout juste s'il ne faut pas attendre les annexes pour la voir). Au moins, les premiers tutos du sdz virent immédiatement la barre en direction de std::string.

#21 Le 02/10/2007, à 03:21

Le Farfadet Spatial

Re : Conseil choix du language.

Salut à tous !

aleph a écrit :

http://forum.ubuntu-fr.org/viewtopic.php?pid=1125889#p1125889

A prendre uniquement dans le sens information.

Bon, je ne connais toujours pas Python, donc je ne peux pas dire. Visiblement, il a plein de fonctionnalités ma foi forts intéressantes et c'est certainement un choix à envisager sérieusement pour apprendre la programmation.

   Maintenant, je me permets un petit hors-sujet : aleph, je pense qu'il est suicidaire de prétendre faire du calcul massif avec un langage interprété, aussi bien fait soit-il (et je ne doute pas que ce soit le cas de Python). On me répondra sans doute que Python s'interface avec Fortran ou C et C++, mais alors cela signifie qu'il faut utiliser plusieurs langages (ce qui rend les sources plus difficilement accessibles) et une interface est toujours synonyme de ralentissements. Je connais pas mal de codes numériques pour lesquelles un gain de performances de 1 % signifie deux jours de calculs de moins, ce qui n'est pas négligeable (n'oublions pas que les grappes de calculs sont mutualisées). Ce n'est pas pour rien que le C++ est en train de se généraliser dans le monde de la simulation numérique...

   Mais bon, encore une fois : il n'existe pas de langage qui soit parfait pour tout faire.

   Sinon, je connais l'ouvrage de Claude DELANOY et, personnellement, je le déconseille. Pour ce qui est des tutoriel sur Internet, après en avoir fait le test, je trouve que c'est galère à utiliser lorsque l'on est en train de coder quelque chose, donc, pour ma part, j'évite.

   À bientôt.

                                                                                                             Le Farfadet Spatial

Dernière modification par Le Farfadet Spatial (Le 02/10/2007, à 03:25)

Hors ligne

#22 Le 02/10/2007, à 16:04

compte supprimé

Re : Conseil choix du language.

@au Farfadet Spatial

Quelques idées sur python : http://www.haypocalc.com/wiki/Python_ou_rien

A+

#23 Le 04/10/2007, à 01:51

Le Farfadet Spatial

Re : Conseil choix du language.

Salut à tous !

   Bon, c'est vrai, c'est moi qui ai commencé le hors-sujet. Ben, je le continue...

faustus a écrit :

Quelques idées sur python : http://www.haypocalc.com/wiki/Python_ou_rien

« On atteint la perfection non pas lorsqu'il n'y a plus rien à ajouter, mais lorsqu'il n'y a plus rien à enlever. »

                                                                                                                                  Antoine de Saint Exupéry

   De toute façon, je ne trouve pas ce document pertinent, ni intéressant. D'abord, il ne parle pas de toutes les fonctionnalités que Java ou C++ possèdent et que Python ne propose pas (sans parler du fait que la nouvelle norme ISO du C++ qui va sortir l'année prochaine va lui apporter un sacré lot d'innovations). Ensuite, il oublie complètement  les autres langages. Enfin, un langage ce n'est pas une simple suite de fonctionnalités. Ce qui est important, c'est ce qu'il donne dans une situation concrète, par rapport à des problèmes de programmation.

   Je ne conteste pas que Python soit un très bon langage, ni non plus que ce soit un bon choix pour apprendre à programmer. Non, mon point de vue, c'est qu'il n'existe aucun langage parfait pour tout, donc qu'il faut apprendre à être capable de changer de langage en fonction de la situation à laquelle on a à faire face. De plus, même si je suis d'accord pour dire qu'il faut relativiser la réputation de lenteur des langages interprétés, il est à mon sens certain qu'une telle technologie est un mauvais choix dans le cadre du calcul numérique massif à hautes performances --- qui est, je vous l'accorde, un champ d'application restreint de l'informatique.

   De toutes façons, il faut se méfier des dogmes tels que : ce langage, c'est le plus meilleur du monde.

   À bientôt.

                                                                                                                                            Le Farfadet Spatial

Dernière modification par Le Farfadet Spatial (Le 04/10/2007, à 01:54)

Hors ligne

#24 Le 04/10/2007, à 03:52

titou84

Re : Conseil choix du language.

@le Farfadet Spatial
Eternel dilemme, n'est-ce pas ?
Python, C++, Unix, PHp..., vieux VB6 et Basic de mon enfance ( Amstrad 6128 )
A vrai dire, cela n'a pas beaucoup d'importance.
L'essentiel est de se faire plaisir et créer de l'adrénaline pour nos neurones.
Utilitaire, base de données, jeux, web, ...
logiciels ou p'tit script...
Professionnel ou pas ...
Développement en équipe ou en solo ...
Un geek, un codeur passionné, arrive toujours à s'en sortir quelque soit le langage.
Un bon dévéloppeur raisonne toujours de la même manière et suit sa logique quelque soit la langage appliqué.
On peut parler anglais, espagnol, italien, chinois, notre cerveau fonctionne toujours de la même manière.

#25 Le 05/10/2007, à 09:46

jujuz

Re : Conseil choix du language.

fabien26 a écrit :

Par contre la Java honnêtement je vois aucun intérêts ...

je n ai jamais compris l interet de dire des choses comme ca, est ce objectif?
merci fabien26, je me disais bien que les millions de developpeurs Java avaient tord, mais je ne savais pas pourquoi.


par contre ...

Le Farfadet Spatial a écrit :

De toutes façons, il faut se méfier des dogmes tels que : ce langage, c'est le plus meilleur du monde.

tout a fait d accord.

Hors ligne