Every control structure in C++ is equivalent to either a goto or jnz plus some syntactic sugar.
This is almost true, but I see one important exception: the exception machinery in C++ (that is the compilation of throw and catch C++ statements) is not exactly a goto (and neither is longjmp in C). And of course, any (method or function) call and return is not exactly a goto neither. Exceptions,calls and returns also change the stack pointer.
I would also notice that computed goto (i.e. the goto *p; GNU extension of C) is compiled as an indirect jump.
A more interesting concept is continuation Regards
If IBM had used a 32 bit processor then Microsoft would likely have failed.
But that would have made a better world... Microsoft succeeded not on technical grounds, but because of good lawyers.
I was suggesting a real operating system and that would have meant something better than QDOS (ie the first MSDOS).
I believe the biggest mistake was IBM using an Intel8088, instead of a Motorola68000.
Imagine for a moment what would have happened if IBM choose in the early 1980s a 32 bits processor for the first successful Personal Computer!
What is scary (or at least very sad) today is that very probably no manager would let a few brilliant programmers to develop their own system during a couple of years: in academia, publishing is much more important that working on a big software system, and in industrial R&D, one could no more work for a couple of years on a brand new software.
Current managers would look with scare at their spreadsheet and would not let that kind of things happen anymore in 2009, and I still think it is really a pity, and we could get some really innovative systems if R&D was managed differently today.
J.Pitrat does know (as I do) Godel's theorem, and did wrote some interesting pages on the relation between Godel's theorem and his view of AI.
J.Pitrat also explains how his CAIA system is in practice able to detect most of the looping situations, when it is stuck.
Regards.
If I understood correctly, the Slashdot editor is probably Bob Roberts.
He explained me that Amazon is a partner, and that he had to link to their site. I do understand that (obviously, Slashdot have some business model).
I still think the biggest mistake is at Amazon. I suggested Bob to double check the link in further submission.
I do hope that, even we that mistake, some people would read J.Pitrat's book. I really think it has interesting and provocative ideas (especially about AI and software).
Regards.
But more than two months ago (before the book was available), Amazon had the wrong title in its database, and sadly did not change its title.
The review I have submitted also did have the correct link also to ISTE publisher - who collaborate with Wiley.
For reference, Google did cache my submission here
Apparently the nice guy who approved my submission changed the URL to what Amazon incorrectly kept, probably because Amazon is the more usual book seller.
Neither he nor me can be blamed of the errors in Amazon's database.
Regards
The French public sector (much bigger in proportion than the US one) did contribute significantly to opensource software (for example, the first linux thread library and Ocaml has both been written by a French public sector researcher, Xavier Leroy, and you'll find thousands of other cases, like Frama-C.).
Also, French government did issue several contracts (outside of Gendarmerie) to support opensource software, and did pay development of significant applications. My perception is that the French government is supportive to open-source.
At last, French private sector is increasingly contributing to opensource projects (for example Penjili at EADS or Airbus).
Unfortunately, several French government sites are using proprieray (non-standard) technologies (like Flash at Assemblée Nationale - the lower Parlement Chamber).
The French non-profit APRIL association is quite powerful at lobbying for free software.
First, a small precision: The Gendarmerie Nationale is not exactly the French national police (called Police Nationale in French), but an armed force (the fourth french armed force, after infantery Armée de Terre, navy = Marine Nationale, air force = Armée de l'Air). The small difference between Gendarmerie & Police is that Gendarmerie members are exactly soldiers (with strict military discipline).
In practice, Gendarmerie tend to work in rural or semi-rural areas, while Police tend to work in urban zones (actually, there exist some kind of competition between Gendarmerie and Police, which gives interesting french thriller films and books) And they have different legal abilities. For example, in some limited cases, a Gendarme can legally shoot his gun first, while in principle a Policier (policeman) can use his gun (policemen and gendarmes are armed with guns) only for self defense (but IANAL so I may be wrong).
Gendarmerie is centralized and military, so it was easy to order them to switch at once to Linux [no training needed; just an official order from a high-rank official]. And I hear their IT department was strong enough to customize (without subcontractors) some Ubuntu distribution to the exact needs of Gendarmerie (which includes access to some peculiar databases). This could be an explanation of why Gendarmerie did not need any support from Mandriva.
But Mandriva still has several French state contracts, including even research contracts on collaborative projects.
Disclaimer: I do work sometimes with Mandriva on collaborative research projects (such as GGCC).
"If it ain't broke, don't fix it." - Bert Lantz