Was ist eigentlich dieses ALT.NET?

Sunday, August 10, 2008 2:11:37 AM (W. Europe Daylight Time, UTC+02:00)

Wer regelmäßig .NET Blogs liest – insbesondere englischsprachige .NET Blogs – wird in letzter Zeit früher oder später auf den Begriff ALT.NET gestossen sein. Mir ist der Begriff jedenfalls in den letzten Monaten immer häufiger begegnet, und irgendwann habe ich dann angefangen, mich näher mit dem Thema zu beschäftigen.

Was ist denn nun ALT.NET? Faul wie ich bin kopiere ich einfach Mal die Erklärung dazu von der deutschen ALT.NET Community altdotnet.de:

Was ist ALT.NET?
Die wichtigste Quelle dazu ist http://www.altnetpedia.com/ (engl.)
Die ALT.NET Bewegung definiert sich wie folgt (engl. Version):
  • ALT.NET Entwickler verwenden was funktioniert und suchen ständig nach neuen, besseren Lösungen.
  • ALT.NET Entwickler bewegen sich auch außerhalb des Mainstream und verwenden Lösungen, Konzepte, Ideen aus allen Bereichen (Open Source, Agile, Java, Ruby, etc.).
  • ALT.NET Entwickler geben sich mit dem status quo nicht zufrieden und suchen ständig nach Möglichkeiten sich in ihrem Code besser, einfacher und eleganter auszudrücken.
  • ALT.NET Entwickler halten Tools für wichtig, wirklich wichtig sind aber fundierte Kenntnisse und Prinzipien. Die besten Tools sind solche, die einen bei der Anwendung der Prinzipien unterstützen.


ALT.NET ist nicht kontra Microsoft und auch nicht alternativ. Es geht uns darum aus den möglichen Alternativen die jeweils beste auszuwählen. Das schließt Lösungen von Microsoft ausdrücklich mit ein, genauso wie Open Source und Third Party Hersteller.

Klingt zunächst einmal sinnvoll und interessant. Allerdings gibt es auch einige kritische Meinungen dazu (einige sind auf der englischsprachigen ALT.NET Seite verlinkt). So wirken z.B. einige der aktiveren ALT.NET Community-Mitglieder auf andere Blogger elitär und arrogant, und teilweise wird ALT.NET als Anti-Microsoft Bewegung gesehen, die alles ablehnt, was von Microsoft kommt, egal ob die alternativen Lösungen nun tatsächlich besser sind oder nicht. Insbesondere in englischsprachigen Blogs sind mir einige Blogbeiträge begegnet, die in diese Richtung gehen (tatsächlich war einer dieser Beiträge sogar mein erster Kontakt mit ALT.NET). In der deutschen Community habe ich zumindest bisher noch nichts negatives darüber gelesen.

Prinzipiell finde ich es gut, sich mit alternativen Tools zu beschäftigen. Nach neuen und besseren Lösungen suche ich sowieso ständig. Für mich persönlich heisst das aber nicht, dass ich unbedingt gleich für alles Alternativen zum “Mainstream von Microsoft” suchen muss. Auch wenn es für manche Bereiche gute Alternativen gibt (z.B. NHibernate als Alternative zu LINQ to SQL) entscheide ich mich trotzdem oft für die Microsoft Lösung.

Ich bin freiberuflicher Trainer und Entwickler. Als Trainer muss ich mich mit den Technologien auskennen, die am meisten nachgefragt werden. Bisher hatte ich noch keine einzige Anfrage zu NHibernate, Castle Windsor, Monorails oder irgendwelchen anderen Alternativen Technologien, aber zu den “Mainstream” Technologien von Microsoft bekomme ich mehr Anfragen als ich annehmen kann. Würde ich anfangen, alle Mainstream Technologien durch ihre “ALT.NET Alternativen” zu ersetzen, dann könnte ich solche Anfragen bald nicht mehr annehmen, weil mir dann die praktische Erfahrung mit den Mainstream Produkten fehlen würde. Als Entwickler habe ich das Problem, das ich quasi für jedes Projekt in eine neue Firma komme und mit neuen Leuten zusammenarbeite, und dann mit den Technologien arbeiten muss, die beim jeweiligen Kunden eingesetzt werden – und das sind nun mal in der Regel die “Mainstream Technologien” von Microsoft. Ausnahmen gibt es da höchstens beim Team Foundation Server – der ist gerade für kleinere Firmen einfach oft zu teuer, so dass dann Alternativen wie Subversion, Cruisecontrol.NET usw. eingesetzt werden.

Bin ich also nun ein “ALT.NETter” oder eher ein “Mainstream” Entwickler? Ich setzte zwar hauptsächlich Tools von Microsoft ein, aber wenn man sich die ALT.NET Definition oben mal genauer anschaut steht dort nirgendwo, dass das ein Widerspruch sein muss. Unter den für mich gegebenen Rahmenbedingungen setze ich die Tools ein, die für mich am besten geeignet sind. Das sind nun mal in meinem Fall sehr oft – aber nicht immer – die Microsoft Tools. Teilweise sind es aber auch “ALT.NET Tools”, z.B. xUnity und RhinoMocks. Insofern würde ich mich weder als “typischen ALT.NET Entwickler” noch als “typischen Microsoft Mainstream Entwickler” sehen.

Im Oktober findet übrigens die erste deutsprachige ALT.NET Konferenz statt: http://netopenspace.de. Wenn nichts dazwischen kommt werde ich auf jeden Fall daran teilnehmen, das wird sicher eine spannende Abwechslung zu den klassischen Konferenzen.

Technorati Tags: ,

Kick it on dotnet-kicks.de
Sunday, August 10, 2008 3:31:50 PM (W. Europe Daylight Time, UTC+02:00)
Hallo Mathias,

deine Argumentation kann ich nachvollziehen. Du generierst dein Einkommen daraus dass du die Mainstream Technologien schulst. Damit das in Zukunft so bleibt schaust du über den Tellerrand. So sorgst du dafür dass dich kein Kunde auf dem falschen Fuß erwischt ;-)
Für mich persönlich bleibt die Frage in welchem Maße man seinen Kunden von den ALT.NET Themen erzählt. Wenn du jetzt sofort ein Seminar zu DDD anbieten würdest wäre es vermutlich schwierig genügend Teilnehmer zu finden. Was nicht bedeutet dass deine Kunden kein Interesse daran haben, sie kennen es schlicht nicht.
Das schwierige ist wahrscheinlich, die richtige Balance zu finden zwischen "nur mal erwähnen" und "bekehren".
Anyway, auch ich freue mich auf den .NET Open Space in Leipzig!

Herzliche Grüße,
Stefan
Monday, August 11, 2008 11:27:40 AM (W. Europe Daylight Time, UTC+02:00)
"aber zu den “Mainstream” Technologien von Microsoft bekomme ich mehr Anfragen als ich annehmen kann. Würde ich anfangen, alle Mainstream Technologien durch ihre “ALT.NET Alternativen” zu ersetzen"

Interessant das du über Technologien redest. Ich glaube alt.net, und Agile Entwicklung allgemein, gehts mehr um Prinzipien und Patterns als um bestimmten Technologien.

Das erste Kapital von "Foundations of Programming" von Karl Seguin erklärt das ganz gut, besonders dieses Zitat von Jeremy Miller: "the .Net community has put too much focus on learning API and framework details and not enough emphasis on design and coding fundamentals."

Die MS "Technologien" sind sowieso leicht zu lernen, einfach MSDN lesen. Aber für gründliche OO Design Kentniss usw, musst du in anderen Quellen suchen, z.B. die Bücher von Martin Fowler, Robert Martin, Jimmy Nilsson, Kent Beck, Michael Feathers, Eric Evans, und viele Blogs. Es ist von diesen Quellen dass die alt.net ihre Inspiration bekommnt.

Wenn ich Software Entwicklung in der Universität studiert habe, war immer diese Grundlagen am wichtigsten und die bestimmte Technologien waren einfach zu lernen. Aber in den letzten Jahren ich habe gemerkt das MS bietet Technologien an die unterscheiden sich von diesen Grundlagen, und benötigen oft das man muss alternative (typischerweise schwächer) Prinzipien und Patterns lernen als was in der Entwicklunsgwelt allgemein verwendet wird. Ich denke die alt.net Bewegung versucht diese wohlverstandenen Grundlagen mit MS Technologien zu mischen. Für mich das macht leben einfacher, weil ich kann .net Software entwickeln mit meine schon existierende Kentniss und muss weniger MS-Spezifische Alternativen lernen.
Kurt Häusler
Comments are closed.