staging.inyokaproject.org

Beratung zum ersten, kleinen Projekt: Gaußscher Algorithmus für lineare Gleichungssysteme

Status: Ungelöst | Ubuntu-Version: Kubuntu 10.04 (Lucid Lynx)
Antworten |

Marc_BlackJack_Rintsch

Avatar von Marc_BlackJack_Rintsch

Anmeldungsdatum:
16. Juni 2006

Beiträge: 4478

@8: Wenn es einfach nur ums Programmieren lernen ginge, würde ich Dir zustimmen. So richtig angefangen habe ich nach BASIC mit Assembler, also wirklich ganz nah an der Hardware und denke das hilft beim Verständnis der Zusammenhänge was da "unter der Haube" passiert ungemein.

Aber hier ist die Programmierung nur ein Mittel zum Zweck, denn das Ziel ist ja die Facharbeit für den Mathematik-Leistungskurs. Da ist also ein festes Ziel und eine Zeitvorgabe vorhanden, und bei diesem Szenario sollte man IMHO eine Sprache wählen, die einen nicht mit Low-Level-Kram wie Speicherverwaltung belastet, und so mehr Konzentration auf die Lösung des eigentlichen Problems erlaubt. Selbst in solchen Sprachen wird der Zeitaufwand zum lernen und umsetzen oft unterschätzt. Ich denke eine Facharbeit an deren Ende etwas Vorzeigbares, vielleicht sogar mit GUI steht, ist mehr Wert als etwas das gerade mal so funktioniert, man dafür aber alle Speicherlecks per Hand gestopft hat. Dabei mag man mehr über die Innereien des Rechners gelernt haben, es hat aber keinen fachlichen Bezug zur Mathematik, fliesst also sicher auch nicht in die Note ein. Eine GUI hat diesen Bezug zwar auch nicht, wird aber sicher von Lehrer oder Lehrerin mehr gewürdigt als etwas was nicht sichtbar ist.

domachine

Anmeldungsdatum:
16. Mai 2007

Beiträge: 562

8 schrieb:

Marc 'BlackJack' Rintsch schrieb:

@8: Alleine das Du Bubblesort selbst implementieren musstest ist eigentlich schon der Gegenbeweis für Deine Aussage Delphi/Lazarus sei einfach. Von einer modernen Programmiersprache würde ich erwarten das sie bereits einen (effizienteren!) Sortieralgorithmus bereitstellt. Selbst C hat Quicksort in der Standardbibliothek.

Wenn man sich auf das Problem konzentrieren möchte, sollte man keine Programmiersprache verwenden, bei der man sich um Speicherverwaltung selbst kümmern muss, oder grundlegende Datenstrukturen und Algorithmen nicht mit der Standardbibliothek geliefert werden.

@EmoJoe: Java ist sicher nicht ungeeignet. Ich persönlich würde eher zu einer dynamischen Sprachen wie Python oder Ruby greifen.

Was die GUI angeht: Teil Dein Projekt in "Milestones" ein wo am Ende auch eine GUI vorgesehen ist, gehe aber davon aus, dass der Teil nur dann implementiert wird, wenn noch genug Zeit übrig bleibt – also wahrscheinlich gar nicht. 😉 Wenn Du schön darauf achtest, dass die Programmlogik und die Benutzerinteraktion sauber getrennt sind, kann man die Schnittstelle zum Benutzer einfach austauschen.

ich habe nicht gesagt das ich bubblesort selbst implementieren musste... ich wollte "alles" selbst machen da ich das programm geschrieben habe um programmieren zu lernen... wenn ich den threadersteller richtig verstanden habe will er programmieren lernen und ich glaube das geht mit lazarus einfahc sehr gut... außerdem bin ich der ansicht das wenn man in die prgrammierung einsteigt sich auch ruihg mit speicherverwaltung außeinander setzen sollte... das das ganze projekt mit python schnell und einfach zu machen ist mag ja sein... aber er will sich mit dem projekt ja warscheinlich aufs studium oder ähnliches vorbereiten... dann würde ich eben empfehlen das ganze mit lazarus zu machen...

Ich würde eher behaupten, mit Lazarus wird einem ein Haufen abgenommen und es kann dann die Illusion entstehen, das sei selbstverständlich. Bist du in der Lage ohne die Lazarus IDE ein anständiges Pascal Programm zu schreiben. Einzig und allein ausgestattet mit einem Kommandozeilen-Compiler? Ich finde es extrem gewöhnungsbedürftig, wenn ich Buttons auf eine Oberfläche ziehe und dann mit einem Klick darauf der komplette Prozedurkopf angelegt wird und ich ihn nur noch füllen muss. Ich finde das Werkzeug extrem ungeeignet zum Lernen. Es ist etwas für den faulen, fortgeschrittenen Programmierer, der zwar schon alles kennt, aber zu faul ist viel Code zu schreiben. Aber selbst für den kann ich Dinge wie Delphi oder Lazarus nicht empfehlen, weil solche RAD-Tools meiner Meinung nach schlicht und ergreifend unflexibel sind.

Ok, jetzt aber back to topic.

Ich würd für so ne Aufgabe Python empfehlen. Ich denke es ist bei einer solchen Aufgabe kein Fehler sich das Leben so leicht wie möglich zu machen. Nur halt nicht mit Pseudo-komfortablen Dingen wie Lazarus. Natürlich kann man auch Java oder C++ verwenden aber erstens mag ich Java nicht wegen der fetten Runtime Environment, die man dann ständig durch die Gegend schleppen muss (is aber Geschmackssache) und zweitens wär C++ in dieser Hinsicht wohl Overkill.

Das ist meine Meinung.

Gruß Domi

EmoJoe

(Themenstarter)

Anmeldungsdatum:
28. Dezember 2008

Beiträge: Zähle...

Marc 'BlackJack' Rintsch schrieb:

Was die GUI angeht: Teil Dein Projekt in "Milestones" ein wo am Ende auch eine GUI vorgesehen ist, gehe aber davon aus, dass der Teil nur dann implementiert wird, wenn noch genug Zeit übrig bleibt – also wahrscheinlich gar nicht. 😉 Wenn Du schön darauf achtest, dass die Programmlogik und die Benutzerinteraktion sauber getrennt sind, kann man die Schnittstelle zum Benutzer einfach austauschen.

Das klingt sehr vernünftig, so mach ichs!

Naja ich werd mich jetzt dann eh erstmal ordentlich in die Thematik einlesen müssen und dann wird das so langsam Gestalt annehmen denk ich. Trotz der vielfachen Empfehlungen von Python, Perl, Ruby usw. peile ich jetzt gerade doch nach wie vor Java dafür an. Aber bevor es richtige ans Programmieren geht, wirds wohl eh noch etwas dauern.

Ich werd mich hier auf jeden Fall wieder melden wenn ich erste Erfolge verbuchen kann oder wenn ich so gar nicht mehr weiterkomme ^^!

Dankeschön!

Antworten |