Groups | Search | Server Info | Keyboard shortcuts | Login | Register [http] [https] [nntp] [nntps]


Groups > comp.lang.forth > #57613 > unrolled thread

High level language for writing Forth

Started byCecil Bayona <cbayona@cbayona.com>
First post2017-04-19 18:32 -0500
Last post2017-05-15 12:05 -0500
Articles 20 on this page of 122 — 21 participants

Back to article view | Back to comp.lang.forth


Contents

  High level language for writing Forth Cecil Bayona <cbayona@cbayona.com> - 2017-04-19 18:32 -0500
    Re: High level language for writing Forth "Rudy Velthuis" <newsgroups@rvelthuis.de> - 2017-04-20 00:24 +0000
      Re: High level language for writing Forth "Elizabeth D. Rather" <erather@forth.com> - 2017-04-19 14:42 -1000
        Re: High level language for writing Forth Cecil Bayona <cbayona@cbayona.com> - 2017-04-19 20:33 -0500
          Re: High level language for writing Forth "Elizabeth D. Rather" <erather@forth.com> - 2017-04-19 16:21 -1000
          Re: High level language for writing Forth Paul Rubin <no.email@nospam.invalid> - 2017-04-19 19:41 -0700
            Re: High level language for writing Forth Cecil Bayona <cbayona@cbayona.com> - 2017-04-19 23:28 -0500
        Re: High level language for writing Forth "Rudy Velthuis" <newsgroups@rvelthuis.de> - 2017-04-20 17:02 +0000
          Re: High level language for writing Forth "Elizabeth D. Rather" <erather@forth.com> - 2017-04-20 09:48 -1000
            Re: High level language for writing Forth "Rudy Velthuis" <newsgroups@rvelthuis.de> - 2017-04-21 09:42 +0000
              Re: High level language for writing Forth Andrew Haley <andrew29@littlepinkcloud.invalid> - 2017-04-21 09:07 -0500
                Re: High level language for writing Forth Alex <alex@rivadpm.com> - 2017-04-21 17:04 +0100
                  Re: High level language for writing Forth Andrew Haley <andrew29@littlepinkcloud.invalid> - 2017-04-21 11:17 -0500
                    Re: High level language for writing Forth Alex <alex@rivadpm.com> - 2017-04-21 17:36 +0100
                    Re: High level language for writing Forth "Rudy Velthuis" <newsgroups@rvelthuis.de> - 2017-04-21 20:32 +0000
                      Re: High level language for writing Forth Andrew Haley <andrew29@littlepinkcloud.invalid> - 2017-04-21 15:35 -0500
                        Re: High level language for writing Forth "Rudy Velthuis" <newsgroups@rvelthuis.de> - 2017-04-21 20:39 +0000
                      Re: High level language for writing Forth Alex <alex@rivadpm.com> - 2017-04-21 22:47 +0100
                  Re: High level language for writing Forth "Rudy Velthuis" <newsgroups@rvelthuis.de> - 2017-04-21 20:29 +0000
                    Re: High level language for writing Forth Alex <alex@rivadpm.com> - 2017-04-21 22:45 +0100
                      Re: High level language for writing Forth "Rudy Velthuis" <newsgroups@rvelthuis.de> - 2017-04-22 04:49 +0000
                        Re: High level language for writing Forth Jan Coombs <jenfhaomndgfwutc@murmic.plus.com> - 2017-04-22 10:54 +0100
                          Re: High level language for writing Forth Mark Wills <markwills1970@gmail.com> - 2017-04-22 03:04 -0700
                            Re: High level language for writing Forth Andrew Haley <andrew29@littlepinkcloud.invalid> - 2017-04-22 05:12 -0500
                              Re: High level language for writing Forth lehs <skydda.barnen@gmail.com> - 2017-04-22 04:30 -0700
                                Re: High level language for writing Forth Mark Wills <markwills1970@gmail.com> - 2017-04-22 05:00 -0700
                                  Re: High level language for writing Forth lehs <skydda.barnen@gmail.com> - 2017-04-22 05:40 -0700
                                    Re: High level language for writing [unum] Forth Jan Coombs <jenfhaomndgfwutc@murmic.plus.com> - 2017-04-22 16:51 +0100
                                      Re: High level language for writing [unum] Forth Paul Rubin <no.email@nospam.invalid> - 2017-04-22 13:36 -0700
                                        Re: High level language for writing [unum] Forth Jan Coombs <jenfhaomndgfwutc@murmic.plus.com> - 2017-04-22 22:59 +0100
                                          Re: High level language for writing [unum] Forth Paul Rubin <no.email@nospam.invalid> - 2017-04-22 18:43 -0700
                                            Re: High level language for writing [unum] Forth Jan Coombs <jenfhaomndgfwutc@murmic.plus.com> - 2017-04-23 09:33 +0100
                                    Re: High level language for writing Forth Cecil Bayona <cbayona@cbayona.com> - 2017-04-22 11:23 -0500
                              Re: High level language for writing Forth Mark Wills <markwills1970@gmail.com> - 2017-04-22 04:59 -0700
                          Re: High level language for writing Forth "Rudy Velthuis" <newsgroups@rvelthuis.de> - 2017-04-29 03:05 +0000
                            Re: High level language for writing Forth Jan Coombs <jenfhaomndgfwutc@murmic.plus.com> - 2017-04-29 09:35 +0100
                        Re: High level language for writing Forth Alex <alex@rivadpm.com> - 2017-04-22 12:56 +0100
                          Re: High level language for writing Forth "Rudy Velthuis" <newsgroups@rvelthuis.de> - 2017-04-29 03:08 +0000
                            Re: High level language for writing Forth Alex <alex@rivadpm.com> - 2017-04-29 09:46 +0100
                              Re: High level language for writing Forth lehs <skydda.barnen@gmail.com> - 2017-04-29 02:45 -0700
                                Re: High level language for writing Forth anton@mips.complang.tuwien.ac.at (Anton Ertl) - 2017-04-29 13:44 +0000
                                  Re: High level language for writing Forth lehs <skydda.barnen@gmail.com> - 2017-04-29 07:00 -0700
                                  Re: High level language for writing Forth hughaguilar96@gmail.com - 2017-04-29 07:31 -0700
                                    Re: High level language for writing Forth Alex <alex@rivadpm.com> - 2017-04-29 16:38 +0100
                            Re: High level language for writing Forth Joel Rees <joel.rees@gmail.com> - 2017-04-29 04:10 -0700
                              Re: High level language for writing Forth "Rudy Velthuis" <newsgroups@rvelthuis.de> - 2017-04-29 11:35 +0000
                                Re: High level language for writing Forth Alex <alex@rivadpm.com> - 2017-04-29 16:33 +0100
                                  Re: High level language for writing Forth "Rudy Velthuis" <newsgroups@rvelthuis.de> - 2017-05-05 15:24 +0000
                                    Re: High level language for writing Forth Alex <alex@rivadpm.com> - 2017-05-05 20:16 +0100
                                      Re: High level language for writing Forth Lars Brinkhoff <lars.spam@nocrew.org> - 2017-05-05 22:06 +0200
                                        Re: High level language for writing Forth Alex <alex@rivadpm.com> - 2017-05-05 21:45 +0100
                                          Re: High level language for writing Forth Alex <alex@rivadpm.com> - 2017-05-05 21:54 +0100
                                      Re: High level language for writing Forth "Rudy Velthuis" <newsgroups@rvelthuis.de> - 2017-05-06 10:06 +0000
                                        Re: High level language for writing Forth Alex <alex@rivadpm.com> - 2017-05-06 13:09 +0100
                                      Re: High level language for writing Forth anton@mips.complang.tuwien.ac.at (Anton Ertl) - 2017-05-06 11:04 +0000
                Re: High level language for writing Forth "Rudy Velthuis" <newsgroups@rvelthuis.de> - 2017-04-21 20:28 +0000
                  Re: High level language for writing Forth "Elizabeth D. Rather" <erather@forth.com> - 2017-04-21 12:27 -1000
                    Re: High level language for writing Forth "Rudy Velthuis" <newsgroups@rvelthuis.de> - 2017-04-22 04:55 +0000
                  Re: High level language for writing Forth Coos Haak <htrofhc@gmail.com> - 2017-04-22 02:01 +0200
                    Re: High level language for writing Forth "Rudy Velthuis" <newsgroups@rvelthuis.de> - 2017-04-22 04:58 +0000
                      Re: High level language for writing Forth Paul Rubin <no.email@nospam.invalid> - 2017-04-21 23:41 -0700
                        Re: High level language for writing Forth Coos Haak <htrofhc@gmail.com> - 2017-04-22 22:15 +0200
                          Re: High level language for writing Forth "Rudy Velthuis" <newsgroups@rvelthuis.de> - 2017-05-06 13:28 +0000
                      Re: High level language for writing Forth Joel Rees <joel.rees@gmail.com> - 2017-04-27 02:51 -0700
                        Re: High level language for writing Forth Lars Brinkhoff <lars.spam@nocrew.org> - 2017-04-27 12:09 +0200
                          Re: High level language for writing Forth Joel Rees <joel.rees@gmail.com> - 2017-04-29 02:48 -0700
                        Re: High level language for writing Forth "Rudy Velthuis" <newsgroups@rvelthuis.de> - 2017-04-29 03:09 +0000
      Re: High level language for writing Forth Cecil Bayona <cbayona@cbayona.com> - 2017-04-19 20:11 -0500
    Re: High level language for writing Forth Paul Rubin <no.email@nospam.invalid> - 2017-04-19 19:34 -0700
      Re: High level language for writing Forth Cecil Bayona <cbayona@cbayona.com> - 2017-04-19 23:22 -0500
        Re: High level language for writing Forth Paul Rubin <no.email@nospam.invalid> - 2017-04-19 21:35 -0700
          Re: High level language for writing Forth Melzzzzz <Melzzzzz@zzzzz.com> - 2017-04-20 05:12 +0000
          Re: High level language for writing Forth Cecil Bayona <cbayona@cbayona.com> - 2017-04-20 01:15 -0500
            Re: High level language for writing Forth Paul Rubin <no.email@nospam.invalid> - 2017-04-19 23:25 -0700
            Re: High level language for writing Forth Cecil Bayona <cbayona@cbayona.com> - 2017-04-21 23:12 -0500
              Re: High level language for writing Forth hughaguilar96@gmail.com - 2017-04-21 21:53 -0700
                Re: High level language for writing Forth Cecil Bayona <cbayona@cbayona.com> - 2017-04-22 00:42 -0500
                  Re: High level language for writing Forth Paul Rubin <no.email@nospam.invalid> - 2017-04-21 23:44 -0700
                    Re: High level language for writing Forth Cecil Bayona <cbayona@cbayona.com> - 2017-04-22 03:08 -0500
                  Re: High level language for writing Forth Andrew Haley <andrew29@littlepinkcloud.invalid> - 2017-04-22 04:39 -0500
                    Re: High level language for writing Forth Alex <alex@rivadpm.com> - 2017-04-22 12:37 +0100
                    Re: High level language for writing Forth Cecil Bayona <cbayona@cbayona.com> - 2017-04-22 11:33 -0500
                    Re: High level language for writing Forth Cecil Bayona <cbayona@cbayona.com> - 2017-04-22 14:10 -0500
                  Re: High level language for writing Forth hughaguilar96@gmail.com - 2017-04-22 15:01 -0700
                    Re: High level language for writing Forth Alex <alex@rivadpm.com> - 2017-04-22 23:38 +0100
                      Re: High level language for writing Forth Ilya Tarasov <ilya74.tarasov@gmail.com> - 2017-04-22 16:30 -0700
                        Re: High level language for writing Forth hughaguilar96@gmail.com - 2017-04-22 18:01 -0700
                        Re: High level language for writing Forth Alex <alex@rivadpm.com> - 2017-04-23 09:25 +0100
                          Re: High level language for writing Forth Ilya Tarasov <ilya74.tarasov@gmail.com> - 2017-04-23 06:32 -0700
                            Re: High level language for writing Forth Julian Fondren <julian.fondren@gmail.com> - 2017-04-23 07:36 -0700
                            Re: High level language for writing Forth Alex <alex@rivadpm.com> - 2017-04-24 14:32 +0100
                    Re: High level language for writing Forth Cecil Bayona <cbayona@cbayona.com> - 2017-04-22 18:19 -0500
                      Re: High level language for writing Forth hughaguilar96@gmail.com - 2017-04-22 18:05 -0700
                        Re: High level language for writing Forth Cecil Bayona <cbayona@cbayona.com> - 2017-04-22 21:51 -0500
                    Re: High level language for writing Forth Ron Aaron <rambamist@gmail.com> - 2017-04-23 06:54 +0300
                      Re: High level language for writing Forth Alex <alex@rivadpm.com> - 2017-04-23 09:16 +0100
                        Re: High level language for writing Forth Ron Aaron <rambamist@gmail.com> - 2017-04-23 18:41 +0300
                          Re: High level language for writing Forth Alex <alex@rivadpm.com> - 2017-04-24 14:35 +0100
                      Re: High level language for writing Forth Ilya Tarasov <ilya74.tarasov@gmail.com> - 2017-04-23 06:15 -0700
                Re: High level language for writing Forth Ilya Tarasov <ilya74.tarasov@gmail.com> - 2017-04-22 08:04 -0700
                  Re: High level language for writing Forth Cecil Bayona <cbayona@cbayona.com> - 2017-04-22 11:44 -0500
                    Re: High level language for writing Forth Ilya Tarasov <ilya74.tarasov@gmail.com> - 2017-04-22 12:16 -0700
                Re: High level language for writing Forth Rod Pemberton <NeedNotReplyHere@xrsevnneqk.cem> - 2017-04-22 22:52 -0400
        Re: High level language for writing Forth Ron Aaron <rambamist@gmail.com> - 2017-04-20 07:49 +0300
      Re: High level language for writing Forth albert@cherry.spenarnc.xs4all.nl (Albert van der Horst) - 2017-04-20 19:47 +0200
        Re: High level language for writing Forth Cecil Bayona <cbayona@cbayona.com> - 2017-04-20 15:19 -0500
    Re: High level language for writing Forth Lars Brinkhoff <lars.spam@nocrew.org> - 2017-04-20 08:06 +0200
    Re: High level language for writing Forth Ilya Tarasov <ilya74.tarasov@gmail.com> - 2017-04-20 04:35 -0700
    Re: High level language for writing Forth Cecil Bayona <cbayona@cbayona.com> - 2017-04-25 17:03 -0500
      Re: High level language for writing Forth minforth@arcor.de - 2017-04-26 01:58 -0700
    Re: High level language for writing Forth Cecil Bayona <cbayona@cbayona.com> - 2017-05-13 17:36 -0500
      Re: High level language for writing Forth hughaguilar96@gmail.com - 2017-05-13 18:37 -0700
        Re: High level language for writing Forth Cecil Bayona <cbayona@cbayona.com> - 2017-05-13 20:52 -0500
          Re: High level language for writing Forth hughaguilar96@gmail.com - 2017-05-13 19:25 -0700
            Re: High level language for writing Forth hughaguilar96@gmail.com - 2017-05-15 12:44 -0700
              Re: High level language for writing Forth Cecil Bayona <cbayona@cbayona.com> - 2017-05-15 17:27 -0500
                Re: High level language for writing Forth hughaguilar96@gmail.com - 2017-05-15 19:43 -0700
                  Re: High level language for writing Forth Cecil Bayona <cbayona@cbayona.com> - 2017-05-15 23:55 -0500
                    Re: High level language for writing Forth Mark Wills <markwills1970@gmail.com> - 2017-05-16 01:59 -0700
                  Re: High level language for writing Forth Cecil Bayona <cbayona@cbayona.com> - 2017-05-15 23:58 -0500
      Re: High level language for writing Forth Joel Rees <joel.rees@gmail.com> - 2017-05-15 07:00 -0700
        Re: High level language for writing Forth Cecil Bayona <cbayona@cbayona.com> - 2017-05-15 12:05 -0500

Page 5 of 7 — ← Prev page 1 2 3 4 [5] 6 7  Next page →


#57811

FromAlex <alex@rivadpm.com>
Date2017-04-22 12:37 +0100
Message-ID<odff2u$l34$1@dont-email.me>
In reply to#57801
On 4/22/2017 10:39, Andrew Haley wrote:
> Cecil Bayona <cbayona@cbayona.com> wrote:
>>
>> That why I wish I could see the generated code, it might not make a
>> difference after optimization but I don't have a way of finding out
>> right now,
> 
> Surely you just use -S to get assembly language, like any other
> compiler.  I'll try it...
> 
>   $ go tool compile -S hello-world.go
> 
> "".main t=1 size=170 args=0x0 locals=0x58
>          0x0000 00000 (hello-world.go:9) TEXT    "".main(SB), $88-0
>          0x0000 00000 (hello-world.go:9) MOVQ    (TLS), CX
>          0x0009 00009 (hello-world.go:9) CMPQ    SP, 16(CX)
>          0x000d 00013 (hello-world.go:9) JLS     160
> .... lots more.
> 
> Yes.  Just worked.
> 
> Andrew.
> 

Aha! It's an assembler.

-- 
Alex

[toc] | [prev] | [next] | [standalone]


#57830

FromCecil Bayona <cbayona@cbayona.com>
Date2017-04-22 11:33 -0500
Message-ID<odg0fd$f7t$1@dont-email.me>
In reply to#57801
On 4/22/2017 4:39 AM, Andrew Haley wrote:
> Cecil Bayona <cbayona@cbayona.com> wrote:
>>
>> That why I wish I could see the generated code, it might not make a
>> difference after optimization but I don't have a way of finding out
>> right now,
> 
> Surely you just use -S to get assembly language, like any other
> compiler.  I'll try it...
> 
>   $ go tool compile -S hello-world.go
> 
> "".main t=1 size=170 args=0x0 locals=0x58
>          0x0000 00000 (hello-world.go:9) TEXT    "".main(SB), $88-0
>          0x0000 00000 (hello-world.go:9) MOVQ    (TLS), CX
>          0x0009 00009 (hello-world.go:9) CMPQ    SP, 16(CX)
>          0x000d 00013 (hello-world.go:9) JLS     160
> ... lots more.
> 
> Yes.  Just worked.
> 
> Andrew.
> 
I didn't look at the options with running a compiler by command line and 
yesterday I didn't get much of a chance to work with anything as a lot 
of heavy thunderstorms kept moving through my area and I had to turn off 
all the PCs but not so today so I will take a look after lunch.

I been using an IDE, Microsoft  Visual Code, it may have an option in 
there among the hundreds of options it has.

Since pointer math in any form is not allowed and the Intel chips has 
addressing modes to handle indexing into an array it will be interesting 
to see if the use them.

Thanks

-- 
Cecil - k5nwa

[toc] | [prev] | [next] | [standalone]


#57839

FromCecil Bayona <cbayona@cbayona.com>
Date2017-04-22 14:10 -0500
Message-ID<odg9m2$ehq$1@dont-email.me>
In reply to#57801
On 4/22/2017 4:39 AM, Andrew Haley wrote:
> Cecil Bayona <cbayona@cbayona.com> wrote:
>>
>> That why I wish I could see the generated code, it might not make a
>> difference after optimization but I don't have a way of finding out
>> right now,
> 
> Surely you just use -S to get assembly language, like any other
> compiler.  I'll try it...
> 
>   $ go tool compile -S hello-world.go
> 
> "".main t=1 size=170 args=0x0 locals=0x58
>          0x0000 00000 (hello-world.go:9) TEXT    "".main(SB), $88-0
>          0x0000 00000 (hello-world.go:9) MOVQ    (TLS), CX
>          0x0009 00009 (hello-world.go:9) CMPQ    SP, 16(CX)
>          0x000d 00013 (hello-world.go:9) JLS     160
> ... lots more.
> 
> Yes.  Just worked.
> 
> Andrew.
> 
Just tried it out, was hard to figure out what was what so I surrounded 
the test code with other simple code that can easily be spotted. The 
result is that it did optimize the indexing operation fairly well and 
generated fairly decent code.

But I found a few other things, it's pretty strict when it comes to 
pointers and what one can do and it's very strict about data types and 
their use, sort of like C with some ADA in terms of being very strict.

I'm not sure what to think of it, I did give up on C many years ago 
because it was too lax and allowed me to do things that created nasty 
bugs that were hard to find, I ended using Borland Delphi for many years 
as it was a great development environment that gave heads up on stupid 
mistakes, Go seems to be even more strict.

On the other hand Forth checks next to nothing and I like it that way 
and I've never had a major bug that was not found early on. Being 
interactive, and factoring a lot makes for code that can be tested well 
so one gets it right with no bugs.
-- 
Cecil - k5nwa

[toc] | [prev] | [next] | [standalone]


#57866

Fromhughaguilar96@gmail.com
Date2017-04-22 15:01 -0700
Message-ID<b666be23-6c9c-43f1-aa90-8bd771b7c5f7@googlegroups.com>
In reply to#57783
On Friday, April 21, 2017 at 10:42:37 PM UTC-7, Cecil - k5nwa wrote:
> On 4/21/2017 11:53 PM, hughaguilar96@gmail.com wrote:
> > I wouldn't dismiss Go because of this --- I would expect that incrementing and decrementing an array index would be almost as fast as incrementing and decrementing a pointer --- the difference is like one or two extra instructions, but the instructions may parallelize so they don't actually take any extra time.
> > 
> > This is premature optimization!
> 
> That why I wish I could see the generated code, it might not make a 
> difference after optimization but I don't have a way of finding out 
> right now,

Well, don't worry about it.

My point is that if you want speed, then you need to write in assembly-language. Any high-level language is going to be slow, but if this is just a learning exercise then don't worry about it --- most programs are okay with a slow language, because they aren't doing any heavy-duty processing, and the computer is very fast --- people program in Python and Ruby and are happy with them, although they are very slow.

> > Also, a Forth VM written in any high-level language is going to be significantly slower than generating machine-code with an STC Forth --- so the difference between C and Go in speed doesn't matter --- so long as you don't think that Perl (John Passaniti) or Python (Juergen Pintaske) is a good language to write a Forth VM in, you should get reasonable speed.
> > 
> >> So its back to using C for now and finish what I started, I'm pretty
> >> close anyway with the C code to start testing the VM.
> > 
> > C has a lot of problems of its own --- Anton Ertl complains about this continually --- I wouldn't use C.
> 
> There are few system languages available that generate decent code, 
> C/C++, Pascal, Go, Oberon, and Forth, other higher level languages are 
> way too slow and require massive resources. I own several commercial 
> copies of C/C++, and some old copies of Delphi, and various Forth 
> Systems including Swift, and MPE VFX. C and Forth are the most viable 
> and maybe Go. I like Delphi I dug it out and installed it but my old 
> versions had problems with Windows 10 so I then started looking at Go, 
> C++ is not under consideration. I might try loading Delphi in a Windows 
> 7 Virtual PC and see how that works out tomorrow. Too many choices can 
> be a major problem.

Another choice you might consider is GCC. This language has a lot of features beyond basic C. One of those features is the ability to dedicate registers globally --- this means that your stack pointer can be a register rather than a memory variable --- this can boost the speed considerably!

> > I am learning Go right now. I hadn't considered writing a Forth VM in Go, because I think FASM is better --- I had just been thinking of Go as a practical language for writing programs --- Python is very popular, but it is also very slowwwwww, so Go may eventually replace it as the most supported language available (supported in the sense of having code-libraries).
> 
> I want to use Go for other purposes and I will but it would have been 
> interesting to use this a learning experience, I might still do it 
> anyway after I finish the C code so I have something to compare it 
> against. The whole purpose of this is to have it be easy to move to a 
> new PC without having to deal with a different assembler for each processor.

All computers use 64-bit x86 nowadays. 

Back in the 1990s we had PowerPC and 80486, plus the MC68020 was still going strong, and the StrongARM was used in the Apple Newton and appeared to be the up-and-coming thing. Those days are past --- now all of the 32-bit processors are obsolete and the 64-bit x86 is the only processor used in desktop computers --- the ARM survived as a micro-controller.

> > Forth is just a weird hobby. It is soooooo dead! There are fewer than 20 ANS-Forth programmers in the world, and none of them are writing programs, but instead they spend their time on the Forth-200x mailing list pretending to be leaders. There are fewer than 200 Forth programmers in the world, but most of them are like Ilya Tarasov in that they write their own non-standard Forth system and have only a handful of users, and (unlike Ilya TArasov) they stay away from comp.lang.forth because it is annoying to be attacked by Elizabeth Rather's sycophants who call them stupid and tell lies about them.
> 
> You read any of the articles by Charles Moore or his discussions and he 
> sees Forth as a set of tools that are customized to the needs of the 
> hour, I don't see him nailed to a Standard, he does as he pleases to get 
> the job done. That is how I feel about Forth myself, it's nice to have a 
> standard but it better be a good one or I will ignore it. I'm ignoring 
> it for the most part, I can't stand all this ambiguity in it, I like 
> simplicity.

This is what Ilya Tarasov says --- that Forth is a "methodology" --- at most he wants a set of guidelines for implementing and using Forth, but he doesn't seem interested in a standard. I'm not opposed to this. My MFX didn't conform to any standard, and the MiniForth processor was completely different from any other processor (then and now).

With my Straight Forth I am defining a standard, but I am also saying that the Straight Forth programmers would program in a novice-level manner 98% of the time, and program in an intermediate-level manner 2% of the time, and never program in an advanced-level manner. This is for mundane programming projects --- this is not for advanced programming --- but, advanced-level programmers don't always want to program in an advanced-level manner because most programs don't require this.

> > I should learn a popular language such as Go or Python that people actually use --- nobody considers me to be a programmer right now --- my Forth experience doesn't count for anything in the real world.
> > 
> 
> Poor baby, not being loved. I firmly believe that the only one that can 
> make one happy is oneself, others can help, but most are in the way.

I don't aspire to be loved --- being employed would be nice though.

As long as I can remember, Forth programmers have not been considered to be programmers at all. None of the Forth Inc. books discuss structs, and the ANS-Forth standard does not make any mention of structs. It is generally believed that Forth programmers don't know what structs are, and hence that they aren't programmers at all. It is possible to write FIELD in ANS-Forth (this was one of the first things I wrote in the novice-package), but this is definitely intermediate-level programming --- the novice Forth programmer is not going to figure this out on his own --- and, for the most part, nobody is going to provide him with FIELD or even show an example of Forth code that uses FIELD so he could realize that FIELD exists.

Because FIELD is not in the ANS-Forth standard, there can be different implementations available that behave differently. For example, Forth-200x uses the name FIELD: for some obscure reason (afaik, FIELD has been the name since the 1980s). I challenge any of the comp.lang.forth experts to post code for FIELD here now --- most likely, none of them are able to do so.

Forth programmers have a reputation for being ignoramuses. Here is a typical quote from a Forth-200x committee member:
---------------------------------------------------------------------------
Aside from looking obscure and clever and satisfying the "[x] can do it, why not Forth?" test, what on earth does this buy you? 
---------------------------------------------------------------------------
He is proud of his ignorance! Nobody has the time to teach him what a quotation is. Also, teaching him would be a waste of time, because it is obvious that he is going to refuse to learn. Why did he write an article about quotations and then the only thing he has to say is that he doesn't know what they are for. Obviously, his point is that he believes quotations are utterly useless, and he is not going to be convinced otherwise.

This is why Forth programmers are considered to be arrogant ignoramuses who are unable to learn --- and are considered to be ignorant of the most basic concepts such as structs --- unemployable!

[toc] | [prev] | [next] | [standalone]


#57867

FromAlex <alex@rivadpm.com>
Date2017-04-22 23:38 +0100
Message-ID<odglrl$q4u$1@dont-email.me>
In reply to#57866
On 4/22/2017 23:01, hughaguilar96@gmail.com wrote:
> With my Straight Forth I am defining a standard, but I am also saying
> that the Straight Forth programmers would program in a novice-level
> manner 98% of the time, and program in an intermediate-level manner
> 2% of the time, and never program in an advanced-level manner. This
> is for mundane programming projects --- this is not for advanced
> programming --- but, advanced-level programmers don't always want to
> program in an advanced-level manner because most programs don't
> require this.

This is complete Stalinist brain fart territory.

-- 
Alex

[toc] | [prev] | [next] | [standalone]


#57869

FromIlya Tarasov <ilya74.tarasov@gmail.com>
Date2017-04-22 16:30 -0700
Message-ID<f8a35012-f018-4e24-bec9-46f8fab2586b@googlegroups.com>
In reply to#57867
воскресенье, 23 апреля 2017 г., 1:38:44 UTC+3 пользователь Alex написал:
> On 4/22/2017 23:01, hughaguilar96@gmail.com wrote:
> > With my Straight Forth I am defining a standard, but I am also saying
> > that the Straight Forth programmers would program in a novice-level
> > manner 98% of the time, and program in an intermediate-level manner
> > 2% of the time, and never program in an advanced-level manner. This
> > is for mundane programming projects --- this is not for advanced
> > programming --- but, advanced-level programmers don't always want to
> > program in an advanced-level manner because most programs don't
> > require this.
> 
> This is complete Stalinist brain fart territory.

I see here just an observatin and conslusion. One can dream about thousand wise professionals, waiting for standard full of cool-looking words. In reality, there is no problem with programming languages availability, so nobody can be forced to use Forth just because no other language around. There are a lot of languages. The only possibility to see Forth in action is to provide desired features to focus groups of customers. Many of them are next to programmers, but no pure programmers, and wants a tool for scripting or rapid modelling with interactive mode. I don't know how to calculate this proportion, but 98% may be true. Start to tell them about 300-400 words in standard, custom file IO and floating-point format, and they will leave you.

[toc] | [prev] | [next] | [standalone]


#57871

Fromhughaguilar96@gmail.com
Date2017-04-22 18:01 -0700
Message-ID<4c574352-8275-4117-b58c-0a0b2db838cd@googlegroups.com>
In reply to#57869
On Saturday, April 22, 2017 at 4:30:08 PM UTC-7, Ilya Tarasov wrote:
> воскресенье, 23 апреля 2017 г., 1:38:44 UTC+3 пользователь Alex написал:
> > On 4/22/2017 23:01, hughaguilar96@gmail.com wrote:
> > > With my Straight Forth I am defining a standard, but I am also saying
> > > that the Straight Forth programmers would program in a novice-level
> > > manner 98% of the time, and program in an intermediate-level manner
> > > 2% of the time, and never program in an advanced-level manner. This
> > > is for mundane programming projects --- this is not for advanced
> > > programming --- but, advanced-level programmers don't always want to
> > > program in an advanced-level manner because most programs don't
> > > require this.
> > 
> > This is complete Stalinist brain fart territory.
> 
> I see here just an observatin and conslusion. One can dream about thousand wise professionals, waiting for standard full of cool-looking words. In reality, there is no problem with programming languages availability, so nobody can be forced to use Forth just because no other language around. There are a lot of languages. The only possibility to see Forth in action is to provide desired features to focus groups of customers. Many of them are next to programmers, but no pure programmers, and wants a tool for scripting or rapid modelling with interactive mode. I don't know how to calculate this proportion, but 98% may be true. Start to tell them about 300-400 words in standard, custom file IO and floating-point format, and they will leave you.

Straight Forth is intended to be a way for Forthers to write mundane programs, but allow those programs to be portable --- these are programs typically written in Python, Ruby, etc. --- also, Straight Forth in intended to support Forth cross-compilers, which Python, Ruby, etc. don't support.

It is also worthwhile to make writing these mundane programs easy --- having arrays and chains already available brings most mundane programs within reach of the novice --- if other data-structures are needed, then this will require an intermediate-level programmer.

Straight Forth is not intended to be the last word on Forth. It is intended to be useful 98% of the time. There will always be advanced Forth programmers doing their own thing --- I don't stop them --- I do that too, sometimes.

[toc] | [prev] | [next] | [standalone]


#57890

FromAlex <alex@rivadpm.com>
Date2017-04-23 09:25 +0100
Message-ID<odho82$b6r$1@dont-email.me>
In reply to#57869
On 4/23/2017 00:30, Ilya Tarasov wrote:
> воскресенье, 23 апреля 2017 г., 1:38:44 UTC+3 пользователь Alex 
> написал:
>> On 4/22/2017 23:01, hughaguilar96@gmail.com wrote:
>>> With my Straight Forth I am defining a standard, but I am also 
>>> saying that the Straight Forth programmers would program in a 
>>> novice-level manner 98% of the time, and program in an 
>>> intermediate-level manner 2% of the time, and never program in
>>> an advanced-level manner. This is for mundane programming
>>> projects --- this is not for advanced programming --- but,
>>> advanced-level programmers don't always want to program in an
>>> advanced-level manner because most programs don't require this.
>> 
>> This is complete Stalinist brain fart territory.
> 
> I see here just an observatin and conslusion. One can dream about 
> thousand wise professionals, waiting for standard full of 
> cool-looking words.

This is classic Ilya; most of your posts follow the same pattern. Dream
something up, then knock it down. It's called a straw man.

> In reality, there is no problem with programming languages
> availability, so nobody can be forced to use Forth just because no
> other language around.

Welcome back to planet Earth.

> There are a lot of languages. The only possibility to see Forth in
> action is to provide desired features to focus groups of customers.
> Many of them are next to programmers, but no pure programmers, and
> wants a tool for scripting or rapid modelling with interactive mode.
> I don't know how to calculate this proportion, but 98% may be true.
> Start to tell them about 300-400 words in standard, custom file IO
> and floating-point format, and they will leave you.

Leave you what? Behind? Impressed? Penniless?

-- 
Alex

[toc] | [prev] | [next] | [standalone]


#57902

FromIlya Tarasov <ilya74.tarasov@gmail.com>
Date2017-04-23 06:32 -0700
Message-ID<08b89e69-7282-422a-a4a0-e571c4c913cb@googlegroups.com>
In reply to#57890
воскресенье, 23 апреля 2017 г., 11:25:37 UTC+3 пользователь Alex написал:
> > I see here just an observatin and conslusion. One can dream about 
> > thousand wise professionals, waiting for standard full of 
> > cool-looking words.
> 
> This is classic Ilya; most of your posts follow the same pattern. Dream
> something up, then knock it down. It's called a straw man.

No, this is because most of dreams follow the same pattern. I have one opinion and repeating dreams about Forth future will cause repeating my arguments. In other discussions I'm telling other words.
 
> > In reality, there is no problem with programming languages
> > availability, so nobody can be forced to use Forth just because no
> > other language around.
> 
> Welcome back to planet Earth.

When explain me, how next statement may co-exist in reality:
1. 'We have a Standard and your feature is not compatible'
2. 'Nobody can force you or anyone else to use Standard'
 
1. 'Forth Inc has 40 years of experience in Forth and we see no reasons to change something'
2. 'There are no many of Forth programmers'

> > There are a lot of languages. The only possibility to see Forth in
> > action is to provide desired features to focus groups of customers.
> > Many of them are next to programmers, but no pure programmers, and
> > wants a tool for scripting or rapid modelling with interactive mode.
> > I don't know how to calculate this proportion, but 98% may be true.
> > Start to tell them about 300-400 words in standard, custom file IO
> > and floating-point format, and they will leave you.
> 
> Leave you what? Behind? Impressed? Penniless?

Maybe this is a result of mixing Russian and English idioms. I don't use any translators and simple switching to English in mind when typing messages here. Just imagine you are telling about Forth and issue many many limiting rules, including obsolete ones. 'Can we change this?' - 'No, it is Forth, it is Standard!'. As a result, your possible customer, comes to you after reading about flexible and easy to implement language, will be disappointed, and you will without his money, but satisfied you successfully defend very deep Forth ideas from changing. 

Can you tell YOUR opinion about what should be done next year to make Forth better?

[toc] | [prev] | [next] | [standalone]


#57909

FromJulian Fondren <julian.fondren@gmail.com>
Date2017-04-23 07:36 -0700
Message-ID<7e3c6177-9b43-4f93-84e2-f603b84de11d@googlegroups.com>
In reply to#57902
On Sunday, April 23, 2017 at 8:32:45 AM UTC-5, Ilya Tarasov wrote:
> 
> When explain me, how next statement may co-exist in reality:
> 1. 'We have a Standard and your feature is not compatible'
> 2. 'Nobody can force you or anyone else to use Standard'

Apart from the sheer obviousness of these easily existing in reality?
I feel like there's some fundamental confusion here, on the level of
"wage-work is slavery because if you don't work you'll starve".

> 1. 'Forth Inc has 40 years of experience in Forth and we see no reasons to change something'
> 2. 'There are no many of Forth programmers'

Again, there's no contradiction whatsoever. In practice, 'something'
is usually some specific thing that the speaker offers as the single
reason for #2. Oh if only it had been possible all those years, year
after year, for people to experiment with incompatible extensions or
reworkings of Forth (the joke to be clear is that was so possible that
it happened and keeps happening) -- if only *that*, then Forth would
be popular today!

In reality these are just shysters who guess or have discerned that
their audience is sensitive about its popularity. Once that
discernment is made, every personal goal or axe to grind becomes "the
reason Forth isn't more popular" or "the last hope for Forth to become
more popular". It's tiresome. If you're *not* a shyster, and have some
grand plan, then implement it and talk about how well it went. Talk is
cheap but ten years and five hundred "let's have something like CPAN"
posts still must've cost more than http://theforth.net/ does.

> Just imagine you are telling about Forth and issue many many limiting rules, including obsolete ones. 'Can we change this?' - 'No, it is Forth, it is Standard!'. As a result, your possible customer, comes to you after reading about flexible and easy to implement language, will be disappointed, and you will without his money, but satisfied you successfully defend very deep Forth ideas from changing. 

Change what for example? The 'oppressive' "no, don't do that, do
this" that comes to mind is all oriented towards helping someoone
discover the magic of the language, and not to defend a standard. The
obvious one is using locals -- which are standard, or writing long
mega-functions, against which the standard has no provision. When code
is posted, complaints about non-standard words are usually just "what
does that mean?" Have you ever seen someone attack code having some
envionmental dependency with the same energy they would use to
recommend less use of locals or better factoring?

> Can you tell YOUR opinion about what should be done next year to make Forth better?

Produce a 'framework' for 'ninjas'.

Or less ironically:

Produce a framework for ninjas.

It's like a library but with better documentation, and a better
website.

[toc] | [prev] | [next] | [standalone]


#57991

FromAlex <alex@rivadpm.com>
Date2017-04-24 14:32 +0100
Message-ID<odkuj7$5ne$1@dont-email.me>
In reply to#57902
On 4/23/2017 14:32, Ilya Tarasov wrote:
> воскресенье, 23 апреля 2017 г., 11:25:37 UTC+3 пользователь Alex 
> написал:
>>> I see here just an observatin and conslusion. One can dream about
>>> thousand wise professionals, waiting for standard full of 
>>> cool-looking words.
>> 
>> This is classic Ilya; most of your posts follow the same pattern. 
>> Dream something up, then knock it down. It's called a straw man.
> 
> No, this is because most of dreams follow the same pattern. I have 
> one opinion and repeating dreams about Forth future will cause 
> repeating my arguments. In other discussions I'm telling other 
> words.
> 
>>> In reality, there is no problem with programming languages 
>>> availability, so nobody can be forced to use Forth just because 
>>> no other language around.
>> 
>> Welcome back to planet Earth.
> 
> When explain me, how next statement may co-exist in reality: 1. 'We 
> have a Standard and your feature is not compatible' 2. 'Nobody can 
> force you or anyone else to use Standard'
> 
> 1. 'Forth Inc has 40 years of experience in Forth and we see no 
> reasons to change something' 2. 'There are no many of Forth 
> programmers'

Since you seem think that I'd argue one or the other, and that they 
represent some version of reality, let me point out that they don't; all 
I can tell you is that these made up positions are not worth discussing.

> 
>>> There are a lot of languages. The only possibility to see Forth 
>>> in action is to provide desired features to focus groups of 
>>> customers. Many of them are next to programmers, but no pure 
>>> programmers, and wants a tool for scripting or rapid modelling 
>>> with interactive mode. I don't know how to calculate this 
>>> proportion, but 98% may be true. Start to tell them about
>>> 300-400 words in standard, custom file IO and floating-point
>>> format, and they will leave you.
>> 
>> Leave you what? Behind? Impressed? Penniless?
> 
> Maybe this is a result of mixing Russian and English idioms. I don't 
> use any translators and simple switching to English in mind when 
> typing messages here.

It might help using a translator, since sometimes I'm having difficulty 
with the sense. But that's not a problem here.

> Just imagine you are telling about Forth and issue many many limiting

. ^^^^^^^^^^^^ Here we go again... This is the problem.

> rules, including obsolete ones. 'Can we change this?' - 'No, it is
> Forth, it is Standard!'. As a result, your possible customer, comes
> to you after reading about flexible and easy to implement language,
> will be disappointed, and you will without his money, but satisfied
> you successfully defend very deep Forth ideas from changing.

Another straw man. "Just imagine." Then you knock it down. Well done. 
Your "just imagine" is not what I imagine, not at all.

> 
> Can you tell YOUR opinion about what should be done next year to
> make Forth better?

Not a clue, since I didn't realise it needed to be made better.

-- 
Alex

[toc] | [prev] | [next] | [standalone]


#57868

FromCecil Bayona <cbayona@cbayona.com>
Date2017-04-22 18:19 -0500
Message-ID<odgo7j$19g$1@dont-email.me>
In reply to#57866
On 4/22/2017 5:01 PM, hughaguilar96@gmail.com wrote:
> On Friday, April 21, 2017 at 10:42:37 PM UTC-7, Cecil - k5nwa wrote:
>> On 4/21/2017 11:53 PM, hughaguilar96@gmail.com wrote:
>>> This is premature optimization!
>>
>> That why I wish I could see the generated code, it might not make a
>> difference after optimization but I don't have a way of finding out
>> right now,
> 
> Well, don't worry about it.
> 
> My point is that if you want speed, then you need to write in assembly-language. Any high-level language is going to be slow, but if this is just a learning exercise then don't worry about it --- most programs are okay with a slow language, because they aren't doing any heavy-duty processing, and the computer is very fast --- people program in Python and Ruby and are happy with them, although they are very slow.
> 

I expect it to be slower, but there is no point in making it worse by 
picking a poor implementation language. I wrote a small simple program 
using some of the code to implement stacks and Go did well, better than 
my C compiler for MSP430 CPUs so I won't worry about it and just use it.

>>> Also, a Forth VM written in any high-level language is going to be significantly slower than generating machine-code with an STC Forth --- so the difference between C and Go in speed doesn't matter --- so long as you don't think that Perl (John Passaniti) or Python (Juergen Pintaske) is a good language to write a Forth VM in, you should get reasonable speed.
>>>
>>>> So its back to using C for now and finish what I started, I'm pretty
>>>> close anyway with the C code to start testing the VM.
>>>
>>> C has a lot of problems of its own --- Anton Ertl complains about this continually --- I wouldn't use C.
>>

After looking at the Go generated code it's optimizing fairly well so I 
will write the VM in Go as a programming exercise.

> 
> Another choice you might consider is GCC. This language has a lot of features beyond basic C. One of those features is the ability to dedicate registers globally --- this means that your stack pointer can be a register rather than a memory variable --- this can boost the speed considerably!
> 

GCC is Gnu C/C++ compiler, it's probably the reason why Anton curses at 
C, it has a lot of bugs that they don't bother fixing and optimization 
sometimes deletes needed code, so I will skip that.

>> I want to use Go for other purposes and I will but it would have been
>> interesting to use this a learning experience, I might still do it
>> anyway after I finish the C code so I have something to compare it
>> against. The whole purpose of this is to have it be easy to move to a
>> new PC without having to deal with a different assembler for each processor.
> 
> All computers use 64-bit x86 nowadays.
> 

This project is meant as a tool for embedded CPUs, the Windows version 
is possible core for a tethered Forth for various non Intel CPUs that is 
simple and easy to change.


>>
>> Poor baby, not being loved. I firmly believe that the only one that can
>> make one happy is oneself, others can help, but most are in the way.
> 
> I don't aspire to be loved --- being employed would be nice though.

Pulling your leg, I'm quite aware on your positions on the various 
personalities here, it's not you are shy about it.

> 
> As long as I can remember, Forth programmers have not been considered to be programmers at all. None of the Forth Inc. books discuss structs, and the ANS-Forth standard does not make any mention of structs. It is generally believed that Forth programmers don't know what structs are, and hence that they aren't programmers at all. It is possible to write FIELD in ANS-Forth (this was one of the first things I wrote in the novice-package), but this is definitely intermediate-level programming --- the novice Forth programmer is not going to figure this out on his own --- and, for the most part, nobody is going to provide him with FIELD or even show an example of Forth code that uses FIELD so he could realize that FIELD exists.
> 
> Because FIELD is not in the ANS-Forth standard, there can be different implementations available that behave differently. For example, Forth-200x uses the name FIELD: for some obscure reason (afaik, FIELD has been the name since the 1980s). I challenge any of the comp.lang.forth experts to post code for FIELD here now --- most likely, none of them are able to do so.
> 

Structures, Unions, database code, Networking Stacks, Multi-Tasking, and 
various data types   are all vital parts to programming, quite a few 
people are unaware of why they are useful which is OK since you can get 
around without them sometimes but when they make that the only 
acceptable way to look at things they lost me, not that they care. 
Ignorance is not a virtue.


-- 
Cecil - k5nwa

[toc] | [prev] | [next] | [standalone]


#57872

Fromhughaguilar96@gmail.com
Date2017-04-22 18:05 -0700
Message-ID<3b4b8c32-70d8-46cb-a280-ef8675940a26@googlegroups.com>
In reply to#57868
On Saturday, April 22, 2017 at 4:19:14 PM UTC-7, Cecil - k5nwa wrote:
> On 4/22/2017 5:01 PM, hughaguilar96@gmail.com wrote:
> > All computers use 64-bit x86 nowadays.
> 
> This project is meant as a tool for embedded CPUs, the Windows version 
> is possible core for a tethered Forth for various non Intel CPUs that is 
> simple and easy to change.

I was not aware that Go was used in micro-controllers.

[toc] | [prev] | [next] | [standalone]


#57877

FromCecil Bayona <cbayona@cbayona.com>
Date2017-04-22 21:51 -0500
Message-ID<odh4kt$oln$1@dont-email.me>
In reply to#57872
On 4/22/2017 8:05 PM, hughaguilar96@gmail.com wrote:
> On Saturday, April 22, 2017 at 4:19:14 PM UTC-7, Cecil - k5nwa wrote:
>> On 4/22/2017 5:01 PM, hughaguilar96@gmail.com wrote:
>>> All computers use 64-bit x86 nowadays.
>>
>> This project is meant as a tool for embedded CPUs, the Windows version
>> is possible core for a tethered Forth for various non Intel CPUs that is
>> simple and easy to change.
> 
> I was not aware that Go was used in micro-controllers.
> 

Its available for ARM, ARM64, Intel X64/i386 CPUs, PPC64, Mips and Mips 
64, and IBM s390. In any case if I write it in Go it will be a compiler 
tethered to a embedded target. The initial version will be for Windows, 
after that I thing I will make it generate code for a J1 FPGA CPU.

-- 
Cecil - k5nwa

[toc] | [prev] | [next] | [standalone]


#57882

FromRon Aaron <rambamist@gmail.com>
Date2017-04-23 06:54 +0300
Message-ID<odh8bm$rt$1@dont-email.me>
In reply to#57866

On 23/04/2017 1:01, hughaguilar96@gmail.com wrote:

> My point is that if you want speed, then you need to write in assembly-language

Incorrect.

A poorly-written ASM program will not out-perform a well-written (choose
your language) program.

A great ASM program using a poor algorithm will not out-perform (for
long) a poorly written HLL program using an excellent algorithm.

A complex program in ASM may take many (many!) times longer to write
than an equivalent HLL program.  So even if theoretically the ASM
program would run faster, your customer will long since have fired you
for lack of delivery.

There is more than one variable to consider.

[toc] | [prev] | [next] | [standalone]


#57889

FromAlex <alex@rivadpm.com>
Date2017-04-23 09:16 +0100
Message-ID<odhnm7$6f9$1@dont-email.me>
In reply to#57882
On 4/23/2017 04:54, Ron Aaron wrote:
> 
> 
> On 23/04/2017 1:01, hughaguilar96@gmail.com wrote:
> 
>> My point is that if you want speed, then you need to write in assembly-language
> 
> Incorrect.
> 
> A poorly-written ASM program will not out-perform a well-written (choose
> your language) program.
> 
> A great ASM program using a poor algorithm will not out-perform (for
> long) a poorly written HLL program using an excellent algorithm.
> 
> A complex program in ASM may take many (many!) times longer to write
> than an equivalent HLL program.  So even if theoretically the ASM
> program would run faster, your customer will long since have fired you
> for lack of delivery.
> 
> There is more than one variable to consider.
> 

Yes. In particular, there is a tendency for some to write & post code, 
and demand that others do so, without too much consideration to design, 
maintenance, applicability etc.

Our resident Ruby/Scheme/Python obsessive is a case in point. 
WJ/waxman/Robert L or whatever handle he's using this week is a 
minimalist; he finds an esoteric problem, a library to call, and writes 
some fantastically arcane incantation in a single line so he can declare 
victory. "In Forth?" being his signature flourish.

Hugh is at the opposite end of the spectrum; volume and yardage counts 
here. Piles of code, endlessly repeated, A sneering "In Forth?" is 
replaced by novel's worth of hollering and shouting at everyone that 
they're sales clowns because they're not advanced programmers liek wot 
he is coz novice code innit.

Neither is a programmer, but neither can see it.

-- 
Alex

[toc] | [prev] | [next] | [standalone]


#57910

FromRon Aaron <rambamist@gmail.com>
Date2017-04-23 18:41 +0300
Message-ID<odihp0$65f$1@dont-email.me>
In reply to#57889

On 23/04/2017 11:16, Alex wrote:
> On 4/23/2017 04:54, Ron Aaron wrote:

>> There is more than one variable to consider.
>>
> 
> Yes. In particular, there is a tendency for some to write & post code,
> and demand that others do so, without too much consideration to design,
> maintenance, applicability etc.

Indeed.  Not that I have anything against ASM.  I like it a lot; but
it's not an automatic 'win', and can often be more of a problem than its
worth.

> Our resident Ruby/Scheme/Python obsessive is a case in point.
> WJ/waxman/Robert L or whatever handle he's using this week is a
> minimalist; he finds an esoteric problem, a library to call, and writes
> some fantastically arcane incantation in a single line so he can declare
> victory. "In Forth?" being his signature flourish.
> 
> Hugh is at the opposite end of the spectrum; volume and yardage counts
> here. Piles of code, endlessly repeated, A sneering "In Forth?" is
> replaced by novel's worth of hollering and shouting at everyone that
> they're sales clowns because they're not advanced programmers liek wot
> he is coz novice code innit.
> 
> Neither is a programmer, but neither can see it.

You left off werty.

Programming's about a lot more than the tool de jour.  But we know that...

[toc] | [prev] | [next] | [standalone]


#57992

FromAlex <alex@rivadpm.com>
Date2017-04-24 14:35 +0100
Message-ID<odkuo9$5ne$2@dont-email.me>
In reply to#57910
On 4/23/2017 16:41, Ron Aaron wrote:
> You left off werty.

God, now that brings back bad memories.

-- 
Alex

[toc] | [prev] | [next] | [standalone]


#57900

FromIlya Tarasov <ilya74.tarasov@gmail.com>
Date2017-04-23 06:15 -0700
Message-ID<586db1cd-6205-424d-8070-863f7269456a@googlegroups.com>
In reply to#57882
воскресенье, 23 апреля 2017 г., 6:54:30 UTC+3 пользователь Ron Aaron написал:
> On 23/04/2017 1:01, hughaguilar96@gmail.com wrote:
> 
> > My point is that if you want speed, then you need to write in assembly-language
> 
> Incorrect.
> 
> A poorly-written ASM program will not out-perform a well-written (choose
> your language) program.
> 
> A great ASM program using a poor algorithm will not out-perform (for
> long) a poorly written HLL program using an excellent algorithm.
> 
> A complex program in ASM may take many (many!) times longer to write
> than an equivalent HLL program.  So even if theoretically the ASM
> program would run faster, your customer will long since have fired you
> for lack of delivery.
> 
> There is more than one variable to consider.

Both opinions has a good base. For low level code, skilled programmer, familiar with CPU architecture and assembler, can avoid overhead, that possible may be added by HLL. When moving high, even a skilled programmer cannot pay enough attention to track all aspects of his program, and resulting code probably will be poor architectured, as you mentioned. Assembler can provide many amazing abilities such as tiny code size, manually controlled register scheduling, CPU extensions (SSE provides x4 speed when coded manually and placed properly) etc. Hovewer, assembler coding should be started only after completing full specification.

[toc] | [prev] | [next] | [standalone]


#57821

FromIlya Tarasov <ilya74.tarasov@gmail.com>
Date2017-04-22 08:04 -0700
Message-ID<89226aec-0880-41d0-8e97-633d4c4bee1f@googlegroups.com>
In reply to#57775
суббота, 22 апреля 2017 г., 7:53:32 UTC+3 пользователь hughag...@gmail.com написал:
> 
> Also, a Forth VM written in any high-level language is going to be significantly slower than generating machine-code with an STC Forth --- so the difference between C and Go in speed doesn't matter --- so long as you don't think that Perl (John Passaniti) or Python (Juergen Pintaske) is a good language to write a Forth VM in, you should get reasonable speed.

Perl and Python are scripting languages (as well as Ruby, Lua and Tcl). Forth has strong positions in scripting, so writing Forth on assembler will give us scripting language with pretty fast code, and writing Forth on C/C++/C# etc will give us scripting language embedded in more complex software project.
 
> I am learning Go right now. I hadn't considered writing a Forth VM in Go, because I think FASM is better --- I had just been thinking of Go as a practical language for writing programs --- Python is very popular, but it is also very slowwwwww, so Go may eventually replace it as the most supported language available (supported in the sense of having code-libraries).

I don't work with Go so far, but I see it may be a base like C* languages. I.e. if you need more scripting features in your Go project, Forth is one of the best solution.
 
> Forth is just a weird hobby. It is soooooo dead! There are fewer than 20 ANS-Forth programmers in the world, and none of them are writing programs, but instead they spend their time on the Forth-200x mailing list pretending to be leaders. There are fewer than 200 Forth programmers in the world, but most of them are like Ilya Tarasov in that they write their own non-standard Forth system and have only a handful of users, and (unlike Ilya TArasov) they stay away from comp.lang.forth because it is annoying to be attacked by Elizabeth Rather's sycophants who call them stupid and tell lies about them.

Attackers... heh :) I wonder to see a really hard attack here.

> I should learn a popular language such as Go or Python that people actually use --- nobody considers me to be a programmer right now --- my Forth experience doesn't count for anything in the real world.

I see a good way here - we should count Forth as an approach to write programs, not as a 'pure' language. Base languages here are C/Go/Assembler, and Forth is a tool, just like a collections of classes or framework. In this case you can go to your customer and say 'I know a better way to solve your problem - you need a scripting language inside your big project to make it flexible, and I know how to add this scripting language'.

[toc] | [prev] | [next] | [standalone]


Page 5 of 7 — ← Prev page 1 2 3 4 [5] 6 7  Next page →

Back to top | Article view | comp.lang.forth


csiph-web