Java ou C# ? - Divers - Programmation
Marsh Posté le 26-01-2007 à 14:27:45
java ne risque pas d'etre depasse d'ici quelques années ?
Marsh Posté le 26-01-2007 à 14:28:00
ReplyMarsh Posté le 26-01-2007 à 14:31:16
MagicBuzz a écrit : écoute pas ces trolls des carvernes. |
je sais pas je me pose la question justement.
c'est vrai qu'au niveau portabilite je pense que Java est bien meilleur de ce cote la.
le framework mono pour C# sous linux, ca me fais un peu peur, je sais pas si il arriverons a suivre correctement pour que toutes les applis soit facilement portable.
Marsh Posté le 26-01-2007 à 14:41:16
[vendredi mode]perl ça rulaise pourquoi changer? Et perl6 ( qui sort en même temps que duke nukem forever) s'trop l'avenir.
Sinon, perso, entre se tirer une balle dans le pied droit ou une dans le gauche, je choisirai java ...
[/vendredi mode]
Marsh Posté le 26-01-2007 à 14:43:27
anapajari a écrit : [vendredi mode]perl ça rulaise pourquoi changer? Et perl6 ( qui sort en même temps que duke nukem forever) s'trop l'avenir. |
oue ok perl c'est sympa mais va trouver du taff en annoncant developpeur perl...
Marsh Posté le 26-01-2007 à 14:45:01
djtoz a écrit : java ne risque pas d'etre depasse d'ici quelques années ? |
Et pourquoi tu penses ça ?
Tu trouves que ça évolue pas Java ?
Marsh Posté le 26-01-2007 à 14:45:27
djtoz a écrit : oue ok perl c'est sympa mais va trouver du taff en annoncant developpeur perl... |
on en cherche en ce moment dans ma boite
Marsh Posté le 26-01-2007 à 14:47:10
niveau portabilité, c'est un "faux" problème.
en effet, compte-moi combien d'application Java tu utilises chaque jours.
certainement aucune, comme tout le monde.
pourquoi ? deux raisons principales :
- qui dit "portable" dit "abstraction". et abscraction rhyme avec "réinventer la roue". donc là où un appel au kernel pourrait prendre 4 cycles CPU pour faire un traîtement, le framework va se faire chier à tout réinventer en mettant 200 fois plus de temps, de façon à ne pas avoir besoin d'appeler le kernel. ce qui implique une grande lenteur d'exécution. C# s'en sort mieux, puisque le framework n'est bien plus intégré à l'OS que celui de java. mais c'est au prix de la facilité de portage.
- "portabilité", ça rhyme aussi avec "généricité". cela implique que ton programme ne pourra aucunement tirer profit des avantages de telle ou telle plateforme. cela indique donc des problèmes graves au niveau gestion des périphériques par exemple, puisqu'entre Mac, Linux et Windows, il n'y en a pas deux qui fonctionnement avec des libs identiques. cela induit donc, outre une plus grande lenteur d'accès aux périphériques, des limitations importantes. ceci est d'ailleurs vrai en général. pour ce qui est des droits sur les disques, ou la gestion des accès réseau, on trouvera le même genre de problèmes. C# à nouveau tire son épingle du jeu, au prix de la portabilité.
en gros, même si java s'est grandement amélioré, il rhyme toujours avec "usine à gaz inutilisable". sâchant que dans ces conditions, on n'a que faire d'une usine à gaz qui tourne sur toutes les plateformes : autant avoir une appli qui tourne correctement sur seulement quelques plateformes.
ensuite, si le poartage de C# version Linux est incomplet, il a tout le même le mérite d'exister en grande partie.
mais surtout, le portage vers les systèmes embarqués (Pocket PC, Smartphones, etc.) est total, et surtout, contrairement à Java, très performant.
Et pour ça, il n'y a pas de doute à avoir : si y'a bien un truc qui a de l'avenir aujourd'hui, c'est bien tout ce qui est mobile.
Bref, pour moi les avantages de Java mis en avant depuis longtemps ne sont pas si avantageux que ça. C# a fait le pari de pallier aux principaux défauts de Java, tout en perdant certains de ses avantages "surfaits" d'après Microsoft. J'adhère à 100% à l'analyse du leader du marché du logiciel.
Deplus, le C# est effectivement en plein essort dans les entreprises, alors que Java est, de ce que j'en ai vu, de moins en moins utilisé.
Pour le reste, si tu veux quelquechose de 100% portable, 100% optimisable, et 100% vraiment mieux (genre je sais ce que je fais), mets-toi au C++. Certes, un exe C++ compilé sous Windows ne marche pas sous nux pas, mais re-compilé pour Linux, il marche. Et il marchera dans les deux cas bien mieux que C# et Java réunis, sans parler du fait que tu peux apporter toutes les optimisations et spécificités de chaque langage grace à des options de compilation conditionelle.
Bref, ça, c'est la portabilité, la vraie.
Par contre, le C++ est bien moins fun à apprendre que le C# ou le Java (du moins, je trouve). Et surtout, le C++ est utilisé généralement pour de gros projets. Le C# et le Java sont parfaits pour faire des applis plus petites, avec une GUI sympa et facile à maintenir. C'est donc pas du tout le même boulot.
Marsh Posté le 26-01-2007 à 14:48:04
Sebou77 a écrit : |
je sais pas je connais pas du tout, mais effectivement je viens d'aller voir sur wikipedia, la framework à l'air d'etre souvent mise a jour.
bon a voir vos reponses Java l'emporte haut la main, je vais commencer par zieuter un tutorial d'initiation alors...
Marsh Posté le 26-01-2007 à 14:52:29
non en fait j'ai mal utilisé le mot portabilité, ce que je cherche avant tout c'est de pouvoir coder sur du windows et aussi sur du linux, après que les libs soit différentes et qu'il faille adapter le code entre les 2 c'est normal.
Marsh Posté le 26-01-2007 à 14:54:36
MagicBuzz a écrit : encore ue âme perdue |
hehe pas completement perdu non plus, mais bon si je m'investi dans un langage j'aimerai ne pas le regretter dans quelques temps, c'est tout
Marsh Posté le 26-01-2007 à 14:57:56
djtoz a écrit : non en fait j'ai mal utilisé le mot portabilité, ce que je cherche avant tout c'est de pouvoir coder sur du windows et aussi sur du linux, après que les libs soit différentes et qu'il faille adapter le code entre les 2 c'est normal. |
donc, autant faire du C++
si en y réfléchissant bien, tu trouves que la mobilité ça peut être pas mal aussi, le C++ te permettra tout autant de bosser sur les plateformes mobiles, et pas seulement celles de microsoft, contrairement à C#.
bref, moi à la base, j'aime pas le C++, mais quite à vouloir faire du "portable", autant le faire avec des outils propres, donc avec du C++.
Marsh Posté le 26-01-2007 à 15:01:08
ReplyMarsh Posté le 26-01-2007 à 15:01:44
Genre, je m'amuse actuellement à faire des patches pour un jeu, Open TTD.
http://www.openttd.org/dev.php
=> Et zou, je bidouille un seul code source, et hop ! Ca fait un EXE pour Windows, Mac OSX et Linux
C'est du C et du C++ mélangés. L'intérêt c'est qu'avec un EXE de moins de 2 Mo t'as un jeu complet, particulièrement performant (tourne sur un 486 sans sourciller) alors que le même truc en Java ferait vraissemblablement 80 Mo, occuperait 4 Go de mémoire au démarrage, et nécessiterait un octo-quadri-code-intel-5GHz pour rammer comme un mancho au Sahel.
Marsh Posté le 26-01-2007 à 15:02:10
MagicBuzz a écrit : donc, autant faire du C++ |
non mais le C++ je pense que j'aurai trop de mal, je viens du perl, c'est mon premier langage, alors attaqué le C++ je pense que ca serait très dur...
Marsh Posté le 26-01-2007 à 15:02:22
kadreg a écrit : eeeuuuhhhhhh |
c'est pas le C++ qui est crade, c'est le dev qui fait n'importe quoi avec
(quoi que c'est vrai que c'est particulièrement moche comme code )
Marsh Posté le 26-01-2007 à 15:04:15
djtoz a écrit : non mais le C++ je pense que j'aurai trop de mal, je viens du perl, c'est mon premier langage, alors attaqué le C++ je pense que ca serait très dur... |
Pas beaucoup plus que le C# ou Java.
Tu peux commencer avec le C pour débuter. Plus limité, il est aussi plus simple. Tu peux passer de l'un à l'autre sans même devoir changer de compilo ou d'éditeur.
Microsoft VS 2005 C++ Express fait parfaitement l'affaire (et en plus il permet de faire du managed, c'est à dire des appels au framework .NET comme ça t'as la totale pour pas un centime
Marsh Posté le 26-01-2007 à 15:09:41
MagicBuzz a écrit : Pas beaucoup plus que le C# ou Java. |
non C/C++ c'est pas pour moi
j'ai commencé a regarder C# je trouve que c'est assez simple.
bref entre C# et Java je sais toujours pas
Marsh Posté le 26-01-2007 à 15:11:44
Java rulez
N'écoutes pas l'autre qui veux te faire gagner 4 cycles CPU sur un programme qui affiche un "Hello world"
Marsh Posté le 26-01-2007 à 15:15:07
ben justement, en java, passé le stade du "hello world" tu fous ton pc à genoux
Marsh Posté le 26-01-2007 à 15:16:33
On n'est plus en 1996, les JVM et les PCs ont évoluée hein
Marsh Posté le 26-01-2007 à 15:17:09
en plus, la preuve que C# c'est mieux que Java : chuis le seul à le défendre.
parceque tous ceux qui font du C# sont tellement en avance sur leur travail qu'ils sont déjà tous en week-end, alors que ceux qui font du java croulent sous les bugs et seront là jusqu'à samedi soir
moi chuis là parcequ'il y a une appli java qui tourne au boulot et elle plante tout le temps, alors je dois la redémarrer quand elle plante
Marsh Posté le 26-01-2007 à 15:17:52
nerisson a écrit : On n'est plus en 1996, les JVM et les PCs ont évoluée hein |
et les besoins en terme d'interface et de convivialité aussi. truc inexistant avec java
les supers forumaires sans tabindex moi j'adore (cf. les outils d'administration d'oracle par exemple)
Marsh Posté le 26-01-2007 à 15:18:57
nerisson a écrit : On n'est plus en 1996, les JVM et les PCs ont évoluée hein |
+1
Suffit de tester Java 6 pour s'en rendre compte !
Marsh Posté le 26-01-2007 à 15:22:45
MagicBuzz a écrit : (cf. les outils d'administration d'oracle par exemple) |
le problème, c'est oracle hein Le pire codeur java existant
Marsh Posté le 26-01-2007 à 15:23:33
c'est normal, c'est le seul
(t'ain heureusement que c'est vendredi, parcequ'avec des arguments comme ça je serait déjà mort en temps normal )
Marsh Posté le 26-01-2007 à 15:24:03
Moi, ce que j'en dits, c'est qu'il faut avoir fait du java pour prendre son pied avec C#
(Tout comme à l'époque je disais qu'il fallait avoir fait du C++ pour prendre son pied avec Java)
(Tout comme encore jadis je disais qu'il fallait avoir fait du C pour pour prendre son pied avec C++)
(Tout comme encore plus anciennement je disais qu'il fallait avoir fait de l'asm pour prendre son pied avec C)
Et tout comme il faut de toute manière avoir un esprit logique pour prendre son pied avec un langage de prog
Java/C# même combat, il n'y a que la CSS qui change
Marsh Posté le 26-01-2007 à 15:24:45
ReplyMarsh Posté le 26-01-2007 à 18:39:37
MagicBuzz a écrit : (t'ain heureusement que c'est vendredi, parcequ'avec des arguments comme ça je serait déjà mort en temps normal ) |
c'est surtout que ton côté pathétique a pris le dessus sur ton côté fatiguant, alors on laisse juste pisser ..
Marsh Posté le 26-01-2007 à 19:29:31
Ce qu'il y a de bien avec toi, c'est que ton côté vilipendant est toujours présent quel que soit le topic
Marsh Posté le 26-01-2007 à 20:56:18
ixemul a écrit : Moi, ce que j'en dits, c'est qu'il faut avoir fait du java pour prendre son pied avec C# |
Java c'est ptet orienté ouaib (vu la qualité des GUI type Swing) mais C# ca permet de faire des winform tres facilement hein
Marsh Posté le 26-01-2007 à 23:24:15
C# aussi pour moi, auquel je me suis auto formé, pour le moment principalement pour faire des applications en winforms (je reste plutot php pour le web).
Par contre j'ai l'impression qu'en dehors des SSII pour trouver des poste de dev en C# c'est la mort, surtout sans expérience "pro" dessus (pour le moment mon profil est plutôt dev. asp/php).
Marsh Posté le 26-01-2007 à 14:18:07
Bonjour,
ayant fais mes premiers pas dans la programmation avec perl, j'ai envie aujourd'hui d'apprendre un nouveau langage.
quitte a me lancer dans l'apprentissage d'un nouveau langage j'aimerai autant choisir celui qui aura le plus "d'avenir" car cela pourrai influencer mes choix professionnels.
vous pensez quoi alors entre le Java et C# au niveau par exemple du marché de l'emploi, lequel est ou sera le plus utiliser dans un avenir proche, au niveau portablité...
merci d'avance pour vos conseils.