mikrocontroller.net

Forum: PC-Programmierung c++ oder c# für Anfänger


Autor: Volker (Gast)
Datum:

Bewertung
0 lesenswert
nicht lesenswert
Hallöchen, miteinander!

Während meines Studiums haben wir immer mit C unter Unix und Linux 
programmiert (ohne irgendwelche Kürzel).

Jetzt möchte ich nach langem wieder mal damit anfangen und frage mich 
nun, ob ich besser mit c# oder mit c++ übe / herum spiele.
Ich muss dazu sagen, dass ich nicht wirklich viel Kentnisse habe, das 
wenige an Konsolenprogrammierung was ich kann, wird mir wohl bei beiden 
Hochsprachen nicht weiter helfen.

Ich selbst weiß nun nicht wo genau der Unterschied zwischen den beiden 
Sprachen liegt - ich vermute aber dass c# nachfolger von c++ ist. Wenn 
dem so ist, dann ist doch c++ eher "veraltet" und es ist sinnvoll gleich 
auf c# zu lernen, was denkt ihr darüber?

: Verschoben durch Admin
Autor: Tim T. (tim_taylor)
Datum:

Bewertung
0 lesenswert
nicht lesenswert
Wenn du auf der Konsole bleibst, kannst du weiterhin C nehmen oder ein 
bischen C++ dazu.
Wenn du mit GUI arbeiten willst, würde ich dir C# anraten.

C# ist meiner Meinung nach viel einfacher zu benutzen als C++, 
insbesondere wenn man mit Visual Studio werkeln will, ist der Quelltext 
unter C# um Längen übersichtlicher.

Autor: Klaus Wachtler (mfgkw)
Datum:

Bewertung
0 lesenswert
nicht lesenswert
Aber C# ist faktisch auf Windows beschränkt.

C++ kann man dagegen (fast) überall nutzen.

Autor: Rufus Τ. Firefly (rufus) (Moderator) Benutzerseite
Datum:

Bewertung
0 lesenswert
nicht lesenswert
> ich vermute aber dass c# nachfolger von c++ ist

Ist es nicht. C# ist eine Microsoft-Erfindung, die das .Net-Framework 
verwendet. Das ist ein Versuch, den Erfolg von Java nachzuempfinden.

Mit C++ hat das nur den ersten Buchstaben gemein, die Syntax sieht, wenn 
man oberflächlich hinsieht, ähnlich aus.
Aber das wars auch schon.

Mit C# kann man keinen µC programmieren, und auch kein System, auf das 
nicht die .Net-Umgebung portiert wurde.

Autor: Tim T. (tim_taylor)
Datum:

Bewertung
0 lesenswert
nicht lesenswert
Klaus Wachtler schrieb:
> C++ kann man dagegen (fast) überall nutzen.

In der Theorie...
Oder welche Komponenten-/Klassenbibliothek willst du empfehlen?

Autor: Klaus Wachtler (mfgkw)
Datum:

Bewertung
0 lesenswert
nicht lesenswert
Mit Qt und STL kommt man schon ganz schön weit.
Boost gab es auch noch.

Damit kommt man jedenfalls schon weiter in der Welt rum als mit C#.

Autor: Klaus Wachtler (mfgkw)
Datum:

Bewertung
0 lesenswert
nicht lesenswert
Ich sage übrignes nichts gegen C# (außer vielleicht, daß ich es
nicht mag).

Aber man muß halt wissen, daß man sich dabei auf die Windowswelt
beschränkt.
Aus meiner Sicht ist C# das bessere Visual Basic.

Autor: Volker (Gast)
Datum:

Bewertung
0 lesenswert
nicht lesenswert
also mit "nur auf die Windowswelt beschränkt" komme ich zurecht, ich 
habe seit dem Studium nicht mehr an Linux gewerkelt!

Wichtiger wäre mit z.B. dass man Hardwarezugriff hat, aber ich denke das 
hat man bei beiden Sprachen, oder? (COM-Ports und evt. USB)

Andere Frage: wenn microsoft sein C# bei Java abgeschaut hat, wieso ist 
es dann nur für Windows? Java ist doch "überall" lauffähig?

Autor: Rufus Τ. Firefly (rufus) (Moderator) Benutzerseite
Datum:

Bewertung
0 lesenswert
nicht lesenswert
> Wichtiger wäre mit z.B. dass man Hardwarezugriff hat,

Den hast Du unter Windows zunächst mal gar nicht, unabhängig von der 
verwendeten Programmiersprache.

> (COM-Ports und evt. USB)

Mit dieser Art von Hardware kommuniziert man über die dafür gedachten 
Devicetreiber, und das geht mit annähernd jeder Programmiersprache.

Autor: Tim T. (tim_taylor)
Datum:

Bewertung
0 lesenswert
nicht lesenswert
Klaus Wachtler schrieb:
> Ich sage übrignes nichts gegen C# (außer vielleicht, daß ich es
> nicht mag).
Kannst du ja auch, ich verbreite ja auch das ich z.B. Java nicht mag. 
g

> Aber man muß halt wissen, daß man sich dabei auf die Windowswelt
> beschränkt.
Nö, ansich nicht unbedingt.
 http://de.wikipedia.org/wiki/Common_Language_Infra...

> Aus meiner Sicht ist C# das bessere Visual Basic.
Was aus meiner Sicht aber auch nicht unbedingt schlecht sein muss.

Habe früher viel mit Delphi gebastelt aber irgendwann wurde das 
unbenutzbar und ich hab weiter geschaut:

Visual Basic - Zum damaligen Zeitpunkt noch viel Probleme mit der 
Performance, dazu sehr wenig große und performante Projekte.

Java - Ähnliche Gründe wie bei Visual Basic, aber stärker noch Probleme 
mit der IDE.

C++ und Visual C++ - Da bin ich praktisch bis C# drauf hängen geblieben, 
für schnellere Sachen nehm ich C++ noch heute, konnte mich aber nich mit 
den GUI-Bibliotheken (GTK, QT und WxWidgets) anfreunden. VC++ war mir 
aber für GUI Sachen insbesondere mit MFC immer viel zu überladen.

C# - Einfach wie Delphi, kurze Zeiten bis zu den ersten Ergebnissen, 
dazu die Mächtigkeit von VC++ und von der Performance über Java.

Bin auch nicht scharf drauf das C# insbesondere unter Linux nur sehr 
schlecht unterstützt wird, aber bis es da etwas gibt was die Vorteile 
von C# bietet bleib ich erstmal dabei.
Aber natürlich steht es jedem frei das zu nehmen womit er am besten klar 
kommt.

Autor: ... ... ... (Gast)
Datum:

Bewertung
0 lesenswert
nicht lesenswert
Klaus Wachtler schrieb:
> Aus meiner Sicht ist C# das bessere Visual Basic.
So richtig positiv ist das aber auch nicht... ;-)

Autor: Arc Net (arc)
Datum:

Bewertung
0 lesenswert
nicht lesenswert
Rufus t. Firefly schrieb:
>> ich vermute aber dass c# nachfolger von c++ ist
>
> Ist es nicht. C# ist eine Microsoft-Erfindung, die das .Net-Framework
> verwendet. Das ist ein Versuch, den Erfolg von Java nachzuempfinden.

Der Versuch ist mehr als nur geglückt.

> Mit C++ hat das nur den ersten Buchstaben gemein, die Syntax sieht, wenn
> man oberflächlich hinsieht, ähnlich aus.
> Aber das wars auch schon.
>
> Mit C# kann man keinen µC programmieren,

Dann frage ich mich nur, wieso ich genau das hier machen kann...

> und auch kein System, auf das nicht die .Net-Umgebung portiert wurde.

Es gibt Mono und Portable.NET für GPL-Fanatiker oder portiere es.
Letzteres ist zumindest beim Micro Framework problemlos möglich, da es 
unter der Apache 2.0 Lizenz steht.

http://www.netmf.com

Volker schrieb:
> Andere Frage: wenn microsoft sein C# bei Java abgeschaut hat,

Abgeschaut, gottseidank nur sehr wenig, dafür vieles wesentlich besser 
gemacht u.a. Generics, Properties, Events/Delegates, Operator 
Overloading, Expression Trees, Lambdas, LINQ etc. (vieles davon gibt es 
in Java nicht)
Dann kommt erst das eigentliche Framework...

> wieso ist es dann nur für Windows? Java ist doch "überall" lauffähig?

Mono und Moonlight laufen auch auf genügend anderen Plattformen.
MonoTouch (http://monotouch.net/) auch auf dem iPhone/iPad...

Autor: Klaus Wachtler (mfgkw)
Datum:

Bewertung
0 lesenswert
nicht lesenswert
... ... ... schrieb:
> Klaus Wachtler schrieb:
>> Aus meiner Sicht ist C# das bessere Visual Basic.
> So richtig positiv ist das aber auch nicht... ;-)

Das habe ich auch nie behauptet, nur besser als VB.
Um hier keinen Streit vom Zaun zu brechen, wollte ich mich auf diese
Aussage beschränken.

Aber weil du nachbohrst meine komplette Meinung dazu:
Für C und C++ muß man jeweils erstens viel Enthusiasmus
mitbringen und zweitens die richtige Denkweise haben bzw. mit
der Zeit bekommen.
Dann kann man damit alles machen, was überhaupt irgendwie geht.
Sogar effizient, wenn man es beherrscht.

Das ist nun nicht jedem gegeben, und auch nicht für jede
Vereinsmitgliederverwaltung oder CD-Datenbank nötig.

Für Leute, die -warum auch immer- da nicht so tief
einsteigen wollen, gibt es dann noch die schlichteren
Sachen.
Das war früher BASIC und ähnliches (bis zu einem gewissen
Grad auch Pascal und seine Abkömmlinge, auch wenn Pascal
zum Lernen wirklich gut ist).
Nun ist BASIC aber noch nie der Bringer gewesen, und im Laufe
der Jahrzehnte auch nicht besser geworden.
Da ist Java ein würdiger Nachfolger: Relativ einfach zu lernen,
relativ problemlos, und ziemlich mächtig.
(Auch?) für Doofe geeignet, aber halt wesentlich moderner als
BASIC. Und endlich relativ portabel, auch wenn man immer
Gegenbeispiele konstruieren kann.

Nachdem es nun leider nicht von Microsoft ist und damit das
tolle Monopol gefährdet, haben SIE C# ins Spiel gebracht.
Das hat mit C und C++ nicht viel mehr gemeinsam als den
ersten Buchstaben und die geschweiften Klammern, aber
weil es von IHNEN ist, ist es toll.
Im Vergleich zu VB ist es wirklich ein Fortschritt, aber
mehr auch nicht.
Es ist eine proprietäre Insellösung (auch wenn die Insel
ziemlich groß ist), aber für die allermeisten Aufgaben
kein Flatulenzquant besser als Java.

Wenn man nur Windows sehen will, kann man es gerne nehmen:
es ist DAU-geeignet und unter Windows recht mächtig,
solange man es nicht hardwarenah braucht.
Ein gleichwertiger Ersatz für C++ ist es nicht, es
steckt halt eine andere Philosophie dahinter (mehr
interpretiert, ähnlich wie Java).
Ich habe keinen Bedarf dafür, deshalb ignoriere ich es
geflissentlich. Ein paar kleine Sachen musste ich mal damit
machen; aber mehr als nötig schreibe ich nicht damit - man kann
seine tollen Sachen nicht aus Windows herausbekommen, und
dafür ist mir meine Zeit zu schade.

Soweit meine absolut objektive Meinung zu dem Thema; Ring
frei für ".NET ist doch so toll!"....

Autor: Klaus Wachtler (mfgkw)
Datum:

Bewertung
0 lesenswert
nicht lesenswert
PS: C# ist kein Nachfolger von C oder C++, sondern von
Visual BASIC. Die Syntax ist etwas ähnlicher zu C und C++
als bei VB. Aber technisch und von den Möglichkeiten her ist
C# nichts anderes als ein aktuelles VB, nämlich eine sichtbare
Vorderseite von .NET.

Autor: Thomas B. (yahp) Benutzerseite
Datum:

Bewertung
0 lesenswert
nicht lesenswert
Naja, auch wenn C# von M$ ist kann man es nicht nur verteufeln (ich 
musste mich zwar selbst auch zwingen dies nicht zu tun, aber immerhin 
;->).

Mal halbwegs objektiv betrachtet ist es für den durchschnittlichen 
Hobbyprogrammierer mit der hauptsächlichen Zielplattform PC/Win 
einfacher erlernbar und bei vergleichbarem Aufwand leistungsfähiger (aka 
höhere "Produktivität"). Nicht zuletzt wegen des doch recht 
umfangreichen GUI-Frameworks. Um bei C++ den neuesten Schrei der letzten 
zehn Jahre an fescher Funktionalität zu bekommen muss man sich mit so 
Sachen wie der Boost Bibliothek rumplagen, wobei man schon beinahe 
Informatik studiert haben muss, um alles zum Laufen zu kriegen. Bei den 
entsprechenden Frameworks kann man sich dann auch nach Belieben eines 
aus der unüberschaubaren Vielzahl herauspicken - viel Spass, wenn man 
mal ein Programm von Sourceforge o. ä. kompilieren will, was auf einem 
anderen Framework aufsetzt.

So, hätte ich auch nie geglaubt, diesem M$-Produkt so viel Lobhudelei zu 
widmen, aber wer für PC programmieren will und nicht für µC, sollte die 
Option wirklich nicht ausschliessen.

Autor: Sven P. (haku) Benutzerseite
Datum:

Bewertung
0 lesenswert
nicht lesenswert
Ehe ich auf C# umsteige, würde ich noch eher Free Pascal empfehlen. Hat 
auch ein Klicki-Bunti-GUI-Entwerfer und der läuft auf allen Platformen, 
da er gtk, gtk2, QT, wxWidgets und natives Windows-UI abstrahiert, kann 
man dann per Knopfdruck umschalten. Außerdem ist der Sprachkern recht 
aufgeräumt.

Es würde mich ansonsten auch interessieren, wie man mit C# einen 
PIC/AVR/MSP programmiert, und vorallem, welche Vorteile man sich davon 
erhofft.

Autor: Klaus Wachtler (mfgkw)
Datum:

Bewertung
0 lesenswert
nicht lesenswert
Es gibt auch das, was MS als "embedded" bezeichnet und dann mit
Windows CE oder einem "Embedded XP" läuft.

Das hat aber nichts mit einem AVR zu tun, der mit 3 oder 4 mA
auskommt und 3 oder 4 Euro kostet.
Eher ist das sowas wie mein Navi, das gelegentlich abstürzt
und neu gebootet werden muß und beim Ausschalten in Wirklichkeit
weiterläuft und nach 3 Tagen den Akku leersaugt, weil ein
echter Neustart 5 Minuten braucht.
Embedded XP läuft auf echter PC-Technik, also Intel.
Auch nicht das, was ich spontan als embedded bezeichnen würde.

In dieser embedded-Welt jedenfalls kann man mit .NET und damit
C# ganz toll programmieren.

Autor: Rufus Τ. Firefly (rufus) (Moderator) Benutzerseite
Datum:

Bewertung
0 lesenswert
nicht lesenswert
>> Mit C# kann man keinen µC programmieren,
>
> Dann frage ich mich nur, wieso ich genau das hier machen kann...

Was bitte für einen µC programmierst Du mit C#? Das kann allenfalls ein 
reichlich fetter ARM sein, auf dem ein Linux läuft, und auf den Mono 
portiert wurde. Das als µC zu bezeichnen ist ... naja. Das ist fast 
schon ein vollständiger PC.

Zeig mir aber einen MSC-51, einen AVR, einen PIC, einen MSP430, der mit 
C# programmiert wird ...

Autor: Rolf Magnus (Gast)
Datum:

Bewertung
0 lesenswert
nicht lesenswert
Beim Wort "embedded" denken die Leute an sehr unterschiedliche Dinge.
Der eine denkt dabei an eine Digitaluhr mit 4-bit-µC, der andere an 
einen Fahrkartenautomaten, in dem im Prinzip ein Standard-PC steckt. 
Dazwischen gibt's dann noch beliebig viele Abstufungen.

Was Mono angeht, so steht da immer auch die Gefahr im Raum, daß 
Microsoft mit Patenten gegen unliebsame Konkurrenz vorgeht. Deshalb 
kommt es meines Erachtens zumindest für kommerzielle Projekte nicht 
infrage.

Autor: Volker (Gast)
Datum:

Bewertung
0 lesenswert
nicht lesenswert
okay danke!
nach all dem was ich nun hier gelesen habe werde ich mich für visual C# 
entscheiden.

Könnt Ihr mir ein Buch empfehlen? ich glaube ich werde mir "Microsoft 
Visual C# 2008" von Dirk Louis und Shinja Strasser zulegen.*
http://www.amazon.de/Microsoft-Visual-2008-Entwick...

Gibt es Einsprüche oder andere Empfehlungen?


*Nicht bei Amazon sondern beim örtlichen Buchdealer ;-)

Autor: Warhawk (Gast)
Datum:

Bewertung
0 lesenswert
nicht lesenswert
Hallo,

da hab ich noch einen kleinen Tip für dich:

http://www.galileocomputing.de/katalog/openbook

Die Bücher sind kostenlos online zulesen (ist auch eins für C# dabei), 
zum ausprobieren reicht sowas auch erstmal und man muß kein Geld in die 
Hand nehmen.

Autor: Michael K. (Gast)
Datum:

Bewertung
0 lesenswert
nicht lesenswert
Warhawk schrieb:
> Die Bücher sind kostenlos online zulesen

... und können auch kostenlos runtergeladen und offline gelesen werden.

Autor: peterguy (Gast)
Datum:

Bewertung
0 lesenswert
nicht lesenswert
> Es ist eine proprietäre Insellösung (auch wenn die Insel
> ziemlich groß ist), aber für die allermeisten Aufgaben
> kein Flatulenzquant besser als Java.

Um mal ein Gefühl für die Größenverhältnisse zu geben: In deinem 
Beispiel wäre Afrika die Insel (C#) und Madagaskar das Festland (Java) 
:P


Ist schon faszinieren, mit welcher Verbissenheit einen kleine Gruppe von 
Javausern versucht was schlechtes an C# zu finden.


Um auf die Frage des Threaderstellers einzugehen:
Für Graphische Oberflächen sowie die Programmlogik würde ich C# 
empfehlen. Sobald es in Richtung Schnittstellen  Hardwarenah  
Performance geht, solltest du Teile in C++ auslagern. Ich schreibe z.B. 
Gerätetreiber gerne als DLL in C++ und die Oberfläche zum Bedienen der 
Geräte in C#. Komme änhlich wie du von der C-Welt und habe vor ca. nem 
halben Jahr mit C# angefangen. Da die Syntax sehr ählich ist, fällt der 
Einstig nicht allzu schwer.

Autor: Klaus Wachtler (mfgkw)
Datum:

Bewertung
0 lesenswert
nicht lesenswert
peterguy schrieb:
> Ist schon faszinieren, mit welcher Verbissenheit einen kleine Gruppe von
> Javausern versucht was schlechtes an C# zu finden.

Lesen hätte geholfen.

Autor: Klaus Wachtler (mfgkw)
Datum:

Bewertung
0 lesenswert
nicht lesenswert
Bzw. Lesen und Verstehen

Autor: Gastus (Gast)
Datum:

Bewertung
0 lesenswert
nicht lesenswert
Volker schrieb:
> Wenn
> dem so ist, dann ist doch c++ eher "veraltet" und es ist sinnvoll gleich
> auf c# zu lernen, was denkt ihr darüber?

C++ mag schon alt sein, aber C# ist eine der schnelllebigen 
Microsoft-Technologien, die aus strategischen Gründen auch mal ganz 
schnell wieder fallen gelassen werden kann. C++ wird C# ganz sicher 
überleben.

Wenn es darum geht, für eine lange Zeit nützliche Kenntnisse zu 
erwerben, dann verbieten sich Microsoft-Lösungen. Die haben sich zudem 
schon zu oft als Sackgasse erwiesen, auch wenn der Einstieg leicht 
erscheint.

Zudem ist die Plattformunabhängigkeit von .NET eher ein schlechter Witz. 
Da laufen selbst MFC-Anwendungen auf mehr Windows-Versionen als neuere 
.NET-Versionen. Und das Feigenblatt "Mono" (also die .NET-Portierung auf 
Unix) ist nicht nur naturgemäß in der Entwicklung um mindestens eine 
Version zurück, es steht auch aufgrund der Patentproblematik auf sehr 
wackligen Füßen.

Meine Empfehlung: Investiere lieber etwas mehr Zeit in C++ und portable 
Lösungen für Oberflächen wie QT oder wxWidgets, das wird sich später 
eher auszahlen. Es ist wie beim Einkaufen: Wer (zu) billig kauft, kauft 
zweimal...

Autor: Rufus Τ. Firefly (rufus) (Moderator) Benutzerseite
Datum:

Bewertung
0 lesenswert
nicht lesenswert
> Meine Empfehlung: Investiere lieber etwas mehr Zeit in C++ und portable
> Lösungen für Oberflächen wie QT oder wxWidgets, das wird sich später
> eher auszahlen. Es ist wie beim Einkaufen: Wer (zu) billig kauft, kauft
> zweimal...

Der kann ich mich nur anschließen. Vor allem, weil C++ auch ohne 
Oberflächenklassenbibliotheken nutzbar ist - wenn man auf gewisse 
Sprachfeatures* verzichtet, auch problemlos auf so etwas wie einem AVR.
C++-Compiler existieren für praktisch jede Prozessorarchitektur (naja, 
bei 4-Bit-Systemen trifft das nicht mehr zu, und bei 8-Bit-Systemen 
gibts manche Einschränkungen). So etwas wie "Mono" aber dürfte ohne 
Betriebssystem kaum verwendbar sein und dürfte allein von der Größe her 
etliche kleinere Systeme gleich komplett erschlagen.

Oder hat das schon jemand auf einen LPC2106 portiert?


*) geschuldet der sparsamen Speicherausstattung. So etwas wie boost oder 
auch die Nutzung virtueller Funktionen kann einen kleinen µC halt 
überfordern.

Autor: Arc Net (arc)
Datum:

Bewertung
0 lesenswert
nicht lesenswert
Klaus Wachtler schrieb:
> Für C und C++ muß man jeweils erstens viel Enthusiasmus
> mitbringen und zweitens die richtige Denkweise haben bzw. mit
> der Zeit bekommen.

Das gilt für alle (nicht trivialen) Sprachen.

> Dann kann man damit alles machen, was überhaupt irgendwie geht.

C/C++ sind zwar Turing-vollständig, d.h. aber noch lange nicht, das man 
damit alles in annehmbarer Zeit und mit annehmbarem Aufwand erreichen 
kann.

> Sogar effizient, wenn man es beherrscht.

Gilt auch für alle Sprachen

> Nun ist BASIC aber noch nie der Bringer gewesen, und im Laufe
> der Jahrzehnte auch nicht besser geworden.

Da spricht der Nicht-Kenner.

> Nachdem es nun leider nicht von Microsoft ist und damit das
> tolle Monopol gefährdet, haben SIE C# ins Spiel gebracht.
> Das hat mit C und C++ nicht viel mehr gemeinsam als den
> ersten Buchstaben und die geschweiften Klammern, aber
> weil es von IHNEN ist, ist es toll.

C# ist, würde man mal hinsehen, näher an C++ als es Java je sein wird.
Da für Fanatiker aber nicht sein kann, was nicht sein darf, darf eine 
Entwicklung von MS natürlich nicht positiv dargestellt werden.
Eine Diskussion erübrigt sich damit.

> Wenn man nur Windows sehen will, kann man es gerne nehmen:
> es ist DAU-geeignet und unter Windows recht mächtig,

DAU geeignet, wenn die Sprache mehr Möglichkeiten bietet als C++...

> solange man es nicht hardwarenah braucht.

Deshalb gibt's auch gleich eine ganze Reihe von Betriebssystemen die nur 
das absolut allernötigste in Asm/C/C++ implementieren (wenn überhaupt) 
und selbst als reine Forschungssysteme schon einiges wesentlich 
schneller erledigen als heutige C/C++-Systeme.
Angefangen bei Inferno, JavaOS, JX und Singularity bis hin zu SharpOS, 
Helios, Midori. SharpOS ist 100% C#.

Controller die direkt Java-Bytecode ausführen (Sun, aJile, Imsys oder 
z.B. JOP http://www.jopdesign.com/), scheinen in einer gewissen 
Parallelwelt auch nicht zu existieren.

> Ein gleichwertiger Ersatz für C++ ist es nicht, es
> steckt halt eine andere Philosophie dahinter (mehr
> interpretiert, ähnlich wie Java).

Jetzt wird's richtig falsch...
Weder Java noch C# oder VB werden interpretiert. Der Quelltext wird 
immer kompiliert. Ob die VM das dann vorher, während der Laufzeit oder 
gar nicht in Maschinencode übersetzt, ist eine andere Frage.

> Eher ist das sowas wie mein Navi, das gelegentlich abstürzt
> und neu gebootet werden muß und beim Ausschalten in Wirklichkeit
> weiterläuft und nach 3 Tagen den Akku leersaugt, weil ein
> echter Neustart 5 Minuten braucht.

TomTom -> Linux, Garmin Nuvi -> Linux, also Navigon?

Rufus t. Firefly schrieb:
>>> Mit C# kann man keinen µC programmieren,
>>
>> Dann frage ich mich nur, wieso ich genau das hier machen kann...
>
> Was bitte für einen µC programmierst Du mit C#? Das kann allenfalls ein
> reichlich fetter ARM sein, auf dem ein Linux läuft, und auf den Mono
> portiert wurde. Das als µC zu bezeichnen ist ... naja. Das ist fast
> schon ein vollständiger PC.

Wenn man sich mal die Mühe machen würde den Links zu folgen...
Net Micro Framework kein Mono, kein Linux, kein CE d.h. hier z.Z. ein 
größerer Cortex-M3 von TI

>
> Zeig mir aber einen MSC-51, einen AVR, einen PIC, einen MSP430, der mit
> C# programmiert wird ...
Mit C# z.Z. nicht. Java ginge, wenn's denn sein muss

Gastus schrieb:
> Wenn es darum geht, für eine lange Zeit nützliche Kenntnisse zu
> erwerben, dann verbieten sich Microsoft-Lösungen. Die haben sich zudem
> schon zu oft als Sackgasse erwiesen, auch wenn der Einstieg leicht
> erscheint.

Beispiele?

> Zudem ist die Plattformunabhängigkeit von .NET eher ein schlechter Witz.
> Da laufen selbst MFC-Anwendungen auf mehr Windows-Versionen als neuere
> .NET-Versionen.

Wieviele setzen denn noch Win2k produktiv ein?

> das wird sich später
> eher auszahlen. Es ist wie beim Einkaufen: Wer (zu) billig kauft, kauft
> zweimal...

Stimmt! Wer FOSS nutzt zahlt doppelt, unproduktiv in der Entwicklung, 
unrentabel, wenn's auf dem Markt ist.

Autor: Gastus (Gast)
Datum:

Bewertung
0 lesenswert
nicht lesenswert
Arc Net schrieb:
> Beispiele?

MFC, Windows Forms, J#, JScript.NET, Visual Basic, bald sicher auch .NET 
oder frühere Versionen aufgrund von tiefgreifenden Änderungen (wäre ja 
nichts Neues), um mal bei den Entwicklungsumgebungen zu bleiben...

Microsoft treibt ständig neue Säue durch's Dorf. Da eine Code-Basis 
aufzubauen, die auch nach Jahren noch mit aktueller (und unterstützter!) 
Technologie läuft, ist ein Lotteriespiel.

> Wieviele setzen denn noch Win2k produktiv ein?

Einige. Hier bei uns (großer Konzern) laufen noch viele Rechner mit W2k.

Wenn gerade die angeblich plattformunabhängige Technologie den 
Programmierer besonders hinsichtlich verfügbarer Plattformen 
einschränkt, dann ist die Wahrscheinlichkeit hoch, eine 
Microsoft-Technologie zu benutzen...

> Stimmt! Wer FOSS nutzt zahlt doppelt, unproduktiv in der Entwicklung,
> unrentabel, wenn's auf dem Markt ist.

Jetzt wird es wirklich albern. Etwas weniger Microsoft-Fanatismus bitte.

Autor: STK500-Besitzer (Gast)
Datum:

Bewertung
0 lesenswert
nicht lesenswert
>Könnt Ihr mir ein Buch empfehlen?
http://www.amazon.de/Jetzt-lerne-Visual-2010-erfol...

finde ich definitiv anfängertauglich.

Damit wäre ein (späterer) "Umstieg" auf C++ auch einfach.

Autor: .NET Anfänger (Gast)
Datum:

Bewertung
0 lesenswert
nicht lesenswert
Gastus (Gast) wrote:

> Zudem ist die Plattformunabhängigkeit von .NET eher ein schlechter Witz.
> Da laufen selbst MFC-Anwendungen auf mehr Windows-Versionen als neuere
> .NET-Versionen.

.Net 2.0 läuft perfekt ab Windows 2000 und genügt auch erst mal. Windows 
2000 widerum würde ich nicht mehr unterschreiten, nachdem ich selber 
lange Zeit noch Windows 98SE verwendet habe.

Man kann natürlich sich hier alle möglichen vermeintlichen negativ 
Punkte aus den Fingern saugen. Ich hab auch lange Zeit überlegt wo ich 
meine Zeit investieren soll und bin bei C# gelandet (werde auch dabei 
bleiben). Es ist wirklich ein super Framework mit Objekten für so 
ziemlich alles was man gerade mal braucht. Außerdem ist die C# IDE 
einfach klasse für ein "umsonst Produkt". Die Hilfefunktion ist sehr 
umfangreich, der Editor ist sehr schön gelungen, hätte mir gewünscht, 
sowas hätte es schon früher zur Win32 Zeit zum Download gegeben. Da 
musste man sich dann sein VC 6.0 "beschaffen", hehe .. Wenn man mal 
schaut wie dieses Framework inzwischen gewachsen ist, inkl. der 
Standardisierung der C# Sprache, was will man eigentlich mehr? Der 
Embedded Bereich wurde bereits genannt. Wenn man möchte kann man sogar 
unmanaged Code schreiben wie zur Win32 Zeit (aber wozu?). Wenn ich eine 
neue Sprache lerne brauche ich auch nicht gleich die sog. 
"Plattformunabhängigkeit", die ja in Wahrheit auch nur eine relative 
ist, nämlich auf Windows + Linux (Derivate) bezogen. Oder compiliert 
euer Quelltext auch gleichzeitig für ein Amiga OS? (und falls ja, für 
welches Version dann? In der Version scheiden sich nämlich dann auch die 
Geister .. da braucht es nicht den Hinweis auf .NET 3.5 läuft nicht auf 
W2k - euer Compilat wird auch nicht auf einem alten Suse Linux 7.0 mit 
seinen veralteten Bibliotheken laufen etc.)

Was Bücher betrifft, da gibt es einige gute und viele die sehr ähnlich 
sind und immer die gleichen Themen oder Überschriften abhandeln. 
EIgentlich kann man aus allen etwas (mehr oer weniger) enthemen. 
Hilfreich sind immer komplette Quelltexte (besonders zu beginn, weil die 
Denkweise doch anders ist, als bei der typischen Top-Down Methode in C 
(halt objektorientiert, wobei der Begriff Objekt sich auf so ziemlich 
alles beziehen lässt, was einem nette Funktionen mitbringt )Achtung 
nicht schimpfen, bin halt noch Anfänger, hehe).

Muss jetzt einkaufen, bis nachher ;)

Autor: P. S. (Gast)
Datum:

Bewertung
0 lesenswert
nicht lesenswert
Klaus Wachtler schrieb:

> Nachdem es nun leider nicht von Microsoft ist und damit das
> tolle Monopol gefährdet, haben SIE C# ins Spiel gebracht.

Das halte ich fuer eine der ueblichen Verschwoerungstheorien. Versetze 
dich doch mal in Microsofts Lage. Du willst im Prinzip sowas wie Java 
haben. Kannst du Java nehmen? Nein. Denn damit kannst du keine nativen 
Applikationen schreiben. Dafuer haetten sie ihre gesammten APIs in Java 
abbilden muessen und am Ende waere es immer noch eine Kruecke. Ich habe 
schon einige Erfahrungen mit JNI gemacht, sowas macht man im Notfall, 
aber man setzt darauf sicher nicht als strategische Loesung fuer ein 
ganzes Betriebssystem.

Autor: Rufus Τ. Firefly (rufus) (Moderator) Benutzerseite
Datum:

Bewertung
0 lesenswert
nicht lesenswert
> Wenn ich eine neue Sprache lerne brauche ich auch nicht
> gleich die sog. "Plattformunabhängigkeit",

Das mag vielleicht sein, aber ein Sprache, die das kategorisch 
ausschließt, in dem sie nur auf sehr ausgewählten Systemen verwendbar 
ist, ist gerade in einem Microcontrollerforum fehl am Platze.

Es geht bei der Plattformunabhängigkeit auch nich darum, mit einem 
Entwicklungssystem Programme für alles mögliche erstellen zu können, es 
geht um plattformunabhängiges Wissen.

Wer in diesem Forum unterwegs ist, dem kann zumindest ein gewisses 
Interesse auch an der Programmierung von Microcontrollern unterstellt 
werden. Und genau die lassen sich mit einer .Net-Programmiersprache 
nicht* programmieren, und das erlernte Wissen um die Programmierung 
weist gerade an den kritischen Stellen erschreckende Lücken auf.

Wie soll jemand, dem von der "garbage collection" das Händchen gehalten 
wird, jemals verstehen lernen, wie Speicherverwaltung tatsächlich 
funktioniert und was ein Pointer ist?

Die hier oft gestellten Anfängerfragen lassen bereits jetzt grausliche 
Defizite auf diesem Gebiet erkennen.

Wenn man einfach nur irgendwelche Dinge für Windows schreiben will, dann 
mag das .Net-Zeug praktisch sein. Aber es ist "totes Wissen", zu 
spezialisiert um auf anderen Systeme anwendbar zu sein.

Und das Problem tritt auch auf, wenn "Managed C++" gelernt wird, das hat 
trotz des Namens nicht viel mit C++ gemein, und ist daher ähnlich totes 
Wissen wie das Wissen um C#.


*) die hier genannte Ausnahme eines "größeren Cortex-M3 von TI" 
beschreibt nicht das, was hier üblicherweise als Microcontroller 
verwendet wird

Autor: ... ... ... (Gast)
Datum:

Bewertung
0 lesenswert
nicht lesenswert
Oh man, da mache einen kleinen blöden Spruch... tut mir Leid, dass war 
so nicht geplant.

Peter Stegemann schrieb:
> Klaus Wachtler schrieb:
>
>> Nachdem es nun leider nicht von Microsoft ist und damit das
>> tolle Monopol gefährdet, haben SIE C# ins Spiel gebracht.
>
> Das halte ich fuer eine der ueblichen Verschwoerungstheorien. Versetze
> dich doch mal in Microsofts Lage. Du willst im Prinzip sowas wie Java
> haben. Kannst du Java nehmen?
Öh, MS hat das doch gemacht? Sie hatten ein eigenes Java, das war 
allerdings mit dem von Sun nicht mehr kompatibel, lief also nur noch auf 
Windows. Dann hat Sun MS verklagt, gewonnen und Sun hat das erste mal 
seit Dekaden einen Gewinn erzielt, nämlich durch die Strafzahlungen von 
MS an Sun.
Kann auch sein, dass ich das damals in den Heise-News nicht richtig 
verstanden habe...

Mist, jetzt diskutiere ich auch schon mit... ;-)

Autor: Klaus Wachtler (mfgkw)
Datum:

Bewertung
0 lesenswert
nicht lesenswert
Tu nicht so, du hast doch damit angefangen! :-)

Autor: Udo R. S. (Gast)
Datum:

Bewertung
0 lesenswert
nicht lesenswert
Arc Net schrieb:
> Wenn man sich mal die Mühe machen würde den Links zu folgen...
> Net Micro Framework kein Mono, kein Linux, kein CE d.h. hier z.Z. ein
> größerer Cortex-M3 von TI

Das ist schon witzig. Ein Controller von tausenden, und schon kann man 
mit C# Microcontroller programmieren. Bist Du im Marketing bei MS?

Microsoft hat mit C# das Gleiche gemacht wie mit NT (OS/2 als Vorbild an 
dem Sie mitgearbeitet hatten), mit Word (Wordstar als Vorbild) mit dem 
Browser, mit der Workbench (Borland als Vorbild) und so vielem anderen.

Microsoft nutzt seine Marktmacht (und die vielen fast gläubigen Jünger) 
um Produkte die gut sind und die Sie nicht kaufen können eben mit 
gewaltigem Aufwand nachzubauen (und manchmal durchaus zu verbessern) und 
damit die Konkurrenz an die Wand zu drücken.

Diese Taktik ist erst mit Open Source ins Bröckeln geraten (Linux, Java, 
Browser, OpenOffice)

Das gleiche machen im Moment Apple(die leben von Ihren Jüngern) und 
Google.

Thats Business.

Autor: Arc Net (arc)
Datum:

Bewertung
0 lesenswert
nicht lesenswert
Gastus schrieb:
> Arc Net schrieb:
>> Beispiele?
>
> MFC, Windows Forms, J#, JScript.NET, Visual Basic, bald sicher auch .NET
> oder frühere Versionen aufgrund von tiefgreifenden Änderungen (wäre ja
> nichts Neues), um mal bei den Entwicklungsumgebungen zu bleiben...

MFC wird weiter unterstützt, WinForms ebenso, JScript.NET hat das jemand 
genutzt?, Support läuft mit .NET 2.0 zusammen aus, J# ist definitiv tot, 
Support noch bis 2015, bei VB gab's tatsächlich mal einen größeren 
Schnitt (VB6 -> VB.NET).
Die .NET-Versionen laufen problemlos nebeneinander, wenn man es denn 
braucht.
Entwicklungsumgebungen werden, wie andere Produkte von MS auch, 5 bzw. 
10 Jahre unterstützt (auch die Express-Versionen), Serverprodukte 15 
Jahre.

> Microsoft treibt ständig neue Säue durch's Dorf. Da eine Code-Basis
> aufzubauen, die auch nach Jahren noch mit aktueller (und unterstützter!)
> Technologie läuft, ist ein Lotteriespiel.

Lotteriespiel? Siehe oben oder 
http://support.microsoft.com/gp/lifeselectindex

>> Wieviele setzen denn noch Win2k produktiv ein?
>
> Einige. Hier bei uns (großer Konzern) laufen noch viele Rechner mit W2k.

Ein paar kleinere "Läden" die noch ein paar Kisten mit W2k einsetzen, 
kenne ich zwar auch, alle größeren haben zumindest auf den Desktops min. 
XP.

> Wenn gerade die angeblich plattformunabhängige Technologie den
> Programmierer besonders hinsichtlich verfügbarer Plattformen
> einschränkt, dann ist die Wahrscheinlichkeit hoch, eine
> Microsoft-Technologie zu benutzen...
>
>> Stimmt! Wer FOSS nutzt zahlt doppelt, unproduktiv in der Entwicklung,
>> unrentabel, wenn's auf dem Markt ist.
>
> Jetzt wird es wirklich albern. Etwas weniger Microsoft-Fanatismus bitte.

Warum? Wenn die FOSS-Bewegung mit Stallman an der Spitze schon einen 
Kreuzzug startet (ISBN 0-596-00287-4), kann man auch mal so antworten.

Autor: Gast77 (Gast)
Datum:

Bewertung
0 lesenswert
nicht lesenswert
C# ist AFAIK nicht so erfolgreich, wie von Microsoft zunächst erhofft. 
Aktuell hätte ich bei C# die Befürchtung, dass ich auf die falsche Karte 
setze.

Autor: ... ... ... (Gast)
Datum:

Bewertung
0 lesenswert
nicht lesenswert
Klaus Wachtler schrieb:
> Tu nicht so, du hast doch damit angefangen! :-)
Eigentlich wollte cih wirklich nur einen blöden Spruch machen, aber 
irgendwie endet es immer, wie es immer endet... :-)

Autor: Gast77 (Gast)
Datum:

Bewertung
0 lesenswert
nicht lesenswert
>Ich selbst weiß nun nicht wo genau der Unterschied zwischen den beiden
>Sprachen liegt - ich vermute aber dass c# nachfolger von c++ ist.

Nein, das ist nicht der Fall. C# ist nicht der Nachfolger von C++, 
sondern eine völlig andere Entwicklung von Microsoft. MS hat vor langer 
Zeit wegen Java eine Schlappe durch SUN einstecken müssen. Dann waren 
sie beleidigt und haben fortan Java gemieden, wo es nur ging. C# ist 
deshalb ein Konkurrenzprodukt zu Java.

>Wenn
>dem so ist, dann ist doch c++ eher "veraltet" und es ist sinnvoll gleich
>auf c# zu lernen, was denkt ihr darüber?

Wenn Du nur unter Windows und nicht hardwarelastig programmieren 
möchtest, dann kann C# geeignet sein. Auf anderen Betriebssystemen und 
in speziellen Bereichen (embedded etc.) ist Dein Wissen über C# 
allerdings nicht nutzbringend.

Am weitesten verbreitet ist C++, dann folgt Java.

Autor: P. S. (Gast)
Datum:

Bewertung
0 lesenswert
nicht lesenswert
... ... ... schrieb:

>> Das halte ich fuer eine der ueblichen Verschwoerungstheorien. Versetze
>> dich doch mal in Microsofts Lage. Du willst im Prinzip sowas wie Java
>> haben. Kannst du Java nehmen?
> Öh, MS hat das doch gemacht?

Waere mir neu, dass Microsoft eine Java-Version hatte, die die 
Windows-API unterstuetzt. Es geht hier natuerlich nicht um ein paar 
Spezialfeatures, sondern um eine vollumfaengliche Unterstuetzung. Die 
waere auch nicht notwendigerweise ein Verstoss gegen SUNs 
Lizenzbestimmungen. Und wenn dem doch so waere, waere das auch nur ein 
weiteres Argument, warum die Antwort auf obige Frage "Nein" ist.

Autor: Sven P. (haku) Benutzerseite
Datum:

Bewertung
0 lesenswert
nicht lesenswert
C++ hat bereits zwei Nachfolger, zum Einen 'D', wenn man denn das mal 
als Nachfolger sehen möchte, zum Anderen in C++0x, welches eine ziemlich 
umfangreiche Umstrukturierung/Erweiterung von C++ darstellt.

Autor: Gastino G. (gastino)
Datum:

Bewertung
0 lesenswert
nicht lesenswert
Arc Net schrieb:
> MFC wird weiter unterstützt, WinForms ebenso, JScript.NET hat das jemand

MFC ist praktisch tot, es läuft noch auf aktuellen Systemen, aber das 
Ende der Unterstützung ist abzusehen. WinForms wird durch WPF abgelöst 
und die aktuelle Version von Windows Workflow Foundation wird mit .NET 
4.0 komplett umgeworfen.

So was als Basis für eine kommerzielle Software? Ich könnte nachts nicht 
mehr ruhig schlafen.

> Die .NET-Versionen laufen problemlos nebeneinander, wenn man es denn
> braucht.

Der war gut. :)

> Entwicklungsumgebungen werden, wie andere Produkte von MS auch, 5 bzw.
> 10 Jahre unterstützt (auch die Express-Versionen), Serverprodukte 15
> Jahre.

5 oder 10 Jahre sind nichts (und wie wir oben gesehen haben, leben viele 
Dinge auch deutlich kürzer!).
Wenn eine kleine Firma nach 10 Jahren Entwicklung ihre Software noch mal 
fast neu schreiben muss, dann tut das richtig weh.

> Ein paar kleinere "Läden" die noch ein paar Kisten mit W2k einsetzen,
> kenne ich zwar auch, alle größeren haben zumindest auf den Desktops min.
> XP.

Also Du empfindest es als normal, dass die als "plattformunabhängig" 
beworbene Entwicklungsumgebung weniger (eigene) Plattformen unterstützt, 
als die dadurch abgelöste, alte Technologie? Ich bezeichne so was als 
Witz.

Autor: P. S. (Gast)
Datum:

Bewertung
0 lesenswert
nicht lesenswert
Gastino G. schrieb:

> So was als Basis für eine kommerzielle Software? Ich könnte nachts nicht
> mehr ruhig schlafen.

Man, es ging darum, dass diese Legacy-Schnittstelle noch unterstuetzt 
wird, nicht darum, neue Software darauf aufzusetzen.

> 5 oder 10 Jahre sind nichts (und wie wir oben gesehen haben, leben viele
> Dinge auch deutlich kürzer!).
> Wenn eine kleine Firma nach 10 Jahren Entwicklung ihre Software noch mal
> fast neu schreiben muss, dann tut das richtig weh.

Auf welcher Platform kann man denn bitte 10 Jahre alten Code einfach 
ohne Aenderungen kompilieren? Und bitte keine unrealistischen 
Posix-Only-Beispiele (selbst dort hat es Veraenderungen gegeben, die 
einem ganz uebel den Tag versauen koennen), sondern Beispiele aus dem 
Bereich, ueber den wir hier reden: GUI-Applikationen.

Autor: Sven P. (haku) Benutzerseite
Datum:

Bewertung
0 lesenswert
nicht lesenswert
Ich habe noch einige alte Schätze für Unix/X11, etwa einen 
Bildschirmmultiplexer für den Betrieb in Klassenzimmern oder den 
GUI-Designer von XForms (X11-XForms, nich das XML-Dingen). Die sind zwar 
mittlerweile überholt, lassen sich aber noch anstandslos übersetzen G

Autor: Klaus Wachtler (mfgkw)
Datum:

Bewertung
0 lesenswert
nicht lesenswert
dto. Motif

Autor: Gastino G. (gastino)
Datum:

Bewertung
0 lesenswert
nicht lesenswert
Peter Stegemann schrieb:
> Man, es ging darum, dass diese Legacy-Schnittstelle noch unterstuetzt
> wird, nicht darum, neue Software darauf aufzusetzen.

Kommerzielle Software wird üblicherweise über Jahre (und Jahrzehnte) 
weiterentwickelt.

> Auf welcher Platform kann man denn bitte 10 Jahre alten Code einfach
> ohne Aenderungen kompilieren? Und bitte keine unrealistischen
> Posix-Only-Beispiele (selbst dort hat es Veraenderungen gegeben, die
> einem ganz uebel den Tag versauen koennen), sondern Beispiele aus dem
> Bereich, ueber den wir hier reden: GUI-Applikationen.

Also alle möglichen X11-Anwendungen lassen sich problemlos kompilieren, 
ebenso ältere GTK-Sachen (QT habe ich noch nicht probiert, müsste aber 
auch gehen). Normalerweise ist das alles abwärtskompatibel und die alten 
Bibliotheken sind auch noch für neuere Plattformen verfügbar.
Außerdem ging es nicht um geringe Änderungen, sondern darum, dass man 
praktisch neu anfangen muss.

Autor: .NET Anfänger (Gast)
Datum:

Bewertung
0 lesenswert
nicht lesenswert
Rufus t. Firefly schrieb:
> Rufus t. Firefly (rufus) (Moderator)
>
>> Wenn ich eine neue Sprache lerne brauche ich auch nicht
>> gleich die sog. "Plattformunabhängigkeit",
>
> Das mag vielleicht sein, aber ein Sprache, die das kategorisch
> ausschließt, in dem sie nur auf sehr ausgewählten Systemen verwendbar
> ist, ist gerade in einem Microcontrollerforum fehl am Platze.
>

Mal langsam, wenn es um Mikrocontroller geht brauche ich kein C++ (d.h. 
keine Objektorientiertheit), da genügen meine C Kenntnisse und die hat 
man sowieso. Also zieht dein Argument nicht.
>
> Es geht bei der Plattformunabhängigkeit auch nich darum, mit einem
> Entwicklungssystem Programme für alles mögliche erstellen zu können, es
> geht um plattformunabhängiges Wissen.

Sorry, aber das halte ich für nicht zutreffend. Die 
Plattformunabhängigkeit beginnt dort wo eine Programmiersprache 
standardiesiert wird (ist der Fall bei C#) geht dort weiter, wo ein 
Framework auf andere Plattformen portiert wird (ist mit Mono bei Linux 
der Fall). Wie das mit Apple in Bezug auf ein entsprechendes Framework 
bzw. Laufzeitumgebung ist ist weiß ich jetzt nicht.

>
> Wer in diesem Forum unterwegs ist, dem kann zumindest ein gewisses
> Interesse auch an der Programmierung von Microcontrollern unterstellt
> werden. Und genau die lassen sich mit einer .Net-Programmiersprache
> nicht* programmieren, und das erlernte Wissen um die Programmierung
> weist gerade an den kritischen Stellen erschreckende Lücken auf.

Dazu brauche ich aber wie schon erwähnt auch nicht den 
objektorientierten Ansatz von C++ und was C# betrifft, da gibt es mit C 
Gemeinsamkeiten. Was Lücken betrifft, die hat jeder der nicht täglich am 
programmieren ist oder große Projekte umsetzen muss (oder darf ;)). Ist 
alles eine Sache der Übung. Speicher zur Laufzeit sich zu beschaffen und 
ihn richtig wieder freizugeben muss man bei C halt selber umsetzen. Das 
ist potentiell Fehler trächtiger, als wenn eine Laufzeitumgebung den 
Manager spielt. Aber wer C# .NET richtig lernen will, für den sind das 
eh größere Aufgaben als nochmal ein wenig in der Literatur 
nachzuschlagen, wie das mit der Speicherbeschaffung/Nutzung/Freigabe 
richtig funktioniert. Wegen letzterem muss ich nicht einem inzwischen so 
umfangreichen Framework wie dem .NET mit seinen ausufernd ausgefeilten 
Möglichkeiten "entsagen".
>
> Wie soll jemand, dem von der "garbage collection" das Händchen gehalten
> wird, jemals verstehen lernen, wie Speicherverwaltung tatsächlich

Wie soll denn jemals einer der eine Hochsprache wie C nutzt wissen was 
denn "wirklich im Prozessor abgeht", wenn er kein Assembler verwendet? 
:-)

> funktioniert und was ein Pointer ist?

Steht im Kernighan/Ritchie auf S. 91 (zumindest in meiner deutschen 
Ausgabe) ;)

>
> Die hier oft gestellten Anfängerfragen lassen bereits jetzt grausliche
> Defizite auf diesem Gebiet erkennen.

Ändert sich spontan, wenn der Nürnberger Trichter erst mal realisiert 
ist. :)

> Wenn man einfach nur irgendwelche Dinge für Windows schreiben will, dann
> mag das .Net-Zeug

Moment, ich helfe dir mal

.Net-Zeug alias "Geraffel"

:-)

> praktisch sein. Aber es ist "totes Wissen",

Wie kann ein Software-Unterbau (sorry, ich muss es an dieser Stelle 
einfach mal rauslassen) von Windows bei einer derartigen Verbreitung 
(und das weltweit) "totes Wissen" darstellen? Das ist doch echt Käse.

> zu
> spezialisiert um auf anderen Systeme anwendbar zu sein.

Es liegt doch nicht an Microsoft wenn Mono bisher stiefmütterlich auf 
Linux-Derivaten behandelt wird und für den embedded Bereich ist .NET 
bereits gerüstet - zumindest da wo ein bisschen Rechenleistung und RAM 
zur Verfügung steht siehe

http://msdn.microsoft.com/de-de/windowsembedded/default.aspx

"Windows Embedded ist die Microsoft-Produktfamilie verschiedener 
Betriebssystemsoftware und Toolsets für die Verwendung in elektronischen 
Geräten wie Registrierkassen, Geldautomaten, Industrieschaltgeräten, 
Gateways, IP-Telefonen, Servergeräten, Windows-basierten Thin Clients, 
moderner Unterhaltungs- und Haushaltselektronik sowie spezialisierten 
Handheldgeräten. "

>
> Und das Problem tritt auch auf, wenn "Managed C++" gelernt wird, das hat
> trotz des Namens nicht viel mit C++ gemein,

Warum betonst du eigentlich andauernd etwas (C++ != C#) was kein Mensch 
behauptet oder in den Raum stellt?

> und ist daher ähnlich totes
> Wissen wie das Wissen um C#.

Schau dir mal die hohe Anzahl guter Fachbücher an die es für .NET und C# 
gibt. Die Verlage verdienen mit diesem angeblich "toten" Wissen viel 
Geld.

Autor: Klaus Wachtler (mfgkw)
Datum:

Bewertung
0 lesenswert
nicht lesenswert
Das geht auch mit Esoterik-Kram und Astrologie.

Ich glaube, sowas sollten wir jetzt jeden Freitag machen...

Autor: .NET Anfänger (Gast)
Datum:

Bewertung
0 lesenswert
nicht lesenswert
> Das geht auch mit Esoterik-Kram und Astrologie.

Was genau meinst du?

Autor: Klaus Wachtler (mfgkw)
Datum:

Bewertung
0 lesenswert
nicht lesenswert
.NET Anfänger schrieb:
> Was genau meinst du?

na das:
> Die Verlage verdienen mit diesem angeblich "toten" Wissen viel Geld.

=> Das geht auch mit Esoterik-Kram und Astrologie.

Autor: Gastino G. (gastino)
Datum:

Bewertung
0 lesenswert
nicht lesenswert
.NET Anfänger schrieb:
> Sorry, aber das halte ich für nicht zutreffend. Die
> Plattformunabhängigkeit beginnt dort wo eine Programmiersprache
> standardiesiert wird (ist der Fall bei C#) geht dort weiter, wo ein
> Framework auf andere Plattformen portiert wird (ist mit Mono bei Linux
> der Fall). Wie das mit Apple in Bezug auf ein entsprechendes Framework
> bzw. Laufzeitumgebung ist ist weiß ich jetzt nicht.

.NET läuft in höheren Versionen nur auf Windows XP ab Service Pack 2 und 
Mono ist eher ein Feigenblatt (immer mindestens 1 Version im Rückstand 
und patentrechtlich höchst unsicher).
Da ist C++ aber um Dimensionen portabler als es C# jemals sein wird.

> Wie kann ein Software-Unterbau (sorry, ich muss es an dieser Stelle
> einfach mal rauslassen) von Windows bei einer derartigen Verbreitung
> (und das weltweit) "totes Wissen" darstellen? Das ist doch echt Käse.

Weil es in ein paar Jahren veraltet sein wird. So wie bei allen 
"Neuheiten" von Microsoft.

> Es liegt doch nicht an Microsoft wenn Mono bisher stiefmütterlich auf
> Linux-Derivaten behandelt wird

Aber selbstverständlich liegt es an Microsoft, denn nur die und sonst 
niemand kann dafür sorgen, dass Mono immer aktuell ist. Außerdem kann 
auch nur Microsoft eine Linux-Portierung schaffen, die vor deren 
Patenten dann auch sicher ist.

> Schau dir mal die hohe Anzahl guter Fachbücher an die es für .NET und C#
> gibt. Die Verlage verdienen mit diesem angeblich "toten" Wissen viel
> Geld.

Natürlich. Nur bedeutet diese Tatsache nicht automatisch, dass auch der 
Nutzer von .NET damit viel Geld verdient.

Aber hier geht es auch nicht um das Geldverdienen. Es geht um den 
Einstieg in eine Programmiersprache und den Aufwand, der damit verbunden 
ist. Und da kann ich nur empfehlen, sich für eine Sprache zu 
entscheiden, die von vielen Anbietern im Markt unterstützt und offen 
weiterentwickelt wird, die sehr weit auf verschiedenen Systemen 
verbreitet, allgemein akzeptiert und standardisiert ist. Und nicht für 
eine, bei der der Einstieg auf den ersten Blick etwas einfacher 
erscheint.

Autor: .NET Anfänger (Gast)
Datum:

Bewertung
0 lesenswert
nicht lesenswert
=> Das geht auch mit Esoterik-Kram und Astrologie.

Nur mit dem Unterschied, dass das Bücher über Programmiersprachen nicht 
der Unterhaltung dienen und auch vom Preis her in einer anderen Liga 
spielen, als das Zeugs was du angesprochen hast.

Autor: Gastino G. (gastino)
Datum:

Bewertung
0 lesenswert
nicht lesenswert
.NET Anfänger schrieb:
> Nur mit dem Unterschied, dass das Bücher über Programmiersprachen nicht
> der Unterhaltung dienen und auch vom Preis her in einer anderen Liga
> spielen, als das Zeugs was du angesprochen hast.

Leichtgläubigkeit und Naivität gibt es auch bei Programmierern. ;)

Autor: Zwie Blum (zwieblum)
Datum:

Bewertung
0 lesenswert
nicht lesenswert
Mann, Mann, Mann, immer diese Sprachen für Warmduscher. Lerne LISP, da 
hast wenigsten was mit Tradition. Das sind bleibende Werte. 10 Jahre 
Produktlaufzeit? Pah! 50 Jahre, Tendenz steigend! Das sind schon andere 
Dimensionen!

Autor: .NET Anfänger (Gast)
Datum:

Bewertung
0 lesenswert
nicht lesenswert
> Leichtgläubigkeit und Naivität gibt es auch bei Programmierern. ;)

Was soll daran "leichtgläubig" oder "naiv" sein sich für C#/.NET zu 
interessieren bzw. zu entscheiden? Das ist Unfug ..

Autor: .NET Anfänger (Gast)
Datum:

Bewertung
0 lesenswert
nicht lesenswert
> immer diese Sprachen für Warmduscher

Ich für meine Person ziehe eine warme Dusche noch immer vor. Aber manche 
brauchen wohl von Zeit zu Zeit eine Abkühlung für ihr heißgelaufenes 
Hirn. :)

Autor: Arc Net (arc)
Datum:

Bewertung
0 lesenswert
nicht lesenswert
Gastino G. schrieb:
> Aber hier geht es auch nicht um das Geldverdienen. Es geht um den
> Einstieg in eine Programmiersprache und den Aufwand, der damit verbunden
> ist. Und da kann ich nur empfehlen, sich für eine Sprache zu
> entscheiden, die von vielen Anbietern im Markt unterstützt und offen
> weiterentwickelt wird, die sehr weit auf verschiedenen Systemen
> verbreitet, allgemein akzeptiert und standardisiert ist.

C# und die CLI sind standardisiert, für die u.U. betroffenen Patente 
gibt es eine entsprechende Garantie von MS.
"Microsoft irrevocably promises not to assert any Microsoft Necessary 
Claims against you for making, using, selling, offering for sale, 
importing or distributing any implementation, to the extent it conforms 
to one of the Covered Specifications, and is compliant with all of the 
required parts of the mandatory provisions of that specification"...
"To clarify, "Microsoft Necessary Claims" are those claims of 
Microsoft-owned or Microsoft-controlled patents that are necessary to 
implement the required portions (which also include the required 
elements of optional portions) of the Covered Specification"
http://www.microsoft.com/interop/cp/default.mspx

offen weiterentwickelt:
Am besten so wie Java, wo es entweder Stillstand oder tausend Ansätze 
für die selbe Sache gibt, oder soll es eher so bürokratisch, sinnlos und 
langsam wie bei Ada oder C++ ablaufen?
p.s. dazu: in den C#/CLI Task Groups waren/sind u.a. auch Sun, IBM, 
Intel, HP und Netscape aktiv...

allgemein akzeptiert:
Glaubt man den Statistiken scheint das nicht auf Einzelfälle beschränkt 
zu sein (was auch die tägliche Praxis so bestätigt)
http://www.tiobe.com/index.php/content/paperinfo/t...

von vielen Anbietern im Markt unterstützt:
Wie viele Anbieter gibt es denn z.B. für fertige Controls oder gar 
Libraries für GTK, Qt oder wxWidgets (bitte kein GPL-verseuchtes Zeugs, 
das akzeptiert kein Kunde, ausser er will sein Wissen an die Konkurrenz 
verscherbeln)?
p.s. welche großen Firmen stehen denn noch hinter C++? IBM, Google, 
Apple, SUN/Oracle, Amazon tun es anscheinend nicht.

> MFC ist praktisch tot, es läuft noch auf aktuellen Systemen, aber das
> Ende der Unterstützung ist abzusehen. WinForms wird durch WPF abgelöst
> und die aktuelle Version von Windows Workflow Foundation wird mit .NET
> 4.0 komplett umgeworfen.

Da ist es wieder, das sagenumwobene Phänomen der automatischen 
Deinstallation und rückstandslosen Spurenentfernung, das instantan und 
nur dann auftrifft, wenn MS eine neue Version veröffentlicht und jeden 
fortan hindert die Vorgängerversionen zu nutzen...

>> Die .NET-Versionen laufen problemlos nebeneinander, wenn man es denn
>> braucht.
>
> Der war gut. :)

1.0, 1.1, 2.0 (inkl. 3.0 und 3.5) und 4.0 laufen parallel.

Autor: Gastino G. (gastino)
Datum:

Bewertung
0 lesenswert
nicht lesenswert
Arc Net schrieb:
> C# und die CLI sind standardisiert, für die u.U. betroffenen Patente
> gibt es eine entsprechende Garantie von MS.

Ja, aber auch nur für die. Die CLI ist nur eine Spezifikation, genauso 
wie die Spezifikation von C#. Irgendwelche Implementierungen können dann 
wieder durchaus von Patenten betroffen sein. So hat man 
"standardisierte" Systeme und trotzdem die Kontrolle darüber.

> offen weiterentwickelt:
> Am besten so wie Java, wo es entweder Stillstand oder tausend Ansätze
> für die selbe Sache gibt, oder soll es eher so bürokratisch, sinnlos und
> langsam wie bei Ada oder C++ ablaufen?
> p.s. dazu: in den C#/CLI Task Groups waren/sind u.a. auch Sun, IBM,
> Intel, HP und Netscape aktiv...

Ja, so am Rande. Es ist eine Microsoft-Technologie, mit entsprechenden 
Patenten und Implementierung, Planung usw. Eine offene Weiterentwicklung 
heißt gemeinsame, gleichberechtigte Planung und Implementierung. Davon 
kann bei .NET und C# absolut keine Rede sein.

> allgemein akzeptiert:
> Glaubt man den Statistiken scheint das nicht auf Einzelfälle beschränkt
> zu sein (was auch die tägliche Praxis so bestätigt)
> http://www.tiobe.com/index.php/content/paperinfo/t...

Sieht da nicht gerade gut für die Hauptentwicklungsumgebung für den 
Desktop aus, der auf etwa 95% der Rechner läuft, oder?

> von vielen Anbietern im Markt unterstützt:
> Wie viele Anbieter gibt es denn z.B. für fertige Controls oder gar
> Libraries für GTK, Qt oder wxWidgets (bitte kein GPL-verseuchtes Zeugs,
> das akzeptiert kein Kunde, ausser er will sein Wissen an die Konkurrenz
> verscherbeln)?
> p.s. welche großen Firmen stehen denn noch hinter C++? IBM, Google,
> Apple, SUN/Oracle, Amazon tun es anscheinend nicht.

Bei C++ ist es gar nicht notwendig, dass irgendeine Firma das pusht. C++ 
ist allgemein akzeptiert.
Was stellst Du Dir eigentlich unter "Anbieter für fertige Controls oder 
Libraries für wxWidgets" genau vor? Und hast Du Dir mal die Lizenzen 
angesehen und auch verstanden?

> Da ist es wieder, das sagenumwobene Phänomen der automatischen
> Deinstallation und rückstandslosen Spurenentfernung, das instantan und
> nur dann auftrifft, wenn MS eine neue Version veröffentlicht und jeden
> fortan hindert die Vorgängerversionen zu nutzen...

Was nützt mir das, wenn es bei den Kunden nicht mehr läuft, weil 
Microsoft es nicht mehr für Windows xy unterstützt?

> 1.0, 1.1, 2.0 (inkl. 3.0 und 3.5) und 4.0 laufen parallel.

Theoretisch, ja. Praktisch haben sich bei mir auf dem Rechner .NET2.0 
und .NET3.5 so auf die Nüsse gehauen, dass Applikationen nicht mehr 
liefen und sich das SP1 für .NET3.5 nicht mehr deinstallieren ließ.
Zudem muss ich Dir leider sagen, dass MFC-Anwendungen weitaus 
geschmeidiger laufen als das .NET-Geraffel.
Warum man den Aufwand bei Microsoft treibt, Java nachzubauen, das dann 
doch nur wieder auf der eigenen Plattform mehr schlecht als recht läuft, 
ist mir bis heute unklar.

Autor: Sven P. (haku) Benutzerseite
Datum:

Bewertung
0 lesenswert
nicht lesenswert
Ich bin auch kein Fan mehr von GPL, aber aus solchen Gründen werden GTK 
usw. unter der L-GPL veröffentlicht.

Autor: zwieblum (Gast)
Datum:

Bewertung
0 lesenswert
nicht lesenswert
Köstlich, köstlich. Weiss einer von den Technologen vielleicht was 
"Technologie" wirklich bedeutet?

Autor: Gastino G. (gastino)
Datum:

Bewertung
0 lesenswert
nicht lesenswert
zwieblum schrieb:
> Köstlich, köstlich. Weiss einer von den Technologen vielleicht was
> "Technologie" wirklich bedeutet?

"Microsoft-Technologie" ist ein im Microsoft-Umfeld sehr häufig 
verwendeter Begriff. Die "Microsoft Gold Certified Partner" haben sogar 
schon den "Microsoft Technologie Tag" (ja, ohne Bindestriche) 
ausgerichtet. Hier die Webseite, die aussieht, wie man das von 
"Microsoft-Technologien" erwartet:

http://www.microsofttechnologietag.de/

Falls Du aber einfach nur Hilfe beim Benutzen eines Fremdwörterbuches 
brauchst, dann melde Dich nochmal. ;)

Autor: zwieblum (Gast)
Datum:

Bewertung
0 lesenswert
nicht lesenswert
Ja, genau das meine ich mit dem Nicht-Wissen was Technologie ist :-)

Autor: zwieblum (Gast)
Datum:

Bewertung
0 lesenswert
nicht lesenswert
Jö, und weil's so schön ist, M$-Technologie beim arbeiten zu sehen:

http://www.microsofttechnologietag.de/
HTTP/1.1 404 
Connection: close
Date: Sat, 13 Feb 2010 12:20:08 GMT
Server: Microsoft-IIS/6.0
MicrosoftSharePointTeamServices: 12.0.0.6219
X-Powered-By: ASP.NET

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.