Aller au contenu

Quoi faire avec quel langage ?


mogwai93

Messages recommandés

Si je ne me trompe pas le topic est bien "Quoi faire avec quel langage ? Pour débutants - entre autre" et je ne comprend pas que des gens continuent à suggérer qu'il est bien de commencer par du C/C++. Il y a tout plein d'autre langage de plus haut niveau, qui permettent de travailler des choses plus importantes que des problèmes d'implantation ! Les vrais problèmes sont de bien définir les buts du programme, de bien le découper et de chercher les algos a développer. Après oui, il y a des langages plus rapide que d'autre... Mais nous ne sommes plus à l'époque de l'assembleur ! Les débutants n'ont pas besoin de savoir comment fonctionne la mémoire pour cracher des pages web et afficher 3 triangles à l'écran. Le principal, c'est qu'ils comprennent que le langage ne fait pas tout, qu'il y a aussi une multitude de bibliothèques et qu'elles sont disponible dans un grand panel de langage.

Pour apprendre à programmer ? Pour les gens "normaux" : du pascal, du python etc.... Pour les "matheux", des langages à la lisp (lisp, scheme...), ocaml etc...

Le principal étant l'algorithmique (connaissances de bases + structures de données : file, pile, liste, arbres, ensemble et dérivés), le cahier des charges. Le langage n'est qu'un outil comme cela à été dit. (et comme tout les outils, on le choisit une fois que nous savons ce que nous voulons en faire)

ps: j'ai du un peu m'embrouillé mais j'ai la flème de me relire... ! Bref le c/c++ caca pour débutant, bien pour performance mais souvent bcq de code à écrire.

Lien vers le commentaire
Partager sur d’autres sites

  • 1 mois après...
  • Réponses 84
  • Créé
  • Dernière réponse

Meilleurs contributeurs dans ce sujet

Meilleurs contributeurs dans ce sujet

Bonsoir, voila il y a quelques temps j'ai telecharger le compilateur Visual Basic Express ( hé oui ), j'ai donc compilé quelques programmes (codés en VB) qui marchait (très) bien. J'ai voulu le passer à un ami mais le programme ne fonctionnait pas sur son PC, il y avait une messagebox annonçant qu'il manquait des fichiers, je l'ai testé sur d'autres PC et la pareil une messagebox avec:"L'application n'a pas réussi à s'initialiser correctement. Cliquez sur OK pour arrêter le prog." .Je ne sais pas à quoi c'est du ;) et j'espère que vous avez la réponse. Merci.

ps: J'ajoute que j'ai également testé d'autres programmes ( tjrs compilé avec VBExpress ) et qu'à chaque fois c'est le même résultat) :D

Lien vers le commentaire
Partager sur d’autres sites

  • 4 mois après...

A mon avis, il lui manque des bibliothèques d'exécution. Avec VB, on est loin du code once deploy everywhere de JAVA.

J'espère que tu as des logs d'erreurs et regarde s'il ne manque pas des DLLs sur le PC cible. Regarde si tu n'as pas la possibilité d'exporter les bibliothèques requises dans ton paquetage.

LSP, le manchot qui tape sur les langages pas portables

Lien vers le commentaire
Partager sur d’autres sites

  • 3 mois après...
Bonsoir, voila il y a quelques temps j'ai telecharger le compilateur Visual Basic Express ( hé oui ), j'ai donc compilé quelques programmes (codés en VB) qui marchait (très) bien. J'ai voulu le passer à un ami mais le programme ne fonctionnait pas sur son PC, il y avait une messagebox annonçant qu'il manquait des fichiers, je l'ai testé sur d'autres PC et la pareil une messagebox avec:"L'application n'a pas réussi à s'initialiser correctement. Cliquez sur OK pour arrêter le prog." .Je ne sais pas à quoi c'est du :reflechis: et j'espère que vous avez la réponse. Merci.

ps: J'ajoute que j'ai également testé d'autres programmes ( tjrs compilé avec VBExpress ) et qu'à chaque fois c'est le même résultat) :keskidit:

Désolé pour le temps de réponse ...

Il faut installer le framework .net sur les machines ou tu veux executer ton code :incline: Sinon, si y'a pas le framework, ton programme n'arrivera pas a executer les choses de base de visual basic.net, et du coup, ca ne se lance pas.

@tsubasaleguedin : je parlais de moteur de jeu 3D, pas de moteur 3D ;) Des moteurs 3D libres, t'en a 20 milliards, ce n'est pas le problème :p

http://www.devmaster.net/engines/

Lien vers le commentaire
Partager sur d’autres sites

  • 4 semaines après...

Personne n'a parlé du B ?:(

Bon ok ce n’est pas vraiment un langage, plus une méthode formelle (d'où le nom méthode B), mais s'appuyant quand même sur un langage particulier (le B...)

Extrêmement puissant, permet de modéliser de façon abstraite et formelle le comportement du programme.

Et en utilisant des principes de raffinement et d'implantation concrète (du modèle abstrait), et on réalise des preuves de programme

Chaque raffinement permet d'obtenir un nouveau modèle abstrait, et par itération on obtient enfin un modèle concret, codable en C ou en ADA.

Utilisée lors de la conception de la ligne 14 du métro parisien, et plus récemment lors de l'automatisation de la ligne 1.

Si ca pouvait être utilisé plus souvent, on aurait beaucoup moins de plantage ^^

Mais bon, vu la complexité d'utilisation, on aurai aussi beaucoup moins de programme :craint:

Je n’ai pas vu de référence au Pro*C, juste pour dire que ca existe :)

C’est une variante du C, permettant une plus grande interopérabilité avec les SGBD.

En gros on peut insérer des requêtes SQL plus facilement dans le code C…

Sinon, merci de ne pas faire l'amalgame entre Tcl et Tcl/Tk

Tk (signifiant Toolkit - Boite à outil) n'est qu'un ensemble de librairie additionnel à la distribution de base, ne modifiant absolument pas les principes et la syntaxe de base du langage.

On retrouve la même chose concernant Perl et Perl/Tk, les librairies Tk étant généralement utilisées lors de la création de programme en Perl devant disposer d’une interface graphique.

A noter que pour Perl et Tcl, les librairies Tk ne sont pas standard, il faut donc les importer manuellement ou utiliser des distributions spéciales (le pourquoi on parle de Perl/Tk et Tcl/Tk…)

Et en parlant de Perl (j’aime bien ce langage :eeek2:), je rajouterait qu’il est très utilisé au niveau système, car permet une manipulation des process, fichiers, pipe, réseau et contenu textuel vraiment simple et aisée tout en restant très puissant.

Très bon complément au C, qui lui fait plus le lien système/matériel…

Langage séquentiel à l’origine, intègre également la notion d’objet.

Langage compilé et interprété, la compilation se fait uniquement au moment de l’exécution, ce qui fait qu’on ne diffuse pas de binaire incompréhensible mais les sources directement (peut être ce qui fait qu’il n’est pas vraiment utilisé de façon commerciale d’ailleurs)

Bien que ce soit un langage interprété, la VM est vraiment efficace et permet des temps d’exécution très bon (comparé à Java qui est vraiment lent)

Et enfin, Perl est entièrement gratuit : Active Perl sous dos/Windows, normalement déjà intégré à toute bonne distrib. Unix/Linux

Lien vers le commentaire
Partager sur d’autres sites

  • 2 mois après...

Je suis d'accord avec Pifou, le C/C++ c'est vraiment pas ce qu'il y a de plus simple pour commencer, comprendre les structures de données, les conditions, les boucles et algorithme de base. Personellement, pour la base, je conseille fortement l'ADA. Pourquoi ce langage obscur de militaire ?

Ben parce que c'est un langage très fortement typé avec de grandes exigences de programmation. J'entend par là que ça ne se compile pas aussi facilement que du C, il y a toujours plein d'erreurs qui énervent souvent mais c'est pour moi justement son point fort. La plupart des bugs de programmation sont détecté par le compilo, donc ce qu'on peut voir comme une plaie est un atout essentiel pour le débutant. Une fois qu'on a réussi à compilé le programme, il y a tout de suite beaucoup moins de bug que dans une application classique.

Bon c'est sûr qu'après pour des projets d'envergure, le langage peut paraître un peu lourd et limiter, mais c'est vraiment bien pour débuter à mon avis. :transpi:

Lien vers le commentaire
Partager sur d’autres sites

  • 7 mois après...

salut a tous,

c vrai que ce topic il est maouss.

koi k'il en soit je n'est pas pu trouver de reponse à une question. n'y a t'il pas certaine base à maitrisé parfaitement avant de se lancer en programmation

(je sais pas... du genre fonctionnement de windows et de ces appli, fonctionnement materiel, architecture des programmes et des reseaux, etc... bref tout ce sur koi les programmes concus vont agir et vont avoir un INpacts)

par ce ke pour donner un exemple si demain je me pointe a la bibliotheque en me disant que le python ou l'ada95 sa à de la classe je vais bosser la dessus (admettons pour envoyer un missile nucleaire sur mon voisin de palier .... lol :francais: ) je risque vite de me casser les dents ??? enfin j'imagine

ou meme pour etre plus realiste si je recherche simplement à tester disons le C++ et a apprendre la facons de coder sans comprendre le resultat et l'ensemble des tenants et aboutissants...

enfin bref donc par ou doit commencer un vrai debutant (je sais allumer mon PC et me servir du pack office très bien, pour le reste je prend tout ce k'on me donne)

merci et a +

Lien vers le commentaire
Partager sur d’autres sites

Pour apprendre à programmer, l'essentiel est de trouver quelque chose à programmer. Ensuite si tu comptes apprendre en auto-didacte attention à l'usage du C dès le départ car il est facile de prendre de mauvaises habitudes et c'est assez peu accessible... Par contre si tu es motivé et que tu arrives à le maîtriser c'est ta meilleure porte d'entrée vers les autres langages. Un peu comme un bac S ;)

Les autres langages sur lesquels les auto-didactes peuvent débuter sont le PHP (coté web), et Java / C#. Perso j'ai une préférence pour C# mais bon pour ce qui est de ces deux langages c'est un peu comme Mac et PC ;)

Lien vers le commentaire
Partager sur d’autres sites

Pour apprendre à programmer, l'essentiel est de trouver quelque chose à programmer. Ensuite si tu comptes apprendre en auto-didacte attention à l'usage du C dès le départ car il est facile de prendre de mauvaises habitudes et c'est assez peu accessible... Par contre si tu es motivé et que tu arrives à le maîtriser c'est ta meilleure porte d'entrée vers les autres langages. Un peu comme un bac S :transpi:

Les autres langages sur lesquels les auto-didactes peuvent débuter sont le PHP (coté web), et Java / C#. Perso j'ai une préférence pour C# mais bon pour ce qui est de ces deux langages c'est un peu comme linux et PC :francais:

:cap: java est libre... :francais:

Lien vers le commentaire
Partager sur d’autres sites

Pour apprendre à programmer, l'essentiel est de trouver quelque chose à programmer. Ensuite si tu comptes apprendre en auto-didacte attention à l'usage du C dès le départ car il est facile de prendre de mauvaises habitudes et c'est assez peu accessible... Par contre si tu es motivé et que tu arrives à le maîtriser c'est ta meilleure porte d'entrée vers les autres langages. Un peu comme un bac S :non:

Les autres langages sur lesquels les auto-didactes peuvent débuter sont le PHP (coté web), et Java / C#. Perso j'ai une préférence pour C# mais bon pour ce qui est de ces deux langages c'est un peu comme Mac et PC :down:

oui j'iy ai un peut reflechis et je pense commencer par le C puisque sa a l'air d'etre une valeur sur...

quel sont les eccueil à eviter dont tu me parle.???

ont a orienter vers le site du zero qui fait des tuto franchement accessible.

y a t'il d'autres ressources sur lesquelles s'appuyer

Lien vers le commentaire
Partager sur d’autres sites

Si tu veux vraiment apprendre à programmer correctement >>> Ada ca te permettra de te pencher sur l'algo et à écrire du code super lisible, ce qui est super important, bien plus que de connaitre en détail le langage que tu utilise...j'aurais tendance à dire que quand on débute, on s'en fout royalement d'avoir un langage qui implémente directement un appel sur la machine à café (bon, si tu as une copine, tu peux peut être essayer de la dresser convaincre à t'amener le café :transpi: les filles c'est du second degré) :craint:

Shtong >>> Pour le C#, faudra qu'on m'explique pourquoi il faut que j'aie plusieurs version du framework .NET pour exécuter des applications plus ou moins anciennes écrites dans ce langage...en Java, tu as une seule VM à installer, et ca marche...après, non, Java, ce n'est pas comme le Mac est le PC...les implémentations de .NET hors Windows étant très limitées, là ou Java tournera bien sur Solaris, Windows, Mac, Linux, ton téléphone portable...ce n'est pas pour rien que sur Sourceforge, il y a bien plus de projets sur Java que dans les autres langages...sans parler du fait que les entreprises commencent à en avoir marre de devoir reformer une grosse parties de leurs dev à .NET à chaque fois que MS le décide...avec Java, tu as une certaine stabilité des API et des implems, ce qui est très appréciable...après, bien évidemment, un dev ayant été formé à Java 1.4 et qui n'a jamais travaillé que sur des projets peu complexes ne saura pas tout sur les generics et les nouvelles collections (par exemple)...mais ce qu'il ecrit continuera de fonctionner...ce qui n'est pas toujours le cas en .NET...

Après, Java est peut être un poil plus lent que le .NET ou C#, mais perso, il y a quelques années, on avait à écrire un programme de segmentation d'image, le prof voulait qu'on le fasse en C++, moi j'ai désobéit (avec son accord), et au final, je suis arrivé avec un programme écrit en Java qui tournait 1,5x plus vite que celui des "meilleurs" de la promo...pourquoi ? J'avais juste bien étudié les données, afin d'optimiser au max la lecture des images et leur reconstruction...sans parler de l'attention toute particulière que j'avais apporté à la consommation mémoire de mon programme, ainsi qu'a sa lisibilité (le prof n'étant pas familier avec Java)...résultat, j'ai eu 19,5, là ou le meilleur de la concurrence n'a eu que 18...tout ca pour dire que plus une plateforme est lente, plus tu est obligé d'aller chercher des optimisations...ce qui est loin d'être un mal...si les autres avaient été chercher les optimisations que j'ai été cherché, leur programme aurait tourné 2 à 3x plus vite que le mien (et encore pas sur, puisque j'utilisais pas mal de méthode de très bas niveau).

Lien vers le commentaire
Partager sur d’autres sites

Shtong >>> Pour le C#, faudra qu'on m'explique pourquoi il faut que j'aie plusieurs version du framework .NET pour exécuter des applications plus ou moins anciennes écrites dans ce langage...en Java, tu as une seule VM à installer, et ca marche...après, non, Java, ce n'est pas comme le Mac est le PC...les implémentations de .NET hors Windows étant très limitées, là ou Java tournera bien sur Solaris, Windows, Mac, Linux, ton téléphone portable...ce n'est pas pour rien que sur Sourceforge, il y a bien plus de projets sur Java que dans les autres langages...sans parler du fait que les entreprises commencent à en avoir marre de devoir reformer une grosse parties de leurs dev à .NET à chaque fois que MS le décide...avec Java, tu as une certaine stabilité des API et des implems, ce qui est très appréciable...après, bien évidemment, un dev ayant été formé à Java 1.4 et qui n'a jamais travaillé que sur des projets peu complexes ne saura pas tout sur les generics et les nouvelles collections (par exemple)...mais ce qu'il ecrit continuera de fonctionner...ce qui n'est pas toujours le cas en .NET...

Après, Java est peut être un poil plus lent que le .NET ou C#, mais perso, il y a quelques années, on avait à écrire un programme de segmentation d'image, le prof voulait qu'on le fasse en C++, moi j'ai désobéit (avec son accord), et au final, je suis arrivé avec un programme écrit en Java qui tournait 1,5x plus vite que celui des "meilleurs" de la promo...pourquoi ? J'avais juste bien étudié les données, afin d'optimiser au max la lecture des images et leur reconstruction...sans parler de l'attention toute particulière que j'avais apporté à la consommation mémoire de mon programme, ainsi qu'a sa lisibilité (le prof n'étant pas familier avec Java)...résultat, j'ai eu 19,5, là ou le meilleur de la concurrence n'a eu que 18...tout ca pour dire que plus une plateforme est lente, plus tu est obligé d'aller chercher des optimisations...ce qui est loin d'être un mal...si les autres avaient été chercher les optimisations que j'ai été cherché, leur programme aurait tourné 2 à 3x plus vite que le mien (et encore pas sur, puisque j'utilisais pas mal de méthode de très bas niveau).

Tout d'abord je ne tiens pas à défendre mordicus le .NET (je suis contre l'intégrisme technique :D ).

Pour tes problèmes de version, je ne vois pas de quoi tu parles ;) il est tout à fait possible de faire tourner un programme compilé pour la 1.1 dans la CLR 2.0 ou dans Mono.. Pour l'interopérabilité, oui, c'est vrai que c'est le gros point faible de .NET. Mais je n'ai jamais eu à faire d'applications multi-plateformes pour lesquelles une version web ne suffisait pas... Donc ça ne m'a pas posé personnellement de problème. Un autre gros défaut de .NET est le prix de certains composants. Certains diront qu'ils évitent ce genre de problèmes :dd: , personnellement je n'ai rien à me reprocher et je n'ai jamais déboursé un centime dans des OS ou des outils de dev MS. Mais il faut montrer patte blanche, Microsoft ne fournit ses licences qu'à ceux qui montrent un minimum d'implication.

Pour moi les défauts s'arrêtent là. L'énorme avantage qui m'a fait pencher la balance pour .NET il y a quelques années est la cohérence des librairies et outils de développement. J'ai l'impression que le monde de Java est devenu un espèce de terrain de chamailleries permanentes entre des types qui veulent absolument développer leur librairie ultime et qui forquent tous les deux mois parce l'équipe est en désaccord sur un point de design ou autre. Le résultat aujourd'hui est qu'on ne sait pas vraiment vers où se tourner pour faire une tâche tellement les options sont nombreuses, et même les connaisseurs sont parfois obligés d'utiliser deux librairies graphiques parce qu'ils commencent avec une et sont obligés de prendre la partie d'une autre qui fait la même chose, parce que leur client leur a demandé un truc que la première ne peut pas faire... A comparer, on peut certes trouver le mode de développement des librairies .NET "tyranique" puisque c'est MS qui impose d'une certaine manière son design, mais il est globalement très efficace, et la communauté développe en règle générale des modules additionnels plutôt que des remplacements complets des grosses fonctionnalités de base (j'entends par là Windows Forms, ASP.NET, etc...).

Et à chaque fois que je bosse chez un client qui a à la fois des équipes .NET et des équipes Java, je constate au final que ces avantages de design (du .NET donc) peuvent peser lourd dans les coûts de développement :dd:.

Pour tout ce qui est perf rien à dire sur ton petit paragraphe. D'ailleurs, ton exemple illustre pourquoi je met un bémol à l'apprentissage du C par un auto-didacte. Sans bon prof pour insister sur les points clés de l'utilisation mémoire (allocation, layout) et de l'algorithmie, il lui sera encore plus difficile d'appréhender ces concepts indispensables à la programmation efficace. Un programme à la Hello World fonctionne, même si on ne libère pas le tableau de char à la fin... Mais à la longue on sait bien où mène ce genre de négligence..

Lien vers le commentaire
Partager sur d’autres sites

Heu pour les librairies qui forkent tout le temps, je demande à voir :francais:

Niveau framework, c'est vrai qu'il y en a beaucoup, mais le monde change, c'est normal que les besoins et les méthodes de programmation changent...

Niveau serveur d'appli...y'a pléthore, mais bon, ca permet de faire jouer la concurrence, et que le meilleur gagne temporairement est parfaitement normal...

Niveau langage / JDK, qu'il y ait eu un fork libre des librairies proprio genre mail & co, c'est normal aussi...

Bref je crois que tu devrait lire la cathédrale et le bazard...

Sun se fait racheter par Oracle...ouep...et alors...Weblo va disparaitre ou coexister avec glassfish ? Pas grave...JDev va mourrir au profit de NetBeans ? Ouééééééé enfinnnn :fumer: ... Oracle ESB va disparaitre au profit d'OpenESB, tant mieux (même si perso, je préfère PEtALS et ServiceMix) ... bref, ce n'est pas parceque Sun disparait que Java meurt...ou mourra...enfin pas tout de suite...et pour le moment, je ne vois pas trop de remplaçant...

Après, pour .NET, le jour ou MS décide de changer de stratégie, comme ils l'ont fait pour J++, il se passe quoi ? Pleins de gens sont dans la merde...le jour ou MS se prend pour GM, plein de monde est dans la merde...personnellement, je n'ai rien contre MS, mais il n'est pas bon qu'une plateforme ne soit soutenue que par une seule boite...la communauté .NET a-t-elle autant d'influence que pour Java ?

Enfin, bien évidemment, qu'on soit en .NET, en Java ou en pelleatarte©, il est super important pour livrer une appli qui tienne la route de bien bosser sur son archi saupoudrés de quelques principes de base et de bon sens...mais bon, là c'est tellement évident que personne ne le fait...mais c'est un autre débat...

Bref .NET vs Java éternel débat...et de fort bas niveau...enfin...

Lien vers le commentaire
Partager sur d’autres sites

Oula mais je n'ai rien dit d'aussi radical, c'est juste l'impression que ça me donne en écoutant d'une oreille ce qui se dit sur le bureau d'à coté... Loin de moi l'idée que Java est sur le point de disparaître, juste qu'il y a une certaine complexité qui ne joue pas en sa faveur à mon sens.

Quand à savoir si MS va lâcher .NET, je ne suis pas devin mais j'en doute très fort. J# / J++ a été jeté justement parce que ça n'a pas fonctionné et qu'ils n'ont pas eu le succés escompté, ce qui est très loin d'être le cas pour la base de .NET. Et pour ce qui est de la communauté, elle est sûrement moins importante (âge et problèmes de plate-forme obligent) mais elle existe bel et bien même si les "zones de regroupement" sont différentes de celles de l'open source (CodePlex, CodeProject, etc.) et qu'au final les communautés se croisent malheureusement assez peu...

Quand à The Cathedral and the Bazaar (que j'ai lu du coup :D ) au final je trouve que la stratégie des équipes .NET n'en est pas si éloignée de la methode bazaar. Ils ont attendu d'avoir un produit fini et connu avant de commencer à ouvrir le code petit à petit et à commencer à faire de la release "early and often" pour les futures librairies et outils. Ils sont loin du rythme du monde linux mais les choses ont énormément évolué dans ce sens depuis la version 1.0.

Bref, j'espère perso que Java et .NET ont encore de beaux jours devant eux, la concurrence leur profite à tous les deux de toute façon.

Lien vers le commentaire
Partager sur d’autres sites

  • 3 semaines après...

salut a tous,

me voila de retour ici, comme je l'ai deja expliqué a certain d'entre vous sur mes autres topic je commence mes premier balbutiement en langage C.

bien qu'ayant vu que l'assembleur est un langage de connaisseur, je n'ai pu m'empecher d'aller y jeter un oeil pour voir ce que sa donne (oui... sous visual a chaque fois que j'ai un gros bug sa me sort le code machine... :transpi: traumatisant) (cela dit le tuto sur le site developpez.com fournis une explication brillante, a mon humble avis , du fonctionnement de la memoire et de l'enregistrement des nombre dans les octet)

du coup ma question est toute simple, apprendre les base de l'ASM pourra il m'aider a progresser plus vite en C/C++ ou alors me conseiller vous de de concentrer sur le C pour l'instant pour ne pas m'embrouiller.

merci d'avance

Lien vers le commentaire
Partager sur d’autres sites

pour une utilisation 'avancee' du C, quelques bases d'ASM sont toujours bonnes a prendre.

mais c'est pas le genre de situations que tu rencontrera de si tot.

visual te sort de l'ASM ou un dump de ta memoire ? (j'y comprends rien aux tools windows)

en tout cas, mon avis: c'est plus simple de debug du C que de l'ASM (mais, t'auras toujours un barbu pour pretendre le contraire)

Lien vers le commentaire
Partager sur d’autres sites

  • 4 semaines après...
pour une utilisation 'avancee' du C, quelques bases d'ASM sont toujours bonnes a prendre.

mais c'est pas le genre de situations que tu rencontrera de si tot.

visual te sort de l'ASM ou un dump de ta memoire ? (j'y comprends rien aux tools windows)

en tout cas, mon avis: c'est plus simple de debug du C que de l'ASM (mais, t'auras toujours un barbu pour pretendre le contraire)

Faut aussi voir que dans certains cas le compilo interprète les choses à sa manière, qui n'est pas forcément celle décrite par la spec...donc, oui dans certains cas, le debug en assembleur peut se justifier...connaitre son environnement est également un plus...

Par exemple en Java (et il ne me semble pas l'avoir vu dans la JLS) :

    public static Integer sum(List<Integer> ints) {
       Integer s = 0;
       for (Integer n : ints) {s += n;}
       return s;
   }

   public static void main(String[] args) {
       List<Integer> smallsInts = Arrays.asList(1, 2, -120);
       assert sum(smallsInts) == sum(smallsInts);

       List<Integer> bigInts = Arrays.asList(1000, 1001, -4004);
       assert sum(bigInts) == sum(bigInts);
   }

donne (sur une VM Sun ou Apple) :

true

false

Alors que normalement "==" renvoie true si deux références sont identiques ou si deux valeurs "primitives" sont identiques...itch :francais:

L'explication peut être trouvée dans Java Generics & Collections §1.2 :francais:

Lien vers le commentaire
Partager sur d’autres sites

Oula mais je n'ai rien dit d'aussi radical, c'est juste l'impression que ça me donne en écoutant d'une oreille ce qui se dit sur le bureau d'à coté... Loin de moi l'idée que Java est sur le point de disparaître, juste qu'il y a une certaine complexité qui ne joue pas en sa faveur à mon sens.

Quand à savoir si MS va lâcher .NET, je ne suis pas devin mais j'en doute très fort. J# / J++ a été jeté justement parce que ça n'a pas fonctionné et qu'ils n'ont pas eu le succés escompté, ce qui est très loin d'être le cas pour la base de .NET. Et pour ce qui est de la communauté, elle est sûrement moins importante (âge et problèmes de plate-forme obligent) mais elle existe bel et bien même si les "zones de regroupement" sont différentes de celles de l'open source (CodePlex, CodeProject, etc.) et qu'au final les communautés se croisent malheureusement assez peu...

Quand à The Cathedral and the Bazaar (que j'ai lu du coup :francais: ) au final je trouve que la stratégie des équipes .NET n'en est pas si éloignée de la methode bazaar. Ils ont attendu d'avoir un produit fini et connu avant de commencer à ouvrir le code petit à petit et à commencer à faire de la release "early and often" pour les futures librairies et outils. Ils sont loin du rythme du monde linux mais les choses ont énormément évolué dans ce sens depuis la version 1.0.

Bref, j'espère perso que Java et .NET ont encore de beaux jours devant eux, la concurrence leur profite à tous les deux de toute façon.

Stallman met en garde contre C# et ses implémentation...M$ pourrait faire valoir ses brevets...ce qui reste le principal pb de C# et de .NET en général...

Lien vers le commentaire
Partager sur d’autres sites

Rejoindre la conversation

Vous pouvez publier maintenant et vous inscrire plus tard. Si vous avez un compte, connectez-vous maintenant pour publier avec votre compte.

Invité
Répondre à ce sujet…

×   Collé en tant que texte enrichi.   Coller en tant que texte brut à la place

  Seulement 75 émoticônes maximum sont autorisées.

×   Votre lien a été automatiquement intégré.   Afficher plutôt comme un lien

×   Votre contenu précédent a été rétabli.   Vider l’éditeur

×   Vous ne pouvez pas directement coller des images. Envoyez-les depuis votre ordinateur ou insérez-les depuis une URL.


×
×
  • Créer...