Aller au contenu

Je raconte my life II - Le retour


Mobius

Messages recommandés

Le Java, c'est hyper verbeux. Tu as du boilerplate partout, même pour les trucs simples, comme tu dis. Par contre, si tu compares à Python ou à Perl, c'est beaucoup plus carré. Mais carré dans le sens psychorigide. Tu n'as souvent qu'une seule manière de faire les choses (au contraire de Python et de Perl), et souvent cette manière est très "déclarative" (avec du code dessus, dessous et pendant pour signaler qui tu es, le type de données que tu manipules, l'interface, le papa, la maman et toussa).

Si tu as appris le C++ comme langage objet (certains l'apprennent comme du C avec des trucs en plus - ce n'est pas une critique, il y a des cas où c'est utile), alors la philo objet est conservée.

Edit : c'est tellement verbeux que le fait d'utiliser un bon IDE peut te changer la vie, en tant que dev Java. Si l'IDE n'est pas là pour générer automatiquement getter/setter et refactoring, ta productivité chute gravement.

En fait, je viens juste de commencer le C++, et je fais Java en parallèle. Sinon, j'ai commencé la programmation avec Python et Bash en octobre, et Perl en janvier.

C'est vrai qu'il y a plein de façons de faire en Python (j'ai fait du code dégueulasse pour un devoir, ce semestre, alors que des collègues m'ont dit qu'ils ont fait la même chose en trois fois moins de lignes) et encore plus en Perl, mais alors c'est ultra-bordélique.

Pour Java, je suis le manuel du Site du zéro, donc j'ai suivi leurs conseils et j'ai installé Eclipse (de même pour C++, où j'utilise Code::Blocks).

Lien vers le commentaire

En fait, je viens juste de commencer le C++, et je fais Java en parallèle. Sinon, j'ai commencé la programmation avec Python et Bash en octobre, et Perl en janvier.

C'est vrai qu'il y a plein de façons de faire en Python (j'ai fait du code dégueulasse pour un devoir, ce semestre, alors que des collègues m'ont dit qu'ils ont fait la même chose en trois fois moins de lignes) et encore plus en Perl, mais alors c'est ultra-bordélique.

Pour Java, je suis le manuel du Site du zéro, donc j'ai suivi leurs conseils et j'ai installé Eclipse (de même pour C++, où j'utilise Code::Blocks).

Bien, le Site du Zéro. Si je me souviens bien, il y a un bouquin de Delannoy sur l'apprentissage du C++ et du Java en parallèle, assez bien fait.

Pour le JAva, Eclipse c'est utile pour te faciliter la vie sur tous les aspects 'maintenance' du code Java. Je n'ai jamais eu à utiliser CodeBlocks, c'est plutôt Visual Studio (qui dispose du meilleur debuggueur de tous, je trouve). La version Express est gratuite. Et si tu es étudiant ou assimilé, ta fac/ton école/ta boîte doit pouvoir te faire accéder au MSDNAA pour télécharger les ISO de Visual Studio, SQL Server, les Windows dans toutes les configurations (Server/Home/Machin/64 bits/32bits).

Perl, je l'utilisais comme punition pour mes étudiants :P.

Je me dis qu'il faut que je passe à Python un jour, mais si tu connais le Javascript (et depuis la disponibilité de node.js) les deux langages sont à peu près isomorphes.

@h16 : Java sert quand même à un truc pratique : un bout de code tout simple tournera pareil sur Mac/Windows/Linux, et quand tu dois accéder à des trucs qui ne sont pas bien supportés partout (l'audio, la MAO, les VST, le MIDI), ça facilite déjà une partie du boulot. Et une applet Java dans un navigateur, ça permet aussi de faire plein de choses que le navigateur ne saura pas faire tout seuls. Mais s'il y avait mieux, ça apporterait un gros plus…

Lien vers le commentaire

Bien, le Site du Zéro. Si je me souviens bien, il y a un bouquin de Delannoy sur l'apprentissage du C++ et du Java en parallèle, assez bien fait.

Merci :)

Pour le JAva, Eclipse c'est utile pour te faciliter la vie sur tous les aspects 'maintenance' du code Java. Je n'ai jamais eu à utiliser CodeBlocks, c'est plutôt Visual Studio (qui dispose du meilleur debuggueur de tous, je trouve). La version Express est gratuite. Et si tu es étudiant ou assimilé, ta fac/ton école/ta boîte doit pouvoir te faire accéder au MSDNAA pour télécharger les ISO de Visual Studio, SQL Server, les Windows dans toutes les configurations (Server/Home/Machin/64 bits/32bits).

J'en avais entendu parler mais je codais sur Ubuntu, par habitude… Je vais essayer, Visual Studio, alors.

Je me dis qu'il faut que je passe à Python un jour, mais si tu connais le Javascript (et depuis la disponibilité de node.js) les deux langages sont à peu près isomorphes.

J'ai dû lire quelques fichiers en Javascript (et JSON) par curiosité, mais je ne l'ai jamais étudié.

Lien vers le commentaire

J'en avais entendu parler mais je codais sur Ubuntu, par habitude… Je vais essayer, Visual Studio, alors.

Euh, je me rappelle pas que Visual Studio supporte Java (ou alors c'est très récent). Pour Java, Eclipse est très bien. Tu peux aussi tester Netbeans (j'ai une préférence pour celui-ci).

Lien vers le commentaire

Euh, je me rappelle pas que Visual Studio supporte Java (ou alors c'est très récent)

On parlait de Visual Studio en remplacement de Code::Blocks pour le C++ ;)

D'ailleurs, j'aime avoir un Dark theme pour éditer du texte Code::Blocks n'a pas l'air d'en avoir (il faut éditer les couleurs une par une…). Pour Eclipse, dix minutes sur Google, un plug-in installé directement depuis le logiciel, et hop, j'ai retrouvé mon thème préféré.

Lien vers le commentaire

J'ai dû lire quelques fichiers en Javascript (et JSON) par curiosité, mais je ne l'ai jamais étudié.

Un des petits plaisirs du debugguer de Visual, c'est de se hotlinker à un binaire en mémoire, même si les symboles de debug n'ont pas été mis en place par la version que tu utilises. Très utile quand tu récupères du code de quelqu'un d'autre, avec un exécutable compilé dans le tas, et qu'il te dit que "sur sa machine tout va bien", et que sur la tienne, ça plante dès l'exécution…

Et pour le Javascript, si tu n'en as pas besoin pour l'instant, concentre toi sur le Java et le C/C++, c'est plus utile pour trouver du boulot ;).

Lien vers le commentaire

@h16 : Java sert quand même à un truc pratique : un bout de code tout simple tournera pareil sur Mac/Windows/Linux,

Ca, c'est la pub mensongère qui a permis de vendre le truc. Pour HelloWorld, c'est vrai. Pour le reste, c'est la roulette russe. Comme les autres langages, du reste.

Et une applet Java dans un navigateur, ça permet aussi de faire plein de choses que le navigateur ne saura pas faire tout seuls. Mais s'il y avait mieux, ça apporterait un gros plus…

De plus en plus, le HTML (et ce qui vient autour) va venir à la rescousse. Ce ne pourra pas être pire que Java d't'façon.

Mais en gros, si ça permet de faire tant de choses dans un navigateur, c'est parce que tout ce qui est accès au matériel a déjà été largement nettoyé par des drivers et les OS de plus en plus haut niveau.

Franchement, regardons les choses en face : quand java est sorti, c'était lent et mou. Vraiment mou.

Depuis, il s'est écoulé 14 ans. Les processeurs et coprocesseurs divers ont multiplié leur vitesse par combien, déjà ? On est passé de fréquences à 300MHz 1 coeur à maintenant 3 GHz avec 8 coeur, et … Java est toujours aussi mou, gros, prend toujours autant de temps à compiler/exécuter, … On me dira : ben oui, y'a plus de classes, patati, patata. Le langage seul est déjà pas beau, tout ce qui va autour ressemble à un énorme 33 tonnes qu'on leste, tous les jours un peu plus. Et la multiplication incroyable des classes provoque d'ailleurs un abandon total du fantasme "write once, run everywhere and 100 bucks and a poney". Maintenant, on fait des applis un peu conséquentes pour 1 plateforme, on déploie dans cette plateforme, et on espère qu'elle n'évoluera pas trop pour tourner 3 ans et on jette ensuite, le code devenant illisible, impossible à maintenir, écrit par des galériens qui n'en comprennent pas la moitié.

(et je n'ai pas encore parlé des interfaces graphiques, indépendamment de java, qui ajoutent encore une grosse couche de gras sur tout le bordel javatoïde)

Lien vers le commentaire
On est passé de fréquences à 300MHz 1 coeur à maintenant 3 GHz avec 8 coeur, et … Java est toujours aussi mou, gros, prend toujours autant de temps à compiler/exécuter, …

FUD que tout cela, Java étant utilisé par une quantité de tocards considérable (probablement plus nombreux que Visual Basic en son temps), l'immense majorité des développements en Java sont de la merde, mais ça n'est en rien du a la technologie, des gens comme LMax ont tout a fait les moyens intellectuels de coder le coeur de leur système en assembleur tuné pour un modèle de Xeon en particulier si ils considéraient que ça donnait un gain significatif.

Evidemment, si on veut faire du code rapide, il faut connaitre le fonctionnement de la machine, comme dans les autres langages, truc de ouf, si on prétends qu'il n'y a pas de hardware, qu'il n'y a pas de JVM ni de Garbage Collector et que le code s'execute par magie, ça donne de la merde.

Lien vers le commentaire

FUD que tout cela, Java étant utilisé par une quantité de tocards considérable (probablement plus nombreux que Visual Basic en son temps), l'immense majorité des développements en Java sont de la merde, mais ça n'est en rien du a la technologie, des gens comme LMax ont tout a fait les moyens intellectuels de coder le coeur de leur système en assembleur tuné pour un modèle de Xeon en particulier si ils considéraient que ça donnait un gain significatif.

C'est comme dire qu'on peut faire un truc de folie avec Cobol ou Brainfuck. Bien sûr, c'est tout à fait possible. Mais là n'est pas la question. Le programmeur moyen, au contact de java, se transforme en bouse émotive qui chie des millions de lignes de code vaporeux comme du coton d'Egypte et impénétrable comme une catho intégriste en fin de ménopause.

Evidemment, si on veut faire du code rapide, il faut connaitre le fonctionnement de la machine, comme dans les autres langages, truc de ouf, si on prétends qu'il n'y a pas de hardware, qu'il n'y a pas de JVM ni de Garbage Collector et que le code s'execute par magie, ça donne de la merde.

Et c'est ce que je constate de plus en plus. 1 programmeur valable pour 100 pisseurs de lignes colorées.

Lien vers le commentaire
Maintenant, on fait des applis un peu conséquentes pour 1 plateforme, on déploie dans cette plateforme, et on espère qu'elle n'évoluera pas trop pour tourner 3 ans et on jette ensuite, le code devenant illisible, impossible à maintenir, écrit par des galériens qui n'en comprennent pas la moitié.

M'en parle pas, je maintiens des scripts d'installation de plateformes applicatives en JBoss :(

Mais pas d'accord sur la performance brute. Non pas que Java ait le moindre mérite… n'importe quel langage même pour machine virtuelle peut s'exécuter presque aussi vite que du C optimisé aujourd'hui. JIT, Qemu et autres techniques hyper-avancées de traduction dynamique et d'optimisation à la volée sont passées par là. Le gain de performance, aujourd'hui, s'obtient sur le modèle programmatif.

Vive Erlang sur le serveur, vive Lua sur le client.

Lien vers le commentaire
Même le Fucking Cobol est moins verbeux d'un rang de magnitude. Merde.

Ah mais le Cobol, c'est très bien. De la vraie arithmétique décimale, des traductions automatiques de données numériques mises dans des masques préformatés, c'est parfait… Tant que ça se limite à faire une jolie boucle où un curseur SQL fait toutes les I/O, toutes les adaptations et tous les autres calculs, ou éventuellement à faire quelques appels à des programmes de service. ;) Manquerait plus que les algorithmes un peu techniques puissent être fait par des appels à des fonctions Lisp, et je crois que j'en foutrais plein mon clavier. Oui, je suis très éclectique. ;)

Perl, je l'utilisais comme punition pour mes étudiants :P.

Un jour, la fille de Larry Wall a jeté un coup d'oeil au dessus de l'épaule de son paternel, en train de cracher du Perl. Inquiète, elle lui a demandé : "Mon papa, ce que tu écris à l'écran, c'est des insultes ?". Anecdote authentique, lue sur le site de Larry lui-même, toussa.

Un langage qui utilise couramment et de manière inévitable des caractères inutilisés dans la plupart des livres normaux devrait être abandonné. Amateurs d'accolades, d'astérisques et de "$", vous voilà prévenus.

Vive Erlang sur le serveur, vive Lua sur le client.

J'ai un peu entendu parler de ces cocos-là. C'est quoi, leurs particularités ?

Lien vers le commentaire

Erlang, bah c'est simple: syntaxe ultraclean, principe de programmation exotique au début, mais complètement logique une fois que tu réalises ce que ça te permet de faire et comment ça te le permet. Par exemple, ouvrir, exécuter puis fermer quelques milliards de threads parallèles en quelques secondes, ou servir 100 000 sockets réseau en même temps sans timeout ni erreur ni overflow, avec une latence très raisonnable pour le client. Ou patcher ton code en cours d'exécution. Ou rajouter des noeuds à ton cluster en cours d'exécution. Le tout avec une fiabilité inégalée.

Lua, c'est mignon, porté partout et même comme moteurs de script de pleins de jeux, c'est hyper-efficient et ça tient dans quelques kilo-octets en RAM. Tout est fait à base de tables, mais tu peux aisément implémenter des classes complètes avec si ça te branche.

Lien vers le commentaire

Aie aie aie, mais je lis tout plein d'horreurs sur ce bon Java, je me croirais presque sur la DZone Python ou des boutonneux décrètent que "Java est le nouveau COBOL".

@H16 : y-a-t-il un langage qui trouve grâce à tes yeux ? Ou bien est-ce que tu fais juste du mega-trolling en freestyle ? :D

Enfin bon moi je programme en Java et j'en suis très content, j'ai toujours pas trouvé une plate-forme aussi performante et versatile. Mais ce qui fait la grande force de Java ce sont surtout les librairies et applications disponibles. Le coup de la verbosité me fait doucement rigoler, surtout pour toujours citer les mutateurs…

Erlang c'est un truc que je suis beaucoup depuis quelques temps, je pense qu'en ces temps de multi-core et autres applications distribuées cette plate-forme a un gros potentiel. Par contre changer le code à chaud, c'est pas forcément un gros plus : Ruby le permet par exemple, et ceux qui s'y sont frotté font machine arrière sur le "monkey-patching". Je signale au passage que Java le permet aussi :P

Sinon je porte quelques espoirs sur Ceylon - sponsorisé par RedHat - pour avoir un possible successeur à Java. En tous cas sur le papier c'est tout bon, ils ont une milestone3 de prête, reste à voir si la mayonnaise va prendre.

Lien vers le commentaire

Je ne suis pas d'accord sur le fait que Java est un truc d'universitaire ! Au contraire.

OCaml, Haskell, c'est un truc d'universitaire. Java est arrivé dans les programmes uniquement parce qu'il est utilisé dans l'industrie.

Java c'est le langage pour les décideurs pressés : très facile à analyser pour en faire des statistiques inutiles. Aucune place à la créativité mais que de la verbosité, idéal quand on a une horde de programmeurs peu compétents.

C'est clairement le nouveau COBOL dans le sens où il va se retrouver aux mêmes endroits que le COBOL.

La copie de Java par Microsoft laisse beaucoup plus de liberté au programmeur. Du coup Java semble enfin être ouvert a de nouvelles choses. Il n'en reste que c'est vraiment trop chiant à utiliser, même si il est cohérent et bien (voire un peu trop) pensé.

Lien vers le commentaire

J'ai un peu entendu parler de ces cocos-là. C'est quoi, leurs particularités ?

Erlang et Lua, c'est si tu veux programmer avec des buzzwords :D.

La conclusion de cette bagarre sur les langages, c'est qu'il n'y a pas de mauvais outils, il y a de mauvais ouvriers…

J'ai rien compris.

En me relisant, moi non plus :P.

Pour simplifier, un debugguer doit entrefiler ton code de symboles de debugging et d'infos de ce style, pour te permettre de tracer ton code pas à pas lorsqu'il s'exécute (beaucoup plus efficace que la méthode de debug dite du "printf()", où tu affiches à l'écran des infos rigolotes pour savoir où en l'exécution de ton code ;)).

Normalement, avec un debugger basique, il faut que l'exécutable soit lancé par ton IDE, avec les symboles mis en place par le debugger, afin de respecter les numéros de version, les spécificités du compilateur, etc… Visual Studio te permet de debugger un exécutable qui tourne en mémoire et vient de crasher sans que l'IDE ne soit le créateur de l'exécutable. D'autres outils, sous Unix (gdb) ou Windows (Olli Debug, la famille des ICE) peuvent le faire aussi (c'est d'ailleurs très utilisé par les crackeurs), mais c'est beaucoup moins sexy et programmer-friendly…

Lien vers le commentaire

Cette mode décadente des décolletés de plus en plus profond a atteint un point de non-retour. Je viens pour la première fois, sur un site de rencontres sérieuses, de voir un téton à l'air. Ben mine de rien, ça fait un choc (davantage encore que le décolleté interminable que portait une amie pour la réception qu'elle organisait en l'honneur de la naissance de sa fille).

Lien vers le commentaire

Cette mode décadente des décolletés de plus en plus profond a atteint un point de non-retour. Je viens pour la première fois, sur un site de rencontres sérieuses, de voir un téton à l'air. Ben mine de rien, ça fait un choc (davantage encore que le décolleté interminable que portait une amie pour la réception qu'elle organisait en l'honneur de la naissance de sa fille).

Je suis tiraillé entre mon goût organique pour la décence, le bon goût et… enfin, tu vois :)

Lien vers le commentaire
Je suis tiraillé entre mon goût organique pour la décence, le bon goût et… enfin, tu vois smile.gif

Ah mais tout pareil, hein. En tant que mammomane invétéré, j'ai une affection toute particulière pour les beaux décolletés, surtout quand ils sont bien remplis. Sauf que la décence s'arrête objectivement quand le décolleté laisse apparaître un téton, ou bien le haut du ventre, entre les seins.

Lien vers le commentaire

Cette mode décadente des décolletés de plus en plus profond a atteint un point de non-retour. Je viens pour la première fois, sur un site de rencontres sérieuses, de voir un téton à l'air. Ben mine de rien, ça fait un choc (davantage encore que le décolleté interminable que portait une amie pour la réception qu'elle organisait en l'honneur de la naissance de sa fille).

pic

url profil

Enfin plus sérieusement, je suis plutôt d'accord, et je dis ça en amateur de sluts, je préfère que ce soit fait avec élégance.

Lien vers le commentaire

1) Et les mecs, si pour vous voir un téton à l'air c'est troublant, vous allez vite vous laisser berner par les sites de rencontre!

2) S'agit-il d'un site communautaire où les filles ont le sang conforme? Aux Arabes on promet math et chamelles, aux jeunes Juives une nuit de noce sur le terreau de la Bible.

Lien vers le commentaire
1) Et les mecs, si pour vous voir un téton à l'air c'est troublant, vous allez vite vous laisser berner par les sites de rencontre!

Ce n'est pas troublant pour moi, c'est choquant. Et ça ne m'incite vraiment pas à aller nouer conversation avec la donzelle. Pire qu'un tatouage.

2) S'agit-il d'un site communautaire où les filles ont le sang conforme?

Non.

Lien vers le commentaire

Ce n'est pas troublant pour moi, c'est choquant. Et ça ne m'incite vraiment pas à aller nouer conversation avec la donzelle. Pire qu'un tatouage.

Non.

Désolé que tu aies répondu sérieusement. Pour rendre mon post plus compréhensible je l'ai édité.

Lien vers le commentaire
Désolé que tu aies répondu sérieusement. Pour rendre mon post plus compréhensible je l'ai édité.

Alors dans ce cas, lol. ;)

Lien vers le commentaire
Invité
Ce sujet ne peut plus recevoir de nouvelles réponses.
×
×
  • Créer...