Hishnik писал(а):
HughAguilar писал(а):
I am primarily interested in my own Straight Forth design, but there seems to be no Russian interest in that.
'Russian Forth Standard' is an idea that mimics 'adult' ANS-Forth. After years of blind repetition of existing approaches, people who afraid to be an absolute independent simple copies behavior they can see. If Forth Inc has Standard, they must have Standard too. This is too easy and will not lead to a kind of 'commercial success' or 'hundreds followers'.
Straight Forth is not mimicking ANS-Forth!
ANS-Forth was a marketing gimmick from Forth Inc. --- it was an attempt by Elizabeth Rather to convince the world that Forth Inc. sets the standards for all Forth programmers, and that every Forth programmer must kneel for her.
It is not my goal with Straight Forth to force every Forth programmer to be kneel for me. I don't want Forth programmers to kneel for anybody.
My goal is to allow Forth programmers to write Forth programs that are portable between different Forth systems from different vendors. My goal is to allow general-purpose code-libraries to be written that can be used by everybody. Certainly, having code-libraries available is necessary for programs to be written quickly. No employer has the time or the money to allow the employee to build every program from the ground up as if nothing similar had ever been done before. Most programs have a lot of similarity. A general-purpose code-library can be useful in many different programs, because they are all similar.
Forth programmers, both Russian and English-speaking, worry that I am trying to prevent innovation. I'm not trying to prevent innovation though (to see that crime being committed, go to the Forth-200x mailing-list).
At least 90% of programs written for desktop-computers don't need to be written with innovation --- they need to be written with speed. Straight Forth is for these straight-forward programs that need to be written quickly. If you need to be innovative, then you can abandon Straight Forth and write non-standard Forth code specific to one particular compiler.
Straight Forth is for intermediate-level Forth programming. 90% of the time, an advanced Forth programmer can write his program using Straight Forth and using intermediate-level programming techniques. Just because you are advanced, doesn't mean that every program you write needs to be written with advanced-level programming techniques.
Maybe I will change the name. Instead of Straight Forth I will call it: Intermediate-Level Portable Forth.
Straight Forth is for 64-bit desktop computers. It is not for micro-controllers. Straight Forth is intended to support Forth cross-compilers that target micro-controllers, but Straight Forth itself does not run on micro-controllers.
Programs on micro-controllers are not going to be portable because of I/O dependency, so there is no need for a Standard --- the purpose of a Standard is to allow code to be portable.
Most advanced-level programming is done on micro-controllers. If you want to be an advanced-level Forth programmer every day of the week, and you have too much pride to write an intermediate-level program, then Straight Forth is not for you --- focus on micro-controllers.