FreeBASIC Looks Dead

For other topics related to the FreeBASIC project or its community.
Stueber
Posts: 46
Joined: Nov 22, 2009 16:20

Postby Stueber » Jun 08, 2010 20:12

Stueber already did a precompiler that add inheritance and templates.

True, but the precompiler isn't good. I didn't write it with Lexer, Parser and stuff like that, so he isn't usable.

In my opinion FB should be improved by inheritance and templates. Some people say "FB should be BASIC and inheritance isn't BASIC", but nobody says you have to use these features. If FreeBASIC has these features, people who want to use inheritance can use it and people who don't want inheritance or OOP can work without it, as like in C++.
Mysoft
Posts: 779
Joined: Jul 28, 2005 13:56
Location: Brazil, Santa Catarina, Indaial (ouch!)
Contact:

Postby Mysoft » Jun 08, 2010 20:28

Stueber wrote:people who want to use inheritance can use it and people who don't want inheritance or OOP can work without it, as like in C++.


right... like root on linux?
its there optionaly but if you use its useless for anyone except you
since linux users DONT WANT programs that require root access...

even that freebasic is opensoure i wouldnt modify it to add things for me only (like also linux did with soo many distributions)... since then i wouldnt be able to share the code with other people... that's why i dont improve some things on it by myself... but i think it isnt far from the idea of using or not advanced oop stuff...

also another thing that happen is that i love to help people with freebasic issues, but i hate to help people using oop, and even more and more people use that and barely know how to code without it, so... that kinda forcing me to use that, to help others, which is disgusting :(

i really believe that have those things is a bad thing... but i can't stop people from do mistakes... but still, doesnt matter what you will add or not... some people will like, some will not ;p (like the "quirk" syntax that many don't want to have anymore, or the ability to use $ on functions that return string... that i still use for built-in commands like right$,string$, etc..
angros47
Posts: 1673
Joined: Jun 21, 2005 19:04

Postby angros47 » Jun 08, 2010 20:38

Inheritance is not for "me only"; there have been many requests about it. Without it, OOP is crippled (also tasks like designing a good gui library are harder).

If you like a simpler syntax, and dislike oop, you can always use fblite (imho, it's the best compromise between easiness of use and power)
Stueber
Posts: 46
Joined: Nov 22, 2009 16:20

Postby Stueber » Jun 08, 2010 20:44

You can write non-OOP code as long as you want, nobody says you have to use OOP, but people who want to use OOP-stuff want inheritance (including me).
agamemnus
Posts: 1842
Joined: Jun 02, 2005 4:48

Postby agamemnus » Jun 08, 2010 21:18

boriel wrote:
agamemnus wrote:
boriel wrote:This is no "basic" at all, it's advanced instead. But if I'm going to manage "a list of items of any kind" (numbers, strings, arrays, objects or even other lists) then that's BASIC with new features.


For me, I do not consider nor want FreeBasic to be something that is more high level than C or C++. The main strength of the language, I think, is its better syntax format compared to C/C++.


Then FreeBasic could be certainly dead.

I can't see a better syntax (compating to C/C++). If FreeBASIC is just C/C++ with different keywords, it's just C, and will fall into the oblivion.


I didn't say that. I said I don't want it to be more high-level than C++ and I think the main strength is that the syntax is better...

Who wants to learn a new language that does not offer anything new?

Firstly, Freebasic is a good "first" language. Secondly, I do think it's unique because it offers a community-based approach to moving programming features forward, and it's free/not driven by mindless company drones.

And, sorry, but looking into some FreeBASIC source code, its syntax is *VERY* complex and dirty (just look the compiler source code). This is not BASIC anymore. :-( Even Microsoft evolved their basic (VBASIC, VBASIC .NET) on which FreeBASIC is somewhat inspired.

It's not nearly as dirty as you are asking it to be! (continued later)

The idea of having a higher lever structures is writting less an clearer code, and be more productive. Even C++ is evolving (slowly, but evolving). Just look the new standard proposals.

Macros are good for adding hidden high level structures. I would support a much more featured macro pre-compiling syntax...

If you decide to use pointers to implement lists, then you either have a template / macro system, or have to write your lists methods *every time*. The same applies to any other complex data container, not only lists.

Right. Macros!

Lists and dictionaries are very basic (pun intended) nowadays, and every new language comes with them already included. I can't see why FreeBASIC must not have them: if you don't want them it's ok, don't use them, but let others do.


Built-in not a bad idea as an add-on, but all new additions should be balanced and there should be much consideration as to syntax. You said yourself the syntax is "polluted".. what do you think auto-lists will do?? You would need to implement them very, very carefully to avoid interfering with the current syntax. Considering that we have very few developers (currently, dkl and cha0s, and sometimes countingpine), I think the effort should still be focused on refining current features and bug-fixing...

....

Poor lil' dev marionettes! They will bow to the will of our discussion, when all is said and done. :(
1000101
Posts: 2556
Joined: Jun 13, 2005 23:14
Location: SK, Canada

Postby 1000101 » Jun 08, 2010 23:42

agamemnus wrote:Poor lil' dev marionettes! They will bow to the will of our discussion, when all is said and done. :(


You're fooling yourself. The devs may take proposals into consideration but "consideration" is a far cry from "implementation."
boriel
Posts: 7
Joined: Jun 06, 2010 19:43
Contact:

Postby boriel » Jun 08, 2010 23:42

agamemnus wrote:Macros are good for adding hidden high level structures. I would support a much more featured macro pre-compiling syntax...

boriel wrote:blah blah blah ...lists.

Right. Macros!

Using Macros mean the *preprocessor* (not the compiler) is in charge of the part the language can't manage: you're trying to do something you can't program in FreeBASIC.

Macros are a bad idea because it's changing your source code on the fly: Read here (yes, Googlers also think that way).

agamemnus wrote:Built-in not a bad idea as an add-on, but all new additions should be balanced and there should be much consideration as to syntax. You said yourself the syntax is "polluted".. what do you think auto-lists will do??

I didn't said that: I meant current FreeBASIC syntax is low level, and programing complex data structures makes your code dirty (e.g. you need to write much text to implement such things).
Auto-list (or the list example) is a way to make programs clearer.

agamemnus wrote:You would need to implement them very, very carefully to avoid interfering with the current syntax. Considering that we have very few developers (currently, dkl and cha0s, and sometimes countingpine), I think the effort should still be focused on refining current features and bug-fixing...

Of course! (I do the same when fixing my tiny 8bit FreeBASIC clone). First things first (IMHO, ByVal strings should be in the 1st place).
Poor lil' dev marionettes! They will bow to the will of our discussion, when all is said and done. :(

Don't be so negative. I was talking in the long term. How will FreeBASIC be (as a language) next year? and in 2015? and in 2020? Imagine that for a while. Yes, it could be dead. It could also evolve to a higher level syntax, or it could just stagnate and stay as is so people will develop more libraries (or whatever)....

I don't use FreeBASIC at this moment (I use C++ for speed critical things, and python for the rest). But I *love* the language and the tools around it, and if it finally dies, it would be very sad :(
boriel
Posts: 7
Joined: Jun 06, 2010 19:43
Contact:

Postby boriel » Jun 08, 2010 23:50

marcov wrote:
boriel wrote:
marcov wrote:But there is enough to think of:

* RTTI (reflection)
* interfaces or other kinds of MI
* dynamic dispatch (maybe you already have this due to olevariant/com/idispatch? ) to call scripting languages/idispatch
* variants, mainly for implementing generic database abstraction frameworks.

I agree.
* Dynamic dispatch == virtual methods and function overloading.


No it is not. Those are mostly totally static defined. I'm more thinking about COM IDispatch and similar parts in the Mozilla and Java interoperation APIs. Commonly used to interface to scriptinglanguages.

You're right! (but I will prefer virtual method and function pointer tables when speed is critical)
agamemnus
Posts: 1842
Joined: Jun 02, 2005 4:48

Postby agamemnus » Jun 09, 2010 0:08

boriel wrote:
agamemnus wrote:I don't use FreeBASIC at this moment (I use C++ for speed critical things, and python for the rest). But I *love* the language and the tools around it, and if it finally dies, it would be very sad :(


Don't worry about that, though... we had a flourishing community with quickbasic for almost a decade... as long as it is developed and used by a "diverse" community and not any one person, and not a megacorporation, it won't die! :]
Last edited by agamemnus on Jun 09, 2010 15:37, edited 1 time in total.
McLovin
Posts: 82
Joined: Oct 21, 2008 1:15
Contact:

Postby McLovin » Jun 09, 2010 13:02

Jim Barlow wrote:"Very similar to Visual Basic"

I like the way VB (and Jabaco), when you double click the widget, creates a sub and puts the cursor right where you need to be coding for that widget or event. Make it do that and I'll use it for sure. Visual C# does the same thing and it makes life very easy.


This is a follow-up to my post earlier in this thread. I have posted the visual designer via an announcement (under my real name) found at this thread:
http://www.freebasic.net/forum/viewtopic.php?p=136772

McLovin
aka Paul Squires
PlanetSquires Software
marcov
Posts: 3010
Joined: Jun 16, 2005 9:45
Location: Eindhoven, NL
Contact:

Postby marcov » Jun 09, 2010 14:50

Stueber wrote:
Stueber already did a precompiler that add inheritance and templates.

True, but the precompiler isn't good. I didn't write it with Lexer, Parser and stuff like that, so he isn't usable.

In my opinion FB should be improved by inheritance and templates. Some people say "FB should be BASIC and inheritance isn't BASIC", but nobody says you have to use these features.


While I agree with you fully, I don't agree with the last bit of motivation "nobody says you have to use these features". It is easily said, and is usually the pretext to attempt to shove the most horrible inconsistent stuff into the compiler/rtl/libs.

At least it is that way in our little project.

If FreeBASIC has these features, people who want to use inheritance can use it and people who don't want inheritance or OOP can work without it, as like in C++.


Note again that I fully agree, but there are other forms of polymorphism but VMT based inheritance, most notably the smalltalk/objective C direction.

Btw2: I think interface-based Multiple Inheritance is also a good thing.
marcov
Posts: 3010
Joined: Jun 16, 2005 9:45
Location: Eindhoven, NL
Contact:

Postby marcov » Jun 09, 2010 15:00

agamemnus wrote:
The idea of having a higher lever structures is writting less an clearer code, and be more productive. Even C++ is evolving (slowly, but evolving). Just look the new standard proposals.

Macros are good for adding hidden high level structures. I would support a much more featured macro pre-compiling syntax...


Macros are a stopgap to haphazardly try to hide the lack of features to do it decently.

If you decide to use pointers to implement lists, then you either have a template / macro system, or have to write your lists methods *every time*. The same applies to any other complex data container, not only lists.

Right. Macros!


No. Templates :-)

Macros are poor mans workaround for the lack of templates/generics. But agreed, templates/generics are expensive. Very expensive. (as in manhours to implement and make production ready)

But still, even if macros is the only viable solution wrt the amount of developer time to invest, I would never, never kid my self that it is a good long term solution.


Built-in not a bad idea as an add-on, but all new additions should be balanced and there should be much consideration as to syntax.


Agree. The problems are always in combining features.
segin
Posts: 126
Joined: Dec 27, 2005 5:22
Contact:

Postby segin » Jun 09, 2010 15:50

Mysoft wrote:
Stueber wrote:people who want to use inheritance can use it and people who don't want inheritance or OOP can work without it, as like in C++.


right... like root on linux?
its there optionaly but if you use its useless for anyone except you
since linux users DONT WANT programs that require root access...

even that freebasic is opensoure i wouldnt modify it to add things for me only (like also linux did with soo many distributions)... since then i wouldnt be able to share the code with other people... that's why i dont improve some things on it by myself... but i think it isnt far from the idea of using or not advanced oop stuff...

also another thing that happen is that i love to help people with freebasic issues, but i hate to help people using oop, and even more and more people use that and barely know how to code without it, so... that kinda forcing me to use that, to help others, which is disgusting :(

i really believe that have those things is a bad thing... but i can't stop people from do mistakes... but still, doesnt matter what you will add or not... some people will like, some will not ;p (like the "quirk" syntax that many don't want to have anymore, or the ability to use $ on functions that return string... that i still use for built-in commands like right$,string$, etc..


Yet again Mysoft proves again that he is an bright, and doesn't understand that NO ONE IS FORCING HIM TO USE OOP.

Granted, he is right about idiots being incapable of coding without OOP, but adding inheritance and templates wouldn't make his non-OOP code magically stop compiling - (unless, of course, his code has variables whose names end up matching with newly introduced keywords - but that's not even the same thing)
John Spikowski
Posts: 453
Joined: Dec 24, 2005 2:32
Location: WA - USA
Contact:

Postby John Spikowski » Jun 09, 2010 17:04

What are the goals with the FreeBASIC project moving forward?

  • Portability with current functionality?
  • Modernization of the language?
  • Expanding the developer base?


I would think putting a group effort into documenting the source is the foundation for moving the project forward. I think it's unfair to count on Victor as the only way to make monumental progress.
agamemnus
Posts: 1842
Joined: Jun 02, 2005 4:48

Postby agamemnus » Jun 10, 2010 20:35

In terms of documentation, it might be a good idea to start another thread discussing it. I really don't see how the current wiki style is very useful.

Return to “Community Discussion”

Who is online

Users browsing this forum: No registered users and 1 guest