Yo,
Je voulais savoir ce que vous pensiez de ces 2 langages.
Quels en sont les avantages et les inconvénients ?
J'en pense pas grand chose. Ils ne sont pas fondamentallement different. Il y a des petties differences ici et la, mais moralement, c'est du pareil au meme.
Bahhhhh c'est ce que je me dis, mais je dois progresser en Java (parce que je vais faire une alternance dans ce langage), mais je suis plus à l'aise actuellement en C# (rien qu'avec l'IDE).
Javascript ![]()
Le 09 août 2016 à 08:31:48 TintinNodeJs a écrit :
Javascript
Intérêt du commentaire ?
Tu demandes l'avantage/inconvénient entre Java et C# et tu fais un sondage où on peut répondre avec le nom d'un langage ?
Si tu fais une alternance en Java et que t'es moins à l'aise, essaie de te remettre à niveau dans le langage non ?
C'est justement ce que je comptais faire, mais je voulais savoir si les différences étaient grandes ou non.
Et quelles étaient les possibilités de Java, que C# n'a pas.
Le 09 août 2016 à 08:31:48 TintinNodeJs a écrit :
Javascript
Le JS n'a aucun rapport avec les deux langages Java et C# ce que je citerais comme inconvénients au C# c'est souvent tu vas devoir utiliser les APIs Microsoft
Les deux langages ont leurs avantages et leurs inconvénients, quoi.
Le gros défaut de Java, c'est son environnement, qui est complètement pété ; le gros défaut de C#, c'est qu'il ne tourne nativement que sur Windows (mais il le fait bien, à l'inverse de Java).
Au niveau de l'emploi, il y a plus d'offres pour du Java, mais les offres pour du C# sont généralement plus sérieuses et mieux rémunérées. Ça correspond un peu à ce qu'on y trouve : Java c'est gratuit, alors on trouve beaucoup plus d'apprenti-sorciers (coucou Notch !) qui bidouillent qu'en C#. C'est une comparaison à peu près valable à celle du sysadmin linux et du sysadmin Windows server. Y en a un qui peut bosser dans la première boite qui passe sans trop de soucis, et y en a un autre qui doit viser de plus grosses structures avec tout ce que ça implique.
C# simplement a cause de toute la suite .NET de mon point de vue.
C'est assez similaire sauf que C# est plus spécialisé sur Windows. Originellement Java est plus portable mais C# accède à une certaine portabilité par exemple grâce à Mono, Xamarin et Unity 3D. Coté emploi les deux sont très demandés, bien qu'en France il y à environ 4 fois plus d'offres sur Java que sur C#, ce qu'il est possible de voir assez facilement par exemple ici : http://emploi.developpez.com
Bref à mon avis tu peux tout à fait décider de te spécialiser sur C# si c'est ta préférence, tant qu'à faire apprends tout le Stack Microsoft : Windows, C#, DotNet et Microsoft SQL Server.
Par contre Java c'est vaste, si tu doit faire une alternance avec tu t'en sortira pas sans te plonger sérieusement dedans, cependant je pense qu'une expérience sur Java te sera très utile même si tu passes ensuite à C# par préférence personnelle.
Pour être franc, j'ai réalisé un projet en C# de 6 mois, dans le cadre de mon BTS, qui m'a fait découvrir ce langage, et normalement je commence une alternance en novembre où je devrais programmer en python et Java.
C'est pour ça que je compte me plonger dans Java, vu comment il est vaste (apparemment).
Jette un œil sur ces cours Java http://java.developpez.com/cours/ et les FAQ Java : http://java.developpez.com/faq/ ça pourrais t'être utile. ![]()
Le 09 août 2016 à 15:14:06 warpShadow a écrit :
Les deux langages ont leurs avantages et leurs inconvénients, quoi.Le gros défaut de Java, c'est son environnement, qui est complètement pété
lol.
mais il le fait bien, à l'inverse de Java
lol.
Ça correspond un peu à ce qu'on y trouve : Java c'est gratuit, alors on trouve beaucoup plus d'apprenti-sorciers (coucou Notch !) qui bidouillent qu'en C#.
Renseigne-toi, C# c'est aussi gratuit... A part l'IDE mais tu as une version gratuite.
C'est une comparaison à peu près valable à celle du sysadmin linux et du sysadmin Windows server.
Y en a un qui peut bosser dans la première boite qui passe sans trop de soucis, et y en a un autre qui doit viser de plus grosses structures avec tout ce que ça implique.
Ou pas. Tu as entendu parler du framework Oracle ? Tout aussi puissant que le framework .NET.
Exemple d'entreprise qui l'utilise : la CMA-CGM, le plus gros armateur du monde (si ça c'est pas un projet sérieux....).
C# est soudé à Windows, tu peux exécuter directement du C# sur une base de données SQL Server et exécuter des commandes PowerShell. Tu peux manipuler d'ActiveDirectory aussi. Java ne le fait pas pour des raisons de portabilité.
Je serais tenté de dire Java (choix fortement influencé par mon point de vue) car il est portable et très complet et tu n'auras qu'un saut à faire pour apprendre le C# qui inclut quelques fonctionnalités plus avancées. Après niveau API les deux se valent, ils ont une base commune puis se séparent dans des domaines plus spécifiques.
C'est pas parce que une boîte aussi grosse soit-elle l'utilise, que cela fait de tel ou tel langage le meilleur.
Tout déprend des besoins et de l'environnement. On choisit un langage pour ses besoins et son environnement qui peut emmener des contraintes.
Par "framework Oracle" tu parles pas de cette abomination qu'est Oracle ADF j'espère ? Parce que d'une part c'est une framework web, pas réellement comparable avec .NET donc (même s'il dispose évidemment de briques généralistes), et en plus c'est un cataclysme architectural qui interdit à peu près toute notion d'extensibilité (même une idée aussi simple que modifier le style visuel c'est pratiquement mission impossible) autre que ce qui a été pensé par les développeurs du framework. Honnêtement je suis même pas certain qu'il soit encore utilisé pour de nouveaux projets, j'espère sincèrement que non.
Le 14 août 2016 à 16:51:01 Nemergal a écrit :
C'est pas parce que une boîte aussi grosse soit-elle l'utilise, que cela fait de tel ou tel langage le meilleur.
Tout déprend des besoins et de l'environnement. On choisit un langage pour ses besoins et son environnement qui peut emmener des contraintes.
Je suis en train de dire qu'un projet java peut être tout aussi sérieux qu'un projet C#, pas en train de dire qu'il est le meilleur...
Le 14 août 2016 à 17:03:11 Childermass a écrit :
Par "framework Oracle" tu parles pas de cette abomination qu'est Oracle ADF j'espère ? Parce que d'une part c'est une framework web, pas réellement comparable avec .NET donc (même s'il dispose évidemment de briques généralistes), et en plus c'est un cataclysme architectural qui interdit à peu près toute notion d'extensibilité (même une idée aussi simple que modifier le style visuel c'est pratiquement mission impossible) autre que ce qui a été pensé par les développeurs du framework. Honnêtement je suis même pas certain qu'il soit encore utilisé pour de nouveaux projets, j'espère sincèrement que non.
Alors l'abomination est prise en compte mais je faisais surtout allusion au JavaEE et API Database.
Le 15 août 2016 à 09:40:49 Arthur340 a écrit :
Le 14 août 2016 à 16:51:01 Nemergal a écrit :
C'est pas parce que une boîte aussi grosse soit-elle l'utilise, que cela fait de tel ou tel langage le meilleur.
Tout déprend des besoins et de l'environnement. On choisit un langage pour ses besoins et son environnement qui peut emmener des contraintes.Je suis en train de dire qu'un projet java peut être tout aussi sérieux qu'un projet C#, pas en train de dire qu'il est le meilleur...
Le 14 août 2016 à 17:03:11 Childermass a écrit :
Par "framework Oracle" tu parles pas de cette abomination qu'est Oracle ADF j'espère ? Parce que d'une part c'est une framework web, pas réellement comparable avec .NET donc (même s'il dispose évidemment de briques généralistes), et en plus c'est un cataclysme architectural qui interdit à peu près toute notion d'extensibilité (même une idée aussi simple que modifier le style visuel c'est pratiquement mission impossible) autre que ce qui a été pensé par les développeurs du framework. Honnêtement je suis même pas certain qu'il soit encore utilisé pour de nouveaux projets, j'espère sincèrement que non.Alors l'abomination est prise en compte mais je faisais surtout allusion au JavaEE et API Database.
Dire que c'est pété sans préciser ni les librairies ni les versions des frameworks n'est pas très fairplay.
Il y a de nouveaux composants dans Java qui sont sortis (au revoir swing et bonjour Java FX), JEE connait de sérieuses alternatives comme Spring ou Play!. Au niveau de l'API Database on n'utilise que très rarement le JDBC standard et on passe plutôt soit par un ORM, soit par un DSL de Query, qui permettent d'avoir une abstraction objet des requêtes.
Côté template engine il y a beaucoup d'alternatives aujourd'hui. A l'époque on utilisait en effet les JSP avec scriplets, imports java dans la vue etc.. sauf que cette époque est révolue depuis très longtemps. Aujourd'hui on a le choix entre différentes solutions comme freemarker, twig, mustache, thymeleaf et mon petit préféré jade.
Côté ws également cela a évolué avec l'arrivée de plein de frameworks.
Bref, c'est sûr que si tu as bossé sur des vieux projets mal codés et pas du tout aux normes d'aujourd'hui c'est une horreur, mais Java et JEE aujourd'hui sont aussi professionnels que C#. Mais comme il existe de nombreux composants qui font la même chose, il faut en effet être capable d'utiliser celui adapté à son besoin.
Concernant la JVM elle s'est aussi améliorée. A l'époque elle ne faisait que de l'interprétation du bytecode. Aujourd'hui hotspot optimise le bytecode, le compile (JIT) en langage machine et stock le code optimisé en mémoire. D'ailleurs plusieurs langages proposent une compilation en bytecode pour être utilisés sur la JVM pour ses performances : Scala, Groovy, Clojure... à l'instar de ce qui se fait sur le CLR.
Personnellement, ayant des amis dév C#, quand on discute des composants et des pratiques c'est sensiblement la même chose (même s'il est vrai que le langage C# est un peu plus complet que Java avec ses meilleurs generics, la possibilité de surcharger les opérateurs, les virtual.., dont on peut s'affranchir à l'aide de pattern architecturaux).
Concernant les entreprises soit disant "amateur" qui utilisent Java : je ne citerai que Amazon, Google, Facebook et Netflix.
Google est un grand contributeur du monde Java avec Guice, Guava, GWT entre autre.
Facebook également dans le domaine des big data avec Presto.
Le 15 août 2016 à 10:21:52 31K2BPM a écrit :
Dire que c'est pété sans préciser ni les librairies ni les versions des frameworks n'est pas très fairplay.
[...]
Google est un grand contributeur du monde Java avec Guice, Guava, GWT entre autre.
Facebook également dans le domaine des big data avec Presto.
Mais tu m'as lu ? Je vais exactement dans ton sens...
De plus je ne vais pas donner de versions et préciser puisque parmi ceux qui argumentent contre moi se trouvent des personnes qui n'ont jamais écrit 2 lignes sous JSF.
D'ailleurs tu travailles en JSP toi ? Je trouve ça sympa mais JSF est quand même plus puissant !
Le 15 août 2016 à 14:50:51 Arthur340 a écrit :
Le 15 août 2016 à 10:21:52 31K2BPM a écrit :
Dire que c'est pété sans préciser ni les librairies ni les versions des frameworks n'est pas très fairplay.
[...]
Google est un grand contributeur du monde Java avec Guice, Guava, GWT entre autre.
Facebook également dans le domaine des big data avec Presto.Mais tu m'as lu ? Je vais exactement dans ton sens...
De plus je ne vais pas donner de versions et préciser puisque parmi ceux qui argumentent contre moi se trouvent des personnes qui n'ont jamais écrit 2 lignes sous JSF.D'ailleurs tu travailles en JSP toi ? Je trouve ça sympa mais JSF est quand même plus puissant !
En fait je me suis trompé en citant, je voulais citer le post de warpShadow.
Dans mon ancien job j'utilisais des JSP oui, mais je n'ai pas trop aimé. Actuellement j'utilise Handlebars (Mustache) et freemarker, mais chez moi j'utilise Jade (Jade4J) qui est vraiment pas mal du tout !
Après ce n'est que la partie vue (template engine), sous le capot c'est spring mvc que nous utilisons.