[Erledigt] andere Sprachen

Was für ‘andere’ Sprachen gibts denn? Und wo genau liegt der Vorteil von dem .NET Framework - gegenüber, beispielsweise Java? Was kann das .NET Framework mehr, als all die zusätzlichen API’s, die es inzwischen für Java gibt? Für mich ist Java schon irgendwie optimal - weshalb braucht die Menschheit mehr als das?

Danke…

Es gibt für/in .NET nen haufen Sprachen ASP, C#, J#, C++, VB, soweit ich weiß auch Ruby und Python Kopien (bestimmt noch mehr die ich jetzt nur vergessen hab)

Der Vorteil den .NET bietet ist dass du (fast) problemlos auf alle Schnittstellen von Windows und anderen MS Produkten zugreifen kannst wie Outlook, Word, …

Auch wenn es schon als erledigt markiert ist möchte ich mal noch ein paar infos mehr hinzufügen.

Weitere Sprachen: Delphi, PHP, SmallTalk, Fortran, sogar Brainfuck und viele mehr …

Vorteile gegenüber Java:
[ul]
[li] Schneller
[/li][li] Ressourcenschonender(Die CLR verbraucht weniger Ressourcen als das JRE)
[/li][li] Man kommt ohne Umwege aufs System(wie man es von C/C++ gewohnt ist)
[/li][li] Freie Wahl der Programmiersprache(Vorrausgesetzt man nutzt .NET, denn im Bytecode ist wieder alles gleich)
[/li][/ul]
Nachteile gegenüber Java:
[ul]
[li] Plattformabhängig(nur Windows, Mono/DotGNU ausgenommen)
[/li][li] Unchecked Exceptions(Man ist nicht gezwungen Exceptions zu fangen was aber zu unschönen Laufzeitfehlern führt)
[/li][/ul]

Wie gesagt, nur ein paar weitere Anmerkungen und es soll keinesfalls einen Glaubenskrieg auslösen was ist nun besser, Java oder .NET.

Selber entwickle ich privat u.a. mit .NET und beruflich mit Java, hab somit mit beiden zu tun und kann sagen: Jede, ich will es mal „Plattform“ nennen, hat Ihre Vor- und Nachteile.

Übrigens gibt es neben J# noch eine weitere Java Anbindung ans .NET Framework, http://www.jnbridge.com/ wobei hier wirklich Java eine Rolle spielt und keine es keine Sprachportierung wie J# ist.

Gut Schuß
VuuRWerK :wink:

da muss ich dir Widersprechen
Schneller → wage ich zu bezweifeln das da wirkliche Unterschiede sind, mir kamen .NET Programme bisher langsamer vor
Ressourcenschonender → kannst du garnicht richtig kontrollieren da du keine richtige VM siehst, das einzige wodurch Java mehr braucht ist dass jedes in einer eigenen VM arbeitet
Freie Wahl → Nicht wirklich nur gibt es für .NET mehr als für Java :wink:

aber das sind wie immer Sachen über die man sich streiten kann :wink:

Klar kannst Du frei wählen, sogar innerhalb eines Projektes kannst Du mehrere Sprachen verwenden wenn Du möchtest. Mach 3 verschiedene DLLs in 3 verschiedenen Sprachen und kompilier sie, verwende diese in einer .NET Anwednung und Du bekommst keine Probleme, da der Bytecode bei allen am Ende der selbe ist. Bei Java hast Du genau eine Wahl, genau Java :wink:

Schneller: Ich hab es selber noch nicht gebenchmarked aber diverse Berichte und Statistiken beweisen es. Denn schon der JIT ist schneller als das interpretieren der Java VM.

Ressourcenschonender: Naja wie will man es nachweisen, das stimmt. Aber auch jede .NET Anwendung läuft in Ihrer eigenen VM und verbraucht IMHO weniger Ressourcen als eine Java Anwendung je VM.

Aber Du sagst es schon richtig, da kann man glaub ewig drumherum streiten/aufzählen :slight_smile:

Mir sind wie gesagt beide Varianten lieb, es kommt IMHO immer auf das Einsatzgebiet an danach wählt man Sprache/Framework und gut :slight_smile:

Gut Schuß
VuuRWerK :wink:

in Java gibt es Groovy oder so ähnlich sowie JPython und noch eine weil genauso wie bei .NET ist der Bytecode in einer bestimmten Form und wie man dahin gelangt ist egal.

Brainfuck in .NET … lol ^^

Ok,Groovy, JPython und JRuby sind aber Skriptsprachen die mithilfe von Java wiederum interpretiert werden, es sind keine eigenständigen Sprachen wie Java oder C#.

Aber hey, es sollte keine nichtendende Diskussion anstoßen, auch wenn es interessant ist und es viel Spaß macht darüber zusprechen :slight_smile:

Gut Schuß
VuuRWerK :wink:

Stimmt doch gar nicht. Ich denke es gibt mehr Sprachen für die Java VM siehe http://www.is-research.de/info/vmlanguages/. Zumindest von Scala und Groovy weiss ich, dass diese auch zu Bytecode compilen.

Vielleicht hab ich das mit dem interpretieren falsch ausgedrückt, ich meinte damit das diese Skriptsprachen von Java-Compilern übersetzt werden, also Compiler geschrieben in Java. War etwas unglücklich ausgedrückt haste ja recht :o)

Gut Schuß
VuuRWerK :wink:

Soo und ums nochmal klar zu stellen:

JRuby und JPython sind Ruby, bzw. Python-Interpreter in Java (kann sein dass die irgendwelche nativen Libs nutzen… keine Ahnung).

Groovy kann zur Laufzeit von einem in Java geschriebenen Interpreter ausgefuehrt werden, ODER direkt in Bytecode compiliert werden. Dennoch ist es im Vergleich zu Java um Dimensionen langsamer (ist auch nur logisch).

Zum Thema freie Auswahl: Ich seh irgendwie keinen Vorteil drin, meine Anwendung in 3 verschiedenen Sprachen zu entwickeln. Das ist doch zwingend extrem verwirrend fuer jeden, der sich versuchen sollte da reinzufinden.

Geschwindigkeit und Resourcenverbrauch sind auch extrem objektive Faktoren, wenn man die Sprache, bzw Platform betrachtet. Ich kann in Java Programme schreiben, die sind lahm und brauchen extrem viel Speicher. Genauso kann ich das in C#. Und ebenso kann ich in beiden Sprachen, auf beiden Platformen performante und sparsame Anwendungen entwickeln. Ob ich dabei 1, 2 oder auch 20 MB RAM spare (weil ich .NET einsetze, anstatt Java) ist doch heutzutage auch vollkommen belanglos.

Viiiel wichtiger ist doch, dass ich und noch wichtiger, jeder aus dem Team versteht, was ich da zusammenprogrammiert habe.