Wöchentlich Programme schreiben...
-
eigentlich eignen sich ja so ziemlich alle mathematischen probleme für ein kleines programm
mit ein bisschen sinus/cosinus könnte man z.b. eine analoguhr für den desktop proggn :D. ich weiß das wär jetz net das große problem für das man ne woche braucht aba is sicha ne gute übung, wenn man wirklich versucht den code so sauber wie möglich zu halten.
cya
-
ausserdem: wer macht denn da mit, wenn es um nix geht?
konkurrenzdenken spornt an - sonst ist die motivation ja im keller...Naja, es kommt natürlich immer drauf an. Ich denke z. B., dass wenn eine bestimmte Aufgabenstellung gelöst werden muss, die jetzt nicht gerade "Hello World" in seiner 1049032 Millionsten Ausgabe ist, man dabei schon was lernen kann.
Ich bin auch z. B. in einem Zeichen-Forum vertreten, wo regelmäßig solche Aufgaben gestellt werden. Man soll z. B. bestimmte Techniken verwenden etc. Da machen Profis, Fortgeschrittene und Anfänger mit. Ich muss feststellen, dass der Lerneffekt da sehr sehr hoch ist, da man Dinge von anderen sieht, auf die man selber so nicht gekommen wäre. Oder seine eigene Lösung war nicht so optimal etc.
Von wegen Verwaltungsaufwand:
Nen paar kleinere Ideen hätte ich da schon, z. B. im Bereich Netzwerkprogrammierung. Wie auch immer, jemand öffnet einen Thread mit eben dieser Aufgabenstellung und jeder postet seine Lösung einfach dort rein. Natürlich sind das keine Mammutprojekte, sondern eher Dinge, die man mit 100 Zeilen Code lösen kann.Ich fände das gut, da ich z. B. immer Probleme habe und nie weiss, ob mein Programmierstil so optimal ist oder ob man Schleife XYZ elegenter hätte lösen können. Auf jeden Fall könnte ich mir vorstellen, dass man dabei echt was lernen kann, vorausgesetzt, man kann Kritik sowohl einstecken als auch sachliche Krtik austeilen.
-
Generell wäre ich an solch einem "Kräftemessen" hier im Forum schon interessiert. Es muss ja kein Gewinner fest stehen. Es kann sich doch jemand eine Aufgabe ausdenken und bis zu einem bestimmten Termin können Vorschläge gepostet und diskutiert werden. Der Lerneffekt wäre bestimmt immens wenn man mal Ansätze oder Lösungen (die vielleicht auch der ein oder andere brauchen kann) von anderen neben seinen eigenen betrachtet. Den Horizont erweitern würde es allemal.
@Shade: AcmeSofties wird echt immer langweiliger. Immer irgendwelche Strings möglichst schnell nach irgendeinem Mist durchsuchen oder irgendwelche ausgedachten Algorithmen umsetzen die kein Schwein braucht. Das Problem an solchen Contests ist, dass sie keine Allerweltsprobleme nehmen können weil irgendwelche ScriptKiddies dann schon vorhandene Codes umformatieren und teilnehmen obwohl sie keine vernünftige Zeile programmieren können.
-
ich wäre auch für sowas interessiert, aber es sollte dann auch zu jedem Programm der Quellcode veröffentlicht werden.
-
jo
Marcus mach mal ein Forum dafür auf
Solche Contests hab ich schon in vielen Foren (zu anderen Themen als Programmierung) gesehen, warum nicht auch hier
-
Welche Programmiersprache? C++, WinAPI, MFC?
Die Idee ist nicht schlecht. Man sollte mit C++-Konsole beginnen.Ich stelle mal eine im Grunde einfache Aufgabe:
"Nimm-Spiel" (Beispiel siehe Kurs von Volkard Henkel und viele andere) programmieren, bei dem der Computer nicht 100%, sondern eine exakt einstellbare (0-100%) Gewinnchance (=Spielstärke) hat, damit dieses Spiel auch für den menschlichen Spieler und nicht nur für den Programmierer interessant wird.und bitte nicht so etwas: " ... nimmt 1 Münzen.", sondern hübsch.
-
..
-
Ich kann dir sogar ausrechnen wieviele Minuten und Sekunden nach 16:00 der Minutenzeiger den Stundezeiger wieder eingeholt hat :D.
BTW: Wäre auch für Konsole da es einfach am einfachsten ist. MFC, WinAPi, etc. ist immer nur für einen Teil relevant.
Lösungen die auch in der Konsole funktionieren lassen sich auch meistens in Java implementieren und erweitern somit das Spektrum.
Nimmspiel mit 100% Gewinnchance für den Computer gibt es nur in einem von zwei Fällen :D.
BTW: Wie stellst du dir eine 65%-ige Gewinnchance vor? Sollen da auch Randoms eingebaut werden?
MfG SídeWinder
-
Meinst du so was ?
http://www.fun-soft.de//forum/index.php?PHPSESSID=Ganz unten -> Rätselecke
-
Sollen da auch Randoms eingebaut werden?
Warum nicht?
-
www.fun-soft.de hat ganz interessante Ecken. ..
-
Also ich wäre auch stark für reines C++, also kein WinAPI, MFC oder sonstiges. Nur Konsole und plattformunabhängiger standardkonformer Code. Ansonsten ist es uninteressant.
-
Jo, ich hatte mir auch gedacht, dass wir uns auf c/c++ beschränken sollten. Pure Konsole. Also ich würde gerne sowas in Angriff nehmen und einfach mal sowas starten. Würde mich natürlich über Unterstützung freuen
.
-
Die Idee find ich gut.
Ich wär aber dafür dass alles verwendet werden kann. C/C++ mit diversen Bibliotheken, Java, Delphi, Perl etc.Da würde man dann z.T. völlig verschiedene Ansätze sehen und die Vor- und Nachteile der verwendeten Tools.
Auch die Aufgabenstellung würd ich nicht Beschränken auf sachen die sich mit ISO/Console bewerkstelligen lassen.
Grade wenns kein echter Wettbewerb sein soll sondern es einfach einen Übungs- und Lerneffekt haben soll, is doch so künstliche Beschränkung grundlos - und geht auch an der Realität vorbei.
-
Ja, aber gerade das ist der Reiz wenn man diese Hilfsmittelchen wie diverse APIs nicht hat. das Hauptaugenmerk sollte auf den Code gelegt werden und nicht auf das Ergebnis. Ich denke jeder hier kann ein einfaches jump'n run programmieren aber die Konzepte und Techniken die dahinter stecken verschwinden meist hinter bunten Bildchen. Es kommt auf möglichst raffinierte Lösungen bzw. Ansätze an. Ich sehe schon eine Diskussion der Art: Boah, wie hast du die Textur für den Himmel so geil hinbekommen (und das Spiel läuft in Slowmotion weil er viele unnütze Operationen macht)?
-
Naja, wenn das Ding durch den Einsatz einer Bib zu langsam wird, sieht man das ja dann an dem Beispiel, das das hier nicht passt. Andrerseits ist es doch eleganter die Aufgabe "Programmiere ein Junp'n'Run" mit ner guten Bib zu lösen, als alles selber zu machen. Wenn man die Bib nicht haben will, sollte die Aufgabe eben "Programmiere eine 2-D Spielebibliothek mit einem Jump'n'Run-Anwendungsbeispiel" heißen.
Ich denke wenn man auf einen Aspekt ein besonderes Augenmerk legen will sollte das in der Aufgabe stehen. Wenn die Betonung eher auf einem Ergebnis liegt soll man auch alles verwenden können.Ist die Aufgabe z.B. ein netzwerkfähiges "4-Gewinnt" zu implementieren, kann ich die Netzwerk-Kommunikation mit WinAPI und UDP machen, mit irgendwelchen C++-Netzwerkbibliotheken, mit den Standard Java-Klassen, einer Delphi-Komponente oder von mir aus mit SOAP.
Und am Ende sieht man dann welche Lösung die verständlichste ist, die am einfachsten zu implementierende, die erweiterbarste, die elaganteste, die mit dem größen Overhead etc.
Wenn ich jetzt aber nur SOAP haben will heißt die Aufgabe halt "Programmiere ein netzwerkfähiges 4-Gewinnt, welches über SOAP kommuniziert". Und da seh ich dann wieder, wie verschiedene SOAP-Implementationen zu handhaben sind.
-
Wer soll die Regeln festlegen und wer die Aufgaben stellen?
-
@kartoffelsack: das problem mit diversen Libs und Apis ist ja, dass sie nicht jeder kennt und nicht jeder schon für jeden Bereich Applikationen geschrieben hat. Ich für meinen Teil hatte noch nie etwas mit Netzwerkprogrammierung am Hut. Reines C++ ohne den ganzen Klickibunti-Firlefanz sollte für keinen etwas sooo neues sein. Ich denke die Aufgaben sollten nicht in ein fertiges programm münden sondern eher zu raffinierten Lösungen anregen.
@Erhard: Ich denke Regeln sollten zu Beginn einmal festgelegt werden (z.B. nur Standard C++ mit STL benutzen) und die Aufgaben können von jedem gestellt werden. Derjenige der die Aufgaben stellt sollte eventuell noch Kriterien angeben (kurzer Code, schneller Code oder sicherster Code). Die Bewertung kann dann von allen Forumsmitgliedern erfolgen und die Lösungsansätze können diskutiert werden.
-
Ich vermute mal, dass ich jetzt von allen Seiten Schimpfe kriegen werden, aber ich persönlich habe keine Lust auf irgendwelchen wilden Algorithmen, die 0.00001 ms schneller sind als die herkömmlichen.
Das ist ok, wenn solche Aufgaben kommen, aber nicht ausschließlich. Ich finde, wenn ein paar Sachen wie Netzwerkprogrammierung drankommen würden, wäre das doch ne tolle Abwechslung?!
Zur Durchführung find ich Mastahs Idee gut, allerdings gefällt mir wiederum die Idee mit der STL nicht. Ich meine was spricht dagegen, einfach mal nen Client für MySQL zu schreiben oder sowas!? Fertig Lösungen schaden meiner Ansicht nach nicht, und daraus kann sich ja jeder dann die Teile "klauen" die ihm gefallen
.
Wer irgendne exotische Lib benutzen will, soll das doch tun. Vielleicht hat genau jemand anders die gesucht.
Ich hab vom Programmieren die wenigste Ahnung hier, denke ich mal, deswegen kann ich nur meine Sicht der Dinge darstellen. Ob der Lerneffekt bei fertigen Programmen höher ist als bei kleineren Algorithmen weiss ich nicht, aber motivierender ist es bestimmmt. Zumindest sollte man einige Dinge nicht von vorneherein ausschließen.
-
Ich denke man könnte sowohl als auch machen. Es wäre vielleicht auch nicht schlecht wenn man im Forum so eine Art Snippet-Sammlung hätte. Aber das ist ganz einfach. Jemand macht einen Thread in "Rund um die Programmierung auf" der heißt "Eure besten Snippets" und jeder der meint er hätte ein schönes (d.h. nützliches oder lehrreiches) Stückchen Code kann eins posten.