Womit programmiert man am besten Algorithmen?
Hey, Ich suche eine neue Programmiersprache, die man leicht erlernen kann, und vor allem die mich nicht so stark einschränkt. Mein nächstes Ziel ist die Programmierung eines Algorithmus. Hat einer von euch eine Idee welches Programm ich da nehmen kann?? LG Sven
9 Antworten
Ein Algorithmus ist eine aus endlich vielen Schritten bestehende, eindeutige und ausführbare Handlungsvorschrift zur Lösung eines Problems oder einer Klasse von Problemen.
Eine ganz beliebte Sprache, um erstmal einen Algorithmus zu entwickeln, ist die sogenannte "Mathematik". Um das dann in ein Programm zu pressen, ist jede Programmiersprache geeignet, Anfängersprachen wären Python, C#, Delphi und mit Einschränkungen auch Java, wenns doch ganz doll mathematisch sein soll, dann solltest du über Matlab nachdenken. Genaueres über die Anfängersprachen verrät dir die Suchfunktion hier.
Zum lernen ist Java eigentlich sehr gut. Die Syntax ist recht beschränkt und du kannst kaum schwerwiegende Fehler machen als in C beispielsweise, da solch unangenehme Dinge wie Speicherverwaltung von Java übernommen werden.
Mehr Möglichkeiten bietet C#, sindbesondere mit LINQ. Das lässt dich, auch bei komplexeren Algorithmen, mehr auf die Logik fokussieren, da Dinge wie Listen sortieren und co. sehr leicht und intuitiv übernommen werden. Natürlich kann mans auch selber implementieren, falls das dein Ziel ist.
Und wenn du deinen Algorithmus dort drin hast und er funktioniert kannst du das ja mal in einer hardware-nahen Sprache machen um den Unterschied zu sehen (sowohl vom Programmierkomfort als auch von der letztendlichen Performance)
Schau Dir mal den Iterationsrechner unter http://www.gerdlamprecht.de/Roemisch_JAVA.htm
an. Dort sind über 100 Beispiele von Algorithmen. Er ist mit JavaScript geschrieben.
Per Übergabeparameter kann man einen kompletten Algorithmus in einen LINK packen
(Seite "Zahlenfolgen" nutzt dies um online sofort nachrechnen zu können)
Nicht mit JAVA verwechseln: JavaScript kann jeder Browser und ist sicher, da es (außer Cookies) keine Schreibberechtigung auf Medien (Festplatte, USB...) gibt.
Nachteil: reine Interpretersprache (wird erst zur Laufzeit Zeile für Zeile abgearbeitet -> langsam)
JAVA gibt es von mehreren Firmen kostenlos, kann mehr -> ist dadurch aber auch ideal um einen Virus zu verbreiten. Gibt's als Interpreter und Compiler (schneller).
Schnell und kostenlos kommt man mit "purebasic" ans Ziel: native 32 Bit und 64 Bit Programmiersprache (echter schneller Maschinencode; auch ASM).
Um alle Freiheiten auszuschöpfen, kommt man an C++ nicht vorbei! Die schnellen 64Bit CPUs von heute haben 8 Kerne und 128Bit Zwischenergebnisse. AMD, Intel und Grafikkartenhersteller bieten so viel Sonderfunktionen an, die nur per c++ und ASM voll ausgenutzt werden kann. Das ist aber nichts für Anfänger, sondern den Weltmeister für Pi-Nachkommastellen. Er schafft so über 1Mrd. Stellen in unter 1 min.
Gibt's kostenlos bei Microsoft in der Visual Express-Version. -> Microsoft versucht aber alles, um den Anwender in die .NET Richtung zu schieben (c#).
Eine wichtige Frage solltest Du Dir noch stellen: auf wieviel Nachkommastellen willst Du den Algorithmus durchrechnen?
99 % der Sprachen können das Format Double, was etwa 15 Nachkommastellen (bei |x|<10) entspricht.
Einige Sprachen wie php (bc-math), JAVA bieten fertige Funktionen für einstellbare Nachkomma-Genauigkeit.
Ich habe aber auch schon fertige "Großzahl"-Funktionen für VBA gesehen, die man in EXCEL einbauen kann.
Für Anfänger "Scratch" aber da bist du sehr eingeschränkt, kannst aber auch coole Sachen machen
Haha das lern ich grad in der Schule ich suche aber mehr was naja wo man halt mehr möglichkeiten hat, z.B. C++ oder Java oder vllt was einfacheres zu lernen? Trotzdem danke für deine antwort
Wenn du etwas kompliziertere Probleme lösen möchtest, würde ich persönlich VB (Visual Basic) empfehlen. Die Sprache ist sehr einfach zu erlernen und es gibt Tausende mehr oder weniger sinnvolle Tutorials auf Youtube dafür. Du brauchst dann die Umgebung "Visual Basic 2012". Wenn du für Win7 programmierst die Version "für Windows Desktop", wenn du für Win8 programmierst die Version "für Windows 8". Zu finden hier: http://www.microsoft.com/visualstudio/deu/products/visual-studio-express-products Ich persönlich komme damit sehr gut zurecht und würde die Sprache jedem weiterempfehlen, der in das Programmieren einsteigen möchte. Bei den oben erwähnten Tutorials auf Youtube muss man allerdings auf den oft schlechten Programmierstil achten, allerdings hat man die Probleme ja in jeder Sprache. Zum Beispiel werden die Objekte leider sehr sehr selten sinnvoll benannt, das heißt: Statt Button1 sollte man btnBenutzername und statt Label1 lblErklaerung nehmen, damit man bei der späteren Entwicklung weiß was in der Textbox beziehungsweise dem Label zu finden ist. Das und viele weitere Dinge sollte man sich sofort angewöhnen, da es bei größeren Entwicklungen, die man später einmal machen sollte von sehr großer Hilfe ist. Gruß, TedMosby2