Kann ich mit C anfangen?

9 Antworten

C gehört zu den höheren Programmiersprachen, man muss aber einige Dinge auch noch "zu Fuß" erledigen.

Je weniger man sich über "innere Dinge" Gedanken machen muss, um so schneller kommt man zu einem funktionsfähigen Programm. Das hat aber auch den Nachteil, dass der Lerneffekt geringer ist.

Beachten muss man, dass es für Programme, die auf einem PC laufen sollen, auch die geeigneten Werkzeuge gibt (Compiler, Debugger, ... ).

Wenn man aber auch für kleinere Prozessoren, wie die ATMega-Serie, Programme schreiben will oder muss, dann wird man auf viele solcher Werkzeuge nicht zugreifen können.

Es gibt aber C-Compiler! So gesehen, ist ein Beginn mit C keine schlechte Idee.

Als Programmierer kommt man ohnehin nicht mit einer Sprache aus. Ich benutze z.B. C aber auch die Script-Sprache Tcl .

C ist deutlich schwerer, als Python, C#, Java oder auch C++, und auch noch mehrere Sprache. Meistens werden Mikrokontroller in C programmiert, Interpreter und Compiler, Betriebssysteme, und auch Anwendungen für Unix Systeme entwickelt. Wird C auch Zwischensprache benutzt.

C schwerer als C++????

C++ baut auf C auf und ist im endeffekt nur erweitert!

1
@Michiguitareon

Sehr richtig, jedes C Programm lässt sich auch mit einem C++ Compiler übersetzen. Wer C++ vollständig kann, kann auch C vollständig.

0

Dass C schwerer sein soll als C# und Java kann ich zumindest noch nachvollziehen.

Allerdings schwerer als C++?

Das muss ich bezweifeln!

Wenn jemand nur C++ kann, kommt einem C wohl aber sehr schwer vor, da viele Dinge, die man aus C++ gewohnt ist, mit C nicht gehen und man aufwändig überlegen muss, wie man das, was man machen will, ohne diese Dinge machen kann.

Als Einsteiger hat man dieses Problem allerdings nicht.

0

Hier
hast du doch schon die Frage gestellt.

Ansonsten kannst du ja mit C anfangen, wenn du willst. Ich kann es dir aber nicht empfehlen.

Fang mit C an ja. Da lernst du erst einmal die Grundkenntnisse der Programmierung. BITTE parallel auch ein wenig die Grundlagen der Informatik lernen (Zahlensysteme, bool'sche Algebra, Datentypenaufbau, Speicherverwaltung, Rechnerarchitektur, usw.)

Die objektorientierte Programmierung (z.B. C#) kannst du gerne danach dir beibringen. Mach aber erst einmal eins nach dem anderen. Finde ich sinnvoller und wird auch so beim Studium gehandhabt (nicht Grundlos).

Hallo.

Das hängt sicherlich ganz von deinen Vorlieben ab und auch davon, was du später einmal machen willst.

Die drei genannten Sprachen (Python, C und C#) gehören zu den einfacheren Sprachen und sind daher sicherlich zum Lernen geeignet. Ich selbst kenne C# aber nicht so gut.

Ich selbst hatte ein Jahr lang mit Python zu tun und kann diese Sprache nicht ausstehen. Dies hat damit zu tun, dass die Sprache zwischen Leerzeichen und Tabulatoren unterscheidet und man Probleme bekommen kann, wenn man einen Editor benutzt, der dies nicht anzeigt. Außerdem werden mittel- bis große Programme (also 2000 Zeilen pro Datei) im Vergleich zu C sehr schnell unübersichtlich. Python ist nicht dazu gedacht, native Windows-Anwendungen zu machen. Das bedeutet, dass man zum Ausführen eines Programms Python auf dem Rechner installieren muss, da man ansonsten das Programm nicht ablaufen lassen kann.

C ist eine prozedurale Sprache. Das ist das Gegenteil von objektorientiert. Was "prozedural" und "objektorientiert" bedeutet, möchte ich an dieser Stelle nicht unbedingt erklären. Manche Leute sagen, dass prozedurale Sprachen einfacher zu lernen sind.

Die gesamte Windows- und Linux-API bauen auf C auf, was bedeutet, dass sämltiche Windows- und Linux-Betriebssystemfunktionen von C aus aufgerufen werden können (Ausnahme: Die Funktionen der grafischen Oberflächen von Linux bauen auf C++ und nicht auf C auf). Man kann native Anwendungen (also .EXE-Dateien) erstellen, die man ausführen kann, ohne C auf dem Rechner installiert zu haben.

Außerdem werden Microcontroller in C programmiert. Wenn du also z.B. mit Arduino u.Ä. arbeiten willst, solltest du C können. Dasselbe gilt, wenn du dich für Treiber- oder Betriebssystemprogrammierung interessierst.

C hat den Nachteil, dass man nicht ganz sauber programmieren kann, da die Sprache zum Beispiel nicht zwischen Zahlen und Wahrheitswerten unterscheidet.

C# ist eine Sprache, die von Microsoft entwickelt wurde und meines Wissens nur unter Windows richtig läuft. Sie hat den Ruf, besonders einfach zu sein. Sie ist objektorientiert.

Java ist ganz ähnlich wie C#. Viele Anfänger-Kurse benutzen Java für den Einstieg. Diese Sprache braucht man, um Android-Handies und -Tablets zu programmieren (iPhones und iPads werden in einer anderen Sprache programmiert, man kann sie aber nicht so "einfach" selbst programmieren, da auf diesen Geräten nur Apps vom Apple Store installiert werden können).

Es gibt noch eine ganze Reihe anderer Sprachen, die für den Einstieg geeignet sind...

Die drei genannten Sprachen (Python, C und C#) gehören zu den einfacheren Sprachen

Also ich finde C eher schwer... Für Anfänger.

0
@usernew283

ja und nochwas zu Python und Leerzeichen/Tab: daran bist du Schuld. Nehm ein ordentlichen Editor. Der PythonInterpreter ersetzt Intern Tabs durch Leerzeichen,also hast du da den Fehler gemacht

0
@CoreUser

Der PythonInterpreter ersetzt

Falsch.

Ich habe den Editor genommen, der mit der damaligen neusten Python-Version für Windows mit dabei war - also DEN offiziellen Python-Editor.

Überflüssig zu sagen, dass dieser Editor um längen schlechter war als alle anderen Programmier-Editoren (wie ConTEXT oder Notepad++) - von IDEs wie Eclipse mal ganz zu schweigen.

Tabs wurden dort niemals durch Leerzeichen ersetzt. Ich habe mir mal den Spaß erlaubt zu testen, wie sich Python verhält, wenn eine Zeile mit einem Leerzeichen anfängt und die nachfolgende Zeile mit einem Tab.

Das Ergebnis war klar: Eine Fehlermeldung, dass die Einrückung falsch ist! Und das auch dann, wenn vorher mehrere Zeilen eingerückt waren.

Würde Python Tabs durch Leerzeichen ersetzen, könnte es so eine Fehlermeldung nicht geben!

0