Hallo, ich bin Schülerstudent im 2 Semester an der RWTH im Fachbereich Elektrotechnik und Mathematik und höre in diesem Semester zum ersten Mal die Programmiersprache C mit all seinen Problemen. Ich komme nun an einen Punkt wo einfaches Coden nicht mehr funktioniert und man ohne Debugger und Speicher Checker nicht mehr weiter kommt, bzw die Arbeit nur unnötig erschwert. Im Moment nutze ich CodeBocks (Win10), nur leider finde ich den Debugger nicht so hilfreich, bzw komme nicht damit klar und einen Speicher Checker wie Valgrind scheint es nicht zu geben? Könnt ihr mir Programme empfehlen, die einen bei der Suche besser unterstützen? Oder wäre es tatsächlich schlauer, Linux zu installieren, wovon ich eigentlich kein Fan bin, denn auf Windows mag ich nicht verzichten?
Da gibts nur eines: Visual Studio 2017 Community Edition. Da ist alles drin, was du brauchst
Hallo, damit man Dir mehr helfen kann sollte man Wissen: - Programmieren von PC-Programmen - Programmieren von Embedded - Controllern (welcher Typ). Dann kann Dir geholfen werden Ciao
Hans schrieb: > Programmieren von Embedded - Controllern Davon ist hier nicht die Rede, hier geht's um Programme, die auf dem PC selbst laufen. Für Fingerübungen in C ist das auch vollkommen in Ordnung.
Nun ja, ein Ersatz für CodeBlocks und Anfänger zeugt nicht gerade von Embedded. Der geneigte Neuling nimmt für so was gerne die original Toolchain des Herstellers. EDIT: Frage an den TO. Was verstehst du denn unter einem Speicherchecker?
:
Bearbeitet durch User
Ich habe meine Zweifel, dass ihr nach ein paar Monaten schon so komplexe Software schreibt, dass ohne Valgrind nix mehr läuft... Natürlich wäre das alles auch einfacher, würde man den Studenten gleich direkt C++ beibringen, aber gut.
Keiner N. schrieb: > Frage an den TO. Was verstehst du denn unter einem > Speicherchecker? Vermutlich einen Dynamic Analyzer, wie sie in sehr großen Softwareprojekten eingesetzt werden, wenn Unit Testing und Static Analyzer nicht mehr ausreichen. Allerdings hab ich so meine Zweifel, dass der TS in seinem ersten Semester C schon an dem Punkt angekommen ist.
Lint bzw. das auch für C verwendbare OpenSource-Tool "cppcheck" bringt auch ein paar wertvolle Erkenntnisse. Das ist zwar "nur" statische Codeanalyse, aber auch die erkennt viele Probleme, mit denen man beim Erlernen von C zu tun bekommen kann. http://cppcheck.sourceforge.net/
Keiner N. schrieb: > Da gibts nur eines: Visual Studio 2017 Community Edition. Da ist > alles > drin, was du brauchst Werde ich mir einmal anschauen, danke für den Tipp. Hans schrieb: > Hallo, > > damit man Dir mehr helfen kann sollte man Wissen: > - Programmieren von PC-Programmen > - Programmieren von Embedded - Controllern (welcher Typ). > > Dann kann Dir geholfen werden > > Ciao Es geht hauptsächlich um grundlegende Programmierungen von PC-Programmen (Sortieralgorithmen etc.) Embedded kommt für mich erst nach dem Abitur, habe bisher bzw höre nur Ana 1-2 für Mathematiker sowie Lina 1-2 für Mathematiker und Physik für E-Techniker , bin wie gesagt im Schülerstudium. Keiner N. schrieb: > EDIT: Frage an den TO. Was verstehst du denn unter einem > Speicherchecker? Ein Tool wie Valgrind, was mir Speicherfehler aufzeigt, die ich z.b mit malloc und co nicht richtig reserviert habe. vn n. schrieb: > Ich habe meine Zweifel, dass ihr nach ein paar Monaten schon so > komplexe > Software schreibt, dass ohne Valgrind nix mehr läuft... Nein zu komplex ist es nicht, nur man macht es sich unnötig schwierig he solche Tools.
vn n. schrieb: >Allerdings hab ich so meine Zweifel, > dass der TS in seinem ersten Semester C schon an dem Punkt angekommen > ist. Richtig, ich benötige nur etwas wie Valgrind für Windows, oder ich müsste versuchen Linux neben Windows zu installieren, ob dies allerdings sinnvoll ist, wäre eine andere Frage? Müsste ich bei solch eine unterfangen etwas beachten?
McSoße schrieb: > Müsste ich bei solch eine > unterfangen etwas beachten? Mache ein Backup, mindestems vom bootloader, und pass auf, dass du deine Windows Partition nicht versehentlich löschst oder überschreibst.
Bevor Du Dich mit Valgrind auseinandersetzt, genügen auch diverse einfachere Möglichkeiten. Die von mir schon genannten Tools lint und cppcheck werden Dir ausreichend hart auf die Finger klopfen, daß Du mit hoher Wahrscheinlichkeit Deine Probleme auch damit lösen kannst, ohne gleich mit so schweren Geschützen wie Valgrund anzurücken. Wenn man bei einem µC herausfinden will, warum die LED so dunkel blinkt, braucht man auch kein zig-GHz-Speicheroszilloskop mit mindestens 4 Kanälen und mehr Samplememory als Dein PC Arbeitsspeicher hat.
McSoße schrieb: > Embedded kommt für mich erst nach dem Abitur, habe bisher bzw höre nur > Ana 1-2 für Mathematiker sowie Lina 1-2 für Mathematiker und Physik für > E-Techniker , bin wie gesagt im Schülerstudium. Bietet die Uni keine "Einführung in die imperativer Programmierung" an? Das wird doch oft extra für die Mathematiker angeboten. MfG
Memory Leaks kann man auch mit dem Visual Studio aufdecken. https://docs.microsoft.com/de-de/visualstudio/debugger/finding-memory-leaks-using-the-crt-library?view=vs-2015 hier mal was zum einlesen.
Daniel A. schrieb: > McSoße schrieb: >> Müsste ich bei solch eine >> unterfangen etwas beachten? > > Mache ein Backup, mindestems vom bootloader, und pass auf, dass du deine > Windows Partition nicht versehentlich löschst oder überschreibst. Man kann auch einfach VirtualBox nehmen und sich so viele verschiedene OS zum Auspropieren oder für sonstige Zwecke als VM installieren wie man lustig ist, da kann der Anfänger nix am Hostsystem kaputt machen, wenn er mal eine Maschine zerschossen hat kann er sie wieder auf einen funktionierenden Stand zurücksetzen und für alle normalen Belange arbeitet er damit genauso als liefe es auf dem blanken Eisen. Nur mal so am Rande.
McSoße schrieb: > Nein zu komplex ist es nicht, nur man macht es sich unnötig schwierig he > solche Tools. Dann bezweifle ich, dass du deine Möglichkeiten schon ausgeschöpft hast. Von wie vielen Codezeilen reden wir überhaupt, 100, 200?
vn n. schrieb: > McSoße schrieb: >> Nein zu komplex ist es nicht, nur man macht es sich unnötig schwierig he >> solche Tools. > > Dann bezweifle ich, dass du deine Möglichkeiten schon ausgeschöpft hast. > Von wie vielen Codezeilen reden wir überhaupt, 100, 200? Wir reden von 200-300 Zeilen, im Moment Bernd K. schrieb: > Man kann auch einfach VirtualBox nehmen und sich so viele verschiedene > OS zum Auspropieren oder für sonstige Zwecke als VM installieren wie man > lustig ist, da kann der Anfänger nix am Hostsystem kaputt machen, wenn > er mal eine Maschine zerschossen hat kann er sie wieder auf einen > funktionierenden Stand zurücksetzen und für alle normalen Belange > arbeitet er damit genauso als liefe es auf dem blanken Eisen. Nur mal so > am Rande. Versuche es gerade so zu installieren, allerdings funktioniert es irgendwie nicht:) Stichwort: display corruption
Ich habe gerade versucht Virtual Studios zum laufen zu bringen, es funktioniert auch bei kleineren Programmen, allerdings bei meinem jetzigen, was auf Codeblocks ohne Fehler läuft, führt hier zu 28 Fehlern. Ist VS überhaupt für C geeignet?
gib mal bitte ein Beispiel, was der anmeckert.
Keiner N. schrieb: > gib mal bitte ein Beispiel, was der anmeckert. Hier ein paar Beispiele: 1) Compilerfehler C2087 "counter_array": Feldindex fehlt 2) Compilerfehler C2133 'counter_array': Unbekannte Größe 3) Compilerfehler C2133 'timer_array': Unbekannte Größe 4) Compilerfehler C2057 Konstanter Ausdruck erwartet usw
Scheinbar ist der TO intellektuell gar nicht in Lage Programme in C zu schreiben und deswegen nach "Speicher-Checker"n schreit. Vielleicht sollte er sich erstmal mit Quickbasic beschaeftigen. Und am besten dabei bleiben.
... schrieb: > Scheinbar ist der TO intellektuell gar nicht in Lage Programme > in C zu schreiben und deswegen nach "Speicher-Checker"n schreit. > > Vielleicht sollte er sich erstmal mit Quickbasic beschaeftigen. > > Und am besten dabei bleiben. Wo schreie ich denn bitte danach? Ich suche nur ein Programm was einen das Leben leichter macht. Ich bin sehr wohl in der Lage ein Programm zu scheiben, bisher hat es jedenfalls immer funktioniert, von de Profs wird uns leider nur Valgrind nah gelegt. Finde dein Anschuldigung sehr frech!
1) Compilerfehler C2087 "counter_array": Feldindex fehlt 2) Compilerfehler C2133 'counter_array': Unbekannte Größe da steht doch nachvollziehbar, was fehlt.
grundschüler schrieb: > 1) Compilerfehler C2087 "counter_array": Feldindex fehlt > 2) Compilerfehler C2133 'counter_array': Unbekannte Größe > > da steht doch nachvollziehbar, was fehlt. Ja für V.S. allerdings verstehe ich es nicht, warum dort Fehler kommen, obwohl da Programm Fehlerfrei auf Codeblocks lief und auch Fehlerfrei von dem Überprüfungsprogramm der UNI angenommen wurde. Der Kontext ist hier wichtig, die hier angezeigten Fehler kann ich lösen, allerdings dürften dort eigentlich keine sein.
McSoße schrieb: > Ja für V.S. allerdings verstehe ich es nicht, warum dort Fehler kommen, > obwohl das Programm fehlerfrei auf Codeblocks lief und auch fehlerfrei > von dem Überprüfungsprogramm der UNI angenommen wurde. > > Der Kontext ist hier wichtig, die hier angezeigten Fehler kann ich > lösen, allerdings dürften dort eigentlich keine sein. Sry, für die Fehler in meinem Text, ich bin gerade in Eile
Der mit VisualStudio (nicht "Virtual") gelieferte C-Compiler ist zwar gut, aber alt, d.h. er unterstützt wohl immer noch kein C99 oder neuer. Ohne aber Deinen Code zu sehen, kann man anhand der Fehlermeldungen nicht erahnen, ob das Dein Problem ist. Jedoch bleibe ich dabei: Du brauchst für Dein 200-300-Zeilen-Programm kein Valgrind. Nein. Du musst auch kein anderes Betriebssystem auf Deinem PC installieren, ein simpler Lint bzw. cppcheck-Lauf wird Dir vermutlich schon genug mitteilen. Ansonsten: Zeig' einfach mal Deinen Code. Bitte als Dateianhang. Dann kann nämlich auch mal jemand, der sich mit C auskennt, drüberschauen -- ich hab' einfach mal so das Gefühl, daß jemand mit ausreichend Erfahrung bereits durch einfaches Hinsehen das findet, wofür Du Valgrind einsetzen willst. Und hier im Forum sind auch Leute unterwegs, die C tatsächlich beherrschen. Zwar haben wir auch den einen oder anderen Spinner, die sich in erster Linie durch die Kombination von Ahnungslosigkeit und Abneigung C gegenüber hervortun, aber mindestens einen davon erkennt man sofort an seinen Umgangsformen.
McSoße schrieb: > vn n. schrieb: >>Allerdings hab ich so meine Zweifel, >> dass der TS in seinem ersten Semester C schon an dem Punkt angekommen >> ist. > > Richtig, ich benötige nur etwas wie Valgrind für Windows, oder ich > müsste versuchen Linux neben Windows zu installieren, ob dies allerdings > sinnvoll ist, wäre eine andere Frage? Müsste ich bei solch eine > unterfangen etwas beachten? Windows 10 in einer halbwegs aktuellen Version installiert? Falls ja, WSL (Windows Subsystem for Linux) installieren und danach eine der Distributionen aus dem Windows-Store. Alternative falls der Rechner genug RAM hat: Bspw. VirtualBox nehmen und eine VM mit einem beliebigen Linux einrichten. Zu den Compilermeldungen: Falls die Dateinamen mit .cpp enden übersetzt MSVC die auch als C++. Ansonsten sollte der MSVC seit 2015 kompatibel genug sein. Das Tools wie Valgrind hier benötig werden, wage ich allerdings auch zu bezweifeln.
Rufus Τ. F. schrieb: > [...] Danke für die Hilfe ich werde einem Cppcheck testen. Und ja, vlt ist bei dieser Zeilenanzahl noch kein Valgrind nötig, nur wenn es alle nutzen, springt man leicht mit auf den Zug:) Meinen Code würde ich zwar gerne posten, nur handelt es sich hier um Hausaufgaben und naja bekomme das schon alleine hin:) Danke dennoch für das Angebot
McSoße schrieb: > vlt ist bei dieser Zeilenanzahl noch kein Valgrind nötig, nur > wenn es alle nutzen, springt man leicht mit auf den Zug:) Du solltest erstmal die Grundlagen von C lernen (Compiler, Linker, Hello World) bevor Du irgendwo "aufspringst". Du brauchst dazu auch kein Visual-irgendwas und auch keinen Debugger und schon gar keinen Profiler oder sonstiges Brimborium, sondern erst mal nur eine Toolchain, einen Editor und eine Konsole. Wenn Du das übersprungen hast dann hol es jetzt nach und zwar so lange bis Du geblickt hast was da abläuft und wie das alles zusammenhängt und funktioniert. Und vorher machst Du nichts anderes! Man setzt sich schließlich auch nicht auf eine 1000er Kawasaki bevor man nicht erstmal sicher mit dem Fahrrad fahren kann - und zwar OHNE Stützräder! Und danach mit dem Mofa! Vielleicht wartest Du erstmal die erste Vorlesung ab und hörst zu was der Prof zu dem Thema zu sagen hat.
:
Bearbeitet durch User
Bernd K. schrieb: > Du solltest erstmal die Grundlagen von C lernen (Compiler, Linker, Hello > World) bevor Du irgendwo "aufspringst". > > Du brauchst dazu auch kein Visual-irgendwas und auch keinen Debugger und > schon gar keinen Profiler oder sonstiges Brimborium, sondern erst mal > nur eine Toolchain, einen Editor und eine Konsole. Wenn Du das > übersprungen hast dann hol es jetzt nach und zwar so lange bis Du > geblickt hast was da abläuft und wie das alles zusammenhängt und > funktioniert. Und vorher machst Du nichts anderes! Man setzt sich > schließlich auch nicht auf eine 1000er Kawasaki bevor man nicht erstmal > sicher mit dem Fahrrad fahren kann - und zwar OHNE Stützräder! Und > danach mit dem Mofa! > > Vielleicht wartest Du erstmal die erste Vorlesung ab und hörst zu was > der Prof zu dem Thema zu sagen hat. Naja, das Semester läuft schon gut 2 Monate und es wurden schon 6 Programmieraufgaben abgegeben, sind gerade bei dem Thema Laufzeitanalyse und Graphentheorie
Ui, also Leute, ich glaube ihr macht euch das irgendwie zu leicht. Er soll wahrscheinlich solch ein Tool nutzen, wüsste nicht warum ihr alle dagegen seit? Klar ist es für einen 200-300 Zeilen Code nicht unbedingt nötig, aber warum sollte man es nicht nutzen? Ich selbst habe 13 Jahre Erfahrung mit C und würde nie von solch einem Tool abraten, eher im Gegenteil. TE: An deiner Stelle würde ich mit Linus draufziehen und Valgrind nutzen, macht alles 100mal einfacher.
McSoße schrieb: > Naja, das Semester läuft schon gut 2 Monate und es wurden schon 6 > Programmieraufgaben abgegeben, sind gerade bei dem Thema Laufzeitanalyse > und Graphentheorie Du kannst es an dem Punkt auch abbrechen und die Zeit (weiterhin) anderweitig nutzen, es gibt wahrscheinlich gar keinen Grund für Dich C zu lernen wenn Du eh kein Interesse daran hast.
Unter Linux hat man zusätzlich noch ASAN, ein unglaublich praktisches tool:
1 | daniel@colibri:~$ cat test.c |
2 | int main(){ |
3 | *(int*)0 = 0; |
4 | } |
5 | daniel@colibri:~$ gcc -g -Og -std=c99 -Wall -Wextra -pedantic -Werror -fsanitize=undefined -fsanitize=address -fstack-protector-all test.c -o t |
6 | daniel@colibri:~$ ./t |
7 | test.c:2:12: runtime error: store to null pointer of type 'int' |
8 | ASAN:DEADLYSIGNAL |
9 | ================================================================= |
10 | ==16073==ERROR: AddressSanitizer: SEGV on unknown address 0x000000000000 (pc 0x563fa2ad7b45 bp 0x563fa2ad7c10 sp 0x7ffe6c65e880 T0) |
11 | #0 0x563fa2ad7b44 in main /home/daniel/test.c:2 |
12 | #1 0x7ff8e000b2e0 in __libc_start_main (/lib/x86_64-linux-gnu/libc.so.6+0x202e0) |
13 | #2 0x563fa2ad7a09 in _start (/home/daniel/t+0xa09) |
14 | |
15 | AddressSanitizer can not provide additional info. |
16 | SUMMARY: AddressSanitizer: SEGV /home/daniel/test.c:2 in main |
17 | ==16073==ABORTING |
Die Optionen -fsanitize=undefined und -fsanitize=address gehören zu ASAN, es gibt noch andere Dinge, die man damit testen kann. Die Option -std=c99 gibt an, dass der Code c99 konform sein sollte, -Wall -Wextra -pedantic stellt fast alle Warnungen ein, und -Werror macht aus Warnungen Fehler. Und das -g -Og stellt Debug Symbole ein und Optimiert fürs Debuggen. Ich achte bei all meinen Programmen darauf, dass diese mit den Optionen Kompilieren und funktionieren. Das verhindert allerhand spätere Probleme.
Rufus Τ. F. schrieb: > Zwar haben wir auch den einen oder anderen Spinner, die > sich in erster Linie durch die Kombination von Ahnungslosigkeit und > Abneigung C gegenüber hervortun, aber mindestens einen davon erkennt man > sofort an seinen Umgangsformen. Und daran, dass er trotz (oder gerade wegen des Hasses) die Fehler sieht, denn der Hass resultiert aus der (leidvoll gewonnenen) Kenntnis all der Schwächen dieser verfickten Sprache...
Hallo, c-hater schrieb: > Und daran, dass er trotz (oder gerade wegen des Hasses) die Fehler > sieht... Tja, das ist so ein Problem mit dem Hass, irgend wann wird daraus Fanatismus, Intoleranz und Größenwahn. Und wenn man sich so deine Beiträge zu C-Themen anschaut, bist du nicht mehr weit davon weg. rhf
Bernd K. schrieb: > Du kannst es an dem Punkt auch abbrechen und die Zeit (weiterhin) > anderweitig nutzen, es gibt wahrscheinlich gar keinen Grund für Dich C > zu lernen wenn Du eh kein Interesse daran hast. Wie kommst du darauf, dass es mich nicht interessiert? Hoffe es liegt nicht an Meiner frage ein Programm mit Hilfsmitteln sauber zu schreiben, so wie es uns gesagt wurde:) Wenn doch, dann haben wir alle hier in meinem Studiengang, ein riesen Problem. Ich werde nach meinem Abitur höchstwahrscheinlich technische Informatik oder reine Informatik und vlt noch Mathematik (Doppelstudium) studieren, deswegen ist C sehr wichtig. Im Moment finde ich die Kombi Mathe und reine Informatik am besten. Ich möchte es hier noch einmal unmissverständlich klar machen, auch wenn es mir nichts bringt, mich hier zu rechtfertigen, es ging hier nicht um Desinteresse oder darum, dass ich zu dumm für ein Studium wäre oder was auch immer. Sondern darum ein Tool am meiner Seite zu haben, was unter Windows funktioniert und mir mein Leben etwas einfachen macht, denn früher oder später benötig ich es eh.
c-hater schrieb: > Und daran, dass er trotz (oder gerade wegen des Hasses) die Fehler > sieht, denn der Hass resultiert aus der (leidvoll gewonnenen) Kenntnis > all der Schwächen dieser verfickten Sprache... Was ich mich Frage ist, warum man diese Sprache nicht ersetzen kann? Es gibt ja immerhin genug alternativen. Ist sie für das hardwarenahe Programmieren wirklich so essentiell ? Frage an alle Profis hier:)
Hallo, McSoße schrieb: > Was ich mich Frage ist, warum man diese Sprache nicht ersetzen kann? Warum sollte man? rhf
McSoße schrieb: > Was ich mich Frage ist, warum man diese Sprache nicht ersetzen kann? > Es gibt ja immerhin genug alternativen. > Ist sie für das hardwarenahe Programmieren wirklich so essentiell ? Es gibt im Embeddedbereich im großen und Ganzen eine Alternative, und die heißt C++. Roland F. schrieb: > Warum sollte man? Weil fehleranfällig.
:
Bearbeitet durch User
Roland F. schrieb: > Hallo, > > Warum sollte man? > > rhf Hi, es gibt ja sehr viele, die sich über diese Sprache beschweren, also wird es sein Gründe haben?Ich persönlich finde sie im Moment etwas umständlich, weil man eben mehr um die Ecke denken muss (Speicher etc), aber man gewöhnt sich eigentlich auch schnell daran. Deswegen fragte ich nach speziellen Gründen gegen diese Sprache, denn mir würde nur der eine Grund einfallen, habe die richtige Praxis im Beruf allerdings noch nicht erlebt.
Rufus Τ. F. schrieb: > Der mit VisualStudio (nicht "Virtual") gelieferte C-Compiler ist zwar > gut, aber alt, d.h. er unterstützt wohl immer noch kein C99 oder neuer. Wenn man was neueres braucht und nicht auf C++ wechseln will/kann, gibt es im VS noch Clang/C2 (Clang with Microsoft CodeGen).
Ah, wird Zeit, daß ich mir mal wieder 'ne neuere Variante von VS 'reinziehe. Wenn die jetzt Clang können, dann ... kann bereits der Compiler ziemlich viel über lausigen Code ausspucken, das soll in Richtung lint o.ä. gehen.
McSoße schrieb: > Deswegen fragte ich nach speziellen Gründen gegen diese Sprache, denn > mir würde nur der eine Grund einfallen, habe die richtige Praxis im > Beruf allerdings noch nicht erlebt. Fehleranfälligkeit, gerade in Großprojekten. Fehlender Support von Objektorientierung. Fehlender Support von generischer Programmierung. Mangelhafte Typsicherheit. "The C language combines all the power of assembly language with all the ease-of-use of assembly language."
Man kann sehr wohl auch in C stabile, sichere und wartbare Software produzieren, nur muss man das halt können. Andere Sprachen nehmen einen etwas mehr an die Hand und halten einen davon ab, sich in den Fuß zu schießen. Manche sind dann erheblich komplexer, andere sind einfach nur ... anders. Und jede bietet verbissenen Verfechtern die Möglichkeit, sie zu seiner persönlichen Ersatzreligion zu deklarieren und andere mit entsprechender Inbrunst zu hassen. Das Internet wäre um ca. 5% Datenvolumen reduziert, ließe man diese "Flamewars" weg - daß die restlichen 95% wiederum zu großen Teilen mit Katzenvideos und "Emojis" angefüllt sind, lässt allerdings diese "Flamewars" fast als so eine Art Normalität durchgehen ...
Rufus Τ. F. schrieb: > Man kann sehr wohl auch in C stabile, sichere und wartbare Software > produzieren, nur muss man das halt können. Natürlich kann man. Die Frage ist nur, was man sich alles antun will. Die Welt hat sich seit der Erfindung von C weitergedreht. Und ja, ich schreibe beruflich mehr C, als C++. Und gerade mit den üblichen Problemen wie off-by-one oder randalierenden Pointern hat man bei letzterem halt kaum Probleme. Rufus Τ. F. schrieb: > Und jede bietet verbissenen Verfechtern die Möglichkeit, sie zu seiner > persönlichen Ersatzreligion zu deklarieren und andere mit entsprechender > Inbrunst zu hassen. So kann man auf berechtigte Kritik auch reagieren.
vn nn schrieb: > So kann man auf berechtigte Kritik auch reagieren. So kann man den Satz auch missverstehen. Lies' ihn einfach nochmal, der bezieht sich auf jede beliebige Programmiersprache und nicht nur auf Leute, die C mögen oder nicht mögen. Vielleicht fällt Dir jetzt was auf, insbesondere, wenn Du Deine Reaktion betrachtest ...
Rufus Τ. F. schrieb: > Vielleicht fällt Dir jetzt was auf, insbesondere, wenn Du Deine Reaktion > betrachtest ... Nun, ich habe zu keiner Sprache besonders starke Emotionen, ist ja nur ein Werkzeug. Einzige Ausnahme, Java, da hab ich tatsächlich ein Problem mit.
Rufus Τ. F. schrieb: > Ah, wird Zeit, daß ich mir mal wieder 'ne neuere Variante von VS > 'reinziehe. > > Wenn die jetzt Clang können, dann ... kann bereits der Compiler ziemlich > viel über lausigen Code ausspucken, das soll in Richtung lint o.ä. > gehen. Da gibt es zwei Varianten. Einmal oben genanntes Clang/C2, ist das Clang Frontend plus Microsofts C2 Codegenerator und Microsofts Lib/Link etc. Die zweite Variante ist die komplette LLVM Toolchain via VS Extension: https://marketplace.visualstudio.com/items?itemName=LLVMExtensions.llvm-toolchain
McSoße schrieb: > [ich möchte] technische Informatik > oder reine Informatik und vlt noch Mathematik (Doppelstudium) studieren, > deswegen ist C sehr wichtig. Nöh. Das Informatik-Studium bringt dir nicht programmieren in C bei, sondern Grundlagen, womit du in beliebige Programmiersprache dein Zeug implementieren kannst: Java, Haskell, C/C++, Rust oder sogar Whitespace. Nur von INTERCAL würde ich dir abraten ;-)
Eric B. schrieb: > McSoße schrieb: > [ich möchte] technische Informatik > oder reine Informatik und vlt noch Mathematik (Doppelstudium) studieren, > deswegen ist C sehr wichtig. > > Nöh. Das Informatik-Studium bringt dir nicht programmieren in C bei, > sondern Grundlagen, womit du in beliebige Programmiersprache dein Zeug > implementieren kannst: Java, Haskell, C/C++, Rust oder sogar Whitespace. > Nur von INTERCAL würde ich dir abraten ;-) Habe ich ja auch in keinen Satz bezweifelt? Dennoch ist es sehr wichtig für ein paar Module.
An den TO: da Du kein Beispiel posten möchtest, also auch keine Diskussion was sauberer und was gefrickelter Code ist, kannst Du Dir das auch selbst erarbeiten, indem Du Warnungen einschaltest. Für eine Note an der Uni mag was gefrickeltes ausreichen, für echte SW ist das tödlich. Man kann SW nicht "gut"-testen. Ein Debugger hilft dabei, die geschriebenen Anweisungen zu verstehen/verifizieren. Das darf aber nicht zum "ausprobieren bis es klappt" ausarten, da man dann das nächste Geschütz ( Valgrind) braucht.
Bitte melde dich an um einen Beitrag zu schreiben. Anmeldung ist kostenlos und dauert nur eine Minute.
Bestehender Account
Schon ein Account bei Google/GoogleMail? Keine Anmeldung erforderlich!
Mit Google-Account einloggen
Mit Google-Account einloggen
Noch kein Account? Hier anmelden.