www.mikrocontroller.net

Forum: PC-Programmierung Umsteigen von Java auf C# / .net?


Autor: Reinhold Rabe (Gast)
Datum:

Bewertung
0 lesenswert
nicht lesenswert
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.

Autor: mr.chip (Gast)
Datum:

Bewertung
0 lesenswert
nicht lesenswert
Geht doch beides in Java gut. Also freiwillig würde ich mich ja nicht
dem bekannten Software-Monopolisten noch mehr ausliefern.

Autor: Slowflyer (Gast)
Datum:

Bewertung
0 lesenswert
nicht lesenswert
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.

Autor: Dirk (Gast)
Datum:

Bewertung
0 lesenswert
nicht lesenswert
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.

Autor: Thomas (Gast)
Datum:

Bewertung
0 lesenswert
nicht lesenswert
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!

Autor: Thomas (Gast)
Datum:

Bewertung
0 lesenswert
nicht lesenswert
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.

Autor: Dirk (Gast)
Datum:

Bewertung
0 lesenswert
nicht lesenswert
@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.

Autor: Thomas (Gast)
Datum:

Bewertung
0 lesenswert
nicht lesenswert
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...

Autor: Dirk (Gast)
Datum:

Bewertung
0 lesenswert
nicht lesenswert
.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.

Autor: Thomas (Gast)
Datum:

Bewertung
0 lesenswert
nicht lesenswert
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.

Autor: Dirk (Gast)
Datum:

Bewertung
0 lesenswert
nicht lesenswert
Passt gut zur aktuellen Diskussion:

http://www.heise.de/newsticker/meldung/76571

@Thomas: vor allem mal das Forum durchlesen.

Autor: Wilfried Nesensohn (Gast)
Datum:

Bewertung
0 lesenswert
nicht lesenswert
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

Autor: Noonien (Gast)
Datum:

Bewertung
0 lesenswert
nicht lesenswert
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...

Autor: Johnny (Gast)
Datum:

Bewertung
0 lesenswert
nicht lesenswert
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

Autor: Hansen (Gast)
Datum:

Bewertung
0 lesenswert
nicht lesenswert
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

Autor: Ferdinand S. (noonien) Benutzerseite
Datum:

Bewertung
0 lesenswert
nicht lesenswert
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

Autor: Thomas (Gast)
Datum:

Bewertung
0 lesenswert
nicht lesenswert
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.

Autor: Ferdinand S. (noonien) Benutzerseite
Datum:

Bewertung
0 lesenswert
nicht lesenswert
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.

Autor: Johnny (Gast)
Datum:

Bewertung
0 lesenswert
nicht lesenswert
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.

Autor: Bartli (Gast)
Datum:

Bewertung
0 lesenswert
nicht lesenswert
> 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.

Antwort schreiben

Die Angabe einer E-Mail-Adresse ist freiwillig. Wenn Sie automatisch per E-Mail über Antworten auf Ihren Beitrag informiert werden möchten, melden Sie sich bitte an.

Wichtige Regeln - erst lesen, dann posten!

  • Groß- und Kleinschreibung verwenden
  • Längeren Sourcecode nicht im Text einfügen, sondern als Dateianhang

Formatierung (mehr Informationen...)

  • [c]C-Code[/c]
  • [avrasm]AVR-Assembler-Code[/avrasm]
  • [code]Code in anderen Sprachen, ASCII-Zeichnungen[/code]
  • [math]Formel in LaTeX-Syntax[/math]
  • [[Titel]] - Link zu Artikel
  • Verweis auf anderen Beitrag einfügen: Rechtsklick auf Beitragstitel,
    "Adresse kopieren", und in den Text einfügen




Bild automatisch verkleinern, falls nötig
Bitte das JPG-Format nur für Fotos und Scans verwenden!
Zeichnungen und Screenshots im PNG- oder
GIF-Format hochladen. Siehe Bildformate.
Hinweis: der ursprüngliche Beitrag ist mehr als 6 Monate alt.
Bitte hier nur auf die ursprüngliche Frage antworten,
für neue Fragen einen neuen Beitrag erstellen.

Mit dem Abschicken bestätigst du, die Nutzungsbedingungen anzuerkennen.