Mais il est impossible de vendre le résultat de ton travail, au mieux tu peux vendre le support. Donc ce cas, déjà très particulier n'est en plus valable que dans le cadre d'un projet d'intégration interne à une entreprise.
Mais il est impossible de vendre le résultat de ton travail, au mieux tu peux vendre le support. Donc ce cas, déjà très particulier n'est en plus valable que dans le cadre d'un projet d'intégration interne à une entreprise.
Alors pour commencer, montre-moi une solution de comptabilité opensource qui soit véritablement utilisable pour autre chose qu'une simple gestion de caisse.
Ensuite, si une telle solution existe en Java, je ne vois pas pourquoi elle ne pourrait pas exister en .Net.
Qu'est-ce que c'est que cet argument de dire qu'en Java tout est opensource, communautaire et fiable en opposition à .Net ? C'est soit de la grosse mauvaise foi, soit une profonde méconnaissance du monde .Net
Manque de bol, les modifications que tu auras faites pour répondre à tes besoins t'empêcheront de profiter des évolutions apportées par la communauté...ou alors tu passeras des semaines à les intégrer dans ta version personnelle
Réduire .Net à la création facile de belles fenêtres...no comment![]()
In my experience, any attempt to make any system idiot proof will only challenge God to make a better idiot.
Compiere, Openbravo, Adempiere fait un tour à sourceforge..
Les exemples que j'ai cités ci dessus sont de véritable frameworks, ils ont prévus des possibilités d'adaptations sans modifier le cœur du code source, mais en ajoutant son propre code, ou en paramétrant tout simplement le logiciel existant, donc toute adaptations faites suivants ces règles ne vont pas souffrir de l'évolution de l'application.
D'autre part ils sont aussi bien conçus dans le sens où la logique de l'interface utilisateur, et la logique métier sont clairement distincts. Donc je peux très bien m'occuper uniquement de la maintenance de mon UI, la logique métier, je le fais avec la communauté. D'autre part je peux aussi très bien créer une "branche" dans le projet où je place toute mon appli, et la communauté peut alors m'aider à le maintenir
je n'irais pas jusque là, mais je ne crois pas qu'il y ai trop de composants "métier" opensource ou qui ont fait leur preuve en .Net. Il y a des composants je dirais "d'infrastructures" - composant pour les web services, pour la persistance, pour la messagerie, pour l'UI etc..-
Et après ? On constate que DotNet y est bien repéresenté aussi.
Recherche sur :[*] ".NET" : 3415 items[*] DotNet : 100 items
==> DotNet a tout de même 3600 entrées (arrondi depuis 3500)
Sur 6 ans, cela fait +- 600 nouvelles entrées par an !
Et ce rien que sur SourceForge (qui n'est pas DotNet specific)
Donc tu crois qu'il n'y a pas de composants métiers dans DotNet. Linq, c'est quoi à ton avis ? Un outil pour GUI ? System.Data, c'est un espace de nom qui sert juste à décorer ? Les DataSets, c'est aussi un jouet pour enfant ? Et là je ne parle que des fonctions "core" de DotNet, je n'ouvre même pas le débat des FrameWorks (DevExpress, ...).
Fremy
Pour vos développements Web et une navigation agréable, le tout gratuit :
1) IE 8 + IE7Pro (Si vous ne connaissez pas IE7Pro, essayez !)
2) FF 3 + Web Developper Toolbar + AdBlockPlus + FireBug + GreaseMonkey
Je suppose qu'il va répondre qu'il s'agit de "composants d'infrastructure", et il aura raison.
En parlant de composants métier, il faut rester au sens strict du terme, donc par exemple, la compta.
Alors oui, le monde Java a peut être produit des solutions métiers fiables, mais (cela a été dit et redit), .Net est une technologie nettement plus jeune; il est parfaitement normal que l'offre opensource soit (un peu) moins fournie qu'en Java; mais des solutions tout aussi fiables existent en .Net dans tout les domaines (fouille et compare tous les projets de sf...moi j'ai pas le courage).
Bref, je ne pense pas que l'on puisse basée une argumentation sur ce genre de critères...
In my experience, any attempt to make any system idiot proof will only challenge God to make a better idiot.
Suis désolé mais dans le domaine d'application de type ERP qui est le point de départ de ma discussion il y a pas de projet .Net qui approchent seulement les projets que j'ai cités ( Compiere, Openbravo, Adempiere )
Est ce que tu as même bien lu ce que j'ai dis? je me citeLinq et autre je les ai classés parmi les composants "d'infrastructures", ils sont utilisés pour créer des composants "métiers", on peut par exemple utiliser linq, les webservices et autre pour créer un composant "facturation" , le composant "facturation" je l'ai classé comme un composant "métier". Je dis qu'en java, et dans beaucoup de domaine (application réseau, application de gestion etc..) il y a beaucoup de composant/application opensource ayant fait leur preuve - ou faisant actuellement leur preuve- contrairement à .Net..en .Net. Il y a des composants je dirais "d'infrastructures" - composant pour les web services, pour la persistance, pour la messagerie, pour l'UI etc..-
Alors ça dépend, ce que j'ai inclu dans le terme général "support" c'est aussi des garanties. Et cela n'est possible qu'avec les produits libres d'une certaine importance. Car le support d'un autre utilisateur, par ex: un consultant, ça m'intéresse pas car c'est pas lui qui corrigera les bugs si jamais on en trouve.
Je suis d'accord que la garantie d'un bon support demande une taille critique mais
Si ton consultant travaille sur du libre, rien ne l'empêche en théorie de travailler à la résolution du bug trouvé chez son client(il demandera sans doute rémunération) et ensuite de poster son correctif. La communauté testera son correctif et l'intégrera. Toi en tant que client, tu pourras tester de ton coté le correctif avant de l'installer en production. C'est à mon sens plus rapide et tout aussi fiable qu'une solution propriétaire.
Je suis d'accord, avec un produit propriétaire et un support, rien ne garantit qu'un bug sera reconnut et traité rapidement. Sur notre projet, on n'en a fait les frais.
J'aimerais juste rappeler qu'il ne s'agit pas du débat "Pour ou contre l'opensource" et qu'en aucun cas une discussion ".Net vs Java" ne peut se dérouler sur ce terrain.
La philosophie opensource n'est pas l'apanage de Java.
Merci de bien vouloir recadrer vos argumentations.![]()
In my experience, any attempt to make any system idiot proof will only challenge God to make a better idiot.
Toutefois, je préfère une boîte propriétaire qui répond de son produit de par le contrat de licence, plutôt que du open source dont les auteurs se déchargent de toutes responsabilités.
C'est clair que ce n'est pas cela qui garantira que le fournisseur est quelqu'un de correct mais tout au moins il aura certaines obligations vis-à-vis de vous.
Un cas exemple qui m'est arrivé, j'ai trouvé un bug sur un driver de base de données firebird, j'ai posté sur la mailing liste de la communauté, 2 semaines plus tard l'auteur m'a répondu qu'il avait pas le temps de s'occuper de ça pour l'instant. Et aujourd'hui, soit plus de 6 mois plus tard le bug existe toujours.
Alors grand merci que ce soit pas une fonctionnalité critique pour moi.
Merci mais sur certains projets open source, le fait que les auteurs n'ont de compte à rendre à personne peut quand même poser problème. si cela avait été un produit payant j'aurai été en meilleure position!
Enfin je ne souhaite pas détourner ce débat, je voulais juste dire que c'est pas parce que c'est de l'open source que c'est tout rose.
Personnelement depuis que j'ai touché .net j'ai laché perl et php. Je vais bientot me mettre a java
Viva la viva... en el chorizo de la corida de leon.... (cette phrase n'a aucun sens je sais)
DotNet tire de Java tout ce qu'il y a de mieux. Je crois que les Javaïstes doivent admettre que DotNet est mieux, - et c'est normal, - ce qui n'empêchent pas Java d'être un très bon langage.
Je m'explique :
Les langages vont en s'améliorant. Au début on travaillait en bytecode, puis on a eu COBOL, FORTRAN, C, C++, ... Je connais des gens qui travaillent encore en COBOL de nos jours et qui disent que C++ c'est lourd et pas optimisé, que ca ne convient pas pour les bases de données de grosses entreprises. Je ne veux pas les contredire mais leur point de vue est un peu vieillot, non ?
Bon continuons. Après C++, on tombe - bien après - sur Java, qui est un énorme pas en avant pour de nombreux points. 5 à 10 après on a DotNet, qui tire avantage des "essais-erreurs" de Java et sort une plateforme encore meilleure. Un jour un autre langage détrônera DotNet. C'est la vie.
Fremy
Pour vos développements Web et une navigation agréable, le tout gratuit :
1) IE 8 + IE7Pro (Si vous ne connaissez pas IE7Pro, essayez !)
2) FF 3 + Web Developper Toolbar + AdBlockPlus + FireBug + GreaseMonkey
Oui, les langages évoluent. Mais se baser là-dessus pour dire qu'ils sont meilleurs, c'est juste faux.
C# n'est pas meilleur que C++. Je préfère C# pour de nombreuses raisons, mais c'est tout un débat et par exemple les templates C++ sont bien plus puissants.
De même, tu peux dire que Lisp est très vieux, il n'est pas mauvais pour autant. Il a plein de trucs qui ne sont pas faisables directement en C# et compagnie. La jeunesse peut aussi avoir le problème de la maturité ou du manque de communauté/outils (je ne dis pas que c'est le cas ici). Juste, ne te base pas sur l'âge pour argumenter.
Si tu veux évoluer, passe de C# à F#, F# étant plus récent.
Note : mes exemples ne servaient qu'à contrer l'argument de l'âge. Si quelqu'un veut répondre à un de ces points, il vaut mieux le faire dans un autre thread.
Comme on dit "La vertu n'attends pas le nombre des années". Ce genre de commentaire n'aide pas à faire avancer le débat.
"Si on se basait sur l'orthographe de la personne...."
[EDIT]Je ferais aussi remarquer que mon frère de 12 ans joue à Bitefight aussi, ce qui prouve naturellement le degré d'évolution psychologique de gorgonite...
Trêve de plaisanterie, je ne dis pas que la "nouveauté" d'un langage le rend blanc ou noir. Fortran et C++ on été conçus avec des objectifs différents, ce qui leur confère chacun des avantages. Seulement, Java et DotNet ont la même cibles.
> J2EE <> ASP.NET
> J2SE <> DotNet tout court
> J2ME <> Compact Framework
> JDBC + JDO <> ADO.NET
> EJB <> Entreprise Library
> Possibilité de multi-plateforme suite à une "machine virtuelle" et code "précompilé" mais pas compilé
> Applications basés sur le DESIGN et sur le CONSOLE
La comparaison ne s'arrête pas là mais c'est déjà une bonne preuve que les langages ont un même public.
Microsoft ne va pas séduire autant de monde avec DotNet (C# = 3e langage en entreprise, sans compter que VB.NET est aussi assez utilisé) si c'est un remake de Java. Si il a du succès, c'est qu'il fait mieux. Ou qu'il est mieux vendu, mais ca ne me semble pas trop être le cas, Sun ayant une politique de marketing assez conséquente, comme MS.
Et ces améliorations, on peut les trouver :
- Génériques (pas loin des Template C++, même si c'est différent car on ne peut pas utiliser d'expression, juste des types)
- XML Litérals
- LINQ (LINQ to Objects - DLinq - XLinq)
- Events, EventHandlers, Delegates (Java utiliser des interfaces et des add___Listener, ce qui est plus casse-pied, il faut l'avouer)
- Outils d'éditions GUI plus puissants, tant sous WinForm que sous WebForm
- Gestion du COM + acceptation de plusieurs langages et interactivité totale ou partielle (selon les specs des langages non-MS) de ces langages entre eux (C#, VB.NET, J#, F#, Ruby, COBOL.NET, PHP, ...)
- Contrôles préfaits en grand nombre
- GDI+ est très facile à utiliser et très performant
- Facilité d'intégrer des éditeurs de contrôle/valeurs à Visual Studio directement dans le code du contrôle, pas besoin de passer par des plugins
- Possibilité d'avoir des attributs sur des classes, des propriétés, des méthodes, des champs, ...
- ...
[EDIT]
LISP n'a pas le même objectif que Java.
Tout comme F# n'a pas le même que C#.
Comparons ce qui est comparable.
Fremy
Pour vos développements Web et une navigation agréable, le tout gratuit :
1) IE 8 + IE7Pro (Si vous ne connaissez pas IE7Pro, essayez !)
2) FF 3 + Web Developper Toolbar + AdBlockPlus + FireBug + GreaseMonkey
Hello
Java posséde lui aussi les generics
C'est à dire ?
Yep.
Ca dépend ... en fait, tout ça n'est qu'une version bridée et moche des closures, que ce soit en Java ou en C#.
Yep.
Hum ... plusieurs dizaines de langages tournent sur la JVM.
Graphiques tu veux dire ?
Java2D et Draw2D font pareil.
Gné ? Peut être que c'est parceque le .net est plus un monde à un seul IDE ?
Java possède un truc qui s'appèle annotations qui fait exactement ça.
...
Encore quelques avantages (récents) de DotNet :
- Type inférence
- Types et méthodes anonymes
- Expressions Lambda
- Syntaxe "new" améliorée
Code VB.NET : Sélectionner tout - Visualiser dans une fenêtre à part
1
2
3
4 ' E est du type ' "Func(Of Object, Boolean)" ' Ou "Delegate Function (O as Object) as Boolean" Dim E = Function(O as Object) O.GetType().FullName.StartsWith("System.")
- ...
Code C# : Sélectionner tout - Visualiser dans une fenêtre à part
1
2
3
4
5
6
7
8
9
10
11
12
13 // S'utilise surtout dans les requêtes LINQ, avec LET ou SELECT var o = new() {Name:"François",LastName:"REMY",Age:13}; // Similaire à ceci public class CS$Type$01 { public readonly String Name; public readonly String LastName; public readonly Integer Age; } CS$Type$01 o = new CS$Type$01(); o.Name="François"; o.LastName="REMY"; o.Age=13;
Fremy
Pour vos développements Web et une navigation agréable, le tout gratuit :
1) IE 8 + IE7Pro (Si vous ne connaissez pas IE7Pro, essayez !)
2) FF 3 + Web Developper Toolbar + AdBlockPlus + FireBug + GreaseMonkey
Vous avez un bloqueur de publicités installé.
Le Club Developpez.com n'affiche que des publicités IT, discrètes et non intrusives.
Afin que nous puissions continuer à vous fournir gratuitement du contenu de qualité, merci de nous soutenir en désactivant votre bloqueur de publicités sur Developpez.com.
Partager