When you are on your own, coding away for fun or some weekend project, you can dive into bleeding edge technology, using alpha/beta software like crazy and get away with it. Why you ask? Because it's fun and you'll get a better developer.
Using unstable software is hard
Software which is currently in development has it's flaws. Some are obvious (like a missing feature) and some are well hidden (like the nasty little bugs you'll encounter). Prepare yourself to fill bug reports and fix bugs yourself because you won't be able to wait for bugfixes by the core developers if you want to move on with your project. You must be prepared to lose some time you could have saved using the latest stable release.Here's an example of jQuery: As soon as jQuery 1.8.0pre was released, I replaced the latest jQuery stable, just to encounter that my symfony assetic:dump command would not work anymore. 1 hour later I was able to extract the code which caused the problem and do a bug report. I had to first see what exactly was causing the bug (it was the yui compressor) and then get it to give me some clue about the problem. I then dived into the jQuery code to see what was causing the problem. Turns out that yui compressor thinks "throws" is a reserved keyword while it is not. So when jQuery is using throws as a variable, it works in your browser but will crash yui compressor.
Diving into the code
The above is something I really like about using software which is not stable yet. You have to dive into the code because either there is a bug or the documentation does not help. And you learn a lot while doing this. You learn about the language in question, about the software itself and about how other people solve particular problems.Don't fall off the cliff
There are a few pitfalls one should be aware of:- If you don't want to lose time, don't do it
- If you are pretty new to the software in question, you'll lose even more time (mosty because beside learning about the new system you have to work around the bugs and flaws)
- If it's closed source, you may end up with a broken system you cannot fix on your own
Keine Kommentare:
Kommentar veröffentlichen