
Heute wird proggen.org 5 Jahre alt. Oder wie nufan meinte: Das halbe Jahrzehnt ist geschafft.

5 Jahre ist ein kleines Jubiläum, aber auch eine lange Zeit im Internet, wie auch in der Bevölkerung.
Was verändert sich in 5 Jahren?
Vor 5 Jahren gab es Google+ zum Beispiel noch nicht. Das ist sicherlich keine besondere Nachricht.
Google+ beschreibt aber ein interessantes Phänomen: Menschen äußern sich in Kurzform über ihre Interessen und Meinungen. Und Menschen tun das immer häufiger. Häufig auch mobil.
Am 11. Juli 2008 wurde die zweite Generation des iPhones vorgestellt, dass sich alleine im ersten Verkaufs-Quartal besser verkaufte als die erste Generation über 5 Quartale zusammen. Smart-Phones sind heute die Regel.
2008 gab es noch eine große Diskussion darüber, wie groß Bilder sein dürfen und ob Bilder überhaupt verwendet werden sollten. Heute bieten Telefone bereits Übertragungsraten bis 150MBit/s an.
Menschen konsumieren heute eher kleine Informationshappen, aber Programmierung ist eine Beschäftigung, die vom Lernenden verlangt, sich mit einem großen Ganzen zu beschäftigen, welches zusätzlich dazu immer weiter
wächst. So habe ich als Kind noch auf einer Textkonsole programmieren gelernt, wobei die Grafikausgabe etwas besonderes war - heute ist die GUI selbstverständlich und die Textkonsole außergewöhnlich.
Programmieren lernen kostet Zeit und sich Zeit zu nehmen und sie zu investieren ist in einer schnelllebigen Zeit eher ungewöhnlich. Erfolge müssen schnell und billig sein. Das wird beim Programmieren nie der Fall sein, Kenntnisse muss man sich über lange Zeiträume aneignen. Entsprechend sinkt das Interesse, Programmieren zu lernen. Damit steigt aber auch der Wert des Wissen derer, die Programmieren können.
Gleichzeitig steigen die Erwartungen: Man muss Programmieren mal eben beiläufig lernen können. Und wenn das nicht sofort klappt, kommt Frust auf. So werde ich in letzter Zeit häufiger gefragt, ob man überhaupt intelligent genug ist, Programmieren zu lernen, wenn sich nicht sofort Erfolg einstellt. Ähnlich sieht es bei den Tutorials aus. Die meisten Schreiber haben oder nehmen sich nicht die Zeit, die Tutorials voranzubringen und brechen irgendwann ab.
Bemerkenswert finde ich, dass die "Nerd-Brille" inzwischen Hipp ist. Serien wie "Big Bang Theory" ziehen einerseits über die Klitschees von Nerds her; Nerd, also intelligent, zu sein wird cool. Sogar so cool, dass sich heute Leute stolz als "Nerd" bezeichnen.
Ich denke, proggen.org ist eine Insel für Menschen, die bereit sind auch mal Frust zu ertragen, um etwas zu erreichen und deswegen dranbleiben. Gleichzeitig ist es für die Zukunft unsere Aufgabe, Menschen entgegen des Zeittrends dazu zu motivieren, sich längerfristig mit einer herausfordernden Aufgabe auseinander zu setzen. Dazu gehört auch, die Nerd-Brille wieder abzusetzen und den Kopf als das coole Accessoire zu verstehen.
Wo sind wir und wo geht's hin?
proggen.org steht irgendwo zwischen diesen Bewegungen und ich finde es gut, dass es hier durchaus eine Konstante darstellt. Wir vermitteln und diskutieren vorrangig "altmodisches", aber zeitloses Wissen und darauf möchte ich auch in den nächsten 5 Jahren den Fokus legen. Gerade Assembler ist mir hier ein wichtiges Anliegen.
Aber wir müssen auch "hippere" Wege einschlagen. nufan arbeitet nun am Java-Tutorial und ich hoffe, dass wir von dort aus gut in Richtung Android-Entwicklung kommen werden. Ich selbst möchte mich mit der Entwicklung auf Mac und iOS auseinander setzen und werde dazu sicher auch schreiben.
Im Hintergrund laufen - wenn auch sehr langsam - die Entwicklungen zum neuen CMS parallel zu und mit anderen Projekten weiter.
Bzgl. des Designs habe ich einen (hauptberuflichen) Designer in der Bekanntschaft gefunden, der sich mit mir am Design der Website versuchen möchte und den ich für zuverlässig erachte. Auch wenn er wenig Zeit hat, sehe ich da durchaus Chancen, dass da was kommt.
Wer programmieren lernen möchte googlet nach "programmieren", da ist der erste Vorschlag von Google "programmieren lernen". Der magische Begriff "Programmieren lernen" listet proggen.org inzwischen auf Platz 9. Das ist Seite 1. Letztes Jahr waren wir noch in der oberen Hälfte der eher undankbaren Seite 2.
Ein anderes Thema, dass uns die ersten vier Jahre begleitet hat, wurde im letzten Jahr vermutlich unbemerkt abgehakt:
Code: Alles auswählen
xin@prgn:~$ uptime
11:11:07 up 421 days, 15:47, 1 user, load average: 0.44, 0.43, 0.33
Kleiner Wettbewerb gefällig?
In den letzten Jahren haben wir die Erfahrung gemacht, dass die Wettbewerbe im Sommer eher nicht so gut ankommen. Tutorial oder Artikelwettbewerbe wurden solange nach hinten verschoben, bis die Deadline überzogen war oder die Qualität litt. Das Blöde daran, eine Programmierer-Website am 5. Juli zu gründen ist, dass es genau ins Sommerloch fällt, wo am wenigsten los ist.

Also machen wir keinen Tutorial oder Artikelwettbewerb, sondern einen kleinen Programmierwettbewerb, der uns etwas Arbeit beim neuen CMS abnimmt.
Zu schreiben ist eine Funktion in C, die einen Text erhält und einen überarbeiteten Text zurückgibt:
Sie soll alle vorhandenen BB-Codes, wie sie hier im Forum vorkommen in Wiki-Text übersetzen. Also beispielsweise
Code: Alles auswählen
[b]bold[/b]
Code: Alles auswählen
**bold**
Code: Alles auswählen
[url=http://www.proggen.org]Unsere Website[/url]
Code: Alles auswählen
[[http://www.proggen.org|Unsere Website]]
Die verwendeten Strings sollten also oben im Quelltext zu konfigurieren sein, bzw. in einer Konfigurationsdatei stehen und eben nicht im Quelltext zu suchen sein.
Die Signatur der Funktion sollte
Code: Alles auswählen
char const * translate( char const * input )
Ob die C-Funktion dafür ein Python oder Perl-Skript ansteuert, spielt dabei keine Rolle, solange die Ausgabe korrekt ist, ist sie im Rennen. Gewinner ist, wer das Problem bis zum 31. August am schnellsten gelöst hat. Es ist erlaubt mehrere Versionen einzureichen (z.B. eine Perl Version und später eine schnellere C-Version).
In jedem Fall muss ich jedoch eine C-Funktion geliefert bekommen, die ich ansprechen kann und Kompilieranweisungen, wie ich das Projekt ans Laufen bekomme (make-Skript, batch, Studio-Projekt...)
In die Funktion wird zum Beispiel der Quelltext dieses Postings als Parameter übergeben, zurück kommt ein String, der den entsprechenden Wiki-Text enthält.
Gewinner ist, wessen Programm die Aufgabe am schnellsten korrekt löst.
Was wird damit geschehen?
Ich möchte die Datenbank des aktuellen Forums mit umziehen, aber in Zukunft nur noch Wiki-Code verwenden. Dafür müssen die Texte übersetzt werden. Und hier kommt ihr ins Spiel.
Als kleinen Anreiz werfe ich einen Amazon-Gutschein über 100 Euro ins Rennen. Dieser Wettbewerb ist dann erfolgreich, sobald eine funktionierende Lösung eingereicht wurde, denn dann muss ich sie nicht selbst schreiben

Alles klar, dann ran!
Fragen jeglicher Art einfach hier anfügen.