Aller au contenu

je veux debuter dans la programmation.


lepiaff

Messages recommandés

  • Réponses 120
  • Créé
  • Dernière réponse

Euh, ouais, pour l'algo de l'imagerie, je ne parlais pas de TS. Sinon j'aurais parlé du son et de l'image (pourquoi s'en priver, c'est rigolo aussi le son).

Il est possible de faire quelque chose de simple en imagerie. Un paint en gros (sans l'interface). Genre modifier des pixels, inverser l'image.

Pas de trouver les contours des motif ou assombrir une couleur ou encore mettre en relief :francais:

Avec une image en BMP, tu as un octet qui code un pixel, tu mets ça dans une structure, et ça fonctionne tout seul (en plus ça fait travailler les structures, les pointeurs, et l'allocation de mémoire :fumer:)

Lien vers le commentaire
Partager sur d’autres sites

Sinon, lorinc, les livres pour les nuls, ce sont des fakes...regarde le nom de l'éditeur...il ressemble bizarrement au nom de la catégorie des news inclassables de PC INpact non ?

Je sais bien, mais malheureusement ce genre de livre existe (C++ grand débutant en X jours -aucun prerequis) :transpi:

quand au traitement d'image, si j'ai pris cet exemple, c'est justement parce que c'est un des plus accessible. Tu peux faire des modification très facilement sur une image comme faire un negatif noir&blanc sans avoir besoin de toutes les théories sur l'echantillonage et les systemes discrets.

En plus il existe des type de fichier très simples (comme le ppm ou le tga).

Je trouve donc que c'est une excellente manière de 'se faire la main', perce qu'au moins, ça t'apprend à reflechir sur le comprtement et la structure de tes programmes et la maniere de les rendre plus performants.

Je ne pense pas que ce qui interresse les analystes financiers se soit tant d'avoir une zolie fenetre avec un zoli graphe, mais plutôt d'avoir un intervalle de confiance descent dans un temps encore plus descent.

et non, je ne pense pas que PHP soit une bonne maniere de se lancer dans la programmation. Vous trouviez C bordelique? Welcome to the world of PHP... :byebye:

Lien vers le commentaire
Partager sur d’autres sites

Le C et le php, c'est grosso modo la même chose.

Les seules différences sautent aux yeux (standalone!=browser, bibliothèques du php, etc)

quand au traitement d'image, si j'ai pris cet exemple, c'est justement parce que c'est un des plus accessible. Tu peux faire des modification très facilement sur une image comme faire un negatif noir&blanc sans avoir besoin de toutes les théories sur l'echantillonage et les systemes discrets.
Absoluement daccord avec ça :chinois:
Lien vers le commentaire
Partager sur d’autres sites

Avec une image en BMP, tu as un octet qui code un pixel, tu mets ça dans une structure, et ça fonctionne tout seul (en plus ça fait travailler les structures, les pointeurs, et l'allocation de mémoire
. Tu penses que lepiaff capte ce que tu racontes, il va renoncer au bout de 5 minutes si il tente de faire le paint... Je pense que les gens qui veulent se lancer dans la programmation pour le plaisir (je pense aux jeunes lyceens et pas aux etudiants qui doivent rendre un tp d'info) doivent avoir les moyens de faire des choses simples qui tapent a l'oeil. En plus ca va les pousser a aller plus loin. HTML et PHP ont du degoute lepiaff parce qu'il a galerer pour faire une page web pas trop complexe.
Je ne pense pas que ce qui interresse les analystes financiers se soit tant d'avoir une zolie fenetre avec un zoli graphe, mais plutôt d'avoir un intervalle de confiance descent dans un temps encore plus descent.
L'analyste doit tout avoir pour decider rapidement. Un joli graphe ca aide bocoup plus qu'une serie de nombres. En plus il faut les bonnes valeurs fourni par le meilleur algo. Il n'y pas de compromis a faire dans ce domaine.

Je suis d'accord avec vos avis sur le traitement d'image (mis en place d'un algo, manipulations de types complexes, ...). Mais je suis pas d'accord sur le fait qu'un total neophyte doit attaquer par des choses tres difficiles. Mais plutot par des choses simples qui peuvent le motiver.

PHP peut etre un langage pour debuter avec HTML. Mais faut pas s'attendre a des resultats exceptionnels. Mais c'est pas mal pour commencer bien que je re-re-recommande C#.

C# est un langage simple qui permet de presque tout faire simplement (Essayez-le vraiment, vous serez assez surpris). Ce n'est pas parce que c'est un langage objet, qu'il faut en faire rigoureusement dans le cadre de l'apprentissage.

Lien vers le commentaire
Partager sur d’autres sites

Je pense que les gens qui veulent se lancer dans la programmation pour le plaisir (je pense aux jeunes lyceens et pas aux etudiants qui doivent rendre un tp d'info) doivent avoir les moyens de faire des choses simples qui tapent a l'oeil.

Pas moi. La présentation tape à l'oeil n'est qu'un + dans un programme, il ne faut pas perdre de vu que le but de la programmation d'un logiciel, s'est solutioner un probleme. Si tu te soucies plus de la forme que du fond, alors je ne sais pas, écrit des arlequins, engage toi dans la star-ac, mais par pitié ne fait pas d'info, y a déjà assez de 'programme beau qui plante tout le temps' comme ça...

Les zolies nimages, elles viennent en plus ; ce qui sous-entend d'avoir fait le reste avant, c'est-à-dire au début, comme dans débutant...

Mais je suis pas d'accord sur le fait qu'un total neophyte doit attaquer par des choses tres difficiles. Mais plutot par des choses simples qui peuvent le motiver.

on disait justement que le traitement d'image était assez simple pour un débutant. inverser les couleurs d'une image c'est pas très compliqué.

par contre l'IHM, ça c'est compliqué (notion de bibliothèque, hierarchie de widget...), alors faudrait savoir...

C# est un langage simple qui permet de presque tout faire simplement (Essayez-le vraiment, vous serez assez surpris). Ce n'est pas parce que c'est un langage objet, qu'il faut en faire rigoureusement dans le cadre de l'apprentissage.

J'ai peur là... on peut faire de la programmation sans rigueur?

C# est aussi simple que n'importe quel langage orienté objet. si tu ne sais pas déjà programmer, comment veut-tu programmer en POO?

Je connais pas C# (c'est pour ça que je ne crache pas deçu), mais tu as l'air de dire que c'est un langage très performant. On ne peut pas conduire un F1 avant d'avoir appris à conduire. Si on t'avais appris à conduire sur un F1, je doute que tu serais encore en vie...

C# n'est un bon langage pour commencer. Il est efficace parce que tu as déjà l'habitude de programmer et que l'IDE te convient.

le premier programme que tu écris fait pas plus de trois instructions quand tu débute. Ca m'étonnerais beaucoup que tu arrive a faire une GUI avec trois instructions...

Et surtout tu te focalise sur l'aspect, pas sur le contenu. un programme qui affiche 'hello world!' en bleu sur une fenetre rose-transparent n'a aucune utilité et on finit vite par l'oublier et abandonner la programmetion. Par contre un prgramme qui renomme tous les fichiers d'un repertoire en enlevant les majuscule et en remplaçant les espace par des _ (hein theo :ouioui: ) est toujours tres utile, surtout si tu veux uploader des photos de vacances sur un site web. Par contre, c'est pas très beau, et visuelement, je te l'accorde, ça en jette pas...

à part ça :transpi:

Lien vers le commentaire
Partager sur d’autres sites

J'ai pas dit programmation sans rigueur (decidement c dur de se faire comprendre tout en faisant court). J'ai dit qu'on est pas oblige de penser rigoureusement objet quand on debute avec un langage objet.

Toujours dans le cadre de l'apprentissage, un programme peut s'ecrire dans la methode Main (C#) ou main (Java) d'une classe. Les equivalents aux fonctions, instructions, procedure, subroutines, ... peuvent etre des methodes de la classe.

C'est pas propre du tout mais pour commencer, c'est mieux que rien.

le premier programme que tu écris fait pas plus de trois instructions quand tu débute. Ca m'étonnerais beaucoup que tu arrive a faire une GUI avec trois instructions...
Je vais mettre un bout de code qui montre la simplicite du truc. On a une fenetre avec un bouton button1 et un label Label1. Quand on clique sur le bouton, on affiche l'heure dans le label. Avec un IDE (VS.net ou sharpdevelop), voici le code a taper dans la methode generée apres double clic sur le bouton :

label1.Text = DateTime.Now.ToString();

C'est vrai qu'on ne maitrise pas tout, parce que le code generé est imbitable pour celui qui connait rien. Mais je peux vous assurer que le code est propre pas comme dans VC++ 6 (il y a tout ce qui definit l'interface : position, taille, fonte, gestion des evenements uniquement). Le but etant de se concentrer sur les fonctionnalites (affichage de l'heure) tout en ayant acces aux controles (label1, button1, ...). En poussant un peu, on peut faire des programmes plus complexes sans soucis (avec des IHM de plus en plus complexes et des algo de plus en plus poussés). La hierarchie des widgets et la notion de bibliothèque ont ete revu pour etre simplifié (je proposerai pas C# a un debutant si c'etait si compliqué).

Puis me parlez pas de faire des IHM sans IDE, on construit pas tout avec uniquement un tournevis. :ouioui:

Si vous avez aucun repere pour C#, pensez a Delphi (d'ailleurs l'inventeur de Delphi est aussi celui de C#). Imaginez que C# est encore plus simple que Delphi. J'ai pas recommandé Delphi parce que la doc n'est pas aussi bonne que celle de .net.

Puis si il y en a qui sont allergiques aux IHM, il reste la console :oops:. Et C# n'empeche pas de faire des programmes qui renomment des fichiers (il y a d'ailleurs une excellente API de gestion de fichiers dans System.IO), de traitement de fichiers, ... (heureseument).

Je vois pas le C# comme une F1 mais plutot comme de la natation. Au debut, on nage avec une bouee (avec les tutos, la doc et les ide sympa). Apres on nage sans bouee (on fait ses propres programmes). Puis on se perfectionne pour des nages plus complexes comme le crawl, papillon, ... (XML, web avec asp.net, Programation objet ...).

Puis comme je l'ai dit C# est un langage complet et qui offre tout ce qu'on peut trouver de bon dans les autres langages (Vu que c'est une copie de tout).

Je sais plus quoi dire pour vous convaincre si ce n'est de l'essayer. J'ai vu assez de langages pour vous dire C# est un des mieux que j'ai vu.

Si vous voulez vous y mettre et avez besoin d'aide n'hesitez pas a me pm.

Sur ce, je vais arreter de defendre C# (ouf) vu que je n'arrive pas convaincre (j'ai bien fait de pas faire avaocat :yes:). Par contre si vous avez mieux a me proposer je suis preneur :kimouss:

Lien vers le commentaire
Partager sur d’autres sites

lorinc : Imagine qu'un windowsien aie déja écrit ce genre de programme pour.... gagner du temps :transpi::transpi:

Sinon il parait d'après les concepteurs de java qu'on peut commencer pas un langage OO et un enfant de 15 ans pourrais en faire sans pb (propagande ?)

Il suffit juste de ne pas avoir l'esprit trop "perturbé" par la prog fonctionnelle.

Maintenant, je ne pense pas que le C# soit un bon langague pour commencer (un bon langague tout court dailleurs)

Lien vers le commentaire
Partager sur d’autres sites

J'ai pas dit programmation sans rigueur (decidement c dur de se faire comprendre tout en faisant court). J'ai dit qu'on est pas oblige de penser rigoureusement objet quand on debute avec un langage objet.

Certes non, mais dans ce cas, tu risque de ramer dur et de ne pas arriver a faire grand chose...en informatique, faut toujours se documenter et essayer d'assimiler le plus de choses possibles...et après s'attaquer a des problèmes concrets...Carmack ne serait pas devenu Carmack (enfin John pas Adrian) si il n'avait pas passé toutes ses études a lire et a s'impregner de nombreux bouquins...

Toujours dans le cadre de l'apprentissage, un programme peut s'ecrire dans la methode Main (C#) ou main (Java) d'une classe. Les equivalents aux fonctions, instructions, procedure, subroutines, ... peuvent etre des methodes de la classe.

C'est pas propre du tout mais pour commencer, c'est mieux que rien.

Vaut mieux essayer de prendre les bonnes habitudes dès le départ non ?

Je vais mettre un bout de code qui montre la simplicite du truc. On a une fenetre avec un bouton button1 et un label Label1. Quand on clique sur le bouton, on affiche l'heure dans le label. Avec un IDE (VS.net ou sharpdevelop), voici le code a taper dans la methode generée apres double clic sur le bouton :

label1.Text = DateTime.Now.ToString();

Tu peux me dire depuis quand la programmation se limite a du simple glisser déposer...

C'est vrai qu'on ne maitrise pas tout, parce que le code generé est imbitable pour celui qui connait rien. Mais je peux vous assurer que le code est propre pas comme dans VC++ 6 (il y a tout ce qui definit l'interface : position, taille, fonte, gestion des evenements uniquement). Le but etant de se concentrer sur les fonctionnalites (affichage de l'heure) tout en ayant acces aux controles (label1, button1, ...). En poussant un peu, on peut faire des programmes plus complexes sans soucis (avec des IHM de plus en plus complexes et des algo de plus en plus poussés). La hierarchie des widgets et la notion de bibliothèque ont ete revu pour etre simplifié (je proposerai pas C# a un debutant si c'etait si compliqué).

Heu...ou il est le problème...c'est normal de tout définir...mais bon, c'est vrai que le code généré par les IDE de MS est générallement pas trop top...

Puis me parlez pas de faire des IHM sans IDE, on construit pas tout avec uniquement un tournevis. :yes:

C'est possible...pour faire des IHM jolies mais fort limitées, tu peux faire comme ce qui est utilisé dans les jeux vidéos...les menus dans DooM III sont rendu par le moteur 3D...

Si vous avez aucun repere pour C#, pensez a Delphi (d'ailleurs l'inventeur de Delphi est aussi celui de C#). Imaginez que C# est encore plus simple que Delphi. J'ai pas recommandé Delphi parce que la doc n'est pas aussi bonne que celle de .net.

Delphi n'a jamais été une référence...

Puis si il y en a qui sont allergiques aux IHM, il reste la console :D. Et C# n'empeche pas de faire des programmes qui renomment des fichiers (il y a d'ailleurs une excellente API de gestion de fichiers dans System.IO), de traitement de fichiers, ... (heureseument).

Sous Windows, essaie de combiner plusieurs méthodes de tris pour afficher les fichiers d'un repertoire...ou de remplacer certains types d'extensions automatiquement...c'est pas possible...alors qu'une petite ligne de commande sous Linux / UNIX / BSD suffit...

Je vois pas le C# comme une F1 mais plutot comme de la natation. Au debut, on nage avec une bouee (avec les tutos, la doc et les ide sympa). Apres on nage sans bouee (on fait ses propres programmes). Puis on se perfectionne pour des nages plus complexes comme le crawl, papillon, ... (XML, web avec asp.net, Programation objet ...).

Ben justement quand tu jette quelqu'un qui ne sait pas nager dans de l'eau un peu trop froide, il se noie...avant même d'avoir essayé d'exquisser le moindre mouvement de brasse...on ne doit pas avoir la même conception de l'informatique...

Puis comme je l'ai dit C# est un langage complet et qui offre tout ce qu'on peut trouver de bon dans les autres langages (Vu que c'est une copie de tout).

Toute qualité a ses défauts...et tout défaut a ses qualités...donc prendre toutes les qualités de divers langages revient aussi a prendre autant de défauts...sans pouvoir utiliser les qualités de certains défauts pour résoudre les problèmes liés a certains défauts des soit disantes qualités...(Heu, je me comprend, c'est l'essentiel :D)

Je sais plus quoi dire pour vous convaincre si ce n'est de l'essayer. J'ai vu assez de langages pour vous dire C# est un des mieux que j'ai vu.

Un des mieux...c'est quoi le meilleur ? C++ ?

Si vous voulez vous y mettre et avez besoin d'aide n'hesitez pas a me pm.

Je te l'avais demandé...j'ai toujours pas eu de réponse...si c'est pour me faire du copier-coller de Google, c'est pas la peine...je sais le faire aussi...

Sur ce, je vais arreter de defendre C# (ouf) vu que je n'arrive pas convaincre (j'ai bien fait de pas faire avaocat :D). Par contre si vous avez mieux a me proposer je suis preneur  :keskidit:

Oui, apprend a programmer et tu verra que C++ est bien meilleur...

--PS--

Va falloir renommer ce topic...Monorom vs world :-D

Lien vers le commentaire
Partager sur d’autres sites

Je ne pense pas que l'on puisse dire tel ou tel langague est le meilleur.

Si on se réfère au nombre d'utilsateurs, clairement le C est en tête grâce à son passé (les OS an C, les prog, la cuture), Java est en passe de le détronner si ce n'est déja fait...

En ne considérant que les langagues Objets, pour moi C# est mauvais, ce n'est qu'un avis.

Mais on ne peut pas se limiter qu'à ça. Ca dépend de l'utilisation.

C++ et Java sont certes très bons, mais quid du javascript, du python, du PERL du php et de tous ceux que j'oublie ?

Lien vers le commentaire
Partager sur d’autres sites

Oui, je lui ait peut être répondu rapidement...mais je ne suis pas vraiment sur que JAVA ait détroné le C...les programmes JAVA sont encore un peu trop lent pour pouvoir prétendre remplacer le C dans des applications ou l'on a de fortes contraintes aux niveau des performances...mais bon...

Sinon, ravi de voir que je ne suis pas le seul a penser que C# est mauvais :p

Je pense que chaque langage a sa place...mais force est de constater que seuls une dizaine occupe le devant de la scène...et C# est sur le devant de la scène...mais non pas par ce qu'il est bon, mais parcequ'il a été poussé par MS...qui a tenté d'en forcer l'utilisation avec l'OS aux longues cornes...mais est finalement revenu sur ca décision et ce n'est pas plus mal...

Sinon, pour les langages que tu oublie, ADA a été crée car près de 500 langages de programmation différents cohabitaient dans le materiel de l'armée US...ADA a été crée pour uniformiser tout ce petit monde...

Sinon, C# est une erreur de synthaxe...et y'a même pas de jeu de mot ou de référence à la littérature...

ADA fait référence à Ada Byron, Lady Lovelace (1815-1852)

JAVA fait référence à la machine à café (enfin au café, mais bon...pour en faire rien de tel qu'une petite réunion autour de la machine non ?)

C++ fait référence au C mais aussi a l'annexe de 1984 de Orwell...C++ peut aussi se comprendre comme "See plus plus" ce qui se traduit en "Voir plus loin"

PASCAL Heu...y'a vraiment besoin de dire qui était pascal...

...

--PS--

Quelques Hello World dans certains des langages que tu as oubliés...

http://en.wikipedia.org/wiki/Hello_world_program

Y'a aussi ca sur l'évolution d'un programmeur...au vu de diverses HelloWorld...Billou doit en être au stade "Président Directeur Général"

% letter

letter: Command not found.

% mail

To: ^X ^F ^C

% help mail

help: Command not found.

% damn!

!: Event unrecognized

% logout

Sinon, voila un petit historique des langages de prog les plus connus....

http://www.oreilly.com/news/graphics/prog_lang_poster.pdf

Lien vers le commentaire
Partager sur d’autres sites

PERL aurait du s'appeler gloria en hommage à l'amie de son créateur... Mais ils ont trouvé perl plus stylé...

Le C est le sucesseur du B, lui même programmé en B. Le premier compilateur java a par ailleurs été écrit en C.

Java, quand je dis détronner, c'est vite fait. Mais dans certaines conditions la encore comme dans les téléphones portables, les modules embarqués etc il devient vraiment le langague leader et de loin.

Le hello world, je le connaissait ;)

Lien vers le commentaire
Partager sur d’autres sites

Java est aussi le langage le plus prisé dans les systemes d'info (avec la couche metier apportee par J2EE). Le C++ avec COM/DCOM n'est pas aussi souple que Java.

On m'a dit d'apprendre le C++ mais c'est pas la peine puisque je sais deja en faire. J'ai fait du C++ en ayant une approche objet en poussant le niveau d'abstraction le plus loin possible et en utilisant un maximum de patterns... Et ca a pas ete facile :francais: .

Sinon pour ce qui est de la notion du meilleur langage, je pense qu'un bon langage doit etre souple a utiliser pour l'application qu'on veut en faire. Par exemple, Java est mauvais pour les IHM mais il reste bon pour faire des applis serveurs. Pour des projets ou le temps de developpement est tres limite, C++ n'est pas un bon langage meme si apres les appli sont beaucoup plus performantes. Fortran est un bon langage pour le calcul scientifique mais inadapté lorsqu'on veut faire du web. Par contre C# est un langage qui permet de presque tout faire, c'est pour ca que j'ai dit que c'etait un des meilleurs (dans la plupart des domaines).

Lien vers le commentaire
Partager sur d’autres sites

Par exemple, Java est mauvais pour les IHM mais il reste bon pour faire des applis serveurs.

Au labo, on se sert quasiment que de java d'abord pour la portabilité ( unix oblige...), et ensuite pour la rapidité de développement des IHM... enfin tu fais fais ce que tu veux...

Par contre toute les applis serveur sont en C (parce que java, niveau secure...)

Lien vers le commentaire
Partager sur d’autres sites

J'ai travaille sur motif en C, Winforms en C# et swing en Java. J'ai tente SWT (l'api utilisé par eclipse et azareus le client bittorent) mais j'ai pas reussi a faire quelque chose (c'est vrai que j'ai pas cherche tres longtemps, la doc est peu accessible).

En fait java est mauvais pour les ihm. Meme si il est assez facile de les programmer, les controles sont limités, moches (pour swing) et pas performants du tout a la limite de l'acceptable (pour faire tourner eclipse il faut un P4 minimum et beaucoup de ram, ce que je trouve innaceptable pour un tel environnement).

Java reste une excellente techno pour les appli serveurs (je pensais a la couche J2EE). Elle permet de faire des developpements tres rapides. Mais encore tout depend des types d'appli server sur lesquelles tu travailles.

Lien vers le commentaire
Partager sur d’autres sites

En même temps, il est rare que les IHM soient capitaux...une interface basique en ligne de commande suffit...donc c'est pas la peine de discuter la dessus...

Au fait Monorom, le C# est pas aussi performant que tu veux bien le faire croire...regarde le Control Center des drivers ATI Catalyst...(ici)

La scène fait quelques centaines de polygones et ca rame a mort...quand la voiture n'est pas affichée, le temps de réponse du panneau de controle est plus élevé qu'avant...c'est bien ce que je te disait plus haut...C# ne pourra jamais remplacer C / C++ dans des applications nécessitant beaucoup de puissance de calcul...comme les jeux, la création 3D, le calcul scientifique (enfin y'a Fortran et ADA pour ca) ...

Lien vers le commentaire
Partager sur d’autres sites

Viens ici tu vas tout comprendre. :transpi:http://www.pcinpact.com/forum/sujet_24216_1100.htm

Regarde les beaux avatars qu'on a maintenant.

Merci poulpatine :yes:

Mais lorinc, c'est pas un vrai, il garde son ancien avatar :transpi:

Je pense que l'INRIA documente biens leurs trucs. Le Caml et le SMIL, soit, mais je pense qu'aussi le coq doit être bien documenté.

Mais je pense que toute la documentation produite par l'INRIA doit être infiniment négligeable devant les milliers de pages sur le java.

Je ne vois pas comment on peut trouver que le language est mal documenté.

Lien vers le commentaire
Partager sur d’autres sites

Tout est la pour .net (en francais en plus :pleure:)

http://msdn.microsoft.com/library/fre/defa...rkref_start.asp

A vous de juger de la qualite de la doc. On a a peu pres la meme quand on installe le SDK (leur explorateur de doc est excellent).

La doc java sur le site de sun est bonne sans etre excellente (ce qui est du aux limitations de javadoc). Je trouve que la doc sur le site manque d'exemples qui peuvent accompagner les methodes (le stringtokenizer manque cruellement d'exemple de code). Les tutos de 900 pages en pdf pour J2EE aussi c'est marrant :chinois: .

Lien vers le commentaire
Partager sur d’autres sites

Archivé

Ce sujet est désormais archivé et ne peut plus recevoir de nouvelles réponses.


×
×
  • Créer...