Interview with Frédéric 'AlphaSND' Laboureur  

(done by André Beer in September/October 2005)

 

Hello Fred!

 

PureBasic users from the German forum are very interested to learn more about you (private/business) and your "work" PureBasic. I’m therefore pleased that you are ready for an interview J

To have more clarity in the questions and also your answers, I’ve divided up the questions into 3 chapters we are being interested: “the person Frédéric Laboureur”, “PureBasic currently and its history” as well as "The future of PureBasic".

 

(Note to the readers: questions will always be on grey fields, the answers of Frédéric you will find on white fields.)

 

We begin with Frédéric private:

1. How were your vacations, Fred?

Quite good actually, and relaxing which is a must have ;-). May be a bit short, but I think that's the sign of nice holidays.

2. Fred, please tell us a bit more about you in private (age, girl(s), family, pets, …) please.

I'm now 27 year old, live in Paris and have a very supportive girl friend, who has to be very tolerant about the time spent in front on my computer. But hey, that's a bundle and it can't be changed :-). I don't have any pets, and I’m not really interested in having one, there is just not enough space here.

3. Have you ever studied computer science or learned it professionally in a school or have you acquired everything yourself?

I started programming about 2 years before actually entering in a computer science university (for 5 years, having studied database, programming and networking). All begun on the Amiga, because I wanted to know how such good games could be done (all Team17 titles were awesome, pushing the limits back at every new title like Project X, SuperFrog, AlienBreed etc). At this time, BlitzBasic ruled the Amiga programming world, so I started with it :), mainly to program games, and then switching slowly to application programming, in a mix of Basic and assembly.

4. Which programming languages you know/are able to use?

I touched a lot of programming languages, but I daily develop only in C, assembly and of course PureBasic. I also spent a lot of time on Java and C++ in some companies so I feel comfortable with them. What else, I did some PHP for the PB website, a bit a Perl and even patched a ruby script (cvsspam) :). All in all, most languages are similar to C/C++ or Basic so when you know them, diving in new one isn't really difficult.

5. You have given up your job. What have you made exact professionally before? (please tell a bit more than „… programming …“)

I was hired as a programmer in a small company named Baobab which still exists (http://www.baobab.com). My purpose was to help with the Windows API as I had some experience in it (mainly with PB). Unfortunately, the code was very old (from Windows 3.1 days) and it was really hard to catch up and change anything. Also, my former boss was changing the technical specs almost every day so I finally gave up after 2 years and decided to give some time to PureBasic. The product in itself wasn't bad and the idea was good as it was a software similar to Google/MSN Desktop Search. These 2 were announced 6 months after we started the development and against Google and Microsoft, it's a bit hard to fight :).

6. If you don't do "today" anymore what you have done "before", how do you earn now for the maintenance of you/your family? Are you searching for a new job?

My main incomes are now from PureBasic, and I got some extra money still available. I don't have children, so I don't need that much money per month to live. Also, spending its time on a PC isn't expensive :). If the sales of PB go too low, I will probably consider getting a new job, which is logical. It will be almost 1 year than I working at full time on PureBasic and I can't believe the time flied so fast.

7. How long do you work on PureBasic per day? Have you already worked the whole night because of a bug before?? And what does your family say, if you are working so much on PureBasic?

I work something like 10-12 hours on PB per day (except the WE were I take a needed break). I have already spent more than a night on bug. Sometimes, it takes days and days to be solved. Some are really weird when they appear randomly because of a previous memory/stack trashing. Even advanced debuggers can't catch these one and you have to track these manually by removing/adding big code parts and testing again and again. Hopefully, these are rare enough, I only remember half a dozen concerning the PB development.

My family understand quite well than I spent most so much time on PB, but they would be more 'reassured' if I got a more future proof job.

8. Do you program in PureBasic yourself now and then or do you additionally work on a project now, which is written in PureBasic?

I wrote a big application for my brother in PureBasic the last year, but since I didn't do big development in PureBasic. I now concentrate on PureBasic itself, which is very time consuming.

9. What does your nickname ‘AlphaSND’ mean and when/how did you get it?

Well, it's from the university time where you had to choose an 8 letter max login name. As I was doing a lot of computer music (mainly with Protracker on Amiga) I choosed one which a 'sound' in it. So, nothing really exciting here ;-)

10. Which 'Ranking' has PureBasic actually in your life?

A quite high ranking, which is the result of the time put in it. The more time you spend on a software, the more you want it to be cool.

11. If you simply could “program away” a competitor, which one would this be?

I don't really care about the competition, except for a leitmotiv to make PureBasic better.  All other Basic have their strongs and flaws, but my favourite one (probably because of my programming roots) is BlitzBasic. Mark Sibly (main Blitz coder) is a kind of legend to me, as I was quite young when reading press article on BlitzBasic for Amiga.

12. How are you generally set against your “competing products” like BlitzBasic, DarkBasic, IBasic, etc. and their doers behind them?

Very few of them offer real application support with easy understanding of a graphical application development. Also PB is now really cross-platform which is not the case of most of competitor. And next version will raise the bar even more with some cool features.

At the end of the private part: Do you show an (official) picture of yourself to the Community?

Huh, well, ok. Here it is:

 

Please also note the T-Shirt ;). It was offered by a friend at an anniversary. It's about 4 years old though...

PureBasic currently and its history:

13. When did you have the idea of tackling such a project like PureBasic and how do you see the previous development until now?

Back seven year ago. At this time, I was an Amiga freak, and wrote a lot of additional commands (released as free package) for BlitzBasic in 68000 assembly. BlitzBasic was officially stopped for the Amiga since some years, so the idea of doing a new compiler which will be based on all these commands was straight forward, as we hit some BlitzBasic limits and wanted more. Also, new CPU chips were out for the Amiga (PowerPC accelerator cards from Phase V) so it would be cool to have a basic compiler to support them. I started to think about this compiler with Roger Beausoleil, which helped to define the big lines and clarify the concept. We ended up with a basic compiler which was mostly working and which used the all the commands written in a first time for BlitzBasic. The compiler was also designed to support several processors output (at first for PowerPC and 680x0 code generation as you have guessed it), without which I wouldn't have been able to port it on Windows and later on Linux and MacOS X.

About the previous development, I’m now mixed. During the development, I was quite happy of the result, but when I now look back, with the experience acquired in between, it looks a bit messy. I think it can't be avoided, as you learn so much think during the development cycle, than you can't be happy of what you did seven years ago.

14. How did it come to the emergence of the name ‘PureBasic’ actually?

This one is funny. At first, it should have been Phoenix, which wasn't a good idea as it didn't mentioned the word basic so users would never find it (this has been discussed a lot on a mailing list as I liked this one). Then I opted for PowerBasic (because of the PowerPC support) but someone mentioned than such a name was already used in the PC world. Therefore, I wanted something different with 'Basic' in it, so 'Pure' was a good deal, as it would say than PB is easy and without bloated stuffs.

15. What does the “Z” of the PureBasic logo stand for?

For nothing, in fact. I needed an icon for the Windows version of PB, so I took Paint and started messing with that.  BTW, than it's not a Z, it has 3 horizontal lines :-).

16. How many PureBasic users are there in the meantime? We are hundreds, thousand, ten thousand,...?

It's around 5 000 known users for now, which is quite a bit!

17. From how many different countries do all of us come? Which country has the most users? And what is the most exotic country, from which a user come from?

The country with the most of user is Germany, probably due to the in-store distribution of PureBasic. About exotic country, I got some from Brazil, Taiwan ... :). PB has reached a lot of countries, thanks to Internet.

18. Why does PureBasic cost only € 59? Did you want to make programming with BASIC more reasonable for pupils/teenagers/the people in the general? Or did you think, you couldn’t require more money for PureBasic (when the built-in features still weren't as numerous as today)?

I fixed a small price to encourage everyone to have access to a good and easy development tool. Now, it's 59 Euros since the beginning, it will probably change a bit with the v4 release. Also may be an higher price will be requested for companies with more than 3 peoples which wants to use PB as they have more money than small companies and private individuals. The life time update will still remain of course.

19. Which were the reasons to choose OGRE as 3D engine for PureBasic?

Mainly because I like how the main coder (Sinbad) manage its project. It seems to be a good choice, as many games are now using OGRE as primary renderer. Also, the fact it's a specialized engine (only the rendering part is included, no sound, joystick etc.) made the integration easier.

20. Why have you done the work for a new IDE yourself and not fetched jaPBe into the boat, to invest the time for the development of the IDE into bug-fixes and further development of PureBasic?

Early this year, Timo (Fr34k) wanted to give a try to a crossplatform IDE which wasn't possible with JaPBe which was too much API dependent. Also we could design it as we wanted and integrate an internal debugger which eases the debugging a lot. Most of the part of the time has been spent on the debugger. Also 99% of the work has been done by Timo, so I could concentrate on PureBasic (doing the OS X versions of the commands and the compiler core).

21. There are so many good Userlibs for PureBasic. Why aren't these added to the official package although they would have the potential for it?

There are several reasons:
- crossplatform: we need to rewrite all the supported libs for all other OSes.
- maintenance: we will have to fix all the bugs found in these libs as it will be official, and we just don't have the time to do that
- doc: we will have to document all that properly, in 3 languages :)

22. Fred - you are actually well-known that you usually react very fast to user requests, bug reports etc. But there are also features, which obviously are quite useful (e.g. doubles, etc.) and are partly also already weekly discussed and wished for 2-3 years now, but still not implemented until now. What are the reasons for this?

The reason is it needed a major rethink of the compiler and I didn't have the time during the last 2 years when I was working with a daily job. When you do such change, you have to do it right, as it affect most of the commands, which mean almost 800 commands for 3 platforms. I now have the time, so it will come.

23. Do you still work on the AMiGA version or does this part of the project belong to the past? If a further development happens, will there be any updates in foreseeable future? If yes, will there be a PPC version or only an extended 68k version?

I still compile the current compiler on AmigaOS to see if it still work, and it does. Also Doobrey worked a lot on 680x0 libraries to enhance them and add many new functions, so it should have a new release for the classic Amiga, but I don't know when, we need to synchronize and test/package all that. There is no PPC version planned for now, but the 680x0 should be able to run on OS 4 which isn't the case of the current version.

24. Are you satisfied (technical seen, not temporal) with your product(s) and the development at all or would you make things differently from today? E.g. at the IDE? At the PureBasic compiler itself?

For the forthcoming version, I’m quite happy of the result. If I had the chance to start from scratch with my current knowledge, the compiler will be probably a bit more optimised, but I think it should be possible to catch-up in a foreseeable future. About the IDE, I think it's a very good one now. The previous one was just too features limited.

25. Do you ALWAYS enjoy developing PureBasic, or you are also bored or frustrated sometimes when you are at the work?

I don't always enjoy the development of PureBasic. For example, I’m now converting all the commands to use the new string manager and it takes a lot of time. It's not interesting but it needs to be done. Also, when you write the same command (for example OpenWindow()) for 4 OSes, it starts to be a bit boring. Hopefully, there is some brighter moment, basically when writing new commands or messing with the compiler :)

26. Have you ever thought to stop the work on PureBasic? And if yes, why?

No.

The future of PureBasic

Questions on the upcoming version 4:

27. In which areas will something happen with the new version? Graphic, 3D, etc.?

The new version is mostly a big rewrite of the PB internals to have a cleaner base to develop on. This means all the long pending flaws we have seen above. Once this is done, it's fast to enhance the command set with new commands.

28. How does it look with further variable types? Unicode, Doubles, Boolean, etc.

Yes, there will be new basic types, but I can't tell for now, it's still in development. Expect doubles, Unicode and more for sure :)

29. Will the support of OOP in PureBasic be further extended/improved? Or will PureBasic be orientated rather at the procedural BASIC also in the future?

No. It will stay a procedural BASIC, I don't plan to add class and such I think it will split the PB world in 2 classes (!): the one which have understood fully how OOP work and other which don't. Which means than you couldn't share source codes easily anymore at one place. Procedural and Object Oriented Programming are two opposite concepts and it's not a good idea to mix them in a BASIC language (which is intended for beginners...)

30. What are the most important changes or improvements for yourself, which the new version 4 of PureBasic shall contain?

- Unlimited strings
- Doubles
- Thread safety of the whole command set (including strings)

31. Will there happen more syntax changes, a new linker or similar, which are inevitable for new versions or for better compatibility to the general BASIC standard, however existing codes aren't further usable (without manual changes)? E.g. like as you have made it with AllocateMemory() with the rearrangement of ID numbers to Handles, or like the introducing of the PellesC linker.

Yes. The v4 will not be compatible with the previous sources codes. That means than you will have to continue to use v3.9x for big programs maintenance (it will still be available on download). This has been unavoidable to make all thread safe and more consistent. The commands itself won't dramatically changes, but the programs will have to be adapted.

Generally questions about the future of PureBasic:

32. Do you have already plans to upgrade PureBasic for the 64bit OS? How do you assess the support of the manufacturers of the operating systems for it?

Yes, I have plans for it. I think the sooner the better as the x86-64 seems to be the logical future of the PC line. For now only Windows XP 64 bits allows 64 Bits, which is a bit limitated, but it should change with Vista. Of course Linux supports x86-64 so it shouldn't be a problem to make PB run on it.

33. Will PureBasic also be 100% .NET capable in foreseeable future?

I don't think, unless Vista forces it.

34. When does Cross-Platform Compiling finally come, for which we wait so much?

The IDE and the Debugger is already cross platform. For 100% (perfect) cross platform support, I don't know, there is always a little things missing. But it should be better and better as the hardest has been done for now.

35. There are currently PureBasic versions for Windows, Linux, MacOS and AmigaOS platforms. Are also further platforms planned in future? E.g. something for the mobile world? (e.g. for mobile telephones and PDA)

Not yet. It's already really time consuming to deal with these versions.

36. Do you think you can always keep the free updates for PureBasic? Or will there be sometime a single update with costs again?

For now I will keep the life time update system. I think it's a better way than asking for money at every new version. Time will tell.

37. How can one taken up into the PureBasic team, to take part in developing libraries and compiler? Here in the forum some people would be capable enough and would have desire for sure.

Well, developing using the PB source code tree is a matter of trust, as if there is a leak for some reasons, it can be really painful (I now depend of it). If it's only for a lib in particular, we can still get an arrangement, without problem.

38. How do you see the future of PureBasic yourself, i.e. short-term (2005/2006), medium-term (within 2-3 years) and long-term (5-10 years)?

Short-term: release the v4 for Windows, probably before the end of the year. Then doing the v4 version for Linux and OS X.

Medium-term: add 64 bits support, more libraries and more compiler optimisation

long-term: too long :).

39. Will there be any time when PureBasic isn’t developed anymore?

No. If I decide to stop the development for any reasons, I will ensure than PureBasic will continue to live, either by making it Open Source or asking for a voluntary team to take up the development.

40. What does happen if suddenly would happen to you (what we don't hope for sure)? Will there be anybody who represents you?

Well, there are some directives here to at least release the whole sources.

41. Have you ever made thoughts about the introduction of quality management before?

No.

42. Will PureBasic become standardized sometime? This wants to be called, comply with the programming standard?

I don't think. PureBasic is different and will stay different. Now, it will adopt the standards for sure (like Unicode etc.).

43. Do you plan, to further improve PureBasic to an absolutely professionally usable BASIC language and to create an appropriate environment for you, like:

- Foundation of a joint-stock company (GmbH etc.)
- additional developers
- professional test team
- Marketing (fair participations, PureBasic Congress, free licenses for schools etc.)
- Money application by sponsoring and participations, application for EU-promoting money

To be honest, I’m a programmer and doing all this is far beyond of what I’m able to do commercially. I don't have the necessary money to hire some developers and testing team, but I think the marketing could be done much better. I will try to investigate some way to let PureBasic be known at larger level.

44. If a large company would be interested in PureBasic, then would you sell PureBasic? Would you then retire with that or nevertheless still want to participate in developing PureBasic and deciding about its future?

If it's an enormous amount of money, I will think about it ;-). I would like to continue working on it and decide what to do yes...

45. Will the IDE and the Visual Designer ever be published as Open source?

No, for some reasons.

Frédéric, thanks a lot for answering our questions!

Would you like to make final statement to the users of PureBasic and interested people?

I would like to thank you all the PureBasic users without who I wouldn't have continue the development, and all the long time coders who are still using PureBasic! Also a special word to thank:
- Timo (Fr34k), he has helped and still help a lot in core PureBasic design and development (IDE, Debugger, libraries... he is everywhere :-).
- André who is around since the very beginning and do an awesome work with purearea.net and the German docs
- Berikco, for the cool VD (which needs to be enhanced, right ;-)
- All the people who have helped during the PB development

Many thanks for the interview and furthermore much success with PureBasic!

© October 2005 by PureArea.net - All rights reserved.