Wöchentlich Programme schreiben...



  • ..



  • 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.



  • Das Problem dabei ist, dass wenn nen fertiges Code-Schnippselchen präsentiert wird, ich mich selber wahrscheinlich mit dem eigentlichen Problem nicht beschäftigt habe.

    Gibt es eine Problemstellung, bei der die Lösung im Vorfeld noch nicht feststeht, dann MUSS ich micht damit beschäftigen, finde evtl. sogar ne Lösung. Aber meine Lösung muss halt nicht optimal sein, und wenn ich dann den Code von anderen Leuten sehe, der besser oder zumindest anders ist, dann guck ich mir diesen intensiver an, vergleich das mit meiner Lösung und komme vielleicht zu dem Schluss, das eine Schleife hier oder da besser ist, dass man dies oder das verkürzen kann etc.

    Lange Rede, kurzer Sinn: Ich denke, dass der Ehrgeiz auf jeden Fall größer ist, anderen Code zu verstehen, wenn ich mich selber damit beschäftigt habe.

    Abgesehen davon werden ja ständig irgendwelche Code-Schippsel präsentiert.



  • Ich denke ie Motivation ist ab Größten wenn ein Sieger gekürt wird aber das bedeutet Aufwand. Jemand muss die Codes beurteilen, eventuell sogar nachmessen wie schnell er ist.



  • Also an einen Wettbewerb hatte ich dabei gar nicht gedacht. Es gibt ja oft nicht nur eine richtige Lösung, sondern mehrere. Mir gings eher darum, dass man von anderen lernt, bei bestimmten, konkreten Problemstellungen. Für mich wäre das Motivation genug.

    Wenn das natürlich in einem Wettbewerb ausarten soll, isses mir auch recht, nur das hatte ich nicht beabsichtigt. Da wirds dann aber schwierig, jemanden zu finden, der das beurteilt :D.



  • Naja, egal ob ein Sieger gekürt wird oder nicht. Ich fänd es gut und würde wenn so etwas mal kommt auch daran teilnehmen.





  • Ich find die Idee von dem Contest gut, würde aber keine Einschränkungen bezüglich Bibliotheken machen. Wenn jetzt jemand sein Programm mit Klickibunti Effekten aufpäppelt, heißt das ja nicht automatisch, dass dieses Programm gewinnen muss. Dann hat er/sie ja nicht soviel Zeit in die grundlegende Aufgabenstellung gesetzt wie die anderen Teilnehmer. 🙂

    Aber auch so eine Art "Rate The Code" wäre toll. Wo einfach jeder ein Stückchen Code posten kann, und die anderen bewerten das dann, was man besser machen könnte, was verdammt schlecht geraten ist oder was einfach perfekt gelöst ist,...
    Das Konzept hat zwei Vorteile:

    1. Man braucht keine einzelne Person, die alles bewerten und austesten muss (Wie bei den Contests), sondern die Personen, die den Posts antworten, bewerten dann ja schon (und haben es wahrscheinlich auch ausgetestet).
      und
    2. Ich denke, auf diese Weise kann viel besser lernen, da man von den anderen sofort Feedback für seinen Code erhält.

    Außerdem ist dann der Wiederverwendungseffekt größer. Jemand liest einen Post über ein gewisses Thema, an dem er selbst gerade arbeitet. Dann kann er sich ansehen, wie es andere gelöst haben, welche Strategien sie verwendet haben, was sich nicht als gut erwiesen hat,...
    Das heißt dann auch, das man sich nicht komplett bei Null anfangen muss. Das ist meiner Meinung nach besser, als sich die Grundlagen selbst aneignen zu müssen. (Sicherlich kann man dabei auch viel lernen, wer es so machen will, der braucht sich ja die Posts nicht anzuschauen 😉 , aber wenn man schon so verzweifelt ist und am liebsten das Keyboard an die Wand schleudern möchte, dann ist so was sicher eine große Hilfe.


Anmelden zum Antworten