Hallo! Ich wollte mal Fragen, ob das lohnt von Java auf C# umzusteigen, und wie schaut es da eigentlich mit der Performance aus? Ansprüche sind u.A. RS232-Kommunikation sowie komfortable GUI-Programmierung.
Geht doch beides in Java gut. Also freiwillig würde ich mich ja nicht dem bekannten Software-Monopolisten noch mehr ausliefern.
Zur Performance kann ich dir leider nicht viel sagen. Habe aber schon ein paar Anwendungen mit GUI und rs232 in C# fürs .net Framework 2.0 geschrieben. Funktioniert soweit ganz gut. Ich arbeite mit dem freien Shardevelop und habe bisher gute Erfahrungen gemacht. Sicherlich ist es ein Unterschied ob du professionelle Software schreiben willst oder einfach irgendwelche Programme für den Hausgebrauch. Bit halt auch nur ein Amateur.
Also ich kann dir weder Java noch C# empfehlen, Borland Delphi 7 ist DIE Lösung, für GUI's sowieso das beste Tool, und für RS232 gibt es Freeware on Masse, siehe www.torry.ru. Abschließend: Bezüglich der Komponenten (auch freien), der GUI-Gestaltung, der Compilezeit (Delphi = RAD) kann es keine, ich wiederhole keine andere Programmiersprache +- IDE aufnehmen. Und das gute ist du erhälts eine standalone-running EXE und brauchst keine xxx DLL's. Die Nachfolger Delphi 8/2005/2006 sind was die IDE betrifft wesentlich langsamer geworden und auch der Ressourcenbedarf ist exponentiell gestiegen.
Flamewar! Warum muss eigentlich immer, wenn mal einer fragt, ob er von A nach B umsteigen soll, jemand kommen, der sagt, das C, D und Ook besser sind? Im übrigen hat RAD relativ wenig mit geringer Compilezeit zu tun, das ist bestenfalls ein geringer Teil. Und ob keine DLLs "das gute" ist, lässt sich auch bestreiten. PS: Eiffel ist noch besser!
Sharpdevelop ist mit Sicherheit eine super IDE, aber welchen Vorteil bietet die gegenüber Visual Studio? Das ist ja auch kostenlos verfügbar, und wenn ich sowiso mit propritären Tools arbeite, warum dann nicht gleich die original IDE von MS? Die ist Sharpdevelop nämlich immer noch überlegen. Schade, dass für Mono unter Linux nichts vergleichbares Verfügbar ist. Ansonsten denke ich, dass C# auf dem PC auf jeden Fall die Zukunft ist. Mit .NET, C# und VS2005 hat MS wirklich mal tolle Arbeit geleistet, und ab Vista ist .NET fester Bestandteil des Systems. D.h. jeder wird deine Software nutzen können, ohne etwas nachzuinstallieren und die Performance ist allemal besser als die von Java (für GUI Anwendungen). Unter Linux konnte Java auf Grund der proprietären Lizenz ohnehin nie Akzeptanz gewinnen, dafür sieht momentan alles danach auch, dass sich mit Mono eine .NET kompatible Umgebung etablieren wird. Für Serveranwendungen und Eingebettete Systeme wird Java natürlich weiterhin eine wichtige Rolle spielen.
@Thomas Weil jemand schon durchaus Erfahrungen gemacht hat mit A, B und C. Und der Kollege oben hat ebend noch keine mit C# gemacht. Sicher gibt es Gründe für die man C# besser einsetzen kann, aber nie bei dem Thema RS232 und GUI. Zum Thema RAD wollte ich keinen Roman schreiben und jeder der z.B. Delphi und Visual C++ kennt, weiß auch wie RAD in der Praxis aussehen kann. Also über Applikation mit oder ohne DLL's würde ich sehr wohl mit dir streiten :), dir sagt bestimmt der Begriff DLL-Hölle etwas.
Ja, sagt er, aber dir scheint der Begriff .Net-Framework nichts zu sagen ;-) Davon abgesehen gibt es bekanntermaßen ja auch Vorteile bei der dynamischen Linkung. Mit Verlaub gesagt, behaupte ich, dass C#/.Net "RAD"-mäßig Delphi in nichts nach steht. Und, dass es nicht für GUI geeignet sei, kann man schnell ins Reich der Legenden verweisen...
.Net-Framework sagt mir neben seinen Vorteilen aber auch - hohe Startzeit der Applikation (u.U. nur beim ersten Mal) - hohe Anforderungen an CPU-Speed, Hauptspeicher, Festplatte guck Dir nur mal nur dein Verzeichnis \Windows\Assembly an Von nicht C#/.NET != GUI geeignet habe ich übrigens nicht gesprochen.
Wahr gesprochen, aber die Argumentation ist ja die, dass man sich Sicherheit bei der Ausführung mit einem gewissen (setze: deutlichen) Performanceverlust erkauft. Da der OP aber von Java (!) kommt, scheint dies ohnehin keine Rolle zu spielen, denn in dieser Liga spielt C#/.Net ja auch. Aprospos Festplatte: \windows\assembly 180 MB \windows\system32 730 MB So, was ist der Punkt? Und wegen des nicht für GUI, nun, dein Satz: "Sicher gibt es Gründe für die man C# besser einsetzen kann, aber nie bei dem Thema RS232 und GUI." war für mich aber genau so zu verstehen. Ich frage, was wenn nicht GUI macht man denn dann mit .Net unter einem fenstrigen Betriebssystem? Gut, Netzverteiltes Zeug halt noch. Aber das das Framework auch für's GUI gedacht ist, lässt sich nicht von der Hand weisen.
Passt gut zur aktuellen Diskussion: http://www.heise.de/newsticker/meldung/76571 @Thomas: vor allem mal das Forum durchlesen.
Original Frage: Hallo! Ich wollte mal Fragen, ob das lohnt von Java auf C# umzusteigen, und wie schaut es da eigentlich mit der Performance aus? Ansprüche sind u.A. RS232-Kommunikation sowie komfortable GUI-Programmierung. Meine Meinung dazu: Wenn du exklusiv fuer Windows programmierst, JA. Die Performance ist tendenziell besser, GUI usw. seit .NET2 auch sehr komfortabel und RS232 natuerlich kein Problem. Den Umstieg solltest du sehr schnell schaffen, die meisten grundlegenden Dinge sind sehr aehnlich geloest. Erst bei komplexeren Themen unterscheiden sich die zwei Sprachen dann doch etwas mehr, sollte aber dennoch kein grosses Problem darstellen. Und da sich die Java Philosophie ganz deutlich von .NET unterscheidet, ist hier .NET einfach ueberlegen (Ich rede hier von einer gewissen Hardwarenaehe mit RS232) Und man sollte sich beim Lesen meiner Antwort vor Augen halten dass ich auch eher von Microsoft abgeneigt bin. Wenn man aber Arbeit erledigen will, dann sollte man gewisse Ideologien und Hassbilder beiseite legen und Fakten sprechen lassen, und technisch ist hier .NET die bessere Wahl. (Ueber Delphi kann ich nichts sagen, kenne es nicht) Ich hoffe fuer dich dass du die fuer dich richtige Sprache auswaehlst. MfG
Kennt jemand von euch schon monodevelop.com ? Hab ewig gebraucht um es zu Installieren (Linux Anfänger) - ist ganz nett auch wenn ich trotzdem VS bevorzuge. Ist aber ja auch noch in der Entwicklung. Ich hab es übrigens weder geschafft auf Windows ein mit Mono kompiliertes Programm zu starten noch auf Linux ein mit VS erstelltes. VS -> Linux -liegt wohl daran dass Mono .Net2 noch nicht unterstützt Mono-> Windows -müsste doch MS kompatibles .Net1 sein? Oder sind die GUI Klassen komplett anders? Das Programm war jeweils eine einfache Dialoganwendung...
Vielleicht kann ich der Verwirrung auch noch ein paar kleinigkeiten zufügen :-) Ich komme von der Delphi 4, 5, und 6 Welt. Damit war ich auch super zufrieden und man hat sich extrem schnell seine Tools programmiert. Mit der Zeit wurde es dann aber immer stiller in der Delphi Community im Internet und ich man fühlte sich wie auf einem Abstellgleis... Um wieder mit dabei zu sein, machte ich einen C# für .NET Kurs und war begeistert! Das ganze ist einfach up to date und die Community, Flut der Codebeispiele, und Foren etc. in Internet ist gewaltig. Bekanntlich arbeitet der ehemalige Chefentwickler von Delphi nun im Hause Microsoft und dies hat sich auch positiv aufs Visual Studio niedergeschlagen. Vieles ist nun sehr ähnlich oder gar besser wie in Delphi. Meiner Meinung nach steht das Visual Studio 2005 dem Delphi in nichts (ausser der Geschwindigkeit) nach und kann es bedenkenlos empfehlen! Ein einigermassen aktueller PC ist zum Betrieb des Visual Studio 2005 allerdings dringend zu empfehlen, da es schon nicht das schnellste ist. Ich arbeite viel mit Microcontrollern und benötige auch des öfteren die serielle Schnittstelle. Ab .NET 2.0 ist eine Komponente für die serielle Schnittstelle standartmässig vorhanden. Mit Java habe ich selber nie gearbeitet, aber laut Aussagen von Kollegen findet man in C# viele parallelen zu Java. Vieles wurde jedoch sehr vereinfacht und die Einarbeitungszeit sollte sich in Grenzen halten. Ich würde mal das kostenlose Visual Studio 2005 C# bei Microsoft downloaden und testen. Damit kann man eigentlich schon alles machen was man so braucht als Einzelperson. Gruss Johnny
Hallo, kann zu dem Thema leider nichts beitragen. Da sich hier aber einige Experten versammelt haben, wollte ich wohl nach dem Unterschied zwischen C++ und C# fragen? Welche Sprache hat die Zukunft? Danke für Eure Antworten Gruß Der Hansen
C++ wird normalerweise unmanaged kompiliert, C# managed. Die C# Programme werden in eine Zwischensprache umgewandelt die erst zur Laufzeit "richtig" kompiliert wird. Das macht das Programm Plattformunabhängiger. Von der Programmierung ist C# in etwa eine mischung aus C++ und Visual Basic
C++ hatte mit dem managed Krams nix zu tun, bevor es von Microsoft
gekapert wurde. C++ hat davon auch auf anderen Plattformen ein
vollkommen unabhängiges Leben. Das kann man hier nicht so
zusammenwerfen.
>Welche Sprache hat die Zukunft?
Beide. Aber wenn du Windows mit .NET programmieren willst, dann nimm
auf jeden Fall C#. Dieses Gegurke mit managed C++ kann man sich nicht
antun.
Es ging ja um die unterschiede, deshalb schrieb ich "normalerweise unmanaged" (auch wenn der begriff unmanaged (für normale progs) von ms eingeführt wurde) Und ich stimme zu: .Net + C++ = schrecklich C# ist da sehr viel passender und vor allem einfach zu erlernen.
Kann mich da auch anschliessen. C# .NET ist perfekt für Applikationen die auf Windows laufen. C++ (unmanaged, ohne .NET) ist "praktisch zwingend" notwendig um Treiber und sehr systemnahe Software zu schreiben. Ausserdem ist es besser portabel, falls mal auf ein anderes Betriebssystem gewechselt werden soll. Allerdings muss dies schon im vornherein beachtet werden, sonst muss später evtl. doch nochmals der ganze Code angepasst werden. Wenn man sich für .NET entscheidet, dann sehe ich momentan nur C# oder Viasual Basic als ernsthafte Kandidaten für die Sprache.
> Ausserdem ist es besser portabel, falls mal auf ein anderes > Betriebssystem gewechselt werden soll. Najaaa...mittlerweile gibt es mit Mono und DotGNU .NET implementationen für Unixartige. DotGNU kenn ich jetzt nicht so gut, aber Mono ist definitiv produktiv einsetzbar.
Bitte melde dich an um einen Beitrag zu schreiben. Anmeldung ist kostenlos und dauert nur eine Minute.
Bestehender Account
Schon ein Account bei Google/GoogleMail? Keine Anmeldung erforderlich!
Mit Google-Account einloggen
Mit Google-Account einloggen
Noch kein Account? Hier anmelden.