The most concrete compliment, of course, is money. Once I have some again, you can be quite sure I will be donating via the donate link in the registered users area, as I hope you will too. I want PB development to go on and on for quite some time.
In the meantime, here is my list of anticomplaints. Not as solid as money, but the best I can do for the moment:
PB has high level, cross-platform coding
- I admit I don't use that part much, but I still consider it to be a great thing to have available in a language; even the hardest of hard-core bare metal programmers appreciates the ability to bang out a prototype quickly, or knock out a utility that compiles and works - correctly - on different hardware.
PB has low level coding
- I am a control freak. I admit it. I like languages that let me indulge that. I like them a *lot*.
PB has that unique structure access notation
- I disliked it at first, but it grew on me; I rather like the visual analogy to folder levels now.
Speaking of notation quirks, PB has several more
- And, amazingly enough, they all work well. Often a language that strikes out in a different direction with notation ends up discovering the hard way that 'different' is not the same as 'good'. Nevertheless, PB's differences from the norm seem to work just fine (I'm talking about the stuff like var+1 instead of var++, define var.type instead of type varname, etc). Like the structure access slash, they've grown on me to the point that I tend to prefer them. var + 1, for instance, stands out more to my old eyes than var++, yet is still easier to type than var = var + 1 or even var += 1.
PB has a tremendous amount of the MSWin API stuff automatically included
- Very, very nice, very handy.
PB switches between ANSI and Unicode development easily
- seriously, that's one of the things that originally won me over; using the same source for both devs without those damned endless TEXT() macro approaches
PB makes tiny executables
- I'm showing my age with this one. I know exe size doesn't really matter anymore, what with large hard drives and fast access times, but...but...I still recall creating programs in 16 bit assembly language. Tiny programs, with .com extensions. It greatly pleases some craftsman-like part of my soul to see my PureBasic compiler kick out a functioning, non-trivial program that only takes up a few kilobytes of space.
PB is flash-drive portable
- HUGE selling point with me. I despise being tied to a hard drive installation.
PB has goto!
- It is rare for goto to be a good choice, but there are times when it is truly the better, cleaner choice. Nice to see a modern language that acknowledges its - occasional - usefulness.
PB is a one time purchase with free upgrades
- okay, I'm starting to sound like an advertisement with this one, but who can argue with it? It really is a very good thing and a fairly uncommon one at that.
PB handles default pass-by-reference wonderfully
- Passing strings and structures by reference often requires an address-of operator in other languages. PB removes a tedious chore by not requiring explicit reference operators in situations that are obviously pass-by-reference.
PB is fun to play with
- Hard to get specific about this one; you either feel it or you don't. I do.
I guess I'll stop here. Congratulations to Frédéric and the rest of the team; you've done a great job. Very Happy