Saturday 3 September 2011

Preliminary devenv choice

The infinite blessings of C# and Java aside, I've for a while considered using mainly (mostly) C++/wxWidgets. The reasons are that

  1. the combination presumably taxes the computer running the programs much less, and
  2. that I, as a developer, have a freer choice of perusing whatever API I need for the application,
  3. and at I at the same time am in full control of the memory allocation (garbage collection is not a good idea).

Garbage collection has been praised for years as a way to improve the program, make it easier to develop it, and to make a better, more glorious and generally überphantastique program that gleams like gold in the distance (the irrational emotional aspect of programming religions). In immediate contact with these überphantastique programs, the "gold" is revealed to be a cracked surface of shallow paint: Android the überphantastique operating system for übertelephones deLuxe professional, very much unprofessionally freezes (!) for minutes, while the somewhat not so boasted JavaScript engine in Mozilla by function eats up memory till it is full: it is some kind of least effort, most sloppiness garbage collection scheme. A worse case is google-viral-chrome that goddamn boasts about having an ultraüberführer fast stop-the-world garbage collector. This is criminally insane, like boasting about cleaning the city streets by blasting away all parked cars, and sweeping away the scrap in minutes!

Java is pretty good for producing executives that are portable. C# is not good for that, since it is quasi-strictly Windows-only. (Allegedly it's better than Java, but that matters naught if it's not portable). The problem with Java is it's virtual machine bloat: you don't need all of it, usually, and it eats your resources. Garbage collection is a bad thing, but one can choose garbage collector by using some runtime call; one might also write code to avoid it. Still it's overkill and not quite as portable as generally believed.

One disadvantage with my choice of C++/wxWidgets is that C++ have access only to the Boehm Conservative Collector, and I don't know its behavior. The second point is that wxWidgets provides 16 bits Unicode when I use 32 bits Unicode. Maybe it's rehackable, but I'm not sure.

No comments: