Direkt zum Hauptbereich

Posts

Es werden Posts vom März, 2007 angezeigt.

Was ist Software-Architektur?

Was ist Software-Architektur? Wenn Sie nach einer Definition im Internet recherchieren, werden Sie auf eine Unmenge von Vorschlägen stoßen. Wenngleich kein vollkommener Konsens besteht, so findet die Definition von Bass et al. (Software Architecture in Practice, 2nd Ed., Addison-Wesley, 2003) offenbar den meisten Anklag. In der deutschsprachigen Literatur zum Thema wird sie auch gerne herangezogen. The software architecture of a program or computing system is the structure or structures of the system, which comprises software elements, the externally visible properties of those elements, and the relationships among them. Ich halte diese Definition für zu kurz gegriffen -- Sie stimmt nicht mit meinen Erfahrungen aus der Praxis überein. Architektur hat nach meinem Verständnis sehr viel mit Ökonomie zu tun. Die Architektur ist die ökonomischste Form der Beschreibung "innerer" Anforderungen, die nicht mit der Implementierung des Systems identisch ist. Unter den "inneren...

"Open, reusable object models" in Python

It's roughly three or four weeks ago that I read an interview with Alan Kay (" Alan Kay: The PC Must Be Revamped—Now ", CIO Insight, Feb 14, 2007). I found it quite inspiring, began surfing the Internet for more material and finally stumbled across Ian Piumarta's paper " Open, reusable object models " (2007/2/7) (see here also). I was fascinated by all the claims stated in the paper and started to have a closer look. Finally, in order to really understand what he did, I started coding his concept world in Python (my favourite programming language). The code is shown below. It's very close to the pseudo code used in the paper on page 5. Before you have a look at the Python code, some remarks. After the third rework of my code, I started renaming concepts. For my taste, e.g. "vtable" is not so intuitive. You will see that I introduce a "Object" class, a "ObjectBehavior" class and a "BehaviorBehavior" class in the c...

Factor: In der Kürze liegt die Würze

Es gibt eine Sprache, die mich immer wieder und zunehmend irritiert: Factor von Slava Pestov. Factor steht in der Tradition von Forth und ist eine rein stack-basierte Sprache. Die angepriesenen Features auf der Factor-Webseite klingen erstaunlich genug, um einen genaueren Blick auf die Sprache zu werfen: Factor is a general purpose, dynamically typed, stack-based programming language. Factor has an optimizing native compiler, automatic memory management with a generational garbage collector, a powerful collections library, and various advanced language features such as higher-order programming, continuations, and extensible syntax. Factor development is done in an interactive environment with a graphical user interface. There is a single-stepping debugger which can travel backwards in time, and extensive documentation. An easy to use C library interface allows one to call C libraries without writing any glue code in C. Bindings for OpenGL, FreeType, X11, Cocoa, and Windows APIs are pr...

Rechnen mit Quanten, Quanten rechnen

Interessieren Sie sich für Quantenmechanik? Vielleicht wird es einmal Computer geben, die mit so genannten Qubits (Quantenbits) arbeiten. Ganz absurd ist der Gedanke heute nicht mehr, aber die Realisierung solcher Maschinen erweist sich bislang als gar nicht so einfach. Die Technologie dazu steckt in den Kinderschuhen, man ist weit entfernt von einem PC-Ersatz. Doch wer weiß, in 20 Jahren gehören Qubits womöglich zu den "Grundlagen der Informatik". Ich würde mich darüber freuen, weil das völlig interessantes Zeugs ist. Wenn Sie zu dem Thema "Quantenrechner" herumsurfen, werden Sie interessantes Material finden. Hin und wieder geistern ja auch Meldungen dazu über die Nachrichtenticker. Worüber ich die Tage stolperte, war der Blog-Eintrag " Independence, entanglement and decoherence with the quantum monad ". Hier geht es weniger um Quantenrechner als um das Rechnen mit Quanten, was im wesentlichen Wahrscheinlichkeitsrechnung ist. Das Faszinierende daran ist ...