|
|
||
Joerg Plewe's BlogProgramming ArchivesMy first CVS checkin 2007Posted by herkules on December 31, 2006 at 04:47 PM | Permalink | Comments (0)This is my first CVS checkin 2007! Happy coding to everybody in the new year. C with NetBeans on Linux ... check it out!Posted by herkules on December 21, 2006 at 09:27 AM | Permalink | Comments (10)My current project is something with C on Linux. This is no fun, believe me. Especially when you are used to the rich development environment in the Java world. What do we have on Linux? vi, emacs, make, kdevelop, gdb. Ouch. Fortunately, Java tools reach out to that foreign, hostile world. First I tried Eclipse/CDT which works pretty well and I use it for my daily development. By far the best thing I could get hold of. The C/C++ module for NetBeans, which was at beta3 those days, was not in a productive state. Today, I gave it a second try with all the brand new stuff. JDK6, NetBeans 5.5 and the new C/C++ development pack - surprise, surprise! It looks pretty polished and works like a charm. NB/C wraps very nicely around existing Makefiles. This allowed me to browse a real complex project (>1mio LOC) within the IDE very soon. It also recognized the SVN structure immediately and guided me smoothly to checkin the NB projects just created. Another big plus is that it was very easy to create the NB projects completely separated from the source directories. I missed that in Eclipse (maybe it's my fault). And no more switching between 'perspectives' which I always found annoying. A matter of taste. Also, NetBeans 5.5 runs very smooth even on an X terminal. So I had 2 lucky hours today exploring my new toy. Everything was so easy. Maybe tomorrow I will run into the issues. But thats OK for a first release. I'll just post the issues to the NB bug tracker. Typically they do respond quickly. What I love about NetBeans is the speed of improvement. Subversion, UML, C/C++ and much more ... all that has been added just recently. So I'm really excited to see what comes next.... µ-architecture - what's that?Posted by herkules on November 01, 2004 at 09:15 AM | Permalink | Comments (2)When talking about architecture, people think in terms like 1,2,3,4...n-tier, J2EE, client/server, thin vs. thick client. The pieces put together are Oracle vs. DB2, BEA vs. JBoss, Struts, Swing, JSP, JavaFaces, etc.. This is the big picture! It is obvious that the decisions taken there are extremely important and can loose the battle before it begins. But can they also win the battle?
From my observation, there is a second level of architecture, not less important, which I will call micro-architecture now. Have you ever seen what happens when a former VisualBasic or MFC coder constructs a Swing GUI? A massacre!! Maybe GUI is a good example here, because it can be done right and it can do done so miserable. Highlevel architecture defines: we do it in Swing! Period. Well done. Good decision! Now the heterogenous team just starts extending a JFrame, adding JTextFields, JButtons and so on. Half a year later, your whole business logic is distributed over a net of FocusListeners, KeyListeners, AncestorListeners. Zillions of lines of code, an ugly, inconsistant GUI and the whole team totally occupied with just GUI coding and bug fixing. As you might guess, the µ-architect had been missing! Or he was there, but nobody noticed.
Consider there had been one single experienced Swing guru somewhere in your team. Unrecognized so far. Coming along with a nice little API that separates data from presentation and introduces abstract events (like 'user wants to open something' in favor of 'mousePressed', 'keyPressed', 'focusLost'). He shows a clean path how to apply a simple MVC pattern (I have something in mind like JDNC or JGoodies, just maybe even more focused). GUI is only one example. There are more. A cool way to do logging? Access the database? I18N? They all have in common that they focus on a small aspect of the development process. Nevertheless, the impact can be huge! Most of the time, µ-architectures are just called APIs. But they are more. Typically, they are coupled with a certain way of coding and/or a development process. If they are good, they can enforce a slim process and high quality of code measured in terms of consistency or few lines of code. They can avoid the necessity to generate huge amounts of code or enforce clean SoC. µ-architects typically don't have an accentuated position that is known to be architectural in any way. They can be just one member of a coding team. Sometimes, they don't even know - how important they are and what they do. They are code-level architects, artists in some respect, black-belted, experienced code wizards with a good feeling for quality and style. They love to edit well-formatted code, care for the IDE they use, don't like meetings so much. Do you know who you µ-architects are? Are you sure they are paid good enough? Take care! | ||
|
|