Ian Bicking: the old part of his blog

Re falcon comment 000

Thanks for your reviewing; I am absolutely pleased you found many things in Falcon "kudos"; for the rest, we'll do something before beta ;-).

Some note about Falcon:

Falcon is not meant to build BIG applications out of it. I.e. this is a clear statement in RUBY (a language capable to do small + large apps), and this is also somehow claimed but never quite attained by Python. The target of Falcon is to be fast enough to be a sensible choice over C for some duty, embeddable and powerfull to do small thing quite well. Also, yes, to be C++.

You know there's no problem in linking C in C++; the other way around is often more hacky, and that's was the reason of my choice. Also, I have proof of the fact that C++ compilers provide better optimizations for quite a lot of things. Finally... the api is more clear, and that's important to me.

A couple of precisations: - About try/catch; actually, what you are going to catch is 99% an Error class or subclass item. The fact is that in 99% of the progrmas I noticed that selecting which kind of error have been raised is just a pain. So, if you really need that, you may easily use the switch statement over the error variable to detect it's error type. Remember that you don't have switch in python... so, having a pre-branch has more sense.

However, this is not a (completely) fixed decision. I may introduce a per-type or per-class catch filter later on, but the catch-all catch statement will stay. Also, the Falcon VM provides unstoppable exception, that may not be handled by scripts; they are not present in Python (i.e. you can block a syntax error if you use a catch-all statement), so a catch-all statement as LESS sense in python...

Falcon is alpha. It may change a lot before beta, but I am currently quite satisfied with it now; I am just making module serialization more clever and much smarter object data access, but for the rest I am really happy with it. For the ppl that was lamenting lack of GUI, I will add an embedded AWT (abstract windowing toolking), something like the Java one but more focused on GTK concepts (that is, intelligent placement instead of fixed one, unless otherwise specified). So we'll have an AWT and many DRIVERS that will provide the AWT with real output.

Bests, Gian.

Comment on Re: Falcon
by Giancarlo Niccolai