Apprendre à programmer

Apres il faut voir que chaque seconde passee a faire du javascript est une seconde de ta vie que tu ne reverras jamais.

[quote=“Dadal, post:59, topic: 29057”]Ben embetes toi pas avec des langage de (trop) bas niveau ->java/c#, un bon ide (eclipse, ou Visual Studio) et en avant.

Si tu choisis java+eclipse, je te conseillerais le “Google Web Toolkit” (GWT) en plugin pour eclipse, ça te permettra de te faire rapidement des petites interfaces en html au lieu de t’embeter avec les layouts (que je conspue :P)
Et comme ça, quand tu auras ton prog qui marche, tu pourras faire le cake avec ton beau site web 2.0 et rameuter plein de gonzesse depuis les skyblogs (ou pas) :P[/quote]
dis moi toi tu saurais me conseiller un bon tuto pour ce toolkit ?
enfin un, un tout petit peu plus clair que celui fournit sur le site.
merci

Attend mec, si je cale une balise dans mon texte c’est qu’il faut pas prendre ce que j’ecris au premier degré, je suis pas contre les garbage collector, à la limite j’aimerai meme en coder un en C tellement ca a l’air interessant :stuck_out_tongue: Mon prof de Scheme nous disait que c’etait un sujet trés difficile, qu’il y encore pas mal de travaux de recherche dessus…

Mais si tu prends le premier message que j’ai ecrit dans ce magnifique thread à troll, je pense qu’il faut apprendre, C, JAVA, Scheme, avec ces 3 langage t’es capable de comprendre tout les mecanismes de pratiquement tout les langages trés facilement.

Quand un pote me dit « dans python ya lambda, mais je vois pas trop a quoi ca sert »… Je vois que c’est cool d’etudier un langage qui date de 30 ans pour voir pourquoi des gens ont intergré du lambda calcul dans du code, historiquement et tout… Et quand je vois maintenant que pleins de language vont l’integrer (même C#) je pense que c’est pas un perte de temps de connaitre plusieur langage qui integre les meme principe pour pouvoir mieux trancher si on nous demande en quel langage faut coder telle appli…

Je crois que le probleme dans ce thread c’est de donner la definition du titre « Apprendre a programmer » si c’est pour faire des petites appli sympa, avec des petites fenetres, je pense que C#/Visual Studio Express est ideal.

Mais pour moi apprendre à programmer c’est pas ça, à la fac on apprend à programmer, et on te dit pas que vu que 90% des gens utilisent JAVA, bah on va apprendre que JAVA, mais on va t’apprendre a coder des compilateur, a faire du C pour voir du bas niveau, on va te faire des cours d’algo, et ca pour moi c’est savoir programmer.

Y’a personne qui a proposé le BASIC ? :stuck_out_tongue:
Moi j’ai commencé par ça et au moins ça m’a fait comprendre ce que c’est qu’un langage où on peut rien faire simplement.
Je me demande si le compilateur est toujours fourni avec windows…

[quote=« Tiennos, post:64, topic: 29057 »]Y’a personne qui a proposé le BASIC ? :stuck_out_tongue:
Moi j’ai commencé par ça et au moins ça m’a fait comprendre ce que c’est qu’un langage où on peut rien faire simplement.
Je me demande si le compilateur est toujours fourni avec windows…[/quote]

Non.

:stuck_out_tongue:

(sinon moi c’était le gw-basic)

(et ce qui était livré avec le dos et win c’était le qbasic, à ne pas confondre avec le quick basic)

Sinon, commencez par apprendre par le basic c’est très mal aussi il parait (qu’à cause du goto 10 & co)

[quote=« nolan, post:65, topic: 29057 »]Non.

:stuck_out_tongue:

(sinon moi c’était le gw-basic)

(et ce qui était livré avec le dos et win c’était le qbasic, à ne pas confondre avec le quick basic)

Sinon, commencez par apprendre par le basic c’est très mal aussi il parait (qu’à cause du goto 10 & co)[/quote]
Bah je sais pas, c’est pas plus mal de faire quelques goto histoire de comprendre pourquoi il faut pas en faire :stuck_out_tongue: D’autant plus que le basic on en a fait le tour en 1 mois ou 2 de programmation pas intensive.
En cherchant un peu on doit bien pouvoir retrouver un vieux qbasic. Y’a quelqu’un qu’a encore un pc sous win 3.1 ? ou un vieux 95 ? :stuck_out_tongue:

Enfin sinon comme langage de programmation pour les nuls, Labview est sympa. C’est même pas vraiment un langage d’ailleurs, mais c’est bien pour les gens qui ne savent pas programmer et qui n’ont pas envie d’apprendre :stuck_out_tongue:
(NB: complètement inutilisable pour faire autre chose que des mesures… c’est un truc de scientifiques quoi)

Et tu peux faire ca sans ecrire une ligne de C, je vois pas le rapport.

Ce que je voulais dire c’est qu’il fallait pour apprendre à programmer différant type de programmation, et C me semble trés bien pour apprendre la programmation imperative et faire du systeme et du reseau

Désolé de ne pas avoir répondu plus tôt, enfin, bref, même réponse que Kel_Thalas, l’objectif à court terme serait de m’amuser et que ça me serve pour mes études post-bac et plus encore dans ma vie professionnelle si je m’oriente toujours vers des études en info.

Donc je pense que je vais m’orienter vers du C#, Dadal a été plutôt convaincant pour les filles :stuck_out_tongue:

Merci de vos réponses.

C’étais java+GWT pour les filles, avec C# c’est Glop que tu vas pécho :stuck_out_tongue:

Mais amuse toi bien quand même :stuck_out_tongue:

Glop il fait du C# et maintenant il est papa… C’est à voir avec tes ambitions familiales :stuck_out_tongue:

GloP dans sa jeunesse il scorait a fond les top models bulgares grace a C#. Java, t’as les camioneuses portugaises. C’est un choix. Il y a pas photo, pour bien choper, il faut savoir en quoi coder.

Moi je préfère les bonnasses du PHP.

Huhu oui, ceux qui ont une femme avec un nom en .jpg :stuck_out_tongue:

Le Fonctionnel vaincra !

\oo/ lambda, map, foldLeft, reduceLeft et typage générique \oo/

:stuck_out_tongue:

ah, et apprenez le Scala, sisi. Pattern Matching pour président.

[quote=« Azhag, post:75, topic: 29057 »]Le Fonctionnel vaincra !
\oo/ lambda, map, foldLeft, reduceLeft et typage générique \oo/[/quote]
Tu peux préciser, en terme non mathématique car les définitions dans google et le jargon informatique (jargon: langage fonctionnel ) sont incompréhensibles, ce que font ces langages ? Ils sont utilisés dans le monde du travail en général ou alors ce ne sont que des langages de recherches ?

cela a avoir avec le fonctionnel relatif à la comprehension du métier et indiquées notamment dans les spécs fonctionnelles ? non je n’ai pas l’impression, bien que la compréhension du fonctionnel est pour moi un des attraits de l’informatique.

edit: merci pour cette explication en dessous Azhag :stuck_out_tongue: très claire.

Alooors (ressortons mes souvenirs de mon cours) :

Le Fonctionnel est un autre paradigme de programmation. Une autre façon de penser et programmer donc.
Dans sa théorie la plus forte, tout est une fonction. Il n’y a pas de variables, ni de types. La constante 10 serait une fonction f(x)=10 par exemple.
Ca implique une utilisation très forte de la récursion un peu partout.

Autre point important, c’est très (et souvent uniquement utile pour ça) lié à l’utilisation de listes, d’arbres ou autres structures de données. Avec du Fonctionnel tu fais des trucs sur une liste très simplement, en disant quoi faire sur un élement simple, puis en appliquant récursivement (rappel de la même fonction) sur le reste de la liste.

C’est vraiment une autre manière de programmer. Et pour répondre à ta question : c’est pas vraiment (voir pas du tout) adapté au monde du travail, sauf dans des cas très précis. C’est parfait pour faire un compilateur, ou un parser de XML, de langage ou je ne sais quoi.
Pour faire un client FTP, nan.

Mais malgré tout, certains aspects sont vraiment intéressants (récursions simplifiées, fonctions lambda [des fonctions génériques, pouvant être passées en argument à une autre fonction par exemple], typage générique) et donc commencent d’être implanté dans des langages plus “normaux”.
Je sais plus qui à cité C#, et Java vient (dans la version 1.5) d’introduire les types génériques et une boucle foreach (ok c’est pas du fonctionnel vraiment, mais ca y ressemble). Python possède quelques fonctions qui peuvent être utilisées pour faire comme du fonctionnel.

Voilà pour ce petit topo, je te renvoie ensuite sur le superbe cours qu’on a eu sur la programmation Fonctionnelle et plus particulièrement Scala (que j’adore) :
http://lamp.epfl.ch/teaching/programmationIV/2006/

Bon, il y en a marre. Vous êtes tous des lavettes.

Pour apprendre à programmer, il faut commencer par faire un design de processeur en VHDL, ensuite il faut faire un compilateur C qui fonctionne dessus, et ensuite faire un os, et porter une machine virtuelle .NET dessus.

là, vous serez des hommes.

Surtout que .net c’est pas a proprement parler une machine virtuelle au contraire de java. Mais je chipotte :stuck_out_tongue:

[quote=« Azhag, post:77, topic: 29057 »]Alooors (ressortons mes souvenirs de mon cours) :

Le Fonctionnel est un autre paradigme de programmation. Une autre façon de penser et programmer donc.
Dans sa théorie la plus forte, tout est une fonction. Il n’y a pas de variables, ni de types. La constante 10 serait une fonction f(x)=10 par exemple.
Ca implique une utilisation très forte de la récursion un peu partout.
…[/quote]

Plussoie en gros…

Le fonctionnel est très apprécié dans l’enseignement, vu qu’il permet d’aborder très clairement, précisément et concisément des concepts de programmation relativement avancés sans rentrer dans le bas-niveau et sans inculquer de syntaxe rigoureuse. En considérant entre autres les fonctions comme des variables, et donc passables en paramètres ou retournables par une autre fonction, on fait éclater pas mal de barrières, ce qui permet d’avoir des programmes très puissants et précis qui tiennent sur à peine quelques lignes.
Quand tu as les idées assez claires sur les concepts de programmation, meme sur des cas très pointus, c’est après plus facile de coder des trucs qui paraitraient chelou ou velus autrement.

Le revers de la médaille, souvent, c’est la gestion de la mémoire, vu que tout est auto-alloué et que rien n’a de type (les valeurs ont un type, les variables n’ont pas de type fixe).

Alors, oui, dans la recherche aussi, c’est plutot apprécié, mais je ne saurais m’avancer trop non plus (dans les labos, on voit des langages aux noms très exotiques, aussi, genre le langage désigné pour une tâche précise).

Pour le reste, dans le monde de l’entreprise en général, je pense que parler de Lisp, c’est le bon moyen de se faire foutre dehors (c’était le cas à feu-Kalisto, d’ailleurs). Pourtant, ne serait-ce que pour le prototypage, ces langages sont vraiment excellents. Il y a pas mal de langages de ce type qui n’ont pas peur de l’« efficacité industrielle » comme on dit, mais ca dépend autant de la qualité de l’implémentation de la norme du langage que de la pertinence des choix du programmeur. Ca implique souvent de faire de l’itératif pur et dur plutot que du récursif (oui, c’est poreux, mais pour autant, meme un programme ‹ itératif › en langage fonctionnel aura une gueule très différente de celle d’un langage dit ‹ impératif ›)

Pour l’efficacite, par exemple, en Common Lisp, on peut parfaitement optimiser les sections de code dites ‹ bottleneck › (celles qui ralentissent vraiment le programme, pas les innombrables instructions exécutées une fois ou deux en 0.1secs au plus) en balancant du code C, assembleur, ou plus simplement en fixant le type de certaines variables et en reprennant la main de la gestion de la mémoire. Mais localement, où ca coince, et pas partout.

Common Lisp a aussi une pt1 de couche objet, faut aussi dire, donc c’est tout sauf un langage de pouilleux… Ah oui, et vive le LaBRI, aussi :stuck_out_tongue: