17 July 2008

What's going on with Apple's apps and Vista?

I noticed it quite by random, but it really bugs me. Apple should know better, and they should be able to synchronize their teams better, even if I am sure that they consider working on windows quite a punishment. So here we go with a picture:



Why does Safari looks that horrible, while iTunes looks that nice? I like to know. It does show that nobody is untouchable and good UI is an eternal vigilance. A consistent look is really needed and this ain't it.

(oh btw, that is, from top to bottom, Vista, iTunes, and Safari)

13 July 2008

More about C++ and programming

What is this? Yet another post? This quickly after the last one? Most people surely most have *completely* missed that I have posted something anyways :) Well, bad bad jokes aside. I remember one more major thing that bothers me about C++ and other languages. I think that it might be related to static vs. dynamic, but I'll leave *that* discussion for later. Here it comes, hold on to your hats ladies and gentlemen...

Change.

Yeah, it is that simple. C++ hates change, it breaks and creeks and the architecture gets stale and bad bad bad things happen. It is really closely related to the last post, because it is about fighting the language. The problem of the problem is that almost always you loose. Refactoring turns into a nightmare. Most often because of management (The Management, a.k.a. the root of all failures), second most often because of the language, and only a few brave and lucky make it in the end.

A language should be ready to be the instrument of molding your solution into whatever it needs to become, an ever changing dance between new problem and new solution.

I am looking at Obj-C, Python, Lisp, etc because of exactly that. We'll see where my journey takes me :)

12 July 2008

What makes C++ wrong?

So, what is it, in my humble opinion, that makes C++ wrong then? It is not something specific in the language, even if I am sure one can discuss particulars for days on end:) It's all quite simple, when you step back a few steps and look at what happens when you develop in C++ one can notice that there are two different activities. Solving the problem at hand, and fighting with the language. The first one is vital to any programming, it's the very point of it after all. It's what you should spend time on, and that is what makes it all worthwhile.

So what is that second thing? Fighting the language? That is everything you do that doesn't really solve your problem, but rather the language getting in your way. It's stuff like compatibility issues, low level technicalities, compiler peculiarities, refactoring woes, and the list goes on. I am sure that most C++ developers could collectively make it a huge and comprehensive list. I won't, I will leave that up to you dear reader:)

So the problem with C++ is that I am fighting it more than I am solving my problems. I am sure all languages involves some fighting, the question is how much. I will leave the subject prematurely without any proper analysis or similar, because I want you, the poor sod who decided to read my blog, to think about this yourself and form your own opinion.

Myself I am happily going to discover how much fighting I will have to do with Obj-C, Python, Lisp, etc. I am happy that I do know C++ though, because it has made me a battle hardened veteran in the legions of the Code Marines. I feel confident that I can be victorious in any future battle now. I fought the battle of the valley of C++ and I survived!