IdentifiantMot de passe
Loading...
Mot de passe oublié ?Je m'inscris ! (gratuit)
Navigation

Inscrivez-vous gratuitement
pour pouvoir participer, suivre les réponses en temps réel, voter pour les messages, poser vos propres questions et recevoir la newsletter

Affichage des résultats du sondage: Quel est le meilleur des deux langages selon vous ?

Votants
1184. Vous ne pouvez pas participer à ce sondage.
  • Je suis intéréssé par Java et C#

    240 20,27%
  • C#

    377 31,84%
  • Java

    368 31,08%
  • J'apprécie le fait d'avoir l'alternative Java ou C#

    108 9,12%
  • Ni l'un ni l'autre

    36 3,04%
  • Sans opinion

    46 3,89%
  • Autre avis ? (précisez...)

    9 0,76%
C# Discussion :

C# versus Java [Débat]


Sujet :

C#

  1. #301
    Expert éminent sénior
    Avatar de tchize_
    Homme Profil pro
    Ingénieur développement logiciels
    Inscrit en
    Avril 2007
    Messages
    25 481
    Détails du profil
    Informations personnelles :
    Sexe : Homme
    Âge : 44
    Localisation : Belgique

    Informations professionnelles :
    Activité : Ingénieur développement logiciels
    Secteur : High Tech - Éditeur de logiciels

    Informations forums :
    Inscription : Avril 2007
    Messages : 25 481
    Points : 48 806
    Points
    48 806
    Par défaut
    sauf que le SQL, c'est relativement standard

    Pour comparer les choses comparables, ce n'est pas la même chose de configurer et d'administrer un serveur oracle et un serveur "SQL server". Tes compétence SQL server, elle ne te serviront à rien quand tu devra évaluer les conséquences des 5000 options que te proposent oracle à l'installation. Et je peux te dire par expérience, une seule option mal choisie peut entrainer des effets néfastes à long terme sur la database. Pas pour rien que pour l'installation on fait appel à des gens qui font que ca tous les jour. La dernière qu'on a installée ici a mis des semaines à être configurée.


    PS: et si t'as pas 20To de données, tu utilise pas du oracle, c'est trop cher

  2. #302
    Expert éminent
    Avatar de _skip
    Homme Profil pro
    Développeur d'applications
    Inscrit en
    Novembre 2005
    Messages
    2 898
    Détails du profil
    Informations personnelles :
    Sexe : Homme
    Âge : 40
    Localisation : Suisse

    Informations professionnelles :
    Activité : Développeur d'applications
    Secteur : High Tech - Produits et services télécom et Internet

    Informations forums :
    Inscription : Novembre 2005
    Messages : 2 898
    Points : 7 752
    Points
    7 752
    Par défaut
    Citation Envoyé par Laurent Jordi Voir le message
    De ce que j'ai vu du java, je ne vois pas vraiment de différence avec le c# pour moi la différence réside dans le Framework et dans les outils d'intégration et de débogage.
    Ce n'est pas une maigre différence, je suis passé de .Net à Java suite à un changement de job. Bien qu'ayant déjà certaines connaissances de java, j'ai quand même galéré pour m'habituer aux frameworks, à la toolchain etc...

    En .net, pour une application web type, ton choix par défaut c'est Asp.net. Tout ce que tu trouves comme documentation c'est IIS, vs2008 et Asp.net, il est donc très facile de transposer tout ça pour que ce la corresponde à ton problème.
    En java, c'est beaucoup moins straightforward car c'est beaucoup plus la jungle. Il existe plusieurs serveurs d'applications, des dizaines de frameworks de présentation pour le web, ils sont plus ou moins bien pris en charge par les IDE, plus ou moins difficile à mettre en oeuvre et à configurer et ils s'empilent généralement plus ou moins bien sur d'autres frameworks censés assurer la couche métier/persistence.

    Et là le problème, c'est qu'on trouve de tout, donc trouver ce qui te convient est plus difficile et tu n'es pas à l'abri de te vautrer dans tes choix. Tu parlais de webservices, c'est un bel exemple, là aussi, sous .Net tu es facilement guidé par ton IDE vers le standard et tu arrives vite à un résultat, sous java ce sera de nouveau la croix et la bannière pour trouver un produit qui fait ce que tu cherches comme tu le souhaites. Les premiers sur lesquels on tombe sont souvent des mastodontes certes puissants mais très chiants à configurer et à mettre en oeuvre, il faut savoir trier et trouver le truc qui va à l'essentiel.

    Perso j'ai plusieurs fois abandonné des frameworks car trop pénibles à mettre en oeuvre, trop mal documentés ou ridiculement complexes par rapport à ce que je souhaitai faire.

  3. #303
    Membre chevronné
    Profil pro
    Inscrit en
    Février 2005
    Messages
    1 273
    Détails du profil
    Informations personnelles :
    Localisation : France

    Informations forums :
    Inscription : Février 2005
    Messages : 1 273
    Points : 2 202
    Points
    2 202
    Par défaut
    C'est bien ça le problème.
    Les experts fonctionnels qui spécifient des applications sans connaitre la technique, les architectes qui conçoivent sans considérer la techno...
    Et après on dit : Ah c'est un plat de spaghetti, et ça coute super cher.

    Heureusement pour nous que les architectes du batiment comprennent tous les matériaux qu'ils utilisent et que les bureaux d'étude disposent des moyens de vérifier la viabilité des architectures.
    Si on construisait les immeuble comme on conçoit l'informatique aujourd'hui...
    Vous imaginez un expert en plomberie ne pas comprendre la soudure ? Un artiste ne pas faire la différence entre la peinture à l'huile et la sanguine ?

    Je suis outré de lire certaines choses. Un architecte qui dit qu'il peut construire une application sans considérer la techno il mérite surtout de prendre la porte.
    Et pourquoi ? Parce que le socle technologique est structurant. Quand on décide d'utiliser un SGBD, il faut comprendre le SGBD, suivre la norme SQL, penser relationnel. Ca ne s'invente pas du jour au lendemain et ce n'est pas qu'un choix technique sans conséquence.
    Une architecture multitenant ça ne se résoud pas avec "on va rajouter un classe d'identification et du sharding".
    Utiliser du calcul GPU ça se pense, c'est structurant. Designer une API viable, c'est basé sur les possibilités du langage et notamment sur la preuve et la fiabilité de l'API.
    Le banc de test, l'usine logicielle...Tout ça c'est mineur ?
    Les charges, les modes d'utilisation.

    Ah oui, de façon agnostique je peux dire :
    Il faudrait une application qui fasse ce qu'il faut mais qui puisse faire plus et qui puisse être utilisée sur le web, sur un pc, un mac, un iphone et un blackberry, que tous les traitements soient rapides et que tous les traitements soient audités et qu'on garde l'historique de tout ce qui est fait, et qui le nombre d'utilisateurs soit multiplié par 1000 ça marche encore sans changement.

    Super.

    Quand j'étais petit, j'écrivais des choses agnostiques de la réalité pour noel.

    Moi j'ai pour principe de dire : un sujet que je comprends, c'est un sujet que je peux développer. Disons simplement qu'il existe des sujets triviaux où peu de questions existent, mais pas toujours.

  4. #304
    Rédacteur
    Avatar de pseudocode
    Homme Profil pro
    Architecte système
    Inscrit en
    Décembre 2006
    Messages
    10 062
    Détails du profil
    Informations personnelles :
    Sexe : Homme
    Âge : 51
    Localisation : France, Hérault (Languedoc Roussillon)

    Informations professionnelles :
    Activité : Architecte système
    Secteur : Industrie

    Informations forums :
    Inscription : Décembre 2006
    Messages : 10 062
    Points : 16 081
    Points
    16 081
    Par défaut
    Ca mériterait de créer un nouveau débat sur le métier d'architecte :

    "Architecte : quelles sont les compétences techniques requises ?"



    ALGORITHME (n.m.): Méthode complexe de résolution d'un problème simple.

  5. #305
    Expert éminent sénior
    Profil pro
    Inscrit en
    Décembre 2007
    Messages
    6 803
    Détails du profil
    Informations personnelles :
    Localisation : France, Hérault (Languedoc Roussillon)

    Informations forums :
    Inscription : Décembre 2007
    Messages : 6 803
    Points : 32 058
    Points
    32 058
    Par défaut
    Y'en a qu'on de la chance, l'architecture est conçue par des architectes(même mauvais). Ici, elle est conçue par la MOA, qui assigne les morceaux à differentes technos en fonction du cout, et ne comprend rien à la tuyauterie. Alors donc, on a un progiciel qui génére des fichiers de campagnes marketing sous UNIX(jusque là normal), puis un ETL maison sous UNIX les retrafique pour changer le format, puis c'est transféré sous COBOL pour un enrichissement, puis ça revient sous UNIX pour être intégré à l'appli transactionelle Java.

    Pourquoi? Parceque pour la partie enrichissement, le Cobol était moins cher à la réalisation. Et comme il y a déjà des traitements cobol qui existent(non réutilisables), il faut une bidouille ETL pour mettre à l'ancien format cobol(alors que le nouveau format aurait parfaitement convenu). Et on revient à la fin vers java parceque c'est eux la cible. Et si on propose des améliorations, elles sont mises à la poubelle avant examen.

    Alors que les gens du java ont, à disposition, tout ce qu'il faut pour enrichir les données. Ils auraient peut-être couté un poil plus cher que nous cobolistes, mais ça aurait permis de zapper l'ETL, et surtout de ramener les couts de maintenance à un niveau acceptable.

    Tout ça pour dire qu'effectivement, comparer les langages, c'est bien difficille, parceque le feed-back qu'on peut en avoir est fortement altéré par des raisons extérieures. Chez un autre client, j'ai vu un collègue Javaïste(ça se dit?) ne jamais éteindre son poste parceque recharger le projet sous Eclipse prenait 4 heures(et 1 heure après avoir enfin reçu un PC supermoderne, au bout de 2 ans d'attente). Fatalement, ça me laisse un a priori défavorable sur java, alors que c'est juste lié à une architecture abérrante - un seul projet monobloc pour une appli monstre.
    Les 4 règles d'airain du développement informatique sont, d'après Michael C. Kasten :
    1)on ne peut pas établir un chiffrage tant qu'on a pas finalisé la conception
    2)on ne peut pas finaliser la conception tant qu'on a pas complètement compris toutes les exigences
    3)le temps de comprendre toutes les exigences, le projet est terminé
    4)le temps de terminer le projet, les exigences ont changé
    Et le serment de non-allégiance :
    Je promets de n’exclure aucune idée sur la base de sa source mais de donner toute la considération nécessaire aux idées de toutes les écoles ou lignes de pensées afin de trouver celle qui est la mieux adaptée à une situation donnée.

  6. #306
    CUCARACHA
    Invité(e)
    Par défaut
    Bon... Je crois que pour le moment, je vais rester en .net mais j'ai quand même envie de me former à java.

    Je suis quasiment certain de pouvoir transposer mes tips & tricks de .net en java.

    J'ajoute que comme je maîtrise pas mal les poco t4, j'ai très envie de modifier mon générateur de couches pour qu'il puisse aussi bien générer du java que du c#.

    Pour information, j'ai créé une structure de couches qui génère automatiquement :
    La couche domain
    La couche datarepository
    La couche Context
    et pour les amoureux du MVC3, j'ai même généré la couche Models avec les dataannotations localizées.
    Prochaine étape génération des fichiers de ressources automatiquement aussi.

    C'est tellement puissant qu'en partant d'AMC Designer, je génère une base SQL Server, je régénère l'EDMX et les Pocos et hop, je n'ai plus qu'à travailler ma couche business (jusque là, rien d'impressionnant).
    J'ai fait le test suivant, je pars du même modèle de base dans amc designer, je change le sgbd de sortie, je génère la base en MySQL, je modifie le connecteur entity framework, je pointe sur la base my sql et,
    SANS AUCUNE MODIFICATION DE CODE, l'application a migrée de SQL Server à MySQL... Ouille bobo à Microsoft...

    Qu'en pensez-vous ?

    ++

    Laurent

  7. #307
    Expert éminent sénior
    Avatar de tchize_
    Homme Profil pro
    Ingénieur développement logiciels
    Inscrit en
    Avril 2007
    Messages
    25 481
    Détails du profil
    Informations personnelles :
    Sexe : Homme
    Âge : 44
    Localisation : Belgique

    Informations professionnelles :
    Activité : Ingénieur développement logiciels
    Secteur : High Tech - Éditeur de logiciels

    Informations forums :
    Inscription : Avril 2007
    Messages : 25 481
    Points : 48 806
    Points
    48 806
    Par défaut
    je connais pas .net, en java j'ai toujours eu des applications indépendantes dans la DB, donc en fait je vois pas trop l'utilité de porter ton générateur en java

  8. #308
    CUCARACHA
    Invité(e)
    Par défaut
    Là, je me permets de dire que tu fais preuve de mauvaise foi.

    Une application multicouches (pas hello world) vraiment indépendante de la db, je n'y crois pas il y a toujours une dépendance, ne serait-ce qu'au niveau de la couche business.
    Le seul contre exemple en .net est une application de type Application Web Dynamic Data ASP.net Entities qui ne permet d'avoir que le back office de n'importe quelle base. C'est bien indépendant de la structure de la base à condition que la base soit correctement construite et ça ne génère pas les IHM Business (ce qui est quand même une bonne chose pour notre métier).

    Etant toujours curieux de monter en compétence, si tu as un exemple, je veux bien regarder...

    ++

    Laurent

  9. #309
    Membre expérimenté Avatar de davcha
    Profil pro
    Inscrit en
    Avril 2004
    Messages
    1 258
    Détails du profil
    Informations personnelles :
    Âge : 42
    Localisation : France

    Informations forums :
    Inscription : Avril 2004
    Messages : 1 258
    Points : 1 539
    Points
    1 539
    Par défaut
    Tu fais du code SQL conforme à la norme du côté client de ton sgdb et dans les cas particuliers où tu as besoin d'utiliser les particularités de ton sgdb, tu fais des procédures stockées, des vues et autres trucs de ce style...

    Au final, t'as un truc qui est, côté client, indépendant de la base...

    Enfin, je vois pas trop pourquoi ta couche business devrait être dépendante du sgdb... Logiquement, elle n'a même pas connaissance de la couche d'accès aux données qui pilote le sgdb, alors...

    Peut-être que je pige pas ce que tu dis.

  10. #310
    Rédacteur
    Avatar de pseudocode
    Homme Profil pro
    Architecte système
    Inscrit en
    Décembre 2006
    Messages
    10 062
    Détails du profil
    Informations personnelles :
    Sexe : Homme
    Âge : 51
    Localisation : France, Hérault (Languedoc Roussillon)

    Informations professionnelles :
    Activité : Architecte système
    Secteur : Industrie

    Informations forums :
    Inscription : Décembre 2006
    Messages : 10 062
    Points : 16 081
    Points
    16 081
    Par défaut
    Citation Envoyé par Laurent Jordi Voir le message
    Là, je me permets de dire que tu fais preuve de mauvaise foi.

    Une application multicouches (pas hello world) vraiment indépendante de la db, je n'y crois pas il y a toujours une dépendance, ne serait-ce qu'au niveau de la couche business.
    Hum... Normalement il y a très peu de dépendances entre la couche "purement" business et la BdD. La seule dépendance est dans la DataSource, ou a la limite dans le DAO (si on se passe d'une DataSource et qu'on gère soi-même l'accès aux données).



    http://java.sun.com/blueprints/corej...rns/index.html

    ALGORITHME (n.m.): Méthode complexe de résolution d'un problème simple.

  11. #311
    CUCARACHA
    Invité(e)
    Par défaut
    Ce que je veux dire c'est qu'il y a forcément un moment où tu as des champs spécifiques (genre la couleur d'un fond d'un écran, une langue, les membres d'une formule). Si tu fais une base de données pour gérer de ventes de pizza tu ne pourras pas faire fonctionner un logiciel de calcul financier avec.

    C'est pourquoi j'ai assez tendance à m'appuyer sur des générateurs de code plutôt que d'abuser des outils génériques qui génèrent des générateurs de code indépendants de la génération de la structure générique qui finit par te faire oublier que le programme que tu crée est fait pour résoudre une problématique métier et non pour faire un comparo entre la culture technique d'un développeur par rapport à celle d'un autre.

  12. #312
    CUCARACHA
    Invité(e)
    Par défaut
    Concernant le schéma que tu présentes, je ne doute pas de sa généricité ou de son efficacité voir même d'une meilleure efficacité de ce que je mets en oeuvre.

  13. #313
    Invité
    Invité(e)
    Par défaut
    Quand on dit "dépendance de la abse de donnée" on parle du sgbd, pas de la structure de la base de donnée en elle meme.

  14. #314
    Rédacteur
    Avatar de pseudocode
    Homme Profil pro
    Architecte système
    Inscrit en
    Décembre 2006
    Messages
    10 062
    Détails du profil
    Informations personnelles :
    Sexe : Homme
    Âge : 51
    Localisation : France, Hérault (Languedoc Roussillon)

    Informations professionnelles :
    Activité : Architecte système
    Secteur : Industrie

    Informations forums :
    Inscription : Décembre 2006
    Messages : 10 062
    Points : 16 081
    Points
    16 081
    Par défaut
    Citation Envoyé par Laurent Jordi Voir le message
    Ce que je veux dire c'est qu'il y a forcément un moment où tu as des champs spécifiques (genre la couleur d'un fond d'un écran, une langue, les membres d'une formule). Si tu fais une base de données pour gérer de ventes de pizza tu ne pourras pas faire fonctionner un logiciel de calcul financier avec.
    Bien sur, la sémantique des données (data model) ainsi que les traitements associés (process model) sont dépendants du problème.

    Mais l'architecture de JEE - ou de tout autre plateforme applicative - propose un modèle fonctionnel ainsi que des composants "techniques", tout cela étant indépendant des spécificités du problème. On regroupe tout ca sous l'appellation "framework", même si à mon sens ce terme à un coté trop orienté technique (plomberie).

    Un site de e-commerce reste un site de e-commerce, qu'on y vende des chaussures ou des PC.
    ALGORITHME (n.m.): Méthode complexe de résolution d'un problème simple.

  15. #315
    CUCARACHA
    Invité(e)
    Par défaut
    Ok je vois où tu veux en venir...

  16. #316
    Expert éminent sénior
    Avatar de tchize_
    Homme Profil pro
    Ingénieur développement logiciels
    Inscrit en
    Avril 2007
    Messages
    25 481
    Détails du profil
    Informations personnelles :
    Sexe : Homme
    Âge : 44
    Localisation : Belgique

    Informations professionnelles :
    Activité : Ingénieur développement logiciels
    Secteur : High Tech - Éditeur de logiciels

    Informations forums :
    Inscription : Avril 2007
    Messages : 25 481
    Points : 48 806
    Points
    48 806
    Par défaut
    Citation Envoyé par pseudocode Voir le message

    Un site de e-commerce reste un site de e-commerce, qu'on y vende des chaussures ou des PC.

    A vendre, chaussures Kingston air sport, très peu servies, norme DDR3/1666, garanties à vie

  17. #317
    CUCARACHA
    Invité(e)
    Par défaut
    A Vendre Cours pour monter une gaming machine qui affiche du 30 FPS sous WOW en résolution 5760x1092 en 3D (avec les lunettes)...
    Prévoir 1 € pour le cours et 4500€ pour les pièces...

  18. #318
    Rédacteur
    Avatar de pseudocode
    Homme Profil pro
    Architecte système
    Inscrit en
    Décembre 2006
    Messages
    10 062
    Détails du profil
    Informations personnelles :
    Sexe : Homme
    Âge : 51
    Localisation : France, Hérault (Languedoc Roussillon)

    Informations professionnelles :
    Activité : Architecte système
    Secteur : Industrie

    Informations forums :
    Inscription : Décembre 2006
    Messages : 10 062
    Points : 16 081
    Points
    16 081
    Par défaut
    Citation Envoyé par tchize_ Voir le message
    A vendre, chaussures Kingston air sport, très peu servies, norme DDR3/1666, garanties à vie
    avec des socket taille 42 ?
    ALGORITHME (n.m.): Méthode complexe de résolution d'un problème simple.

  19. #319
    Expert éminent sénior
    Avatar de tchize_
    Homme Profil pro
    Ingénieur développement logiciels
    Inscrit en
    Avril 2007
    Messages
    25 481
    Détails du profil
    Informations personnelles :
    Sexe : Homme
    Âge : 44
    Localisation : Belgique

    Informations professionnelles :
    Activité : Ingénieur développement logiciels
    Secteur : High Tech - Éditeur de logiciels

    Informations forums :
    Inscription : Avril 2007
    Messages : 25 481
    Points : 48 806
    Points
    48 806
    Par défaut
    Citation Envoyé par pseudocode Voir le message
    avec des socket taille 42 ?
    ne support que les machnes à deux sockets, unijambistes mono processeur s'abstenir

  20. #320
    CUCARACHA
    Invité(e)
    Par défaut Alors regardes ça...
    Salut,

    En rentrant du boulot, je suis passé par Montgallet et j'ai vu CA !



    Bi xéon 2x6 coeurs, cartemère et cartes graphiques EVGA watercooled.
    4 GTX580 en quad SLI.... Je vous passe le reste des détails, 13000 le bout...

    Je pense sincèrement que ce genre de machine devrait être remboursés par la sécurité sociale pour toute personne ayant plus de 493 points dans ce fofo...

    ++

    Laurent

Discussions similaires

  1. vba versus java
    Par lemacdupc33 dans le forum Langages de programmation
    Réponses: 3
    Dernier message: 30/05/2017, 10h52
  2. Temps de compilation C++ versus Java
    Par ZeRevo dans le forum Eclipse C & C++
    Réponses: 0
    Dernier message: 16/12/2011, 13h34
  3. Que choisir : PHP versus Java ?
    Par Sniper37 dans le forum Général Conception Web
    Réponses: 164
    Dernier message: 28/04/2009, 16h50
  4. Vitesse : C Versus Java
    Par ToTo13 dans le forum C
    Réponses: 15
    Dernier message: 01/10/2006, 09h19
  5. WinDev versus Java
    Par Tijee dans le forum WinDev
    Réponses: 4
    Dernier message: 29/01/2006, 10h15

Partager

Partager
  • Envoyer la discussion sur Viadeo
  • Envoyer la discussion sur Twitter
  • Envoyer la discussion sur Google
  • Envoyer la discussion sur Facebook
  • Envoyer la discussion sur Digg
  • Envoyer la discussion sur Delicious
  • Envoyer la discussion sur MySpace
  • Envoyer la discussion sur Yahoo