Empfehlung für C-Entwicklungsumgebung unter Windows
-
Hallo Miteinander,
habe vor, meinem Sohnemann etwas das Programmieren beizubringen, da er in der Schule jetzt Informatik hat.
Allerdings habe ich selbst überhaupt keine Praxis mehr, weiß aber, dass ich schnell wieder reinfinde, da ich mal exzessiv und kommerziell in ANSI-C gecodet und Programmierer geschult habe.
Dummerweise ist das schon über zwanzig Jahre her
Da ich nur hobbymäßig in C und für Kommandozeile entwickeln will, bin ich jetzt auf der Suche nach einer einfachen, kostengünstigen Entwicklungsumgebung mit Source-Level-Debugger.
Irgendwann habe ich mal ein MS Visual Studio 6.0 gekauft, um mal in die Sprachen zu schauen, die sich nach meiner Zeit durchgesetzt haben.
Nach der Installation habe ich dann aber kaum was gemacht.
Ich sehe aber, dass es jetzt für meine Windows-Umgebung (Win 7 64-bit) eine Unmenge an Angeboten gäbe.
Als Zielplattform reicht/muss 32-bit Windows Kommandozeile.Wichtig sind mir eine einfache Installierbarkeit und eine integrierte Referenz für die Standardbibliotheken. Darf natürlich auch C++ sein, muss ich ja nicht nutzen.
Welche aktuellen IDEs könnt ihr mir empfehlen? Oder sollte ich einfach MSVC6 installieren?
Ciao, Allesquatsch
-
Wie alt ist dein Sohn? Ich würde zu C# raten. Damit bekommt man relativ Einfach auch Ergebnisse, die sich anschauen lassen.
IDE: http://www.microsoft.com/visualstudio/en-us/products/2010-editions/visual-csharp-express
ebook: http://openbook.galileocomputing.de/visual_csharp_2010/Ansonsten wären wohl auch Skriptsprachen wie python etc. sehr gut geeignet.
Wenn er überhaupt noch nie was programmiert hat, wäre vielleicht XHTML und CSS ein guter Weg um einzusteigen. Auch wenn das noch nicht unbedingt wirklich was mit Programmieren zu tun hat, kann man dabei imo doch einige sehr grundlegende Erfahrungen sammeln...
-
Ich rate dir, nimm VisualStudioC++2010 Express-Edition, wahlweise in Deutsch oder Englisch (je nach Geschmack). Der Editor ist Klasse, allgemein die IDE auch, Debugger ist vorhanden, Profiler nicht. Auch haben die Express-Versionen die MFC nicht enthalten (im Gegensatz zu deinem VC6).
Von den aktuellen VSEE 2011/2012 Preview/Beta möchte ich abraten, für den Hausgebrauch völlig überdimensioniert, Oberflächen"features" ohne Grenzen...
Auch empfehle ich die MSDN Library Express lokal zu installieren, geht einfach schneller:
- Hilfe
- Hilfeeinstellungen verwalten
- Inhalt von der Onlinewebsite installieren
- Hinzufügen (der relevanten Pakete)
- Aktualisieren
Du kannst alles entweder Online installieren oder auch ein ISO Image runterladen.Default für neue Projekte ist in VS immer C++, d.h. also kein C !
Um reines C zu machen, entweder
- /TC einstellen (statt /TP)
- alle neuen Dateien statt *.cpp als *.c anlegen ( Projekt/Datei neu/... )Hinweise:
Für C hat MS bisher C99 nicht implementiert (bis auf ein paar kleine Ausnahmen wie Datentyp long long,...), sondern nur C89/ISO C90 (ANSI C) mit MS-Erweiterungen (kann man mit /Za ausschalten, damit also pures ANSI C).
Mit ein paar Tricks kann man auch die MFC mit Express-Versionen nutzen, auch 64-Bit Anwendungen lassen sich mit diesen Express-Versionen erstellen.
Für das Testen von Konsolenprogrammen aus der IDE heraus bietet VS (nach wie vor) Ctrl+F5 an, d.h. das Konsolenfenster bleibt zunächst mal offen (nach dem Programmende).
-
Ja, wenn es unbedingt C++ sein muss, dann würde ich auf jeden Fall zu Visual C++ raten (Express 2010, VC6 ist hoffnungslos veraltet).
Wie gesagt würde ich aber von C und C++ abraten.
-
Wutz schrieb:
Für C hat MS bisher C99 nicht implementiert
Das hat es dann mit mir gemein. Bei mir hört die Praxis mit ANSI-C auf, obwohl ich begeistert war, dass C++ all das mitbrachte, was ich mir gewünscht hatte.
dot schrieb:
Wie gesagt würde ich aber von C und C++ abraten.
Geht mir weniger um die Sprache an sich als darum, dass ich der Überzeugung bin, dass man als "Lehrer" den zu vermittelnden Stoff selbst absolut beherrschen muss. Das sehe ich als nicht mehr gegeben, wenn man sich die Inhalte nur dazu anlernt.
Aus den Diskussionen über die beste Programmiersprache habe ich mich schon in den Achtzigern ausgeklinkt, weil ich es für viel wichtiger halte, dass nicht das Werkzeug selbst sondern vielmehr dessen Beherrschung die Ergebnisqualität prägt.
Aber es ist ja sicherlich möglich, sich auf den C Subset zu beschränken und die grafische Oberfläche links liegen zu lassen.
Ciao, Allesquatsch
-
Allesquatsch schrieb:
Aber es ist ja sicherlich möglich, sich auf den C Subset zu beschränken und die grafische Oberfläche links liegen zu lassen.
Natürlich ist es möglich. Die Frage ist allerdigns, wie motivierend es für deinen Sohn ist
-
C# dieser kram der nur auf Windows läuft ... und dann noch dieser Netframework kremppel ...
Für klicki bunti Oberflächen: http://qt.nokia.com/products/developer-tools
( QT läuft auch auf Linux)
Oder hol dir RAD Studios da kannste auch eine IDE zusammenklicken und man braucht nicht dieses Netframework gedönns. Die RAD Programme kannst du auch so Kompilieren das der Kunde nicht noch extra was nachinstallieren muss sowie es der Fall beim Netframework ist. Gleiches gilt für QT.
Vielleicht will dein Sohn ja auch ohne irgendwelchen Bibliotheks kram programmieren und alles direkt in Assembler schreiben.
-
C#->Mumpitz schrieb:
C# dieser kram der nur auf Windows läuft ... und dann noch dieser Netframework kremppel ...
Für klicki bunti Oberflächen: http://qt.nokia.com/products/developer-tools
( QT läuft auch auf Linux)
Hier antwortet ein Checker.
Oder hol dir RAD Studios da kannste auch eine IDE zusammenklicken und man braucht nicht dieses Netframework gedönns.
Will sein Sohn denn eine IDE zusammenklicken oder möchte er lieber eine GUI proggen?
IDE zusammenklicken geht übrigens auch mit VS Express über Extras->AnpassenVielleicht will dein Sohn ja auch ohne irgendwelchen Bibliotheks kram programmieren und alles direkt in Assembler schreiben.
War nicht die Rede davon, dass der Sohnemann programmieren lernen soll bei einem schnellen Feedback zur Motivation?
Assembler ist da eher ein Mittel zum Vergraulen. Besonders wenn man ein Programm mit Gui basteln will.Ich denke C# oder VB wäre richtig für einen Einstieg.
Alternativ für den spartanischen Proggernachwuchs Pascal
-
Wenn der Sohn in der Schule Informatik hat, wird sicher dafür auch eine Programmiersprache, ein Betriebssystem, und ein Compiler mit IDE als Grundlage verwendet. Genau das nimmt man dann auch!
-
Nimm halt Code::Blocks oder so was. Das ist kostenlos und kommt mit MinGW und da hast du einen sehr guten C Compiler direkt bei.
-
rüdiger schrieb:
Nimm halt Code::Blocks oder so was. Das ist kostenlos und kommt mit MinGW und da hast du einen sehr guten C Compiler direkt bei.
Hat das auch eine
Allesquatsch schrieb:
integrierte Referenz für die Standardbibliotheken.
?
-
Gibt n Plugin für Manpages. http://wiki.codeblocks.org/index.php?title=Help_plugin#Man_Pages
-
Dieser Thread wurde von Moderator/in rüdiger aus dem Forum C (C89 und C99) in das Forum Compiler- und IDE-Forum verschoben.
Im Zweifelsfall bitte auch folgende Hinweise beachten:
C/C++ Forum :: FAQ - Sonstiges :: Wohin mit meiner Frage?Dieses Posting wurde automatisch erzeugt.
-
+1 für codeblocks
-
berniebutt schrieb:
Wenn der Sohn in der Schule Informatik hat, wird sicher dafür auch eine Programmiersprache, ein Betriebssystem, und ein Compiler mit IDE als Grundlage verwendet. Genau das nimmt man dann auch!
Genau das war der Grund, wieso ich die Idee mit C gestartet habe: Er kam mit Kara, dem programmierbare Marienkäfer an. Und da Papa schon bei PROLOG heftige Kopfschmerzen bekommen hat, wollte ich ihn eher auf prozedurale Logik einnorden. Bei Schleifen, Variablen, Aufrufen, Strukturen und Objekten kann Papa besser helfen.
C#->Mumpitz schrieb:
C# dieser kram der nur auf Windows läuft ... und dann noch dieser Netframework kremppel ...
Ja, genau das erfüllt die Anforderung. Und Ziel ist Programmierung und nicht GUI. Also interessiert die Umgebung nur als Werkzeug. Und er beherrscht nur Windows.
dot schrieb:
Allesquatsch schrieb:
Aber es ist ja sicherlich möglich, sich auf den C Subset zu beschränken und die grafische Oberfläche links liegen zu lassen.
Natürlich ist es möglich. Die Frage ist allerdigns, wie motivierend es für deinen Sohn ist
Aus den Zeiten meiner professionelle Entwicklungen habe ich die Erfahrung gemacht, dass das Verständnis des GUI und des DBMS noch mal so aufwendig war wie die Programmierung an sich. Und ich befürchte, dass dieses heute noch extremer ist.
Außerdem hat es den Nachteil, dass sich das Wissen schlecht mitnehmen lässt, da die Plattformen doch sehr unterschiedlich sind.
Von daher fand ich C mit dem leichteren Umstieg nach C++, C# und Java sinnvoller als Insellösungen wie DELPHI oder BASIC.Vielen Dank an alle für die Tipps
Ciao, Allesquatsch
-
dot schrieb:
Wenn er überhaupt noch nie was programmiert hat, wäre vielleicht XHTML und CSS ein guter Weg um einzusteigen. Auch wenn das noch nicht unbedingt wirklich was mit Programmieren zu tun hat, kann man dabei imo doch einige sehr grundlegende Erfahrungen sammeln...
Pfui, dot, empfehle doch keine veralteten Standards...
Heute lernt man, wenn überhaupt, HTML5 und CSS3, XHTML ist sowas von obsolete...@Allesquatsch
Zur Wahl der Sprache... wenn du selbst sagst, dass C++ so viel hat, was du dir damals gewünscht hättest, dann nimm doch einfach C++.
Ich gehöre auch eher zu den Leuten, die etwas gegen .NET und Java haben,
eben weil die Leute, die mit solchen Sprachen programmieren sich meistens weder um Codeperformance noch um Größe kümmern.
Mal abgesehen davon, dass ein Garbage-Collector generell mehr Rechenlast bildet als Reference Counting.
Die meisten Leute, die ich kenne und zunächst Java/C# gelernt haben und dann zu C/C++ umgestiegen sind, schreiben Code, da kommt mir das Grauen... (Stichwort: Memory Leaks)
In umgekehrter Richtung scheint es besser zu laufen (erst C++ lernen, dann C# oder was auch immer)Und zur IDE:
Die meisten werden von Haus aus keine Doku der Standardbibliothek integriert haben.
Das braucht man zu wenig...
Informatiker haben in der Regel Internet und da hat man eben neben der IDE noch den Browser offen. Daher würde ich sowas nicht als KO-Kriterium für eine IDE festmachen.
Aber auch dafür wurde ja schon ein AddOn für Code::Blocks genannt.Die meisten IDE's (Visual C++, Code::Blocks, Dev-C++, Eclipse, ...) unterstützen sowohl C als auch C++, weshalb du da generell die freie Auswahl hast.
Was den Debugger angeht, muss ich zugeben, finde ich Visual C++ am schönsten.Wegen mangelnden C++11 Supports nutze ich aber in der Regel Eclipse oder (unter Linux) KDevelop mit GCC 4.7 / Clang 3.1
Denn für welche Sprache du dich auch entscheidest... bring deinem Sohn modernes Programmieren bei... dazu gehört eben auch sich aktuelle Standards anzuschauen.
Equivalent zu C++11 wurde z.B. auch ein neuer C Standard verabschiedet (C11),
welcher folglich von Visual C++ (da nur C89) noch nicht unterstützt wird.Ich sage also auch mal Code::Blocks mit MinGW +1
Bin allerdings bei Code::Blocks nicht auf dem Laufenden, welche Compiler-Version dabei ist.
-
Au backe...
DrakoXP schrieb:
Ich gehöre auch eher zu den Leuten, die etwas gegen .NET und Java haben,
eben weil die Leute, die mit solchen Sprachen programmieren sich meistens weder um Codeperformance noch um Größe kümmern.Gute C++ Programmierer "kümmern" sich genausowenig um soetwas. Und damit will ich nicht implizieren, dass sowas irgendwann "von alleine" kommt, sondern dass gute Entwickler die Relevanz entsprechend einschätzen können.
Die meisten werden von Haus aus keine Doku der Standardbibliothek integriert haben.
Das braucht man zu wenig...
Informatiker haben in der Regel Internet und da hat man eben neben der IDE noch den Browser offen. Daher würde ich sowas nicht als KO-Kriterium für eine IDE festmachen.Lol, oh Gott. IDE ohne Dokumentation, ich glaub auch...
Beruf: Schüler
achso...
-
DrakoXP schrieb:
dot schrieb:
Wenn er überhaupt noch nie was programmiert hat, wäre vielleicht XHTML und CSS ein guter Weg um einzusteigen. Auch wenn das noch nicht unbedingt wirklich was mit Programmieren zu tun hat, kann man dabei imo doch einige sehr grundlegende Erfahrungen sammeln...
Pfui, dot, empfehle doch keine veralteten Standards...
Heute lernt man, wenn überhaupt, HTML5 und CSS3, XHTML ist sowas von obsolete...Ich bin kein Experte auf dem Gebiet, daher würd mich sehr interessieren, was genau das Problem mit XHTML5 ist!?
-
DrakoXP schrieb:
@Allesquatsch
Zur Wahl der Sprache... wenn du selbst sagst, dass C++ so viel hat, was du dir damals gewünscht hättest, dann nimm doch einfach C++.Gerade weil ich mal eine gewisse Reife in C hatte, weiß ich, wie groß der Unterschied zwischen "eine Sprache können" und absoluter Beherrschung ist.
Erst in der Rückschau erkennt man, wie viel am Anfang noch fehlte, als man sich schon alles zutraute. Er ist ähnlich wie beim Autofahren: Der Führerschein ist zwar eine gewaltige Hürde, aber erst nach viel Praxis, beherrschst Du ein Auto so, dass Du gar nicht darüber nachdenken musst, ob Du jetzt einen Gang wechselst oder schon mal die Spur.
Den gleichen Respekt habe ich vor C++: Ich glaube einfach, dass da eine Million Zeilen Code fehlen, bevor ich z.B. intuitiv verstehe, wann Konstruktoren ausgeführt werden. Deshalb vermittle ich lieber ein Wissen, bei dem ich mir zutraue, alle Fragen beantworten zu können.DrakoXP schrieb:
Ich gehöre auch eher zu den Leuten, die etwas gegen .NET und Java haben,
eben weil die Leute, die mit solchen Sprachen programmieren sich meistens weder um Codeperformance noch um Größe kümmern.Aus solchen Glaubenskriegen habe ich mich schon lange zurückgezogen. Spätestens seit ich in der kommerziellen Programmierung gemerkt habe, dass der Unterschied zwischen guten und schlechten Programmierern viel relevanter ist.
DrakoXP schrieb:
In umgekehrter Richtung scheint es besser zu laufen (erst C++ lernen, dann C# oder was auch immer)
Ja, deshalb macht es meines Erachtens auch Sinn, dass man in der Schule Dinge lernst, die man gar nicht praktisch anwenden kann, wie Latein oder über die griechischen Demokratien
DrakoXP schrieb:
Das braucht man zu wenig...
Informatiker haben in der Regel Internet und da hat man eben neben der IDE noch den Browser offen. Daher würde ich sowas nicht als KO-Kriterium für eine IDE festmachen.Ich habe es schon im letzten Jahrhundert genossen, dass man die Parameterliste einer Funktion per Mausklick ansehen konnte und glaube nicht, dass eine Browsersuche annähernd zu effektiv ist.
DrakoXP schrieb:
Denn für welche Sprache du dich auch entscheidest... bring deinem Sohn modernes Programmieren bei... dazu gehört eben auch sich aktuelle Standards anzuschauen.
Equivalent zu C++11 wurde z.B. auch ein neuer C Standard verabschiedet (C11),
welcher folglich von Visual C++ (da nur C89) noch nicht unterstützt wird.Erfahrungsgemäß sind die Unterschiede weniger gravierend als die Unzulänglichkeiten der Programmierschüler.
Ich denke, die Leute, die die alte Rechtschreibung perfekt beherrscht haben, auch mit der aktuellen keine wirklichen Probleme haben. Und umgekehrt.Ciao, Allesquatsch
-
Allesquatsch schrieb:
Ich habe es schon im letzten Jahrhundert genossen, dass man die Parameterliste einer Funktion per Mausklick ansehen konnte und glaube nicht, dass eine Browsersuche annähernd zu effektiv ist.
Autovervollständigung und IntelliSense habe ich jetzt nicht zur "Integrierten Dokumentation der Standardbibliothek" gezählt.
Aber sowas bieten heutzutage eigentlich alle geläufigen IDE's.Allesquatsch schrieb:
Ich denke, die Leute, die die alte Rechtschreibung perfekt beherrscht haben, auch mit der aktuellen keine wirklichen Probleme haben. Und umgekehrt.
Die Erfahrung zeigt eher, dass es den Leuten schwer fällt sich neues anzugewöhnen,
wenn einmal der Wurm drin ist.
Die Leute, die noch die alte Rechtschreibung gelernt haben, schreiben größenteils auch jetzt noch so und haben auch keine Lust sich die neue anzueignen.In jungen Jahren ist das zwar noch etwas anders, da lernt man auch schnell noch um,
aber es besteht eben trotzdem eine Verzögerung...
Man hätte schon längst moderne Software schreiben können, während man sich aus welchen Gründen auch immer, erst das veraltete Zeug angewöhnt hat...