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?
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.
> 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.
Klaus Wachtler schrieb:
> C++ kann man dagegen (fast) überall nutzen.
In der Theorie...
Oder welche Komponenten-/Klassenbibliothek willst du empfehlen?
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.
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?
> 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.
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_Infrastructure#Bekannte_Implementierungen> 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.
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...
... ... ... 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!"....
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.
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.
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.
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.
>> 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 ...
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.
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.
> 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.
peterguy schrieb:
> Ist schon faszinieren, mit welcher Verbissenheit einen kleine Gruppe von> Javausern versucht was schlechtes an C# zu finden.
Lesen hätte geholfen.
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...
> 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.
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.
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.
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 ;)
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.
> 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
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... ;-)
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.
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.
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... :-)
>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.
... ... ... 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.
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.
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.
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.
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
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.
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.
.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.
.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.
=> 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.
.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. ;)
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!
> 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 ..
> 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. :)
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/tpci/index.html
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.
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/tpci/index.html
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.
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. ;)