What to do about a lack of developers for the compiler?

General discussion for topics related to the FreeBASIC project or its community.
Post Reply
Imortis
Moderator
Posts: 1923
Joined: Jun 02, 2005 15:10
Location: USA
Contact:

What to do about a lack of developers for the compiler?

Post by Imortis »

I have been reading a thread from the Beginners forum here:
http://www.freebasic.net/forum/viewtopi ... =2&t=25822

It quickly went off track from the original topic to one talking about how the compiler has stagnated,and some saying the C back-end was part of the problem. I don't know how I feel about that theory (both for and against make reasonable points).

But it did get me thinking: Where are we going from here? I have dabbled in the compiler's source a few times, but it is far too complex for me to just jump in and make changes. Too many things rely on too many other things. I understand that this is common for something as complicated as a compiler, but with no one around who already understands the workings of the beast, it is going to be real difficult to new developers on board.

My questions are as follows:
  1. How do we move forward?
  2. Has the design philosophy of freeBASIC changed?
  3. Are we willing/able to put in the effort to learn the current code so we can change it and if so, how do we even get started?
I am not trying to be apocalyptic here, but I think we, as a community (if you call us that), need to come up with some answers to these questions.

I really want to hear from everyone on this. The more voices the better.
speedfixer
Posts: 606
Joined: Nov 28, 2012 1:27
Location: CA, USA moving to WA, USA
Contact:

Re: What to do about a lack of developers for the compiler?

Post by speedfixer »

I absolutely agree that the questions asked that need to be answered.

I disagree with anyone's opinion that the FB compiler environment has stagnated.
Several people have some not small projects working that will further support the FreeBASIC community. A few others have projects that are very material to their personal success. Some are clearly working on very specultive projects that could be, if not ground breaking, at least excellent displays of the power and flexibility of FB.

I would add the questions:

What are the deficiencies of FB that could be improved?
What do people WANT in this programming language?

(And please - I am not asking everyone to shout the loudest with their opinions here.)

I think it is far too early to suggest that FB is at a standstill. Every innovation ever seen did not grow simply at a linear rate.
There are always bumps and jumps, starts and stops, even periods, dead periods.

dkl had been unique in that he brought several things to FB at the same time, in one person:

Clearly, with the work that he did, he had passion - this is a hard thing to 'make' - you have it or you don't - and sometimes you lose it
He had programming ability - natural, learned, or tough discipline - but needed to keep things 'clean'
He was able to be politic enough to NOT offend anyone enough so that other talented people stayed with FB
he was organized enough to keep focus: removing bugs, adding needed features, responding to loud voices to avoid disruption

If he is now unavailable, as a GROUP, we must move on.

We do not need ONE person to fill these roles. Every organization eventually grows large enough to need seperated leaders/managers of these different tasks. When they stay with only that one person - THEN it is stagnated.

Be patient.

BUT

be persistent
For each person with his or her own talent:

stick around
add your opinion, at least
add your talent even if you feel you are not worthy: the community can decide to include or exclude your addition

Even tiny little improvements are a step forward, and the little steps are not always in code added to the compiler.


David
fxm
Moderator
Posts: 12081
Joined: Apr 22, 2009 12:46
Location: Paris suburbs, FRANCE

Re: What to do about a lack of developers for the compiler?

Post by fxm »

Regarding my own ability to participate in the development of FB compiler, I already answered this a little more than 4 years ago:
fxm wrote:There is a deep gap between to master the keywords/structures and to contribute to the development of a compiler!
I do not have the required knowledge of system for that. I never had any computer training and I am rather a self-taught.
So inside the FreeBasic community, I am limited to participate in the only tasks that my abilities allow (tutor, referent, helper, tester, documenter, ...).
My opinion has not changed since.
At 66, I would even say "place to youth"!
speedfixer
Posts: 606
Joined: Nov 28, 2012 1:27
Location: CA, USA moving to WA, USA
Contact:

Re: What to do about a lack of developers for the compiler?

Post by speedfixer »

Excellent example of what FB needs:

parts that make up the whole

I am in a similar position as fxm: self-taught, old(65), new to FB.

(However, I would challenge that you (fxm) do not know the language of FB: you have been the best at keeping syntax, docs, continuity superior in your reviews of changes and suggestions.)

fxm can be one part of the whole; others can fulfill other roles.

He (fxm) may not desire or feel qualified at making changes to FB, but I'm sure dkl had to learn, also.

Clearly, there have many excellent programmers pass through these forums - pro or not. A few clearly went from here to becoming a pro (where is anonymous1337 when you need him? Oh, yeah, he went and got a life. Maybe that is what happened to dkl.)

That doesn't mean you/anyone can't make an effort.

If you look at the innovators today, and in history, they were innovators many times because they were NOT trained in the profession. Linus Torvalds may have been a programming student, but he certainly was not a pro, and not even close to graduation. But he had a different idea, and just kept working to make it happen. That how most systems get refined and taken to the next level.

So - anyone - just try.
We (the community) will review a possible change.
The code is available and free to play with as you choose. If it works for you, ask the forum members if the change should be included.

No one should say: I should not because ...
No one will tell you: you can't - except yourself.
BasicCoder2
Posts: 3906
Joined: Jan 01, 2009 7:03
Location: Australia

Re: What to do about a lack of developers for the compiler?

Post by BasicCoder2 »

Imortis wrote: Where are we going from here?
I am happy with the compiler as it is particularly as I rarely use anything but the most basic commands.

My impression is that FreeBASIC has the same power as C and some of the OOP powers of C++? Although it does have innate graphic statements they are not even needed instead it could, like C, just include a graphics library as long as it had those .bi files to use it?? I consider it an expansion when those with the ability provide those .bi files to use such libraries along with working examples of how to use the library. It was the .bi file that allowed me to use escapi.dll that converted me from C to FreeBasic many many years ago.

Just how big is the FreeBasic community really? You need the data to know that. Take out the few who have posted here and the community doesn't seem to have all that many active members.
.
Imortis
Moderator
Posts: 1923
Joined: Jun 02, 2005 15:10
Location: USA
Contact:

Re: What to do about a lack of developers for the compiler?

Post by Imortis »

BasicCoder2 wrote:Just how big is the FreeBasic community really? You need the data to know that. Take out the few who have posted here and the community doesn't seem to have all that many active members.
The German freeBASIC site used to be rather active. Plus there are lots of people using freeBASIC for scientific modeling. A number of years ago, I saw an article about that. Don't know if it is still true. There are (or at least used to be) many more users than we see here in the forums.
BasicCoder2
Posts: 3906
Joined: Jan 01, 2009 7:03
Location: Australia

Re: What to do about a lack of developers for the compiler?

Post by BasicCoder2 »

Imortis wrote:Plus there are lots of people using freeBASIC for scientific modeling. A number of years ago, I saw an article about that. Don't know if it is still true.
So we need to know if it is still true. No point thinking about further development for FB if very few people actually use it.

Is there any way to do a FreeBasic user survey that would give the number of users, their skill level and what they use FreeBASIC for?

.
caseih
Posts: 2157
Joined: Feb 26, 2007 5:32

Re: What to do about a lack of developers for the compiler?

Post by caseih »

I get the feeling FB has always been more popular in Europe than in North America.

When it comes to scientific computing, a lot of that is done with Matlab, Labview, and similar packages (all of which are interpreted, by the way). I know that the SciPy project (a special distribution of Python with lots of math packages) is gaining traction and popularity just about everywhere. And when you combine it with the in-browser Jupyter Notebook system, it's extremely versatile for the kinds of work scientists want to do with it. So I guess my point is, for scientific computing, I think Python is edging out the competition. Given the versatility of Python or Matlab, I'm hard pressed to see what FB has to offer.

For super computer stuff (modelling using lots of parallel processing), believe it or not, C still reigns supreme, along with various message-passing libraries. But that has to do with the nature of super computing.

None of this is to say that FB doesn't have a purpose. It's just that FB is always going to remain a niche language. Therefore I'm not sure it matters what others might want in FB. The only thing that matters is what *you* want in FB, not what hypothetical new or novice users might want.
sean_vn
Posts: 283
Joined: Aug 06, 2012 8:26

Re: What to do about a lack of developers for the compiler?

Post by sean_vn »

If you wanted to make an effort designing a Basic then this site might help: http://hackingoff.com/
Realistically (unless you had a lot of time on your hands) it would have to be a minimal Basic.
My thinking is to restrict primitive types to 64 bit signed int, 32 bit float,64 bit float,strings and pointers. Maybe use simple2D for the graphics.
https://github.com/simple2d/simple2d
Allowing a goto statement avoids having to include many types of break, continue type keywords.
St_W
Posts: 1619
Joined: Feb 11, 2009 14:24
Location: Austria
Contact:

Re: What to do about a lack of developers for the compiler?

Post by St_W »

Imortis wrote:The German freeBASIC site used to be rather active.
"used to be" describes the situation quite well - the number of active users has continuously decreased during the last years. However I agree that there are users that aren't registered or active on the forums here - it's hard to estimate how many those could be.

IMHO a big problem for the future if FB is the missing shared vision where FB should go. Currently there are a lot of different opinions and ideas among the people here that are contradicting (for example going back to the coding style and methods of the 1960s and 70s as sean_vn suggested would be a no-go for me). Keeping compatibility with existing code also prevents fixing some design errors (for example the inconsistent naming of the basic data types, which cannot be changed without breaking nearly all existing code).

Another big problem is the lack of people that actually can change things in terms of having access rights to do so. This affects both the website and forums as well as the code repository. Basically counting_pine is the only person that can do so and is still active since dkl left. All the other moderators or administrators are inactive - most of them even since several years. And even counting_pine is only more or less active, although it seems to have become a little bit better in the last months (IMHO). I would suggest to select at least one new moderator/administrator to fill in for dkl and other past admins who left to reach a state in that admins are a bit less unresponsive and actively take part in discussions on the forums. My vote would e.g. go to fxm (provided that he wanted to do that). Maybe we could do a poll? But of course an existing admin is required first to decide and improve the current situation.
jcfuller
Posts: 325
Joined: Sep 03, 2007 18:40

Re: What to do about a lack of developers for the compiler?

Post by jcfuller »

Personnaly I beleive the development of the FreeBasic compiler has come to an end.
Actually the 64bit is a translator not a compiler. It takes basic syntax and translates it to "c" and then compiles it with gcc and links with ld.
Gee I wonder where I heard that before? :)
Seriously, dkl did a masterful job (even though I do not like the 64bit basic data types). Yes I know he had his reasons but it is the only 64bit programming language on Windows where a long is 64 bits.

I believe the majority of users here are Linux oriented. My interest in Linux died several years ago.
If I am wrong why is there such little interest in Josep Roca's work?
Josep revived my interest in FreeBasic but as I watched all the work-arounds needed to implement various items (because Fb lacked some intrinsic data types), I asked and was granted permission to port his code.

James
Carlos Herrera
Posts: 82
Joined: Nov 28, 2011 13:29
Location: Dictatorship

Re: What to do about a lack of developers for the compiler?

Post by Carlos Herrera »

Imortis wrote: Plus there are lots of people using freeBASIC for scientific modeling...
I am an experimental physicist and I use FB for almost everything, from data acquisition to modelling and numerical calculations. I had used Matlab, LabView etc., however, it turned out that I am much more productive with FreeBasic, probably because of my age (62). Maybe the compiler itself should be frozen (like TeX) and future development should concentrate on the elimination of bugs and errors? In the meantime, the new features can be added by officially supported and documented external libraries - something like Octave Forge. For example, Intel Math Kernel Library for FreeBasic? It comes with NumPy for no cost, so probably it is possible...

Many thanks to dkl and other FB developers,
Carlos
Dinosaur
Posts: 1478
Joined: Jul 24, 2005 1:13
Location: Hervey Bay (.au)

Re: What to do about a lack of developers for the compiler?

Post by Dinosaur »

Hi All

Normally don't get involved in these questions, as they usually end up with lots of opinions, and then he who shouts loudest gets heard.

Imortis asked these questions.

Code: Select all

My questions are as follows:

    How do we move forward?
    Has the design philosophy of freeBASIC changed?
    Are we willing/able to put in the effort to learn the current code so we can change it and if so, how do we even get started?
It is to do what any company looking for direction would do, and that is to do the research.
That research for the FB community would be a survey form where we simply tick our answers:
Start a thread where those interested can suggest questions to be part of this survey.

1.How many active users there are will be answered by the response.(no guesswork here)
2.Tabulate the users by their area of application. (Hobby , Games, Scientific, Robotics, Machine control etc, etc)
3.Poll those users with a well thought out questionnaire as to their usage of current features.
4. Ditto for their wish list.
5.How to attract newcomers, and what is required to interest them.
6.On what platforms are they using FB.
7.What platforms is FB lacking in and is there interest to move there.
8.Do they use FB in their line of work.
Questions that will require a lot of thought as to how to phrase, so as to solicit meaningful statistics.

This will result in a broad picture of the existing user base and their opinions. (without having to read through hundreds of posts)

It is only then you can decide which direction to go in, or even if the number interested in moving forward warrants the efforts of people like dkl.
The design philosophy is really only dictated by "those who shout loudest" and not by a clear picture of the needs of users or potential users.
A lot of us simply don't feel confident enough to participate in these heady discussions, but will tick a survey to make their feelings known.
Then if there is shown to be a significant push for certain features , only then will you have to worry about participants.

Personally I am a simple user of the language, but create complex machine control with it, and thus am happy with the status quo .

Regards
caseih
Posts: 2157
Joined: Feb 26, 2007 5:32

Re: What to do about a lack of developers for the compiler?

Post by caseih »

jcfuller wrote:Actually the 64bit is a translator not a compiler. It takes basic syntax and translates it to "c" and then compiles it with gcc and links with ld.
I see where you're going, but really that is incorrect by any definition of compiler that I'm aware of. By your definition, any compiler is just a translator because it translates instructions from one abstract machine to another, and I suppose from that point of view you're right, except that that describes all compilers. Right now one of the most popular targets for compilers of all sorts of stripes is Javascript of all things, with asm.js looking like the most likely target. I'd argue these are all still very much compilers. In fact I'd be surprised if FB can generate the C code in one pass. It still has to make a symbol table and an abstract syntax tree before walking that tree and emitting C code, much like it would do when emitting ASM. In fact the process is identical. It's a lot more than just a simple search and replacing of FB keywords with C keywords or function calls.

If you're arguing that a C backend gets you all kinds of optimizations without actually having to implement them in the FB compiler, then you are correct, so long as the C code isn't too obscured. The C intermediate code is just barely human readable, I can tell you that.

Similar advantages could come from targetting the LLVM intermediate representation language, and then letting it do its normal suite of optimizations on that IR as it emits machine code. Marcov complained on the other thread that neither the ASM or C backends emit binary code directly, and he's correct, but the reality is no one does that in one step anyway. All the LLVM family of languages compile to IR, which is then optimized and converted to machine code in the appropriate object format. It would be a ton of work to make FB use LLVM, as much as the ASM or C backends took, but the result would be good and might address some of the non-Unix gnu pain.
Gee I wonder where I heard that before? :)
You tell me. I have no idea what you're referring to.
Seriously, dkl did a masterful job (even though I do not like the 64bit basic data types). Yes I know he had his reasons but it is the only 64bit programming language on Windows where a long is 64 bits.
Yes and Integer being different from a C int on 64-bit has cause me problems when using C libraries. Worked fine in 32-bit, crashed in 64-bit.
I believe the majority of users here are Linux oriented.
I do not believe this is actually the case, but I have no evidence either way.
If I am wrong why is there such little interest in Josep Roca's work? Josep revived my interest in FreeBasic but as I watched all the work-arounds needed to implement various items (because Fb lacked some intrinsic data types), I asked and was granted permission to port his code.
I know very little of his work. Maybe other users are like me and also know nothing of what he's done either. Perhaps the word hasn't been spread?
sean_vn
Posts: 283
Joined: Aug 06, 2012 8:26

Re: What to do about a lack of developers for the compiler?

Post by sean_vn »

What I like about Basic is
case insensitivity
clarity
simplicity
some built in graphic

I'm very bored with Java, python doesn't compile to an exe (or not so easily), Nim I have to look more at, (Ruby) Crystal I will probably try with if I can get it to install.

Anyway the current version of FB is very stable in the applications I use it for and should be okay for another 5 years.
Post Reply