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...
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 java. Show all posts
Showing posts with label java. Show all posts
Thursday, May 17, 2007
Monday, April 02, 2007
Agile way
I've just started a new project for automatic generation of article reference list website. As I've been reading, studying and teaching agile methods for a while already, I felt that I should try some practices in my own project too. So I started doing this Java application in test-driven way and I also created my own build server for continuous integration. The first impression on TDD is great: The software is building up almost by itself, refactoring is easy, Test & Profiling Tools Platform is smashing and everything works nice.
However the next step on the model is to create some kind of view. UI development in Java is not my strongest side and I guess test-driving that is not so easy. If someone knows how to do this, please drop me with a comment or an e-mail.
Well, I'll report on the progress of the project later on and we'll see if I'm able to get it out with some open source license. But before that, it should have some more functionalities and a clear direction where it should be developed to.
P.S. The Agile forums is a place to be in case you have questions about agility.
However the next step on the model is to create some kind of view. UI development in Java is not my strongest side and I guess test-driving that is not so easy. If someone knows how to do this, please drop me with a comment or an e-mail.
Well, I'll report on the progress of the project later on and we'll see if I'm able to get it out with some open source license. But before that, it should have some more functionalities and a clear direction where it should be developed to.
P.S. The Agile forums is a place to be in case you have questions about agility.
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)