Finally my summer holiday started!
I had to delay the start by one week due to a bit busy situation at work (in fact, I've been working whole morning at home to get things done). Have to say that now it feels really free and relaxed. I even have time to write to blog and to read few books that I've been thinking about reading for few months already.
I also feel like I should develop at least something during the summer holiday. Just to have something to do during rainy days :). The problem is that I have had a huge number of ideas during the winter and spring about tools that should be done, but now my head feels empty. Well, maybe I should just start with open source Scrum tools project that I've been considering for ages. If you have any ideas, please let me know...
A weblog born from a need and from personal interests. This focuses on managing dynamics and creative content business with a little twist of technological enthusiasm.
Showing posts with label programming. Show all posts
Showing posts with label programming. Show all posts
Thursday, June 26, 2008
Thursday, October 04, 2007
End of silent period
Haven't have time to write anything on this blog for a while. Quite much has been happening since XP2007 and my summer vacation. I have been quite busy at work with promoting our agile trainings and trying to build some kind of network. At the same time I have been giving a large number of different kind VB.NET, Symbian, C, C++ and Java programming courses. Well, at least these keep you in touch with the development.
I'm quite excited about our new agile courses and hopefully people will find their way in them. To help this we have been working with my colleagues to publish articles (few examples at the company website, in Finnish only), create workshops and keep seminar presentations. Latest of these happened during ELKOM 07 fair at Helsinki in last month. It was very nice to see that almost without marketing (from our side at least), we got room full of listeners eager to find out more about agile software development and its suitability to embedded world.
What makes me also enthusiastic is the Agile seminar arranged by Agile finland yesterday evening at Helsinki. Good seminar where all of the speakers gave me something.
Craig Larman presented the Lean ideas and even though these were familiar to me, I at least got a reassurance that there are probably a lot of people who think that Lean has a lot to offer. I feel like Lean thinking plays key role in solving the problems of large-scale offshore projects.
Petri Haapio gave a valuable data how agile development is implemented in Nokia Networks and later in NSN. A lot of few interesting points to share people on courses.
Finally Lasse Koskela guidelines for facilitating change in form of 15 excellent points. Lasse's ideas seem to be a bit aligned to my thoughts about learning through failures and retrospectives. Making better developers by forcing them to think. Very good stuff all in all...
Well, those were the topmost things on my mind today. Hopefully I'll have time to come back with new ones as soon as possible.
I'm quite excited about our new agile courses and hopefully people will find their way in them. To help this we have been working with my colleagues to publish articles (few examples at the company website, in Finnish only), create workshops and keep seminar presentations. Latest of these happened during ELKOM 07 fair at Helsinki in last month. It was very nice to see that almost without marketing (from our side at least), we got room full of listeners eager to find out more about agile software development and its suitability to embedded world.
What makes me also enthusiastic is the Agile seminar arranged by Agile finland yesterday evening at Helsinki. Good seminar where all of the speakers gave me something.
Craig Larman presented the Lean ideas and even though these were familiar to me, I at least got a reassurance that there are probably a lot of people who think that Lean has a lot to offer. I feel like Lean thinking plays key role in solving the problems of large-scale offshore projects.
Petri Haapio gave a valuable data how agile development is implemented in Nokia Networks and later in NSN. A lot of few interesting points to share people on courses.
Finally Lasse Koskela guidelines for facilitating change in form of 15 excellent points. Lasse's ideas seem to be a bit aligned to my thoughts about learning through failures and retrospectives. Making better developers by forcing them to think. Very good stuff all in all...
Well, those were the topmost things on my mind today. Hopefully I'll have time to come back with new ones as soon as possible.
Thursday, May 17, 2007
Test-driven Java project moving on
I got a slight push to my own project when I gave a few days advanced course on Java programming. The topics on this course included Swing UI programming, JDBC database connectivity and many other interesting techniques. So during this course I came back to my application adding some user interface and doing this of course test-driven.
The normal JUnit framework wasn't enough for TDDing the UI, so I found JFCUnit that is an extension to JUnit and provides mechanisms for this. Using it is fairly simple and you can get started with quite small amount of effort. The documentation found on the website guides newbies nicely to the world of GUI unit testing.
Well anyways, the first version of the UI has been set up and the application is pretty close to being almost usable. Strange how a nice UI makes the application feel a lot more professional...
The normal JUnit framework wasn't enough for TDDing the UI, so I found JFCUnit that is an extension to JUnit and provides mechanisms for this. Using it is fairly simple and you can get started with quite small amount of effort. The documentation found on the website guides newbies nicely to the world of GUI unit testing.
Well anyways, the first version of the UI has been set up and the application is pretty close to being almost usable. Strange how a nice UI makes the application feel a lot more professional...
Tuesday, October 24, 2006
Why isn't a product called C++ created?
The title of this post refers to my love - hate relationship with C++. C++ is an extremely flexible, effective, useful, widely spread and powerful generic and object-oriented programming language. At the same time it's frustrating, illogical, badly documented and poorly compatible language. The compilers work differently, the standard library isn't a standard, some of the compiler errors result in cryptic error messsages, C++ used in Symbian related projects doesn't even look like C++ etc. C++ was used very much in the 90s, but nowadays you can find it mainly in embedded systems and Linux programs.
I feel that C++ has mainly been forgotten because it was created to be an object-oriented programming language instead of a product. Bjaerne Stroustrup may be good at developing programming languages, but he seems to be bad in commercializing. I started programming with Java and I got used to standard compilers, cross-platfrom compatibility, very good up-to-date documentation and clear syntax. Then I moved to C/C++ world where even using different compiler may result in failure of the build and where standard doesn't mean that compilers could handle it. The C++ that is not clearly documented in any place and even if it is documented, the documentation may not be compatible with your compiler.
This is extremely frustrating when preparing for a C++ course in which we use different programming environments requested by customer. Checking all the answers with the new compiler and verifying that the needed examples work well with it. In case of extremely bad luck, I'm requested to use Visual C++ 6.o as a tool when teaching how to use templates and Standard Template Libraries. Too bad, the compiler in this case has a few bugs and some features won't simply work with this otherways fine (and old) Microsoft product.
Why, even nowadays, aren't all compilers compatible even though C++ has been standardized? I guess there are few reasons: first of all the standardization took long and was ready at 1998 when Java was emerging and C++ was seen as an old technique. The compiler creators didn't want to invest any more money to make it compatible. Also the people using the compilers already available had learned to cope with the problems. Second reason might be that nowadays the usage of C++ is very much limited to embedded systems. These are very often build on older hardware and this usally means that older programming environment is used. And of course this may mean non-standard compilers. Third reason may be just simple lack of skills. C++ standard required things like templates, RTTI and a collection of useful generic algorithms and collections, STL. These are not simple techniques and as an indication of that at least MS Visual Studio 2003 still seems to have some problems with templates.
I'm glad that Sun has resolved this kind of irrelevant problems in advance and they have relased a product called Java. Java is easy to learn, flexible, compatible, well documented and fairly efficient. I guess the developers have enough problems to solve when developing software so the last thing they want is to have problems with programming language or environment. The focus should be on software design, not finding ways to bypass compiler related problems.
I feel that C++ has mainly been forgotten because it was created to be an object-oriented programming language instead of a product. Bjaerne Stroustrup may be good at developing programming languages, but he seems to be bad in commercializing. I started programming with Java and I got used to standard compilers, cross-platfrom compatibility, very good up-to-date documentation and clear syntax. Then I moved to C/C++ world where even using different compiler may result in failure of the build and where standard doesn't mean that compilers could handle it. The C++ that is not clearly documented in any place and even if it is documented, the documentation may not be compatible with your compiler.
This is extremely frustrating when preparing for a C++ course in which we use different programming environments requested by customer. Checking all the answers with the new compiler and verifying that the needed examples work well with it. In case of extremely bad luck, I'm requested to use Visual C++ 6.o as a tool when teaching how to use templates and Standard Template Libraries. Too bad, the compiler in this case has a few bugs and some features won't simply work with this otherways fine (and old) Microsoft product.
Why, even nowadays, aren't all compilers compatible even though C++ has been standardized? I guess there are few reasons: first of all the standardization took long and was ready at 1998 when Java was emerging and C++ was seen as an old technique. The compiler creators didn't want to invest any more money to make it compatible. Also the people using the compilers already available had learned to cope with the problems. Second reason might be that nowadays the usage of C++ is very much limited to embedded systems. These are very often build on older hardware and this usally means that older programming environment is used. And of course this may mean non-standard compilers. Third reason may be just simple lack of skills. C++ standard required things like templates, RTTI and a collection of useful generic algorithms and collections, STL. These are not simple techniques and as an indication of that at least MS Visual Studio 2003 still seems to have some problems with templates.
I'm glad that Sun has resolved this kind of irrelevant problems in advance and they have relased a product called Java. Java is easy to learn, flexible, compatible, well documented and fairly efficient. I guess the developers have enough problems to solve when developing software so the last thing they want is to have problems with programming language or environment. The focus should be on software design, not finding ways to bypass compiler related problems.
Subscribe to:
Posts (Atom)