30

1 Le Java est plus agréable, donc je dirais que c'est plus facile de passer du C++ au Java.
2 Difficile à dire. Je pense que les nouveaux projets sont plus volontiers démarrés en java ou c#, mais d'un autre coté il y a tout l'existant pour le c++, alors...

31

Flanker (./7) :
Folco > À quand le C# ? grin

A part ça le C# d'un point de vue du langage pur je trouve que c'est vraiment ce qu'aurait dû être le C++ (mais en compilé, et avec un GC à la Ada - c'est là que ça fait mal).
Ca a tous les avantages sans les inconvénients, y compris les "piquants" qui sont interdits en Java mais qui rendent le codage fun love
avatar
Highway Runners, mon jeu de racing à la Outrun qu'il est sorti le 14 décembre 2016 ! N'hésitez pas à me soutenir :)

https://itunes.apple.com/us/app/highway-runners/id964932741

32

Il est plus facile à un codeur C++ d'apprendre le Java que l'inverse (tiens d'ailleurs, on en discutait à l'anniversaire de Vince avec Souanne).
Mais dans le cas de Folco c'est sans importance : vu qu'il sait faire de l'ASM, il sait potentiellement tout faire cheeky
avatar
Zeroblog

« Tout homme porte sur l'épaule gauche un singe et, sur l'épaule droite, un perroquet. » — Jean Cocteau
« Moi je cherche plus de logique non plus. C'est surement pour cela que j'apprécie les Ataris, ils sont aussi logiques que moi ! » — GT Turbo

33

Alors je ne suis (vraiment) pas d'accord.
Il est plus facile pour un nouveau codeur d'apprendre le Java, il est peut être plus facile pour un codeur C d'apprendre le Java, mais beaucoup de concepts vont lui manquer (c'est vraiment pas un bon langage pour traiter des données sans utiliser des couches très lourdes autant pour la syntaxe que l'exécution. Typiquement traiter des données binaires en Java c'est un calvaire, alors qu'en C c'est trivial...).
Mais un programmeur C++ va préférer le C# sans aucun doute. Le C# te permet de faire tout, la propreté en plus (toujours relative, parce que mettre un peu de C++ dans un langage est équivalent à le polluer).
Les types struct, la surcharge d'opérateurs, les conversions implicites, les pointeurs, les *vrais* types (uint, byte, etc.) avec une opacité du char, la possibilité de libérer des objets de façon déterministe, etc. il y a plus qu'assez d'exemples.
Essaie par exemple de coder en Managed DirectX sous C# et en JOGL sous Java et tu auras une idée d'à quel point C# est naturel pour un programmeur "low-level", en plus d'offrir des facilités incroyables (le type Matrix avec tous ses opérateurs par exemple est génial, les propriétés ça poutre aussi parce que ça permet d'exposer de façon safe des variables globales comme on aime assez le faire en code C optimisé, et en prime le refacto est toujours possible).
avatar
Highway Runners, mon jeu de racing à la Outrun qu'il est sorti le 14 décembre 2016 ! N'hésitez pas à me soutenir :)

https://itunes.apple.com/us/app/highway-runners/id964932741

34

Je suis assez d'accord (enfin j'ai testé subi que le C#, pas le Java), mais je pense pas que Folco ne voudra pas du C#, vu que c'est essentiellement Windows et qu'il préfère du multiplateforme (y'a bien Mono, mais bon...). Donc le truc qui ressemble le plus, ça reste le Java.
avatar
Zeroblog

« Tout homme porte sur l'épaule gauche un singe et, sur l'épaule droite, un perroquet. » — Jean Cocteau
« Moi je cherche plus de logique non plus. C'est surement pour cela que j'apprécie les Ataris, ils sont aussi logiques que moi ! » — GT Turbo

35

Non ça ne l'intéressera pas. Enfin ça tourne quand même sous Mono, mais c'est pas très élégant. J'avais testé une appli (voir plus haut pour le rendu sous Windows):
http://www.playeradvance.org/forum/showthread.php?p=227552#post227552
C'est vraiment son gros défaut qui fait que j'utilise le plus possible Java ou C. Je peux te demander pourquoi tu l'as utilisé subi, et en quoi c'était un supplice? ^^
avatar
Highway Runners, mon jeu de racing à la Outrun qu'il est sorti le 14 décembre 2016 ! N'hésitez pas à me soutenir :)

https://itunes.apple.com/us/app/highway-runners/id964932741

36

Zerosquare (./32) :
Mais dans le cas de Folco c'est sans importance : vu qu'il sait faire de l'ASM, il sait potentiellement tout faire mod.gif

Oh alors là je suis très méfiant, si j'arrive pas à me faire à l'objet, je serai imperméables à tous ces beaux langages...

37

Une fois qu'on s'est fait à l'objet, c'est dur de s'en passer grin
avatar
<<< Kernel Extremis©®™ >>> et Inventeur de la différence administratif/judiciaire ! (©Yoshi Noir)

<Vertyos> un poil plus mais elle suce bien quand même la mienne ^^
<Sabrina`> tinkiete flan c juste qu'ils sont jaloux que je te trouve aussi appétissant

38

Brunni (./35) :
Je peux te demander pourquoi tu l'as utilisé subi, et en quoi c'était un supplice? ^^
Y'a un peu plus d'un an, j'ai accepté de développer une appli C# pour le boulot (langage imposé par le client), bien qu'à la base je m'occupe d'électronique et d'info embarquée bas (voire très bas) niveau.

À la base j'avais jamais fait de C# ou même de langage OO tout court, et j'avais un a priori assez négatif dessus. Je me suis dit que ça serait l'occasion de "tester" ça objectivement et d'ajouter une corde à mon arc (ça peut toujours servir). Et puis bon, un salaire mensuel, c'est un argument aussi.


(ce qui suit est un avis personnel)

Les points positifs que j'ai retenus :

- le langage est clairement mieux pensé/plus rigoureux/plus puissant que le C sur certains points (je peux pas comparer au C++, j'en ai jamais fait).

- y'a certains problèmes où l'approche OO facilite effectivement les choses.

- le framework contient énormément de trucs tout faits, ça éviter de perdre du temps à réinventer et déboguer la roue.

- Visual Studio dans son ensemble est vraiment bien foutu.


Et les points négatifs :

- finies les habitudes de l'ASM ou du C où on pouvait connaître la majorité des features "de tête". Les notions à connaître sont nombreuses, parfois subtiles et demandent de se taper des pages et des pages de documentation à lire. En gros j'ai eu l'impression de passer 90% du temps à lire, et 10% à coder effectivement.

- de même, il y a sûrement une fonction qui fait ce qu'on cherche à faire, mais encore faut-il la trouver... vu la taille gigantesque du framework, on a un peu l'impression de chercher une aiguille dans une botte de foin. Et une fois qu'on l'a trouvée, le périple n'est pas fini : reste à comprendre comment fonctionne la classe, qui à tous les coups dérive ou référence d'autres classes qu'il faut aussi décortiquer, etc.

- on perd aussi du temps à chercher comment adapter le problème aux concepts OO, refactoriser parce que la modélisation qu'on a choisie "coince" finalement sur un point particulier, etc. Je suis pas persuadé que l'approche soit toujours bénéfique, au final.

- y'a des limitations casse-pieds, par exemple l'absence d'un type "pointeur sur un objet" (y'a bien le mot-clé ref pour les paramètres des fonctions, mais ça ne marche que tant qu'on ne sort pas de la fonction en question). En l'occurrence, je voulais faire un truc un peu intéressant avec l'OO : paf, on peut le faire en C++, mais pas en C#.

- ça m'a donné l'impression de pédaler franchement dans la mélasse, même sur une bécane plutôt bonne (dual-core, 2 Go de RAM). Voir une appli toute bête mettre plusieurs secondes à s'initialiser et ramer lamentablement pour rafraîchir l'affichage, en 2009, ça m'énerve. Ne parlons même pas des perfs sur une config plus light (genre une VM pour tester la compatibilité sous d'autres versions de Windows).

- le fait de devoir installer le framework même pour une toute petite appli est pénible (OK, ce sera de moins en moins un problème vu que les versions récentes de Windows l'incluent de base)


Globalement, ça correspond pas du tout à ma façon de réfléchir et de bosser. Je m'en doutais un peu à l'avance, mais l'expérience l'a vraiment confirmé...
avatar
Zeroblog

« Tout homme porte sur l'épaule gauche un singe et, sur l'épaule droite, un perroquet. » — Jean Cocteau
« Moi je cherche plus de logique non plus. C'est surement pour cela que j'apprécie les Ataris, ils sont aussi logiques que moi ! » — GT Turbo

39

un truc que j'apprécie en java, c'est netbeans

-compilation a la volée qui souligne tes conneries en rouge
des raccourcis super style ctrl espace pour compléter, pour psvm<tab> pour écrire public static void main(String[] args) { | }, ou même pu<tab> pour public, pr<tab> pour private,
-refactorings diverzévariés par ex. pour renommer des variables,
-formatage automatique du code
-...


je trouve que c'est rapide à coder une fois qu'on a pris quelques habitudes.

si t'as des questions hésite pas.

40

+1 pour commencer le Java plutôt que le C++ si tu cherche à apprendre la POO.

41

Zerosquare (./38) :
- on perd aussi du temps à chercher comment adapter le problème aux concepts OO, refactoriser parce que la modélisation qu'on a choisie "coince" finalement sur un point particulier, etc. Je suis pas persuadé que l'approche soit toujours bénéfique, au final.

Oui et non... ça, ça dépend beaucoup de la façon dont tu fais ton analyse. Même si tu fais du Merise (ou dérivé) plutôt que de l'UML, d'ailleurs. Au début, ça semble peut-être contraignant mais, au final, c'est beaucoup plus souple (et même quand je fais de l'impératif, je fais une analyse OO).
avatar

42

c'est clair qu'un machin objet il faut le modéliser en pensant "objet" smile

43

[haltTroll] si tu veux vraiment faire un vrai language objet, fait du SmallTalk/Squeak ^^ Sinon si tu veux un vrai language C vraiment Objet, il faut faire de l'Objective-C savant mélange entre les concept du SmallTalk, du C, sans limiter le C, ni le coté Objet ^^[/halfTroll]
Zerosquare (./38) :
- finies les habitudes de l'ASM ou du C où on pouvait connaître la majorité des features "de tête". Les notions à connaître sont nombreuses, parfois subtiles et demandent de se taper des pages et des pages de documentation à lire. En gros j'ai eu l'impression de passer 90% du temps à lire, et 10% à coder effectivement.

- de même, il y a sûrement une fonction qui fait ce qu'on cherche à faire, mais encore faut-il la trouver... vu la taille gigantesque du framework, on a un peu l'impression de chercher une aiguille dans une botte de foin. Et une fois qu'on l'a trouvée, le périple n'est pas fini : reste à comprendre comment fonctionne la classe, qui à tous les coups dérive ou référence d'autres classes qu'il faut aussi décortiquer, etc.


pencil meme si je pense qu'on fini par apprendre la majoritée des trucs, et donc moins chercher dans la doc a force, j'ai aussi pas mal cette impression sur les frameworks (en general pas que java/c#) tentaculaires qui font tout (genre Qt/Gtk pour ne citer que ceux la)
avatar
Proud to be CAKE©®™


GCC4TI importe qui a problème en Autriche, pour l'UE plus et une encore de correspours nucléaire, ce n'est pas ytre d'instérier. L'état très même contraire, toujours reconstruire un pouvoir une choyer d'aucrée de compris le plus mite de genre, ce n'est pas moins)
Stalin est l'élection de la langie.

44

Zerosquare (./38) :
- finies les habitudes de l'ASM ou du C où on pouvait connaître la majorité des features "de tête".

Ca, c'est effectivement le pied.
Zerosquare (./38) :
- de même, il y a sûrement une fonction qui fait ce qu'on cherche à faire, mais encore faut-il la trouver... vu la taille gigantesque du framework, on a un peu l'impression de chercher une aiguille dans une botte de foin. Et une fois qu'on l'a trouvée, le périple n'est pas fini : reste à comprendre comment fonctionne la classe, qui à tous les coups dérive ou référence d'autres classes qu'il faut aussi décortiquer, etc.

Pile l'impression que ça m'a fait quand j'ai mis le nez dans Qt grin

squalyl -> je vais quand même pas choisir un langage pour une IDE, non ? cheeky
Jyaif -> oui... mais pourquoi ? cheeky

45

Godzil (./43) :
Zerosquare (./38) :
- finies les habitudes de l'ASM ou du C où on pouvait connaître la majorité des features "de tête". Les notions à connaître sont nombreuses, parfois subtiles et demandent de se taper des pages et des pages de documentation à lire. En gros j'ai eu l'impression de passer 90% du temps à lire, et 10% à coder effectivement.

- de même, il y a sûrement une fonction qui fait ce qu'on cherche à faire, mais encore faut-il la trouver... vu la taille gigantesque du framework, on a un peu l'impression de chercher une aiguille dans une botte de foin. Et une fois qu'on l'a trouvée, le périple n'est pas fini : reste à comprendre comment fonctionne la classe, qui à tous les coups dérive ou référence d'autres classes qu'il faut aussi décortiquer, etc.


pencil meme si je pense qu'on fini par apprendre la majoritée des trucs, et donc moins chercher dans la doc a force, j'ai aussi pas mal cette impression sur les frameworks (en general pas que java/c#) tentaculaires qui font tout (genre Qt/Gtk pour ne citer que ceux la)

Idem, c'est vraiment le truc qui me démotive quand je veux me lancer à l'ObjectiveC sad
avatar
<<< Kernel Extremis©®™ >>> et Inventeur de la différence administratif/judiciaire ! (©Yoshi Noir)

<Vertyos> un poil plus mais elle suce bien quand même la mienne ^^
<Sabrina`> tinkiete flan c juste qu'ils sont jaloux que je te trouve aussi appétissant

46

Tout pareil, pourtant je veux m'y mettre et j'ai déjà commencé et bien aimé, mais voila quoi sad

Il faudrait que je le fasse de maniere professionelle
avatar
Proud to be CAKE©®™


GCC4TI importe qui a problème en Autriche, pour l'UE plus et une encore de correspours nucléaire, ce n'est pas ytre d'instérier. L'état très même contraire, toujours reconstruire un pouvoir une choyer d'aucrée de compris le plus mite de genre, ce n'est pas moins)
Stalin est l'élection de la langie.

47

Folco (./45) :
squalyl -> je vais quand même pas choisir un langage pour une IDE, non ? mod.gif


sisi trioui
enfin visual studio est pas trop mal pour la complétion des variables. a moins que tu préfères celle qui est implémenté dans tigcc-ide tripo

48

Erf, celle-là je l'ai découverte avec le C sur TI, elle est infâme sick

49

Folco: si tu veux te mettre au Java sérieusement, je te conseille les très bons cours en ligne de Paris VI de niveau licence et master, tu y trouveras beaucoup de ressources (cours, exercices, tp, annales). tu peux trouver ça ici (je t'invite à fouiller un peu sur le site, on trouve vraiment beaucoup de choses accessibles à tous !):

http://www-licence.ufr-info-p6.jussieu.fr/lmd/licence/2009/ue/LI314-2009oct/ (cours de java)

http://www-master.ufr-info-p6.jussieu.fr/2008/IL (cours d'UML)

http://www-licence.ufr-info-p6.jussieu.fr/lmd/licence/2009/public/sites.php (liste de toutes les ue et leurs ressources, ça peut être intéressant aussi smile )
Tekken Punch !!! beuh Love Hina déjà fini ... :'(
Japan-A-Radio
Vertyos@| les modos sont des enculés
Vertyos@| y'a des queues partout, un vrai bonheur'

50

Merci beaucoup, c'est bookmarqué. smile

Ceci dit, je pense m'orienter sérieusement vers C++, ça me semble indispensable, comme dit Pen^2 pour l'existant. On verra après, mais pas tout de suite, je ne peux pas tout faire à la fois. smile

51

Si tu compte t'autoformer sur le C++ attention tout de même c'est typiquement le langage ou on peut prendre rapidement de très mauvaises habitudes, et ou on tombe souvent sur des cours préconisent l'utilisation de méthode dépassées depuis longtemps (que ce soit de vieux cours en ligne ou des professeur pas a jour)
avatar

52

Bah faut pas exagérer, ce n'est pas non plus comme si Folco ne demandait jamais de conseils quand il expérimente un truc. happy
Par contre il pourrait directement Commencer par le C++0x ça serait plus efficace trioui
avatar
Le scénario de notre univers a été rédigée par un bataillon de singes savants. Tout s'explique enfin.
T'as un problème ? Tu veux un bonbon ?
[CrystalMPQ] C# MPQ Library/Tools - [CrystalBoy] C# GB Emulator - [Monoxide] C# OSX library - M68k Opcodes

53

bah loupé, ça va devenir du C++1x maintenant cheeky

54

*Je suis ok pour faire le "support" (par abo) si tu décides de te mettre au NCL version Objet !
avatar
Webmaster du site Ti-FRv3 (et aussi de DevLynx)
Si moins de monde enculait le système, alors celui ci aurait plus de mal à nous sortir de si grosses merdes !
"L'erreur humaine est humaine"©Nil (2006) // topics/6238-moved-jamais-jaurais-pense-faire-ca

55

J'ai acheté ce bouquin : http://www.editions-eyrolles.com/Livre/9782212124149/apprendre-le-c : 9782212124149.gif

Vous connaissez le bouquin et/ou l'auteur ? J'ai le même bouquin pour le C.
Visiblement, l'auteur s'appuie sur la norme ISO 2003 pour le C++.

56

Ah, j'ai "Programmer en langage C", de lui. De mémoire, c'est clair et pratique, sans être non plus pédagogiquement transcendantal.
avatar

57

Ok. J'ai bien aimé son bouquin sur le C. C'est pas idéalement pédagogique, on est d'accord. Mais il y a tous les principes, après faut réfléchir. Disons qu'il ne mâche pas le travail, mais explique tout, ça m'a plu.
En fait, chez Eyrolles, il a une dizaine de bouquins qui sont tous à peu près les mêmes, vu de loin, si ce n'est qu'ils diffèrent par leur format et leur collection au niveau éditeur. On verra bien, je l'aurai dans quelques jours.

En attendant, qu'est ce que c'est que ce type wchar_t ? Dans certains tutos ils le citent sans expliquer ce que c'est, dans d'autres il n'en parlent même pas.
Ca doit être utilisé pour les caractères multi-bytes peut-être, et donc la taille dépend des implémentations ?

58

Oui, moi aussi j’ai son bouquin sur le C (La Référence du C) et je l’avais bien apprécié. Pour le C++ j’ai pris la traduction française du bouquin de Bjarne Stroustrup (l’auteur du C++), intéressant aussi, enfin il se contente surtout de décrire les specs du langage…

Sinon, histoire de nourrir le troll, je trouve effectivement que Java est un langage intéressant, vraiment mieux foutu que le C++, beaucoup plus agréable à coder, qui permet d’être plus productif qu’en C++, mais je suis très déçu par sa lourdeur (10 fois plus lent que le code compilé) et par l’API Swing (qui sert à faire des interfaces graphiques) qui est assez chiante. En résumé c’est un beau langage, intéressant pour jouer avec les notions d’objet, interface, héritage, mais c’est tout. Enfin, il est quand même super demandé dans l’industrie, mais honnêtement je ne vois pas pour quoi ? (les logiciels des téléphones portables peut-être ?).

Sinon le C++ est effectivement laid mais dispose de bonnes performances et de certaines bibliothèques comme Qt qui sont vraiment confortables à utiliser.

Je n’ai pas encore testé le C# mais j’espère qu’il combine les avantages des deux précédents sans en avoir les inconvénients…
avatar
« Quand le dernier arbre sera abattu, la dernière rivière empoisonnée, le dernier poisson capturé, alors vous découvrirez que l'argent ne se mange pas. »

59

Sasume (./58) :
Sinon le C++ est effectivement laid mais dispose de bonnes performances et de certaines bibliothèques comme Qt qui sont vraiment confortables à utiliser.

J'ai installé le SDK Qt. On verra bien ce que ça donne, c'est le toolkit que j'ai l'intention d'apprendre à utiliser.

60

Folco (./57) :
En attendant, qu'est ce que c'est que ce type wchar_t ? Dans certains tutos ils le citent sans expliquer ce que c'est, dans d'autres il n'en parlent même pas.
Ca doit être utilisé pour les caractères multi-bytes peut-être, et donc la taille dépend des implémentations ?
Aucune idée. C’est très fréquent d’avoir à utiliser des types de données sans savoir précisément de quoi ils sont faits.
En fait c’est même souvent une bonne habitude de ne pas dire ce qu’il y a dans un type mais juste comment l’utiliser (quelles fonctions utiliser dessus). Si on donne trop de détails, le code utilisateur pourrait s’appuyer dessus, créant ainsi un couplage avec une implémentation donnée, et si elle se mettait un jour à changer ça casserait tout le programme.
avatar
« Quand le dernier arbre sera abattu, la dernière rivière empoisonnée, le dernier poisson capturé, alors vous découvrirez que l'argent ne se mange pas. »