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.

#26 Le 28/11/2013, à 14:07

cervo

Re : Je débute en programmation

personne ne propose Ruby?? Ah ba si, moi big_smile

Hors ligne

#27 Le 28/11/2013, à 14:44

k3c

Re : Je débute en programmation

Telliam a écrit
>>>parler de la programmation objet sans parler de la partie de modelisation nécessaire avant de se lancer, c'est un peu casse gueule.
et en plus pas un seul mot sur la notion d'héritage...

Si si, ils parlent d'héritage. Il y a 7 cours, ils n'en parlent pas dans le premier, ce qui me semble une bonne idée.


Debian 12 sur Thinkpad reconditionné

Hors ligne

#28 Le 28/11/2013, à 15:25

nels69

Re : Je débute en programmation

Le truc bien quand tu commences avec Python, c'est que peux créer un truc correct avec interface graphique et tout, en pas longtemps, du coup ça motive.  Alors qu'avec le C par exemple, c'est vite décourageant, il faut quand même pas mal de temps d'apprentissage avant de pouvoir pondre un truc correct. Mais en commençant par le C par contre  les autres langages vont te sembler beaucoup plus faciles.

Hors ligne

#29 Le 28/11/2013, à 18:38

moths-art

Re : Je débute en programmation

cervo, pires57 : conseiller sans arguments, je vois pas trop l'intérêt.

Il y a bcp de langage qui ont fait émergé de nouveaux concepts (paradigmes) et ont creusé le truc à fond.
* Perl : Expressions régulières
* Lisp, Scheme, Haskell, Ocaml : prog fonctionnel
* Erlang :  concurrent, temps réel
* C : impératif
* Java : POO
* ADA : exceptions
* Prolog : déclaratif

Ces langages ont été pour la plupart au bout de leur concept en exploitant à fond leurs avantages.
Effet de bord : ça rajoute des contraintes qui peuvent devenir pénible à l'usage.
Ex : Java : une et une seule classe (obligatoire) par fichier.

Les apprendre n'est pas mauvais mais on risque de n'avoir au final qu'une boite à outil partiel.

Ruby me semble très bon pour du langage de script mais je le trouve indigeste pour de gros projet avec de la maintenance... un peu le digne successeur de Perl.
De plus, tu trouveras (à part dans le web : Rails et compagnie) que peu de projets aboutis dans ce langage.
Maintenant, c'est mon avis et il reste discutable.

Python est plus verbeux (explicite) mais vraiment didactique et facile à lire.
Y'a très peu de syntaxe *magique* qui t'oblige à te plonger dans la doc ou effectuer moultes tests pour comprendre comment ça fonctionne.
Il utilise plusieurs paradigmes sans en imposer : tu peux faire de l'objet, de l'impératif, du concurrent comme du fonctionnel.
L'idée c'est vraiment de tirer parti de chacun des concepts sans se prendre la tête.
C'est un langage glue en quelque sorte et il s'interface très bien avec d'autres si vraiment c'est nécessaire.

Enfin, pour débuter, je conseil vraiment d'utiliser de l'interprété : tu peux jouer avec le code directement (genre ipython), qu'il soit portable (pas besoin de re-compilé sur une autre machine avec une archi différente) avoir un backtrace sans débogueur et te concentrer sur la structure et l'évolution de ton prog.
Le risque du compilé sans bonnes notions de c'est de buter sur des pbs de bas niveau : gestion de la mémoire, identifier les bugs, se battre avec des trucs *simple* : manipuler des fichiers, des chaînes de caractères, des dates, des listes et dictionnaires, des bases de données, des gui etc.

teprick:

Pour ton lien, ça à l'air pas trop mal.
Maintenant, dis toi qu'un parcours de programmeur est souvent assez atypique (limite chaotique).
Y'a des trucs que t'apprend pas dans les livres wink

Créer un jeu risque de te vexer à plusieurs niveaux :
    * apprentissage de framework et autres libs.
    * travailler avec des ressources dont tu ne disposes peut-être pas pré-mâché : objet 3D, images etc.

Comme dis plus haut : si t'as l'occasion de participer à de l'existant, n'hésites pas!

Apprendre la prog c'est un peu comme jouer à un jeu vidéo : si tu commences direct au dernier niveau avec la difficulté max : tu risques de ne pas te perfectionner, t'énerver et te lasser.
En revanche, apprendre par petites doses avec des défits modestes mais réalistes te fera gagner plus vite des galons.

Hors ligne

#30 Le 28/11/2013, à 20:19

Clodion

Re : Je débute en programmation

Bonsoir,
Pour compléter moths-art:
Un autre des avantages de Python est le "batteries included": sous Linux (et donc sous Ubuntu) python est déjà installé avec sa bibliothèque "couteau-suisse". Il y a des tonnes de librairies incluses permettant de toucher à vraiment beaucoup de domaines de programmation (voir le site officiel ici).
D'autre part, on trouve des livres gratuits en français pour bien commencer (dont le génial de Swinnen: ici ou directement ).
Enfin, une communauté très active (en particulier sur le site de developpez).

Enfin, et ce n'est pas la moindre des choses: Python est totalement libre et est disponible aussi bien sous Win, que sous Mac ou Linux (nombreux sont les logiciels qui fonctionnent sur plusieurs os).
Clodion

Dernière modification par Clodion (Le 28/11/2013, à 20:21)

Hors ligne

#31 Le 28/11/2013, à 20:49

moths-art

Re : Je débute en programmation

C'est "batteries included" mais les batteries n'ont pas forcément toujours l'API l'a plus adéquate pour faire les choses. (surtout si tu utilises des vielles versions)
Pour résorber ça, il y a des superbes libs sur http://pyth4on.org/pypi
Quelques une des perles :
path (os.path en mieux) : permet de créer/copier/supprimer des fichiers/dossiers
arrow : manipuler des dates/heures/timezones sans noeuds au cerveau
requests : faire des requêtes http intuitivement

Clodion : je dirais même plus :  Windows, Linux, Mac OS X, *BSD, AIX, MS-DOS, OS/2, QNX etc : http://www.python.org/download/other/

Hors ligne

#32 Le 28/11/2013, à 22:10

k3c

Re : Je débute en programmation

Dans le dernier Linux Mag, il y a un article sur Kivy

extrait de
http://boutique.ed-diamond.com/gnulinux … lm166.html

p. 20    La souplesse de python, les performances du C++, le tout sous Android sans trop se fatiguer : Rien de plus facile avec Kivy !


Debian 12 sur Thinkpad reconditionné

Hors ligne

#33 Le 29/11/2013, à 04:39

teprick

Re : Je débute en programmation

MOths-art, merci beaucoup de tes nombreux conseils smile
Il me reste tout de même une ou deux questions : Des notions d'algorithmes sont-elles essentielles pour se perfectionner en informatique? Certains bons informaticiens disent qu'on peut très bien faire sans alors que d'autres disent tout à fait le contraire...

J'ai également remarqué que les langages de programmation se ressemblent beaucoup entre eux. C'est pas comme passer du chinois au francais, ya beaucoup de choses semblables (d'après ce que j'ai pu voir).
Par contre, voilà, j'ai commencé à apprendre mais j'ai un peu de difficulté à penser comme un programmeur. En fait, dans certains cours sur le net, ils donnent des exercices mais je comprends le problème mais , aussi simple soit-il, j'ai un peu de difficulté à raisonner de cette manière. Pourtant, je ne suis pas mauvais pour tout ce qu'y s'agit de logique...

Autre question, comment voit-on le code source d'un logiciel libre, habituellement?

Hors ligne

#34 Le 29/11/2013, à 09:24

k3c

Re : Je débute en programmation

teprick a écrit
>>>Autre question, comment voit-on le code source d'un logiciel libre, habituellement?

Je dirais, suivant les technologies à la mode, tu installes git et mercurial

sudo apt-get install git mercurial 

et tu peux faire
hg clone ...
ou git clone ...
par exemple pour kivy, le code est à
https://github.com/kivy/kivy
et en bas à droite tu vois
HTTPS clone url

et si tu copies tu as

https://github.com/kivy/kivy.git

Comme ça se termine par git, ça veut dire que tu fais

git clone https://github.com/kivy/kivy.git

ou, en remplaçant le https par le http (je suppose que tu n'as pas ton compte sur github.com  pour l'instant)

git clone https://github.com/kivy/kivy.git

Sinon il y a plein d'autres outils plus anciens dans ce genre, style cvs ou svn.
Va voir aussi les sites historiques comme sourceforge, le très bon mediainfo (quand tu veux tout savoir sur une vidéo) y est
http://sourceforge.net/projects/mediainfo/
ou aussi le site https://bitbucket.org/

Dernière modification par k3c (Le 29/11/2013, à 09:26)


Debian 12 sur Thinkpad reconditionné

Hors ligne

#35 Le 29/11/2013, à 10:18

k3c

Re : Je débute en programmation

Pour savoir si étudier l'algo est utile, un petit problème

pour récupérer des vidéos sur tv5mondeplus.com, il faut, entre autres choses lire des fichiers qui ressemblent à

            # <?xml version="1.0"?>
            #    <!DOCTYPE smil PUBLIC "-//W3C//DTD SMIL 2.0//EN" "http://www.w3.org/2001/SMIL20/SMIL20.dtd">
            #    <smil xmlns="http://www.w3.org/2001/SMIL20/Language">
            #    <head>
            #        <meta name="title" content="COURTS SEJOURS" />
            #        <meta name="httpBase" content="http://vodhdflash.tv5monde.com/" />
            #        <meta name="rtmpAuthBase" content="" />
            #    </head>
            #    <body>
            #        <switch id="tv5_catchup">
            #            <video src="tv5mondeplus/hq/3137682.mp4" system-bitrate="500000"/>
            #            <video src="tv5mondeplus/bq/3137682.mp4" system-bitrate="300000"/>
            #        </switch>
            #    </body>
            #    </smil>

A priori, on voudra récupérer la vidéo ayant la meilleure qualité, donc le bitrate le plus élevé, ou avec hq (haute qualité) de préférence à bq (basse qualité)

Tu vois comment faire ? en pseudo code, par en Python.


Debian 12 sur Thinkpad reconditionné

Hors ligne

#36 Le 29/11/2013, à 13:06

Clodion

Re : Je débute en programmation

Coucou,
@moths-art: tout à fait en ce qui concerne le nombre de plate-formes supportées par Python!! :-)

teprick a écrit :

MOths-art, merci beaucoup de tes nombreux conseils smile
Il me reste tout de même une ou deux questions : Des notions d'algorithmes sont-elles essentielles pour se perfectionner en informatique? Certains bons informaticiens disent qu'on peut très bien faire sans alors que d'autres disent tout à fait le contraire...

Personnellement, je conseille, pour débuter, le livre de Swinnen (pour le Python) dont le lien est au-dessus. Il y aborde l'ensemble des problèmes, au pas-à-pas, avec du codage très tôt dans le livre. Les principes de base de l'algorithmie sont amenés naturellement dans les premiers essais de codage. Les exercices sont corrigés et analysés… Que vouloir de plus?????
Après, de nombreux sites sont très très bien faits pour de l'algorithmie pure… Mais ce n'est, AMHA, pas nécessaire dans un premier temps!!

teprick a écrit :

Autre question, comment voit-on le code source d'un logiciel libre, habituellement?

Heu… Pour Python: aller dans le dossier /usr/share/programme et ouvrir les fichiers .py avec n'importe quel éditeur de texte!!! :-)
ex: je veux voir les sources de "qarte" (qui est installé sur ma machine, bine sûr!!)…
Dossier /usr/share/qarte/ et là, je peux ouvrir tous les fichiers de code (*.py) et voir comment cela est écrit!!! :-) :-) :-)

Où bien: /usr/share/software-center/ pour les fichiers de la logithèque d'Ubuntu… :-) :-)

Enfin bon, dès qu'un fichier se termine par .py, on peut l'ouvrir et regarder exactement ce qu'il fait!!

Voilà,
Clodion

Dernière modification par Clodion (Le 29/11/2013, à 13:09)

Hors ligne

#37 Le 29/11/2013, à 14:08

pires57

Re : Je débute en programmation

Bon très bien tu veut une argumentation donc je vais prendre un peu plus de temps bien que tout ce que je vais dire pourrais être retrouvé sur le net a partir du nom du langage ...
Pourquoi ada?
- C'est un langage algorithmique.
- C'est un langage typé (j'apprécie relativement PHP pour le non typage et la liberté qu'il permet a ses devs mais il faut reconnaitre qu'en terme de qualité de code, il y a mieux ... )
- C'est un langage permissif.
- C'est un langage verbeux
- Ada est un langage strict et on apprends donc à maîtriser son programme

Ada est principalement utilisé dans le domaine d'application critique.

Donc oui, plusieurs langages peuvent être proposé mais sauf erreur de ma part, ada est un langage utilisés dans pas mal d'IUT pour apprendre la programmation informatique.
Le Pascal est également un bon langage mais a titre perso je pense que ada a plus d'avantage a ce niveau que Pascal...

Et pour répondre à ta dernière question, pour moi l'algorithme c'est la base même de la programmation donc on peut sauter cette etapes en programmant avec l'expérience mais on y pense, cest le meme principe.

Dernière modification par pires57 (Le 29/11/2013, à 14:34)


Utilisateur d'Archlinux, Ubuntu et Kali Linux
Administrateur système et réseau spécialisé Linux.
LinkedIn

Hors ligne

#38 Le 29/11/2013, à 14:44

moths-art

Re : Je débute en programmation

Dans l'interprété, du moment que tu peux exécuter un programme, il y a forcément les sources sur ton ordi.
Pour du compilé, vu qu'on est dans le libre, tu peux télécharger les sources avec un :

apt-get source tonprog

Pour le passage d'un langage à l'autre : effectivement, c'est pas trop compliqué. (à part ceux qui ont des concepts vraiment différents genre Haskell, Prolog ou Erlang)
Maintenant, ça ne veut pas dire que tu les maîtriseras tous en production.
Un langage c'est tout un écosystème et une culture bien souvent.

Tu me demandes par exemple de programmer un script en Ruby de 200 lignes. ça sera pas insurmontable mais je prendrais plus de temps (aller-retour dans la doc alors que je connais la syntaxe python par cœur) et ça sera pas forcément *beau* et maintenable pour les rubyistes : j'aurais fait abstraction de conventions de codage par exemple.

Il faudra te cantonner sur 2 voir 3 langages de prédilection : perso Python et C (que j’essaie de remplacer par Go dans les mois-années qui viennent).
Je fais aussi beaucoup de JavaScript mais c'est plus alimentaire.

Le reste c'est de la culture.

Pour l’algorithmie, tout dépend : quand je repense à des livres de C que j'ai lu ou l'algo se cantonnais sur du tri... je dis pas que c'était inutile (car ça donne une logique) mais proche : les outils de python font déjà ce genre de choses au mieux.


Pires57 : Je ne doutes pas sur Ada de sa qualité et sa rigueur.
Je t’avouerais ne jamais y avoir mis les pieds (à part lire de la doc dessus).

Pour le typage fort, je dirais que c'est une contrainte pour le débutant et un gage de sécurité pour le dev expérimenté donc tout dépend de quel côté on se place.
Je ne doute pas que Ada soit enseigné dans les IUT  mais il reste néanmoins anecdotique dans le libre, sur le web, dans les entreprises etc.
Une force d'un langage, surtout quand on démarre c'est aussi sa doc, ses tutos sa communauté.

Une recherche sur du C ou du python te donnera une tonne de réponses pertinentes (sur http://stackoverflow.com/ par exemple)
Je suis moins sur avec Ada.

N'oublie pas qu'on parle à un débutant : il a besoin d'une courbe d'apprentissage rapide.
Et puis Ada dans le jeu vidéo, va falloir encore argumenté...

Hors ligne

#39 Le 29/11/2013, à 15:13

telliam

Re : Je débute en programmation

pires57 a écrit :

Bon très bien tu veut une argumentation donc je vais prendre un peu plus de temps bien que tout ce que je vais dire pourrais être retrouvé sur le net a partir du nom du langage ...
Pourquoi ada?
- C'est un langage algorithmique.
- C'est un langage typé (j'apprécie relativement PHP pour le non typage et la liberté qu'il permet a ses devs mais il faut reconnaitre qu'en terme de qualité de code, il y a mieux ... )
- C'est un langage permissif.
- C'est un langage verbeux
- Ada est un langage strict et on apprends donc à maîtriser son programme

Ada est principalement utilisé dans le domaine d'application critique.

Donc oui, plusieurs langages peuvent être proposé mais sauf erreur de ma part, ada est un langage utilisés dans pas mal d'IUT pour apprendre la programmation informatique.
Le Pascal est également un bon langage mais a titre perso je pense que ada a plus d'avantage a ce niveau que Pascal...

Effectivement Ada est surement le meilleur langage à apprendre qd on débute et que l'on veut apprendre à coder proprement.
L'apprendre en IUT/école/fac c'est effectivement hyper formateur car tu as un prof pour t'aider à progresser rapidement en te corrigeant rapidement les erreurs les plus trivials. Par contre à apprendre tout seul, ça peut être vite décourageant. D'autant plus que Ada est un langage tres peu utilisé donc tu auras moins d'aide sur internet.


"- Un intellectuel assis va moins loin qu'un con qui marche."
Maurice Biraud - Un Taxi pour Tobrouk
Michel Audiard

Hors ligne

#40 Le 29/11/2013, à 15:30

moths-art

Re : Je débute en programmation

ah oui  tu es sous linux donc tu te doit d'apprendre à travailler avec le shell : je ne passe pas une semaine sans avoir mis à jour mon .zshrc ou de taper des lignes à rallonge dans un ssh.

C'est pas vraiment un langage à proprement parler mais c'est néanmoins essentiel d'en comprendre les rudiments... surtout quand tu commences à vouloir être efficace.

Hors ligne

#41 Le 29/11/2013, à 15:46

teprick

Re : Je débute en programmation

Parfait, Merci beaucoup de vos nombreuses réponses smile

Hors ligne

#42 Le 30/11/2013, à 00:49

Clodion

Re : Je débute en programmation

PS: Souvent l'algorithmique fait peur. Les bouquins que l'on voit passer présentent généralement des algorithmes tordus et très spécifiques. En fait, l'algorithmique c'est juste une manière d'exprimer les choses.
L'intérêt est de formaliser les idées et permettre d'en tirer des méthodes de résolution pour un problème donné (en s'affranchissant des détails du langage).
Un bon cours d'algorithmique pour débutants non matheux!!
Et pour plus de détails: wiki est votre ami! :-)

Clodion

Hors ligne

#43 Le 30/11/2013, à 04:07

pires57

Re : Je débute en programmation

Bonsoir,  il y a quelques devs ada sur dev.com... qui se feront un plaisir d'aider et orienté.


Utilisateur d'Archlinux, Ubuntu et Kali Linux
Administrateur système et réseau spécialisé Linux.
LinkedIn

Hors ligne