Thema:
Re:S: Nachhilfe in Python und/oder C flat
Autor: _bla_
Datum:05.07.15 17:37
Antwort auf:Re:S: Nachhilfe in Python und/oder C von Funktionär

>>ist es möglich, dass du dich auf eine Sprache konzentrierst? Hast du vor etwas spezielles zu programmieren?
>
>Ja, Python. Geht mir in erster Linie um Daten (erheben, analysieren, visualisieren, vom Netz scrapen usw.).
>
>Auf C bin ich gekommen, weil das scheinbar eine "Einführungssprache" in die Programmierung ist und man damit viel lernt.


Die Frage ist nur was willst du lernen und wie viel Zeit willst du reinstecken? C ist ziemlich nah daran wie die Hardware intern arbeitet, daher kann man in C gut sehr schnellen Programmcode schreiben. Andererseits kann man ganz viele Fehler machen, die in anderen Sprachen gar nicht möglich sind oder Sachen selber implementieren, die in anderen Sprachen schon vorgegeben sind. Die Sprache wird gerne im Informatikstudium am Anfang verwendend, eben um den Studenten zu erklären, wie die Sachen intern aufgebaut sind, die in vielen anderen Sprachen schon vorgegeben sind. Wenn C hingegen verwendet werden soll, weil es um schnellen Code geht, dann wird noch sehr viel Wissen über die Hardware und Compiler benötigt. Wenn du Code schreiben willst, bei dem Geschwindigkeit zwar durchaus relevant ist, aber nicht der Hauptfokus der Entwicklung ist, dann sind Sprachen wie Java oder C# meistens besser. Diese Sprachen sind zwar ein Tick langsamer, aber nehmen dafür dem Programmierer schon sehr viel ab. Python ist nochmal einfacher, aber ist als interpretierte Skriptsprache von der Performance wirklich sehr weit weg von dem was in C oder C++ möglich ist.

Hier gibt es dazu Beispiele:

[http://benchmarksgame.alioth.debian.org/]

Eine gute Implementierung in C++ braucht für das n-Body Problem bspw. rund 9 Sekunden und 1 MB Speicher, während Python 16 Minuten für das gleiche Problem braucht. Go, Scala, C# und Java brauchen hingegen rund 24 Sekunden und sind damit zwar nicht ganz so schnell wie C oder C++ aber bewegen sich immer noch in einer sehr ähnlichen Größenordnung. Wenn du wirklich etwas von C haben willst, dann gehe davon aus, das du sehr lange viele Grundlagen lernen musst, bis du zu einem Punkt kommst, wo du C gut nutzen kannst und damit Sachen hinbekommst, die du in einer anderen Sprache nicht wesentlich leichter hättest bekommen können. C hat seinen Sinn in einem mehrjährigen Informatikstudium, wer nur ein bisschen programmieren lernen will, der sucht sich lieber eine andere Sprache.


< antworten >