Warum ist die Java-Toolchain eigentlich so haushoch überlegen?
-
M0ther schrieb:
das ist ein Fehlschluss.
ok, ich bin nicht so'n toller logiker, aber dass Nr.N's troll-statement entweder gegen Java oder win gerichtet war, musste aber zugeben. hey, wieso wurde sein posting gelöscht und meins nicht?
-
SideWinder schrieb:
Offenbar versuchen "Kräfte" hier mit Müh' und Not einen Flamewar zu erzeugen. Höchstwahrscheinlich habe ich meinen Thread auch unglücklich gestartet. Habe diese Postings vorerst gelöscht. Tut mir leid, aber sonst läuft das ganz sicher aus dem Ruder.
Ja, du hast den Thread unglücklich gestartet. Ich muss zu meiner Schande aber gestehen, dass ich nicht gemerkt habe, dass es um Java vs. .NET geht, sondern dachte, es ginge um Java vs. alles.
-
Meine Idee dazu ist, dass die Windows Benutzer es gewohnt sind, alles von MS zu bekommen (VS, C#, .NET), während die Benutzer freier Software eher auf die Community bauen. Jetzt versucht ja auch MS auf den Community-Zug auf zuspringen mit Codeplex.
Durch die Offenheit von Java sind auch ganz viele Community-Projekte entstanden. Wie Groovy, Scala, Jython, usw. Wo sind solche Projekte für C#?
Wie ist eigentlich VS2008? Ich habe mit VS2005 gearbeitet und das war ziemlich veraltet und fast unbrauchbar.
PS: Hat jemand einen Link wo man die Dokumentation für .NET/C# als eine einfaches HTML Dokument runter laden kann? In ZIP Format? Dafür wäre ich sehr dankbar.
-
SideWinder schrieb:
Siehe Topic.
Bspw. MyEclipse, ein Projekt mit Anbindung an Datenbank inkl. Reverse-Engineering für Hibernate, Logging, Build-Tools, Unit-Tests, CVS/SVN-Einbindung uvm. alles unter einem wunderbaren Hut.
Was seh ich bei C#? Für ORM gibt es ein paar müde VS-Plugins die weit nicht an die Features der Java-Versionen ran kommen. Das eingebaute ADO.NET Entity Framework ist ohnehin nicht zu gebrauchen. Ändere ich etwas in der Datenbank muss ich alles neu machen, ein späteres Update-Reverse-Engineering ist nicht möglich...out of the box ist eigentlich nur der GUI-Edtior gut. Evtl. im neuen VS08 die 5-10 Jahre verspätete Unit-Test-Integration...
Kenne ich *die* Tools für C# ganz einfach noch nicht, oder sind die wirklich so weit hinten?
MfG SideWinder
Die Gründe wurden ja eigentlich schon genannt...
Java gibts halt auch schon länger als C#, viele Tools wurden frühzeitig entwickelt und immer mehr verbessert. Und das was einer mit "Mileau" meinte, ist sicherlich auch nicht ganz falsch. So Dinge wie Unit-Tests etc. sind in Java eigentlich total normal und wird auch erwartet.
Mit das wichtigste ist sicherlich auch, dass Eclipse eben einfach eine super erweiterbare Plattform ist.
-
UNITTEST gibt es auch für VS 2008.
Es kommt ja immer darauf an welche Version man verwendet.
Ab Pro aufwärts bis zur Team sind da Dinge drin die es früher eben nicht gab.
Aber eben auch alles teuer.
-
Ich würde mal sagen, das man auch mit VS und somit C# sehr gut an Java Tools rankommt. Nur das man bei VS ein paar Euros investieren muß. Es gibt ja den Reshaper, Visual Assist X usw. Damit kann man VS schon sehr gut erweitern. Ich habe zu Hause die große VS2005 und da kann man auch Unittests erzeugen. Ich benutze diese dinge allerdings nicht, aber die Menüpunkte sind auf jeden Fall da.
-
Zeus schrieb:
Nur pech, dass Java EE nicht dazu gehört
Deswegen schrieb ich "zu einem kleinen Grad". IntelliJ Lizenzen sind aber verhältnismäßig billig in Anbetracht der Tatsache, was diese IDE alles bietet.
Leider sind viele Entscheider zu geizig, um den Entwicklern die bestmöglichen Tools mit an die Hand zu geben.Nicht falsch verstehen, ich mag Eclipse gerne. Aber grade beim JEE + Framework Support hingt es doch deutlich hinterher. MyEclipse ist schon besser, aber kommt eben nicht an IDEA ran.
-
Java ist einfach aelter als C#.
-
Artchi schrieb:
Ich würde mal sagen, das man auch mit VS und somit C# sehr gut an Java Tools rankommt. Nur das man bei VS ein paar Euros investieren muß. Es gibt ja den Reshaper, Visual Assist X usw. Damit kann man VS schon sehr gut erweitern. Ich habe zu Hause die große VS2005 und da kann man auch Unittests erzeugen. Ich benutze diese dinge allerdings nicht, aber die Menüpunkte sind auf jeden Fall da.
Eigentlich helfen Resharper und Visual Assist X nur um mal halbwegs an den Punkt zu kommen, was die Eclipse-Editor-Komponente von Haus aus bietet. Von Library-Einbindng keine Rede.
Warum kann ich nicht auf mein Projekt rechtsklicken und Libraries -> Use boost library anwählen und er compiliert autom. alles im Hintergrund was benötigt wird? Warum muss ich bei NHibernate mich immer noch mit XML rumplagen? usw. es ist eigentlich im Vergleich ziemlich jämmerlich
Ich glaube das liegt nicht unbedingt am Alter. Vielleicht doch eher daran, dass hier in die richtige Richtung gefördert wurde was man anderswo verabsäumt...
UNITTEST gibt es auch für VS 2008.
Wie oben auch bereits von mir erwähnt. Jahre zu spät.
MfG SideWinder
-
SideWinder schrieb:
Ich glaube das liegt nicht unbedingt am Alter. Vielleicht doch eher daran, dass hier in die richtige Richtung gefördert wurde was man anderswo verabsäumt...
und die meisten .NET-user sind bestimmt auch ganz zufrieden mit dem status quo, sonst wär's ja anders. sehr viele features sind nunmal nicht jedermanns ding, mancher fühlt sich bestimmt durch die fülle der funktionen der Java-IDEs regelrecht erschlagen.
-
SideWinder schrieb:
Eigentlich helfen Resharper und Visual Assist X nur um mal halbwegs an den Punkt zu kommen, was die Eclipse-Editor-Komponente von Haus aus bietet. Von Library-Einbindng keine Rede.
Also ich arbeite täglich seit 8 jahren mit Eclipse, und ich weiß jetzt nicht, welche großartigen Unterschiede/Deffizite du jetzt im Gegensatz zu VAX meinst.
SideWinder schrieb:
Warum kann ich nicht auf mein Projekt rechtsklicken und Libraries -> Use boost library anwählen und er compiliert autom. alles im Hintergrund was benötigt wird?
Was hat das Build mit Einbindung zu tun? Sehr wenig. Wenn ich Java-Sourcen runter lade, muß ich die auch erstmal bauen lassen. Meistens mit nem Ant-Script. Oder Maven? Oder Netbeans- oder Eclipse-Projekt? Uih uih uih!
Und dafür muß ich auch erstmal Ant einrichten, Pfade setzen usw.Eine fertige Lib kann ich übrigens mit Drag&Drop in das VS-Projekt hinzufügen.
Es gibt auch Installer für Libs, ich sage nur Boost Installer von Boost Consulting. Wenn ich zu fauel bin "bjam" in die Konsole einzugeben und zwei Pfade in VS einzutragen. Eine Lib muß ich nicht mal hinzufügen, weil Boost selber per #pragma die richtige Lib-Datei importiert.
Oder wxPack das wxWidgets mit nem Mausklick für VS installiert.
Wenn ich das mal so grob überschlage, habe ich nicht mehr Arbeit als mit Java.
SideWinder schrieb:
Warum muss ich bei NHibernate mich immer noch mit XML rumplagen? usw. es ist eigentlich im Vergleich ziemlich jämmerlich
Mit NHibernate kenne ich mich nicht aus. Aber als ich vor vier Jahren Javas Hibernate benutzt habe, mußte ich auch mit XML rum hantieren, um die Klassen/Mapping zu definieren. Heute läuft es in Java wahrscheinlich mit Annotations ab, richtig? Ja, dann hat man halt das gefrickel in den *.java-Dateien drin. Ob C# auch Annotations erhält weiß ich nicht.
Aber deine Kritik kommt mit doch sehr spitzfindig vor. So als ob in Java alle Features und Tools seit 15 Jahren drin wären... und C# 15 Jahre hinter her hinkt.
-
SideWinder schrieb:
Siehe Topic.
Bspw. MyEclipse, ein Projekt mit Anbindung an Datenbank inkl. Reverse-Engineering für Hibernate, Logging, Build-Tools, Unit-Tests, CVS/SVN-Einbindung uvm. alles unter einem wunderbaren Hut.
weil es java ca. 100 jahre länger gibt als C#.
davon abgesehen ist java für mich das schlimmste fleckwerk von überhaupt.
3 vorteile die ich sehe:
* weiter verbreitet
* standard library grösser
* mehr anerkannte und HALBWEGS brauchbare librariesund diese drei punkte führe ich auch zum grössten teil darauf zurück, dass es java schon viel länger gibt.
-
SideWinder schrieb:
Warum muss ich bei NHibernate mich immer noch mit XML rumplagen? usw. es ist eigentlich im Vergleich ziemlich jämmerlich
Musst du nicht
-
hustbaer schrieb:
* mehr anerkannte und HALBWEGS brauchbare libraries
- Spring Framework
- Spring Security (ehem. ACEGI)
- Hibernate
- Maven 2 / Ant
- JUnit/ TestNG
- Eclipse Equinox / Plattform
- AspectJ
- GWT
usw.... würde ich nicht grade als halbwegs brauchbar sondern eher als erstklassig beschreiben.
-
byto schrieb:
... würde ich nicht grade als halbwegs brauchbar sondern eher als erstklassig beschreiben.
du vielleicht. ich nicht.
trotzdem sehe ich den vorteil gegenüber den für C# verfügbaren (freien) libraries, was ich ja auch geschrieben habe. einige bis viele halbwegs brauchbare libs plus wenige wirklich gute, ist halt immer noch viel besser, als wenige halbwegs brauchbare plus haufenweise schrott.
der grössere vorteil ist aber vermutlich: "man" hat sich halbwegs gut geeinigt, was "man" verwendet. auch wenn dieses "was" nur "gerade eben ausreichend" ist, und deutlich davon entfernt "erstklassig" zu sein.
-
Was hast Du an den oben genannten Libs auszusetzen? Wie würdeste Du es besser machen? Und warum denkst Du, hat das noch niemand getan?
-
Artchi schrieb:
Ich würde mal sagen, das man auch mit VS und somit C# sehr gut an Java Tools rankommt. Nur das man bei VS ein paar Euros investieren muß. Es gibt ja den Reshaper, Visual Assist X usw. Damit kann man VS schon sehr gut erweitern. Ich habe zu Hause die große VS2005 und da kann man auch Unittests erzeugen. Ich benutze diese dinge allerdings nicht, aber die Menüpunkte sind auf jeden Fall da.
Es geht wie schon erwähnt weniger um allgemeine Editor-Features (wobei das eigentlich schon ein Witz ist, dass man sich solche Features extra noch teuer dazu kaufen muss), sondern um ganz andere Dinge wie z.B. Build-Management, Integration von anderen Applikationen durch Plug-Ins (z.B. Tomcat Web Server) etc
Beispiel: Wir haben bei uns eine Build-Umgebung mit Maven, Archiva, und Eclipse eingerichtet. Wenn ich zusätzliche Libs brauche dann füg ich die nicht per Hand ein (wie z.B. von dir bei VSStudio genannt), sondern trag das einfach als zusätzliche Maven-Dependency ein. Schon holt er mir automtisch die aktuellste releaste Version der Bibliothek. Wenn ich doch ne spezielle Release-Version brauch trag ich das einfach ein. Ist echt sehr einfach und unheimlich praktisch. Klar, diese Umgebung muss auch erst mal aufgesetzt werden, aber das ist ne einmalige Aktion.
Oder bei der J2EE-Entwicklung kann ich automatisch mit paar Klicks mir meinen Tomcat-Server zurechtsetzen, Anwendungen deployen, testen etc. Ist einfach ne super nahtlose Integration.
Ist vielleicht alles analog mittlerweile auch irgendwie mit VSStudio machbar (kenn mich da nimmer so aus), aber ich glaube nicht dass das so einfach und mit der Feature-Breite funktioniert.
-
nep schrieb:
Beispiel: Wir haben bei uns eine Build-Umgebung mit Maven, Archiva, und Eclipse eingerichtet. Wenn ich zusätzliche Libs brauche dann füg ich die nicht per Hand ein (wie z.B. von dir bei VSStudio genannt), sondern trag das einfach als zusätzliche Maven-Dependency ein. Schon holt er mir automtisch die aktuellste releaste Version der Bibliothek. Wenn ich doch ne spezielle Release-Version brauch trag ich das einfach ein. Ist echt sehr einfach und unheimlich praktisch.
Hem, also das Eintragen in Maven ist keine Handarbeit, weil man es nicht in MSVS einträg?
Das ist ja mal ne geile Aussage.
Sorry, aber du verlagerst nur die Handarbeit von einem Tool in ein anderes Tool. Die Arbeit ist aber immer noch da. Und man staune, man muß sogar noch nachdenken, welche Lib man für sein Projekt nutzen will... und sogar welche Version die Lib haben muß.
-
Maven lädt aber nicht nur die eine Lib runter und verdrahtet sie korrekt im Classpath, sondern kümmert sich auch um alle Abhängigkeiten dieser Lib. Ich kenne eine Vielzahl Frameworks, die wiederum von einer Vielzahl Libs abhängig sind, die wiederum von Libs abhängig sind usw. Das alles per Hand aufzulösen, ist äusserst ecklig, vor allem wenn man dann noch etwaige Versionskonflikte dazukommen. Da nimmt einem Maven schon ne Menge ab.
Aber klar, um in 0815 Projekte ne einzelne Lib hinzuzufügen, braucht mans nicht. Da reicht dann auch Konsole + Texteditor. :xmas1:
-
Artchi schrieb:
nep schrieb:
Beispiel: Wir haben bei uns eine Build-Umgebung mit Maven, Archiva, und Eclipse eingerichtet. Wenn ich zusätzliche Libs brauche dann füg ich die nicht per Hand ein (wie z.B. von dir bei VSStudio genannt), sondern trag das einfach als zusätzliche Maven-Dependency ein. Schon holt er mir automtisch die aktuellste releaste Version der Bibliothek. Wenn ich doch ne spezielle Release-Version brauch trag ich das einfach ein. Ist echt sehr einfach und unheimlich praktisch.
Hem, also das Eintragen in Maven ist keine Handarbeit, weil man es nicht in MSVS einträg?
Das ist ja mal ne geile Aussage.
Sorry, aber du verlagerst nur die Handarbeit von einem Tool in ein anderes Tool. Die Arbeit ist aber immer noch da. Und man staune, man muß sogar noch nachdenken, welche Lib man für sein Projekt nutzen will... und sogar welche Version die Lib haben muß.
Da hast du mich falsch verstanden.
Es geht nicht um das Hinzufügen selbst (klar das muss man so oder so machen), sondern um die Art und Weise wie das geschieht.
Hier werden eben wie auch von byto erwähnt alle möglichen weiteren Abhängigkeiten automatisch aufgelöst etc.
Klar, für kleinere Projekte ist das zu Fuß (diesmal vermeide ich von Hand ;)...)) sicherlich schneller wenn man alles direkt reinzieht. Aber sobald du einige Abhängigkeiten auf Bibliotheken (in verschiedenen Release-Ständen) und diese wiedrrum verschiedene Abhängigkeiten haben, geht das so sicherlich besser.
Und vor allem ist das so viel reproduzierbarer, wie wenn man einfach selbst ständig seine Libs in VSStudio reinzieht...