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.

#76 Le 09/03/2010, à 21:49

mimoun

Re : Java, Python, C... J'ai mal à la tête.

Link31 a écrit :

Pour apprendre l'algorithmique, le Pascal me semble bien plus adapté, plus propre et mieux structuré.

L'Ada aussi. Ça ressemble grandement au pascal, parait-il (je ne connais pas le pascal).

Sinon, je suis d'accord avec ceux qui disent que la meilleure solution pour apprendre à programmer n'est pas de commencer par du C.
La plupart des programmeurs (du dimanche ou non) s'en fichent de la façon dont la mémoire est gérée et n'ont pas envie de s'embêter avec des malloc.
Je pense que le plus important, pour se lancer, c'est déjà de pratiquer l'algorithmique. En C (tout du moins au début), on passe plus de temps à gérer sa mémoire et ses pointeurs qu'à coder les algo.
En plus, c'est un langage trop permissif pour un débutant, et les erreurs retournées par les compilateurs sont rarement explicites.
Donc je pense qu'au contraire, le C est à déconseiller au débutant. Et celui qui aura vraiment besoin de C par la suite aura tout le temps d'apprendre.

Hors ligne

#77 Le 09/03/2010, à 22:01

Radek

Re : Java, Python, C... J'ai mal à la tête.

Personnellement, je programme en C et je trouve ça très intéressant, et franchement, ce langage n'est pas ultra difficile.

Sinon, tu peux toujours t'orienter vers le PHP, orienté WEB. J'aime beaucoup ce langage. smile

Dernière modification par Radek (Le 11/03/2010, à 22:18)


http://www.radek411.org
Jabber : radek[AT]legtux.org

Hors ligne

#78 Le 09/03/2010, à 22:02

grim7reaper

Re : Java, Python, C... J'ai mal à la tête.

louiz' a écrit :

Ouais, j'aime ce mot imaginaire, pas toi ? smile

C'est pas moche tongue, c'est juste que je ne connaissais pas sa signification.

louiz' a écrit :

Oui, vrai.
Sauf que lui, il n'a pas mis le « int », et c'est surtout ça que je voulais faire remarquer.
donc demi-fail

Si c'était pour souligner le fait qu'il manque le "int" et pas tout le prototype alors oui je suis d'accord avec toi (ta phrase était ambigu).

louiz' a écrit :

Et ben justement… Si tu veux faire un hello world, tu veux flusher le buffer…
Donc rien de fail ici.

Une fois de plus, problème de compréhension car je pensais que tu voulais dire "\n" = "std::endl".

Hors ligne

#79 Le 09/03/2010, à 22:14

bloublou

Re : Java, Python, C... J'ai mal à la tête.

grim7reaper a écrit :
louiz' a écrit :

Ouais, j'aime ce mot imaginaire, pas toi ? smile

C'est pas moche tongue, c'est juste que je ne connaissais pas sa signification.

Celle que tu veux lui donner, vu que le mot n'existe pas wink
Mais une définition comme « qui porte à confusion » est pas mal.

louiz' a écrit :

Oui, vrai.
Sauf que lui, il n'a pas mis le « int », et c'est surtout ça que je voulais faire remarquer.
donc demi-fail

Si c'était pour souligner le fait qu'il manque le "int" et pas tout le prototype alors oui je suis d'accord avec toi (ta phrase était ambigu).

Oui.

louiz' a écrit :

Et ben justement… Si tu veux faire un hello world, tu veux flusher le buffer…
Donc rien de fail ici.

Une fois de plus, problème de compréhension car je pensais que tu voulais dire "\n" = "std::endl".

Ben en fait je signalais ça justement parce que std::endl est plus complet qu'un simple '\n'
C'est dans le même ordre d'idée que de pas piger pourquoi les messages s'affichent pas dans le bon ordre quand on mélange des write() et des printf() sans y mettre de \n (ce dernier ayant ici pour rôle de flusher le buffer du printf, en plus du retour à la ligne), en C.

Mais bref, sinon j'suis impressionné par la fonction « √ » en ruby, c'est très classe, j'aime de plus en plus ce langage big_smile

Hors ligne

#80 Le 09/03/2010, à 22:23

samυncle

Re : Java, Python, C... J'ai mal à la tête.

Bon moi perso j'utilise beaucoup le python (ce langage peut faire énormément de choses).


Après depuis que j'ai trouvé le goto++ je ne peux plus m'en passer

et en plus la doc est en français

la grande classe quoi smile


Hello world

Hors ligne

#81 Le 09/03/2010, à 23:56

Le Farfadet Spatial

Re : Java, Python, C... J'ai mal à la tête.

Salut à tous !

louiz' a écrit :

Ben en fait je signalais ça justement parce que std::endl est plus complet qu'un simple '\n'

À mon sens, le terme « plus complet » est totalement inapproprié. Dans un cas, on vide le tampon, dans l'autre non. Les deux s'utilisent donc dans des situations différentes, tout simplement.

   Cela dit, je conseille, sauf cas bien analysé, de laisser le système gérer le tampon, qui s'en chargera mieux que si on le fait à la main.

   À bientôt.

                                                                                                                                     Le Farfadet Spatial

Hors ligne

#82 Le 10/03/2010, à 13:32

Ph3nix_

Re : Java, Python, C... J'ai mal à la tête.

shlok a écrit :

il y a aussi la question, au delà de la logique libriste :

- quel langage pour trouver un emploi ?

là je dirai, à court terme php. non ?

Il existe bien trop de langage, du fortran 77, java au C et C++ en passant par le développement web (php etc...) requis dans le monde professionnelle.

Un langage ça s'apprend en quelques jours une fois les principes acquis .


Hiroshima 45 / Chernobyl 86 / Windows '95

Hors ligne

#83 Le 10/03/2010, à 13:39

Gage

Re : Java, Python, C... J'ai mal à la tête.

Ph3nix_ a écrit :
ilagas a écrit :

pour commencer y a pas mieux que le C
pour approfondir le c++ aprés le choix du language ce sera selon ce que tu veux faire smile

+1

Le C permet de comprendre la machine, la pile, les adresses (les pointeurs), la gestion de la mémoire, les I/O, les processus, les signaux, le système de fichier, l'encode des caractères.

Avec le C on peut tout faire: une application entière, de l'interface à l'accés à la base.
De plus c'est un langage orienté objet même si les principaux principes ne sont pas implémentés.

Rien de mieux. La syntaxe est compliqué mais elle est significative.

Le paradigme objet n'est pas indispensable et est de toute façon pas maitrisé par les novices, c'est pourquoi commencer par le Java, php ou python ne sert a rien.. Si ce n'est produire des lignes de code pourri.

Si le C te semble trop inabordable, et bien autant commencer par le Pascal.

Personnellement, je pense que la meilleure distribution pour faire ses premiers pas avec Linux est Gentoo. C'est vrai, quoi : elle t'apprend ce que c'est qu'un gestionnaire de paquets, la ligne de commande, ce que sont des sources et comment on les compile, les options de compilation, tu installes toi-même ton gestionnaire graphique, ce qui te permet de découvrir que ce n'est pas une fonction de base du système, tu apprends la différence entre un serveur, un pc de bureau, un cluster de calcul partagé, tu apprends à choisir toi-même les bonnes options pour compiler ton noyau, à choisir quels démons lancer au démarrage, à éditer à la main tes fichiers de config... Non, pour se lancer, on ne fait pas mieux.

Bien sûr, une fois qu'on maîtrisera les bases, on pourra toujours s'orienter vers des distributions plus "clés en main", comme Fedora, Ubuntu, Debian ou Mandriva. Mais si on n'a pas touché à Gentoo, on administrera sa machine n'importe comment.


Ça, ce sont les sources. Le mouton que tu veux est dedans.
Merci, c'est tout à fait comme ça que je le voulais ! Crois-tu qu'il faille beaucoup de ressources à ce mouton ? Parce que ma config est toute petite...
Ça devrait aller. Tu peux te compiler un petit mouton.
Pas si petit que ça. Tiens ! il s'est mis en veille...

Hors ligne

#84 Le 10/03/2010, à 13:44

gerarmentor

Re : Java, Python, C... J'ai mal à la tête.

^^ Le Farfadet Spatial :  si je mets mon navigateur en pleine largeur, ta signature se promène bêtement en plein milieu de la page. Si je réduis la fenêtre de mon navigateur, comme elle l'est actuellement, j'ai une partie de ta signature à droite, une autre à gauche.
Bref, c'est une mauvaise idée.


Les alinéas aussi c'est nul, mais c'est moins gênant.

Hors ligne

#85 Le 10/03/2010, à 13:45

grim7reaper

Re : Java, Python, C... J'ai mal à la tête.

@Gage : Conseille une LFS tant que tu y est tongue
Si on suit ton raisonnement (ironique, je le sais wink), il n'y a pas mieux pour apprendre comment ça tourne.

Dernière modification par grim7reaper (Le 10/03/2010, à 13:48)

Hors ligne

#86 Le 10/03/2010, à 14:21

Wacken

Re : Java, Python, C... J'ai mal à la tête.

Gage a écrit :

Personnellement, je pense que la meilleure distribution pour faire ses premiers pas avec Linux est Gentoo. C'est vrai, quoi : elle t'apprend ce que c'est qu'un gestionnaire de paquets, la ligne de commande, ce que sont des sources et comment on les compile, les options de compilation, tu installes toi-même ton gestionnaire graphique, ce qui te permet de découvrir que ce n'est pas une fonction de base du système, tu apprends la différence entre un serveur, un pc de bureau, un cluster de calcul partagé, tu apprends à choisir toi-même les bonnes options pour compiler ton noyau, à choisir quels démons lancer au démarrage, à éditer à la main tes fichiers de config... Non, pour se lancer, on ne fait pas mieux.

Bien sûr, une fois qu'on maîtrisera les bases, on pourra toujours s'orienter vers des distributions plus "clés en main", comme Fedora, Ubuntu, Debian ou Mandriva. Mais si on n'a pas touché à Gentoo, on administrera sa machine n'importe comment.

J'approuve totalement big_smile

J'ai commencé par le C, et franchement il faut un moment avant de commencer à faire des choses intéressantes. Bêtement, avant d'imprimer "Je mange une banane" à l'écran, il faut déjà se taper les notions de librairies, fonction, compilation, alors qu'en Pyhon tu tapes "print "Je mange une banane" ", ce qui est nettement plus intuitif.

Par contre, un truc qui ne me plait pas en Python, c'est l'absence de "typage" : tu redéfinis une variable comme étant un double, puis un entier, puis une chaîne de caractère, sans te soucier de ce que tu fais. Du coup, quand tu passes à un langage plus complexe, de grosses erreurs peuvent survenir (du genre, attribuer un nombre décimal à un entier).

Hors ligne

#87 Le 11/03/2010, à 22:07

Keldath

Re : Java, Python, C... J'ai mal à la tête.

Wacken a écrit :

Par contre, un truc qui ne me plait pas en Python, c'est l'absence de "typage" : tu redéfinis une variable comme étant un double, puis un entier, puis une chaîne de caractère, sans te soucier de ce que tu fais.

Python a pourtant un typage fort. Ce qui te gêne c'est qu'il soit dynamique.

Hors ligne

#88 Le 11/03/2010, à 22:14

bloublou

Re : Java, Python, C... J'ai mal à la tête.

Dynamique et implicite, surtout.

Hors ligne

#89 Le 11/03/2010, à 22:37

brulouni

Re : Java, Python, C... J'ai mal à la tête.

louiz' a écrit :

Dynamique et implicite, surtout.

Qu'est-ce que tu entends par implicite ?

Python fait du Duck typing pour deviner les types sans déclarations explicites, c'est vrai.

Par contre il n'y a pas de conversions implicites de classes (sauf pour les opérateurs arithmétiques).


"Tout ce qui est simple est faux, tout ce qui est compliqué est inutile."
~ Paul Valery

Hors ligne

#90 Le 12/03/2010, à 03:55

bloublou

Re : Java, Python, C... J'ai mal à la tête.

Ben, ce que t'appelles Duck typing probablement.

Le fait de ne jamais dire que telle variable sera un int. Elle l'est parce que tu lui assignes un int.
J'appelle ça être implicite.

Hors ligne

#91 Le 12/03/2010, à 10:29

Keldath

Re : Java, Python, C... J'ai mal à la tête.

louiz' a écrit :

Ben, ce que t'appelles Duck typing probablement.

Le fait de ne jamais dire que telle variable sera un int. Elle l'est parce que tu lui assignes un int.
J'appelle ça être implicite.

Le Duck Typing ça serait plus "elle est un int car elle se manipule comme un int". Par exemple tu crées une classe à laquelle tu ajoutes la méthode __len__(), tu pourras la manipuler comme un conteneur (avec len() ) car elle se comporte comme un conteneur, peu importe son type. Le mot conteneur ici n'est certainement pas adapté mais bon.

Dernière modification par Keldath (Le 12/03/2010, à 10:49)

Hors ligne

#92 Le 12/03/2010, à 14:10

Gage

Re : Java, Python, C... J'ai mal à la tête.

C'est effectivement plus ça la définition du duck typing. Pour reprendre Guido Van Rossum : si ça fait coin coin comme un canard (duck) et que ça nage comme un canard, alors c'est probablement un canard.


Ça, ce sont les sources. Le mouton que tu veux est dedans.
Merci, c'est tout à fait comme ça que je le voulais ! Crois-tu qu'il faille beaucoup de ressources à ce mouton ? Parce que ma config est toute petite...
Ça devrait aller. Tu peux te compiler un petit mouton.
Pas si petit que ça. Tiens ! il s'est mis en veille...

Hors ligne

#93 Le 12/03/2010, à 16:10

brulouni

Re : Java, Python, C... J'ai mal à la tête.

Une page pas mal pour les gens intéressés par le sujet :
http://wiki.python.org/moin/StrongVsWeakTyping


"Tout ce qui est simple est faux, tout ce qui est compliqué est inutile."
~ Paul Valery

Hors ligne

#94 Le 24/03/2010, à 17:25

sucarno

Re : Java, Python, C... J'ai mal à la tête.

Il faut choisir :

- Soit tu t'amuses; alors, tu vas dans une boîte.:lol:

- Soit tu fais des programmes et tous les langages sont bons.:(

Dernière modification par sucarno (Le 24/03/2010, à 17:29)


« Les tyrans ne sont grands que parce que nous sommes à genoux ». Étienne de La Boétie

Hors ligne

#95 Le 24/03/2010, à 22:04

Link31

Re : Java, Python, C... J'ai mal à la tête.

Gage a écrit :

Pour reprendre Guido Van Rossum : si ça fait coin coin comme un canard (duck) et que ça nage comme un canard, alors c'est probablement un canard.

Un canard africain ou européen ?

Hors ligne

#96 Le 24/03/2010, à 22:22

Gage

Re : Java, Python, C... J'ai mal à la tête.

Enchaîné. C'est le meilleur canard.


Ça, ce sont les sources. Le mouton que tu veux est dedans.
Merci, c'est tout à fait comme ça que je le voulais ! Crois-tu qu'il faille beaucoup de ressources à ce mouton ? Parce que ma config est toute petite...
Ça devrait aller. Tu peux te compiler un petit mouton.
Pas si petit que ça. Tiens ! il s'est mis en veille...

Hors ligne