Qbasicnews.com

Full Version: We need a Real Function Library
You're currently viewing a stripped down version of our content. View the full version with proper formatting.
Pages: 1 2
We need a real function library. There is so much utter nonsense (in my opinion) about "structure" in programming that now many many programming languages have been created out of this premise. (i.e.: Java)

The basic structure of variables and the (in my opinion) excessive syntax that is sometimes used in a program is only a portion of the program. The ease of creating something interesting, useful, or good makes the language.

Here are some severely underdeveloped areas in programming:

*pre-built, standardized, simple-to-use mathematics function libraries. Not just sum(x), or sum(double-type-x) but differentiate(expression), fractionalize(expression), or, factor(expression). Etc.

*Same for string manipulation. BASIC, and other languages, offer only the simplest string manipulation. There is no simple standard (like INSTR for example) for "expression trees", or even simple pattern matching in a long string.

*standardized BASIC language for functions, with similar naming and contraction conventions. (Freebasic is close, but the addition of freebasic-only commands is not well polished)


*AI standardization. From pathfinding to basic problem solving to "evolving systems".

These are just a few elements of what could make a programmer's life much easier.

I think it would be good if there was an extensive and informative database of, at least, the first two items: mathematical and string manipulation. This could pave the way for a brave new world of non-muddling-about.. The database would contain programming pieces in similar areas and could encourage more innovation by having everything in one place.

Incremental innovation is the way to do it. The Japanese can do it, and so can programmers. I often wonder why so many for-profit game production companies just constantly replicate what they are doing, instead of copying themselves or companies that they are affiliated with. The reason I think is that there is a low emphasis on CORRECT standardization.

Anonymous

theres a math lib for fb... i dont remember what its calledbut a search on fb.net forums for the user "jdebord" will probably help
Yeah, but I think that pretty much fits into the category of...
Quote:Not just sum(x), or sum(double-type-x) but differentiate(expression), fractionalize(expression), or, factor(expression). Etc.

Maybe I'm misunderstanding his idea though.
Quote:We need a real function library. There is so much utter nonsense (in my opinion) about "structure" in programming that now many many programming languages have been created out of this premise. (i.e.: Java)

structured programming was hip in the late 70ies. got replaced slowly by modular and oo programming, which if you would have ever used it to the full extend is fucking usefull and intuitive.


Quote:The basic structure of variables and the (in my opinion) excessive syntax that is sometimes used in a program is only a portion of the program. The ease of creating something interesting, useful, or good makes the language.

Here are some severely underdeveloped areas in programming:

*pre-built, standardized, simple-to-use mathematics function libraries. Not just sum(x), or sum(double-type-x) but differentiate(expression), fractionalize(expression), or, factor(expression). Etc.

there's tons of math libraries out there. if you'd be so funky and google for them or check on sourceforge. every univ. i know has it's own math library even...

Quote:*Same for string manipulation. BASIC, and other languages, offer only the simplest string manipulation. There is no simple standard (like INSTR for example) for "expression trees", or even simple pattern matching in a long string.

you are talking about regular expressions. same as with the math library, there's tons of libraries out there for that kind of task...


Quote:*AI standardization. From pathfinding to basic problem solving to "evolving systems".

those domain specific algorithms can't be expressed in a generic way.

Quote: Incremental innovation is the way to do it. The Japanese can do it, and so can programmers. I often wonder why so many for-profit game production companies just constantly replicate what they are doing, instead of copying themselves or companies that they are affiliated with. The reason I think is that there is a low emphasis on CORRECT standardization.
[/quote]

the problem with this approach is, that software is a bitch if it comes to reusability. the oo and modular programming paradigms try to provide solutions for this problem. what you request is basically what oo does for you. given that you are a basic programmer even moaning about structured programming i think that you might not be aware of that though ( which is no shame or offense... ).

standardization is one of the main concerns of cs nowadays as this is where the S in cs should come from. unlike other technical scientific disciplines there's hardly standards. in the past decade some movements in cs propagated possibilities to establish such standards, namely design patterns. even design patterns don't provide a real standard but are rather generic designs that can be used for different tasks.
The way I see it (and I gather you do as well), we need something like the C++ Standard Library, but using functions instead of data structures (but we could add those in later, if we get templates working).
Thanks for your replies.

When I look at the challenges section, there are so many challenges that are just functions.... but they are incredibly difficult, and no one could do... especially those started by me...

And then, yes there are "tons" of math libraries, but they're too specific, too complicated, and not in FB [except this jbebord thing]. Show me an FB differentiator?

Quote:the problem with this approach is, that software is a bitch if it comes to reusability. the oo and modular programming paradigms try to provide solutions for this problem. what you request is basically what oo does for you. given that you are a basic programmer even moaning about structured programming i think that you might not be aware of that though ( which is no shame or offense... ).

These software developers use your "oo and modular programming paradigms". No one is "moaning about structured programming", and yes I do take offense... This thread is all about structured programming. Overdone data structures don't make structured programming in my opinion, they make garbage...

Quote:standardization is one of the main concerns of cs nowadays as this is where the S in cs should come from. unlike other technical scientific disciplines there's hardly standards. in the past decade some movements in cs propagated possibilities to establish such standards, namely design patterns. even design patterns don't provide a real standard but are rather generic designs that can be used for different tasks.

Too bad most of the people in this business don't seem to have a clue...

Regarding FB's math function effort, jbebord's math function seems to exist, but it's hard to find (unless you give me "jbebord"), and the readability and useability is bordering on the criminally insane.


thegrogen,

I don't know much about this but I have the following complaints about the C++ standard library:
1) Naming conventions are terrible.
2) It's too basic.
you suspect something like

myalmightyfunction( gamename )

stating that ppl in the industry ( and i was not only talking about them but also about the academic world ) are clueless is a real fun statement by someone who has not yet taken a closer look at modern software technology.

good luck on your hunt for the most easy to use almighty super library for fb

edit: mm i just read what you replied to the grogen. you say the naming conventions are terrible? i dunno but list, vector, stack etc. sound pretty intuitive to me don't they? also it is to basic? what would you expect from it? the above mentioned function? the stl provides you with standard containers and algorithms. it's more than fb will ever have.
Quote: by someone who has not yet taken a closer look at modern software technology.

That's a really fun statement too.

-------------------

As far as I can see that is, for all of the above.

I think it'd be nice to have a place to download/upload/review specifically at least math and general data (string) manipulation, with an outline of what's needed and what exactly has been submitted in terms of functions.

Duplicates of the same thing would be okay. This would include jbebord's thing, but it doesn't make sense to have one math library project be "the" math library when it has not been properly reviewed.
you state that data encapsulation, reusablity, maintenability and all those funky buzzwords that have a concret origin are worth shit. the currently propagated and most used paradigmn is object orientation which you happen to dislike due to *overcomplexity* where as the concepts introduced by oo really ease a lot of pain. see stylin's template example in the other thread. so what i did was basing my assumption on the fact that you totally neglect the benefits coming from this "new" stream of software construction ( where new means 1-2 decades... ).

i guess you'll be one of the ppl that will shout hurry when fb has something comparable to simple oo...
Quote:thegrogen,

I don't know much about this but I have the following complaints about the C++ standard library:
1) Naming conventions are terrible.
2) It's too basic.

1) I agree with you there. That's definitely one of the few bad things about the standard library, but if we write a standard library for FB, we can easily fix this.
2) I agree that it's pretty basic, but it's basic because some people don't need additional functionality. We can definitely fix this in FB, we could have the basic library and the advanced library, and you could select which version of the stdlib you use at compile time through the compiler (if the stdlib were part of the compiler) or through including a different library.

In other words, both of these problems we can fix with FB.
Pages: 1 2