… Sorry for all this text here, don't take it al a attack or criticism. This here is not about ByRef any more, but about polishing work in general. (text all the time sound a bit harder then they are meant, so see me smiling if you want read this all)
Discussions like "i have never use this function" or "i never miss this option" makes must of the time not much sense. i want paint me house green and ask for green color, and every body whit a white houses tell mi, "i never needed green color, so why you?". “because i like to have a green house.” “Why? I don't” “because i like green” “i don't, why you don't mix blue and yellow, or use red, but we have no blue and red too, so whats wrong with white?”..... so .... we end up in a dead end discussion of opinions.
Simply, i don't like extra work and workarounds, i like beautiful polished things, and want to see if the PB team likes this too. This was the reason for choosing Basic instead of C or Pascal a the first place long time ago. (And Basic was and is weaker then C, not because it is a nature law or a syntax limitation, it simply never got the deserved attention. Maybe it is a go along to get along, accept and adapt the giving problem, i don't know.)
BorisTheOld:
We like to make our code as self-documenting as possible: highly structured, rigid naming rules, and no "tricky" code. Unfortunately, PB requires some "tricky" code to implement a ByRef feature. It also requires some "tricky" code to pass structures to a procedure.
By "tricky" code, I mean code that is not immediately obvious to a non-expert programmer.
Exactly! “We like to make our code as self-documenting as possible” me to! So simple a s possible, no useless "tricky" code pleas. Like a mathematician i tray to reduce everything on the most simple self -explaining result.
i don't like double work, and i don't like nonsense like ;;;;;;{}<bla>{->{{;;}::}}{::};;{{.}};{};{} in C, or "a_end_block_is_coming_soon, the_end_block_is_now_near, this_is_now_the_end_block_here, the_end_block_ends_here, this_was_the_endblock_and_a_new_is_maybe_coming_soon", blablablablablabla stuff of pascal, only a other ;;;;;{} mess only more useless text. And workarounds are the same mess.
Sometimes if i want say that something is useless stupid boring extra-work frustrating flub, i write ;;;;;;;;;;;;;;;;;;;;;;; (amount of ; indicating the frustration level

)
The Macro tricks is a good tip and i use macros already

and macros is a big extra in PB!
but i don't want do such extra work all the time on many many places. this permanent workarounds is not "non-expert programming", it is extra work witch compilers has to take this away from programmers. "expert programming" is often a cheap excuse from developers.
i am a very good workarounder, because i all the time tray to find a solution do polish that what others don't polish (as a example what perfectionism can by, i would like to write all Names in the same alphanumeric sortable class.like order, for example IfEnd or ProcedureEnd or FileOpen, (first the main topic), my code names looks like this. i have already prepare a list of macros to do this in PB, so crazy i am in polishing

and bending things to me likes.) i am wiling to do this ByRef corrections, but i don't like. thats why i am asking, to see if the developers are willing to do the polishing.
The only reason to give PB a tray is almost all problems can be work arounded in some way. But i search the most "aerodynamic" beautiful developer language i can find. And a I am very suppressed that in decades of computer existence, there is non?!
And tanks much BorisTheOld for the example, it speeds up me workaroundings and my understanding of how PB deals with Pointers.
but all this work around never make it possible that you can change only 1 little option, and thats it, all this typical workarounds needs useless time, the compiler has to "reduce the clutter". I like convenience. Compilers are a kind of engineer work, (just not physical and allow therefore more flob then mechanics and electronics). And you like to have a car witch is not only rolling, but is aerodynamic and looks good in your favorite color. Al programmers spend a LOT of time with there compiler and main language, sure much more then in there cars.
"non-expert programmer" hmmm.... this is what many developers sometimes say, if they flubworked unnecessary complexitys together, and then blaming the uers if they complain about the extra work and then say "it is only for experts" or in bad cases this means “if you would be a expert and not a idiot/lazy-beginner, you would know haw to deal whit it, so do you workarounds and shut up”.
Missing ByRef is not a "non-expert programmer", but a polishing problem of the developers side. Experts only know the workaround witch should not be necessary at the first place.
{{
The best thing i read once in a Linux forum when somebody complains about a useless complexity and unlogik. Answer of one of a Forum-Guru there, Quot: "Linux is not for everybody". a OS system, witch tray to make concurrence to M$, with now user friendly graphic desktop, not Server software any more, a lot of good stuff done,... is not a for everybody???! good marketing!! Desktop operating systems are the ONLY software witch hast to be for everybody to reach the goal. Otherwise they are hardware drivers like a server software. What a excuse for flubwork.... only because its free, it should not be a excuse for bad work. I am willing to pay something, specially if i use something commercially, if the price is fair and the product good. (shame on commercial users witch don't support the developers of there tools, and more richer more greedier and stingier, right?!) To Lunix-Gurus, don't complain then too if projects die or remain small, split up in hundred pieces, or never get the attention they deserve because of a lot of good stuff and good work in the base, but not polished enough. And then comes the excuse, is for free and you don't have to use it... ok...
It is simple, a team of developers hat do work a problem out, or they multiplicate it a 100'000 maybe 1'000'000 time to there users witch all of them have to create workarounds and deal whit permanent frictions, and then others can to work in formus and support (nice if you make our money with “free” software with the support, then there is no really interest for simplicity.)
If people would understand, lifetime is the must precious thing we have, much more then money, DON'T WAST IT, you have less then 100 years to live. And everybody knows: “Linux is for free if your time has no value”... sad...
I tray 3 times in 5 years periods to switch from M$ to Linux, i still have to scarify to much, and there is cool stuff in Linux!
}}
It seams that most progrannmers have not a very good aesthetic talent, especially not if they hang out to long in C. There is a reason why some people don't use the power of C++ C# and the BIG amount of free codes and compilers out there, and use instead a Basic language witch many people see as unprofessional Hobby language, even if this is not a Syntax but a code and polishing problem. i remember whit abomination the first Borland C compilers, and I DON'T WANT DO CODEING LIKE THIS EVER AGAIN!!! I am a aesthetic, and this pains me brain and my eyes.
i check even Lazarus, a Pascal/Delphi compiler, with a very nice From editor, powerful, open Source, Free and a big community, and ... ähmm ... noup! (Pascal blablabla Code, and this monster witch comes whit over 17'000 files, produces for "Halo World" megabytes of codes.) i don't even come to the idea to write a question in there forum, there project, so nice it is, don't fit with my needs likes and dislikes.
RealBasic: No. nice start but buggy as hell, the users run away from the project and forums (the forum is almost empty) and some regret to spend money for it.
PowerBasic: hmmm.. nice syntax, better then PB in some things like Var&Var&& even if i prefer Var&1 Var&2 Var&4 or Text$1 Text$2 or Var#8, i like this! but to old fashion, i don't code for DOS, and i am a visual person, and the most programs (god tangs) today too. I spend so much time in polishing me codes, that i will never use 10 languages, 2 is acceptable but not optimal (maybe PB and VB6 or something else beside VB6).
KBasic: Nice surface and "on paper" 100% VB6 compatible. but almost dead, no updates since 2010, and buggy as hell.
FreeBasic: Nice but to weak.
etc etc etc..... (i am e bit frustrated, we you folks all out there dint work together and make the pest compiler possible... just kidding!)
M$ is really not a nice company, and VB6 was a weak toy language with a lot of weaknesses (no unsigned (really?!), no pointers, no better OOP, no DLL independence, COMMON!!!!! with quazilions of dollars they should get this done better!!!!!!!), but it had something all others don't have get to realize. they give to the users what they want and polished at least the flubwork the made. VB6 takes a lot of boring work away from the programmer, including the form editor and automatic generated events in it. this has “in trap” me too.
PB has (so much i know) only 2 or 3 coders, and they don't make enough money to work 100% on it, the progress therefore is slow. but at lest, PB is really OK for such a small project.
maybe i can not switch to PB completely. but maybe i use it for small Game development, if the multi platform thing works ... (i test this later).
There are other (not big but friction) problems with PB. it is a "1 pass compiler" so in some situations you have to declare functions. ok... i can life with this ... but i don't like this double work of declarations. the compiler should do automatically ALL the work he can, so that the programmer can concentrate on that what compiler can not do.
i now how it works if you want polished things (code artwork technologies or what ever). you have to infest 100% work to get all the stuff don witch is necessary to let is work. And then you infest a other 100% sometimes 200% 400% work for polishing purification and embellishment. but then you have something special and aerodynamic without useless friction. but i know, polishing is not that easy and quick like many people think. so me question here is, are the developers working on polishing and like to improve there really good work.
Part of the problem for new users is that the PB reference manual isn't rigorous in its explanations. We've spent a lot of time analyzing various language features and filling in the gaps in the reference manual. Things aren't always what they seem. Not that the manual is wrong. It's just that it often doesn't tell the whole story.
Way not making a Wiki for the help Texts, maybe even translations? maybe only for selected authors instead of all public, at least in the main text and open discussion sites public. maybe for a small payment for main authors working directly for the PB team, result based. It maybe takes work from developers witch better should write codes instead of help texts, mostly programmers don't like to write documentations.
I like help text short an compact, but complete.
(if things has to be explained long, the base is not well polished. Instead of explaining complexity, it has do be self-explaining. Make it more simpler, like implement ByRef instead of explaining workarounds, for example.)
As a tip for all developers
Programmers should work together with visual aesthetics, then the result look and feels much better. even if this seam to be a detail, it is that what produces every day all over useless friction. we are visual and not dead machine logic beings. and sometime i thing if people are to long in a ugly coder language, they thing and code ugly too. if the team or money is big enough, all the time employ somebody witch concentrate mainly or only on the design from a practical point of view, even the design of coder languages (c and pascal are design mess, maybe developed from asbergers, they have much less problems with such things because there “decoding system” works differed, but it is a very bad thing to let arbergers develop the design, they are good in logics ans precise, but not good visual and creative, i speculate).
If the PB team has no Designer, EMPOY ONE! even if it is only for 2 weeks. maybe you come up whit a much more beautiful an aerodynamic code for version 5.0.
A very powerful feature would be if PB had a Import-Corrector, witch means if something change on the syntax or names, PB would change or correct this to make it compatible to the new syntax. It would allow to update and purify PB without to trouble users whit hand made corrections. purify then became much less a problem and then inhibition is smaller. If now a update change names (for example function names, replace parameters), the Import-Corrector would change the code automatically, and inform the user about the changes. This would allow to improve PB even on Syntax level, without to trouble the programmers with the corrections. (VB still has this very very stupid ugly Instr([Start], Text, Search) parameter flub work. Whit a import corrector this error could be changed decades ago, without to trouble the programmers that match.)
You can pass the older version code through the parser, and instead of producing code you correct syntax and replace deprecated functions or improve syntax or parameter positions. If this corrector is powerful enough, it could even be used for transcoding languages in to PB, if PB understand other languages tokens. (At least 80% 90% of it, depend of the distance to PB)
And finally, i think PureBasic could be more known then it is now, it deserve more atention. Maybe polishing will get this done.
DON'T FEEL ATTACKED PLEASE!!!!! you was honest here.
And thangs very much to all here so far, it helped a lot of speeding up the PB understanding.
But now enough text. (sorry. but i am frustrated and would like to escape the VB6 dead end box in a acceptable way, and i wait now sooooooooo long.... I don't write so long texts again.) (you see, i am not lazy

)
There is a other question remain, for the developers.
(i don't want infest time in a other dead end again)
Are you continuing to work on PB in next yeas? or if you give it up, do you make the project open source so that it can be continued from others?
Tanks very much so far.