GPI wrote:btw: Procedures in Omikron Basic (Atari ST) can also return values, but under a "higher" level.
Ehhhh... NOW I'm worried... That is the side effect the lexicons talk about...
With returning a value I mean,
return value = Function X()
Not the variables in the parameter call... Even Fortran works that way... It depends if you use call by reference or call by value... This is the side effect...
GPI - You haven't really understand what I talk about if you make such a comment... Sorry! :roll:
(\__/)
(='.'=) This is Bunny. Copy and paste Bunny into your
(")_(") signature to help him gain world domination.
GPI wrote:In PureBasic so many things are not-standard, for example Mid(): It should be Mid$().
*LOL*
Yeah! But you get a hint of what Mid() do, don't you... Lucky Fred didn't call Mid(), Bof() or even Burp(). Hehe... or to confuse really... switched Right() and Left().
He renamed InStr() in FindString() and change the order of the parameter ist...
Techjunkie, i preferred Function instead Procedure too, but if i analise, it is because we are in custom with computer languages jargon (as said Karbon), but i prefer not to fall down in habits; moreover; i go much more back in time than computers appearance in our world:
Etymology of the word "Function" talks about something (or someone) which performs a work or a function, that's all. Nothing about to return anything, but perform a process.
Etymology of the word "Procedure" talks about process performing (in fact samething that Function), and neither talks about to return values.
There are no doubts that computer languages are always, more or less, a heritance of previous normal human language, so, really why Function instead Procedure?
I seem to remember a time when you could use "alias" to change the name of any command. (maybe it was AMOS).
Thruth is that I prefer just one call it funtion or procedure, don't realy care. If you do you can always precede your procedure/funtion names with a F_xxxx or a P_xxxxx. I always prefer that it's the coder and not the language that imposes these kind of rules.
techjunkie wrote:If you don't think it is important, why not call the compiler an intepreter?
personally, I'd call it a translator which calls an assembler/linker...
...the two terms you used are not a good example for your argument because
they are function(pun intended)ally different
The first time I touched a computer (terminal) was 1974.
this is NOT a flame! this is NOT a flame! this is NOT a flame!
Psychophanta wrote:Etymology of the word "Function" talks about something (or someone) which performs a work or a function, that's all. Nothing about to return anything, but perform a process.
Etymology of the word "Procedure" talks about process performing (in fact samething that Function), and neither talks about to return values.
There are no doubts that computer languages are always, more or less, a heritance of previous normal human language, so, really why Function instead Procedure?
I think the word "Function" was borrowed from mathematics when the first high level languages were created.
A maths function like sin(x) has a value so a subroutine (or function) to calculate this has something to return.
Unfortunately, "I did it my way" seems to be the first rule of compiler writers. There is little advantage in many of the differences between computer languages.
in my opinion this is a semantic issue.
The name of a function should be the name of the returned value.
For example "GadgetState(#gadget)" is a function, whereas
"GetGadgetState(#gadget)" is the name of a procedure (allthough
it is supposed to be a function).
But when you think about this for a while, you will find out that
the real problem of today's programming languages is the lack of
grammar based (verbal) expression handling.