Groups | Search | Server Info | Keyboard shortcuts | Login | Register [http] [https] [nntp] [nntps]
Groups > comp.lang.forth > #57613 > unrolled thread
| Started by | Cecil Bayona <cbayona@cbayona.com> |
|---|---|
| First post | 2017-04-19 18:32 -0500 |
| Last post | 2017-05-15 12:05 -0500 |
| Articles | 20 on this page of 122 — 21 participants |
Back to article view | Back to comp.lang.forth
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 →
| From | Alex <alex@rivadpm.com> |
|---|---|
| Date | 2017-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]
| From | Cecil Bayona <cbayona@cbayona.com> |
|---|---|
| Date | 2017-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]
| From | Cecil Bayona <cbayona@cbayona.com> |
|---|---|
| Date | 2017-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]
| From | hughaguilar96@gmail.com |
|---|---|
| Date | 2017-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]
| From | Alex <alex@rivadpm.com> |
|---|---|
| Date | 2017-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]
| From | Ilya Tarasov <ilya74.tarasov@gmail.com> |
|---|---|
| Date | 2017-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]
| From | hughaguilar96@gmail.com |
|---|---|
| Date | 2017-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]
| From | Alex <alex@rivadpm.com> |
|---|---|
| Date | 2017-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]
| From | Ilya Tarasov <ilya74.tarasov@gmail.com> |
|---|---|
| Date | 2017-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]
| From | Julian Fondren <julian.fondren@gmail.com> |
|---|---|
| Date | 2017-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]
| From | Alex <alex@rivadpm.com> |
|---|---|
| Date | 2017-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]
| From | Cecil Bayona <cbayona@cbayona.com> |
|---|---|
| Date | 2017-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]
| From | hughaguilar96@gmail.com |
|---|---|
| Date | 2017-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]
| From | Cecil Bayona <cbayona@cbayona.com> |
|---|---|
| Date | 2017-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]
| From | Ron Aaron <rambamist@gmail.com> |
|---|---|
| Date | 2017-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]
| From | Alex <alex@rivadpm.com> |
|---|---|
| Date | 2017-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]
| From | Ron Aaron <rambamist@gmail.com> |
|---|---|
| Date | 2017-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]
| From | Alex <alex@rivadpm.com> |
|---|---|
| Date | 2017-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]
| From | Ilya Tarasov <ilya74.tarasov@gmail.com> |
|---|---|
| Date | 2017-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]
| From | Ilya Tarasov <ilya74.tarasov@gmail.com> |
|---|---|
| Date | 2017-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