Groups | Search | Server Info | Keyboard shortcuts | Login | Register [http] [https] [nntp] [nntps]
Groups > comp.lang.forth > #4626 > unrolled thread
| Started by | TS <thinksquared@gmail.com> |
|---|---|
| First post | 2011-08-06 20:43 -0700 |
| Last post | 2011-08-12 20:53 +0200 |
| Articles | 14 on this page of 54 — 21 participants |
Back to article view | Back to comp.lang.forth
Forth Performance Question TS <thinksquared@gmail.com> - 2011-08-06 20:43 -0700
Re: Forth Performance Question "Rod Pemberton" <do_not_have@noavailemail.cmm> - 2011-08-07 01:02 -0400
Re: Forth Performance Question Chris Hinsley <chris.hinsley@gmail.com> - 2011-08-16 12:09 +0100
Re: Forth Performance Question stephenXXX@mpeforth.com (Stephen Pelc) - 2011-08-16 14:08 +0000
Re: Forth Performance Question mhx@iae.nl (Marcel Hendrix) - 2011-08-07 07:45 +0200
Re: Forth Performance Question anton@mips.complang.tuwien.ac.at (Anton Ertl) - 2011-08-07 16:18 +0000
Re: Forth Performance Question Bruno Gauthier <bgauthier@free.fr> - 2011-08-07 07:53 +0200
Re: Forth Performance Question Julian Fondren <ayrnieu@gmail.com> - 2011-08-07 01:01 -0500
Re: Forth Performance Question Albert van der Horst <albert@spenarnc.xs4all.nl> - 2011-08-07 12:50 +0000
Re: Forth Performance Question stephenXXX@mpeforth.com (Stephen Pelc) - 2011-08-07 11:46 +0000
Re: Forth Performance Question Arnold Doray <thinksquared@gmail.com> - 2011-08-10 17:03 +0000
Re: Forth Performance Question Julian Fondren <ayrnieu@gmail.com> - 2011-08-10 13:35 -0500
Re: Forth Performance Question Arnold Doray <thinksquared@gmail.com> - 2011-08-11 15:05 +0000
Re: Forth Performance Question anton@mips.complang.tuwien.ac.at (Anton Ertl) - 2011-08-11 16:26 +0000
Re: Forth Performance Question Arnold Doray <thinksquared@gmail.com> - 2011-08-12 08:15 +0000
Re: Forth Performance Question "Elizabeth D. Rather" <erather@forth.com> - 2011-08-11 22:29 -1000
Re: Forth Performance Question Arnold Doray <thinksquared@gmail.com> - 2011-08-12 10:09 +0000
Re: Forth Performance Question Julian Fondren <ayrnieu@gmail.com> - 2011-08-12 08:15 -0500
Re: Forth Performance Question anton@mips.complang.tuwien.ac.at (Anton Ertl) - 2011-08-12 09:31 +0000
Re: Forth Performance Question crc <charles.childers@gmail.com> - 2011-08-11 10:27 -0700
Re: Forth Performance Question Julian Fondren <ayrnieu@gmail.com> - 2011-08-11 13:18 -0500
Re: Forth Performance Question "Elizabeth D. Rather" <erather@forth.com> - 2011-08-11 12:00 -1000
Re: Forth Performance Question Howerd <howerdo@yahoo.co.uk> - 2011-08-11 15:13 -0700
Re: Forth Performance Question Charles Childers <crc_nospam@retroforth.org> - 2011-08-11 20:52 -0400
Re: Forth Performance Question "Rod Pemberton" <do_not_have@noavailemail.cmm> - 2011-08-12 02:19 -0400
Re: Forth Performance Question Julian Fondren <ayrnieu@gmail.com> - 2011-08-12 02:10 -0500
Re: Forth Performance Question "Elizabeth D. Rather" <erather@forth.com> - 2011-08-11 21:48 -1000
Re: Forth Performance Question "Elizabeth D. Rather" <erather@forth.com> - 2011-08-11 21:41 -1000
Re: Forth Performance Question Hugh Aguilar <hughaguilar96@yahoo.com> - 2011-08-23 18:52 -0700
Re: Forth Performance Question Charles Childers <crc_nospam@retroforth.org> - 2011-08-10 23:33 -0400
Re: Forth Performance Question Ron Aaron <rambamist@gmail.com> - 2011-08-11 08:59 +0300
Re: Forth Performance Question Arnold Doray <thinksquared@gmail.com> - 2011-08-11 13:48 +0000
Re: Forth Performance Question Charles Childers <crc@retroforth.org> - 2011-08-11 10:30 -0400
Re: Forth Performance Question Ron Aaron <rambamist@gmail.com> - 2011-08-11 08:46 +0300
Re: Forth Performance Question arc <arc@vorsicht-bissig.de> - 2011-08-12 12:20 +0000
Re: Forth Performance Question Arnold Doray <thinksquared@gmail.com> - 2011-08-12 13:59 +0000
Re: Forth Performance Question stephenXXX@mpeforth.com (Stephen Pelc) - 2011-08-12 15:11 +0000
Re: Forth Performance Question Arnold Doray <thinksquared@gmail.com> - 2011-08-12 17:49 +0000
Re: Forth Performance Question stephenXXX@mpeforth.com (Stephen Pelc) - 2011-08-12 19:38 +0000
Re: Forth Performance Question "Elizabeth D. Rather" <erather@forth.com> - 2011-08-12 12:41 -1000
Re: Forth Performance Question Arnold Doray <thinksquared@gmail.com> - 2011-08-13 03:35 +0000
Re: Forth Performance Question "Elizabeth D. Rather" <erather@forth.com> - 2011-08-12 17:52 -1000
Re: Forth Performance Question Paul Rubin <no.email@nospam.invalid> - 2011-08-12 23:55 -0700
Re: Forth Performance Question Albert van der Horst <albert@spenarnc.xs4all.nl> - 2011-08-14 09:01 +0000
Re: Forth Performance Question Paul Rubin <no.email@nospam.invalid> - 2011-08-14 01:36 -0700
Re: Forth Performance Question Arnold Doray <thinksquared@gmail.com> - 2011-08-15 01:43 +0000
Re: Forth Performance Question Hugh Aguilar <hughaguilar96@yahoo.com> - 2011-08-15 16:59 -0700
Re: Forth Performance Question Mark Wills <markrobertwills@yahoo.co.uk> - 2011-08-16 03:25 -0700
Re: Forth Performance Question Arnold Doray <thinksquared@gmail.com> - 2011-08-16 11:22 +0000
Re: Forth Performance Question Hugh Aguilar <hughaguilar96@yahoo.com> - 2011-08-16 14:37 -0700
Re: Forth Performance Question Arnold Doray <thinksquared@gmail.com> - 2011-08-19 14:11 +0000
Re: Forth Performance Question Hugh Aguilar <hughaguilar96@yahoo.com> - 2011-08-22 19:52 -0700
Re: Forth Performance Question Zbiggy <zbigniew2011REMOVE@gmail.REMOVE.com> - 2011-08-13 02:28 +0200
Re: Forth Performance Question Zbiggy <zbigniew2011REMOVE@gmail.REMOVE.com> - 2011-08-12 20:53 +0200
Page 3 of 3 — ← Prev page 1 2 [3]
| From | Arnold Doray <thinksquared@gmail.com> |
|---|---|
| Date | 2011-08-13 03:35 +0000 |
| Message-ID | <j24rdb$p4h$1@dont-email.me> |
| In reply to | #4796 |
On Fri, 12 Aug 2011 12:41:23 -1000, Elizabeth D. Rather wrote: > It's very difficult to write a book that's good at being a basic > introduction to a language and also takes on advanced programming topics > like networking or writing web servers. One has to walk before one can > run. I'm afraid that's just not true for other languages. For example, consider the "The Java Handbook" a really old book by Patrick Naughton for Java v1, one of the first out, which walks the user through a functional web server towards the end of the book. It also walks the user through a functional, painting applet with clone brushes. Or O'Reilly's wonderful (and free) OCaml book, which has *numerous* realistic and interesting examples - eg a Basic interpreter. This is also not a new book. Or Paul Hudak's "The Haskell School of Expression: Learning Functional Programming through Multimedia", which teaches Haskell by creating a DSL embedded in Haskell. Or Conrad Barski's "Land of Lisp", which teaches CL through game programming. (Even Leo Brodie's book ends with 3 interesting examples.) These books teach language X from scratch, using interesting examples (either standalone or a running example), with increasing complexity. I'm guessing that for embedded development (currently Forth's main stronghold, and the focus of commercial Forth organizations like MPE and Forth Inc) this approach is unimportant at best or a distraction at worst. Fair enough. But for general application development, IMO this pedagogical approach is crucial, since it helps beginners to both learn the language and build something useful. For this latter to happen, you really need well documented libraries (either native to Forth or from the host OS), since it will take too long to just "roll your own". Which I suppose is what you imply in your comment.
[toc] | [prev] | [next] | [standalone]
| From | "Elizabeth D. Rather" <erather@forth.com> |
|---|---|
| Date | 2011-08-12 17:52 -1000 |
| Message-ID | <V7ydnXaGc4tuadjTnZ2dnUVZ_gSdnZ2d@supernews.com> |
| In reply to | #4804 |
On 8/12/11 5:35 PM, Arnold Doray wrote: > On Fri, 12 Aug 2011 12:41:23 -1000, Elizabeth D. Rather wrote: > >> It's very difficult to write a book that's good at being a basic >> introduction to a language and also takes on advanced programming topics >> like networking or writing web servers. One has to walk before one can >> run. > > I'm afraid that's just not true for other languages. > > For example, consider the "The Java Handbook" a really old book by > Patrick Naughton for Java v1, one of the first out, which walks the user > through a functional web server towards the end of the book. It also > walks the user through a functional, painting applet with clone brushes. [Other good examples snipped] > (Even Leo Brodie's book ends with 3 interesting examples.) > > These books teach language X from scratch, using interesting examples > (either standalone or a running example), with increasing complexity. > > I'm guessing that for embedded development (currently Forth's main > stronghold, and the focus of commercial Forth organizations like MPE and > Forth Inc) this approach is unimportant at best or a distraction at > worst. Fair enough. > > But for general application development, IMO this pedagogical approach is > crucial, since it helps beginners to both learn the language and build > something useful. > > For this latter to happen, you really need well documented libraries > (either native to Forth or from the host OS), since it will take too long > to just "roll your own". Which I suppose is what you imply in your > comment. I agree that examples are useful. FORTH, Inc.'s approach is to include a number of examples with our products, oriented towards the kinds of applications they are targeted for. For example, SwiftForth for Windows includes many examples involving Windows features such as graphics, use of DLLs for various functions, etc., as well as more generic examples of desktop computing. SwiftX, the cross-compiler for the embedded market, includes sample applications controlling the boards shipped with each system. Java, your first example, is specifically designed for web services, so it makes sense for any book on Java to offer similar examples. To some extent that is also true of the others you mention. However, Forth as a basic language is very general. It is also, as you have noted, different in many ways from languages derived from the Fortran/Algol tradition, so the text has more work to do at the primer level. That is why FORTH, Inc., at least, focuses on providing examples appropriate to the target market for each of our products, rather than in the books. Cheers, Elizabeth -- ================================================== Elizabeth D. Rather (US & Canada) 800-55-FORTH FORTH Inc. +1 310.999.6784 5959 West Century Blvd. Suite 700 Los Angeles, CA 90045 http://www.forth.com "Forth-based products and Services for real-time applications since 1973." ==================================================
[toc] | [prev] | [next] | [standalone]
| From | Paul Rubin <no.email@nospam.invalid> |
|---|---|
| Date | 2011-08-12 23:55 -0700 |
| Message-ID | <7xbovtpzpv.fsf@ruckus.brouhaha.com> |
| In reply to | #4804 |
Arnold Doray <thinksquared@gmail.com> writes: > Or O'Reilly's wonderful (and free) OCaml book, which has *numerous* > realistic and interesting examples - eg a Basic interpreter. This is also > not a new book. > > Or Paul Hudak's "The Haskell School of Expression: Learning Functional > Programming through Multimedia", which teaches Haskell by creating a DSL > embedded in Haskell. If you're reading books like those, I don't understand why Forth is giving you any trouble. You just have to accept that it's a very low level language, like assembler. In fact for your purposes it's probably unsuitable, except as an exercise. Embedded stuff really is Forth's niche these days. If you want to write EDSL's on bigger machines, you probably want Haskell or Lisp depending on whether you want a static type system.
[toc] | [prev] | [next] | [standalone]
| From | Albert van der Horst <albert@spenarnc.xs4all.nl> |
|---|---|
| Date | 2011-08-14 09:01 +0000 |
| Message-ID | <lpwudo.920@spenarnc.xs4all.nl> |
| In reply to | #4804 |
In article <j24rdb$p4h$1@dont-email.me>, Arnold Doray <thinksquared@gmail.com> wrote: >On Fri, 12 Aug 2011 12:41:23 -1000, Elizabeth D. Rather wrote: > >> It's very difficult to write a book that's good at being a basic >> introduction to a language and also takes on advanced programming topics >> like networking or writing web servers. One has to walk before one can >> run. > >I'm afraid that's just not true for other languages. I don't think Elizabeth wanted to imply that it has not been done, or that it isn't a worthy goal. > >For example, consider the "The Java Handbook" a really old book by >Patrick Naughton for Java v1, one of the first out, which walks the user >through a functional web server towards the end of the book. It also >walks the user through a functional, painting applet with clone brushes. > >Or O'Reilly's wonderful (and free) OCaml book, which has *numerous* >realistic and interesting examples - eg a Basic interpreter. This is also >not a new book. > >Or Paul Hudak's "The Haskell School of Expression: Learning Functional >Programming through Multimedia", which teaches Haskell by creating a DSL >embedded in Haskell. > >Or Conrad Barski's "Land of Lisp", which teaches CL through game >programming. > >(Even Leo Brodie's book ends with 3 interesting examples.) > >These books teach language X from scratch, using interesting examples >(either standalone or a running example), with increasing complexity. I saved this list. These are probably very valuable books. <SNIP> Groetjes Albert -- -- Albert van der Horst, UTRECHT,THE NETHERLANDS Economic growth -- being exponential -- ultimately falters. albert@spe&ar&c.xs4all.nl &=n http://home.hccnet.nl/a.w.m.van.der.horst
[toc] | [prev] | [next] | [standalone]
| From | Paul Rubin <no.email@nospam.invalid> |
|---|---|
| Date | 2011-08-14 01:36 -0700 |
| Message-ID | <7xvcu0tmnf.fsf@ruckus.brouhaha.com> |
| In reply to | #4854 |
Albert van der Horst <albert@spenarnc.xs4all.nl> writes: > I saved this list. These are probably very valuable books. You should add Learn You A Haskell for Great Good: http://learnyouahaskell.com RWH is a little more advanced: http://book.realworldhaskell.org Both are readable online gratis.
[toc] | [prev] | [next] | [standalone]
| From | Arnold Doray <thinksquared@gmail.com> |
|---|---|
| Date | 2011-08-15 01:43 +0000 |
| Message-ID | <j29tke$2df$1@dont-email.me> |
| In reply to | #4861 |
On Sun, 14 Aug 2011 01:36:36 -0700, Paul Rubin wrote: > Albert van der Horst <albert@spenarnc.xs4all.nl> writes: >> I saved this list. These are probably very valuable books. > > You should add Learn You A Haskell for Great Good: > http://learnyouahaskell.com A fun, easy introduction, but a little thin on examples, IMO. I missed out "Practical Common Lisp": http://www.gigamonkeys.com/book/ (readable online) which has these examples: A Spam Filter Parsing Binary Files An ID3 Parser Web Programming with AllegroServe An MP3 Database A Shoutcast Server An MP3 Browser An HTML Generation Library, the Interpreter An HTML Generation Library, the Compiler
[toc] | [prev] | [next] | [standalone]
| From | Hugh Aguilar <hughaguilar96@yahoo.com> |
|---|---|
| Date | 2011-08-15 16:59 -0700 |
| Message-ID | <fc11b7ff-798b-49ac-9008-921f54dd9a04@h14g2000yqd.googlegroups.com> |
| In reply to | #4905 |
On Aug 14, 7:43 pm, Arnold Doray <thinksqua...@gmail.com> wrote: > On Sun, 14 Aug 2011 01:36:36 -0700, Paul Rubin wrote: > > Albert van der Horst <alb...@spenarnc.xs4all.nl> writes: > >> I saved this list. These are probably very valuable books. > > > You should add Learn You A Haskell for Great Good: > >http://learnyouahaskell.com > > A fun, easy introduction, but a little thin on examples, IMO. > > I missed out "Practical Common Lisp":http://www.gigamonkeys.com/book/ > (readable online) which has these examples: > > A Spam Filter > Parsing Binary Files > An ID3 Parser > Web Programming with AllegroServe > An MP3 Database > A Shoutcast Server > An MP3 Browser > An HTML Generation Library, the Interpreter > An HTML Generation Library, the Compiler I don't think that looking at example programs is all that useful for learning. If you do want Forth example programs though, I have several in my novice package. For the most part, I recommend just diving in with an application program of your own. If you don't know how to write something, look for a useful word in the ANS-Forth document or look for an applicable tool in the novice package. Don't port a program that you have already written in another C, or you will end up writing C in Forth. It is okay to port a Lisp program though, because writing Lisp in Forth is not a bad way to be a Forther. For the most part though, I would recommend writing a program that is new to you (and hopefully interesting). How about this: write a program to generate PostScript to print out a nomogram for calculating parallel resistance. You can use my slide- rule program as a guide, as that is similar. You can learn some PostScript this way too! I definitely recommend against "studying" a language by reading books, prior to writing any program --- that will just bore you to death --- you'll end up becoming another Gavino and boring all of us with questions like: "Could Forth be used to fly a rocket to Mars?" --- "When will Forth replace SQL?" --- etc..
[toc] | [prev] | [next] | [standalone]
| From | Mark Wills <markrobertwills@yahoo.co.uk> |
|---|---|
| Date | 2011-08-16 03:25 -0700 |
| Message-ID | <4e716532-dbc6-467c-875b-290d18915dc9@o11g2000yql.googlegroups.com> |
| In reply to | #4956 |
On Aug 16, 12:59 am, Hugh Aguilar <hughaguila...@yahoo.com> wrote: > On Aug 14, 7:43 pm, Arnold Doray <thinksqua...@gmail.com> wrote: > > > > > > > > > > > On Sun, 14 Aug 2011 01:36:36 -0700, Paul Rubin wrote: > > > Albert van der Horst <alb...@spenarnc.xs4all.nl> writes: > > >> I saved this list. These are probably very valuable books. > > > > You should add Learn You A Haskell for Great Good: > > >http://learnyouahaskell.com > > > A fun, easy introduction, but a little thin on examples, IMO. > > > I missed out "Practical Common Lisp":http://www.gigamonkeys.com/book/ > > (readable online) which has these examples: > > > A Spam Filter > > Parsing Binary Files > > An ID3 Parser > > Web Programming with AllegroServe > > An MP3 Database > > A Shoutcast Server > > An MP3 Browser > > An HTML Generation Library, the Interpreter > > An HTML Generation Library, the Compiler > > I don't think that looking at example programs is all that useful for > learning. If you do want Forth example programs though, I have several > in my novice package. > > For the most part, I recommend just diving in with an application > program of your own. If you don't know how to write something, look > for a useful word in the ANS-Forth document or look for an applicable > tool in the novice package. Don't port a program that you have already > written in another C, or you will end up writing C in Forth. It is > okay to port a Lisp program though, because writing Lisp in Forth is > not a bad way to be a Forther. For the most part though, I would > recommend writing a program that is new to you (and hopefully > interesting). > > How about this: write a program to generate PostScript to print out a > nomogram for calculating parallel resistance. You can use my slide- > rule program as a guide, as that is similar. You can learn some > PostScript this way too! > > I definitely recommend against "studying" a language by reading books, > prior to writing any program --- that will just bore you to death --- > you'll end up becoming another Gavino and boring all of us with > questions like: "Could Forth be used to fly a rocket to Mars?" --- > "When will Forth replace SQL?" --- etc.. I think books and example code help to get you up and running, and usually, once you have got that initial leg-up, you'll be off on your own. Using Forth as an example, I don't think many people would come up with the classical Forth arrays solution (using CREATE ALLOT etc) independantly just by studying the list of available words. Something more substantial is needed to get the paradigms of the particular language across, especially in the case of Forth, which is very different from any other language that I have encountered. I think I wouldn't have stood a chance without Brodie. It was only when I read that that things started to fall into place! Mark
[toc] | [prev] | [next] | [standalone]
| From | Arnold Doray <thinksquared@gmail.com> |
|---|---|
| Date | 2011-08-16 11:22 +0000 |
| Message-ID | <j2djtr$2bg$1@dont-email.me> |
| In reply to | #4978 |
On Tue, 16 Aug 2011 03:25:14 -0700, Mark Wills wrote: > I think books and example code help to get you up and running, and > usually, once you have got that initial leg-up, you'll be off on your > own. > > Using Forth as an example, I don't think many people would come up with > the classical Forth arrays solution (using CREATE ALLOT etc) > independantly just by studying the list of available words. Something > more substantial is needed to get the paradigms of the particular > language across, especially in the case of Forth, which is very > different from any other language that I have encountered. I think I > wouldn't have stood a chance without Brodie. It was only when I read > that that things started to fall into place! > Well put. For Lisp / functional languages it might be using map/folds effectively. For Haskell, using lazy evaluation to advantage. For Java/C++, design patterns. While there is certainly a place for primers that get the newbie off the ground on syntax, there is definitely also a place for books that do a lot more. IMO this is done most effectively in the context of a realistic/modern example application. I don't see many (any?) books doing that for Forth. Without this help, most programmers encountering Forth or perhaps even using it would not see it much more than a glorified assembly language.
[toc] | [prev] | [next] | [standalone]
| From | Hugh Aguilar <hughaguilar96@yahoo.com> |
|---|---|
| Date | 2011-08-16 14:37 -0700 |
| Message-ID | <11c1363f-c6ee-453d-a772-eeec2c18ddfc@s2g2000vby.googlegroups.com> |
| In reply to | #4981 |
On Aug 16, 5:22 am, Arnold Doray <thinksqua...@gmail.com> wrote: > On Tue, 16 Aug 2011 03:25:14 -0700, Mark Wills wrote: > > I think books and example code help to get you up and running, and > > usually, once you have got that initial leg-up, you'll be off on your > > own. > > > Using Forth as an example, I don't think many people would come up with > > the classical Forth arrays solution (using CREATE ALLOT etc) > > independantly just by studying the list of available words. Something > > more substantial is needed to get the paradigms of the particular > > language across, especially in the case of Forth, which is very > > different from any other language that I have encountered. I think I > > wouldn't have stood a chance without Brodie. It was only when I read > > that that things started to fall into place! > > Well put. Implementing defining words (including arrays) with CREATE DOES> is non-intuitive because it is a bad design. Implementing defining words with :NAME is much more intuitive. You first write code for a single instance of your data type. Your data is stored in a global variable (defined with CREATE ALLOT) and your colon words directly access that variable. After you get this working, then you wonder how this could be implemented as a defining word such that you can generate multiple instances of that data type, possibly with variations in the literals used inside of the colon words. This is pretty easy; you convert all of your colon words into :NAME words and you convert all of the code in the colon words into code that compiles code (use the XXX, words, as well as strings given to EVALUATE). As for the literals, they become local variables in the defining word, and you give these to LIT, or LIT+, or whatever. In my novice package I have a defining word WBUF for ring buffers. Also, in the WBUF.4TH file I have an earlier version written as colon words and supporting only a single instance. The early version was written to help me figure out the algorithm, and I knew from the get go that I would eventually rewrite this as a defining word so that it would be useful. You get to see both steps of the process though, from the simple single-instance implementation to the more useful multiple- instance defining word implementation. I think that my approach is very intuitive. A person first writes functions manually, and then writes functions that generate functions automatically. People would be able to figure this out on their own --- if their minds hadn't been already corrupted by Brodie and his CREATE DOES> defining words. The danger of reading books about programming is that you come to believe that the solution presented is *the* solution, and your brain just shuts down so that you are unable to think any further on the problem, and you fail to see the obvious intuitive solution. > For Lisp / functional languages it might be using map/folds effectively. > For Haskell, using lazy evaluation to advantage. For Java/C++, design > patterns. While there is certainly a place for primers that get the > newbie off the ground on syntax, there is definitely also a place for > books that do a lot more. IMO this is done most effectively in the > context of a realistic/modern example application. I don't see many > (any?) books doing that for Forth. > > Without this help, most programmers encountering Forth or perhaps even > using it would not see it much more than a glorified assembly language. That is not a bad way to see Forth --- that is how I saw Forth all through the late 1980s and 1990s --- only within the last decade have I begun to think of Forth as a high-level language, and I have yet to determine if this is a useful way to think of Forth (considering that we already have an abundance of high-level languages available including Lisp). If you are going to program micro-controllers, which is the principle domain of Forth, then you are okay to continue indefinitely thinking of Forth as an overgrown macro-assembler. Also, as a practical matter, the few jobs in Forth that are available will expect you to think of Forth this way --- mostly they are going to expect you to know electronics (and this is largely why I'm not employed as a Forth programmer anymore; because I don't know anything about electronics).
[toc] | [prev] | [next] | [standalone]
| From | Arnold Doray <thinksquared@gmail.com> |
|---|---|
| Date | 2011-08-19 14:11 +0000 |
| Message-ID | <j2lquh$1bl$1@dont-email.me> |
| In reply to | #4997 |
On Tue, 16 Aug 2011 14:37:15 -0700, Hugh Aguilar wrote: > That is not a bad way to see Forth --- that is how I saw Forth all > through the late 1980s and 1990s --- I'm not saying it isn't. But surely not the only way? > only within the last decade have I begun to think of Forth as a high > level language, and I have yet to determine if this is a useful way to What made you change your point of view? And why are you still undecided even after 10 years?
[toc] | [prev] | [next] | [standalone]
| From | Hugh Aguilar <hughaguilar96@yahoo.com> |
|---|---|
| Date | 2011-08-22 19:52 -0700 |
| Message-ID | <5f66a2a4-b2c4-43b8-ad08-d8791e20d8fa@s35g2000prm.googlegroups.com> |
| In reply to | #5064 |
On Aug 19, 8:11 am, Arnold Doray <thinksqua...@gmail.com> wrote: > On Tue, 16 Aug 2011 14:37:15 -0700, Hugh Aguilar wrote: > > That is not a bad way to see Forth --- that is how I saw Forth all > > through the late 1980s and 1990s --- > > I'm not saying it isn't. But surely not the only way? It is not the only way --- there is never only one way to do any job (except perhaps picking your nose, and even then you get a choice of fingers). > > only within the last decade have I begun to think of Forth as a high > > level language, and I have yet to determine if this is a useful way to > > What made you change your point of view? And why are you still undecided > even after 10 years? Because I have yet to see a desktop Forth program that wouldn't have been better written in Lisp (it is pretty tough for *any* language to beat Lisp for desktop programming) --- on the other hand, of course, I don't expect to ever see Lisp on a micro-controller. I really think that Forthers should stick with programming micro- controllers and stop mucking around in the desktop world --- better to be good at one's bailiwick than a jack of all trades and a master of none. The problem, of course, is that micro-controller programmers also write desktop programs, especially programs that work with data that comes from or goes to the micro-controller. There is a desire to use the same language for both high and low in order to share libraries and generally minimize how much has to be learned. If I owned a programming shop though, I think that I would use two languages, one (Forth) for the micro-controller and one for the desktop computer. The only desktop program that I would write in Forth, would be the cross- compiler for the micro-controller (in the case of STAAPL, that was written in Scheme rather than Forth, although I think that I would stick with Forth).
[toc] | [prev] | [next] | [standalone]
| From | Zbiggy <zbigniew2011REMOVE@gmail.REMOVE.com> |
|---|---|
| Date | 2011-08-13 02:28 +0200 |
| Message-ID | <slrnj4bosv.8f8.zbigniew2011REMOVE@Tichy.myhome.org> |
| In reply to | #4783 |
In comp.lang.forth, Arnold Doray wrote:
> Some things I didn't like:
> Nothing on network programming. Nothing on the existing opensource Forth
> libraries, and their use. The application examples (Dairy/PhoneBook) are
> neither interesting nor realistic. Perhaps a tiny Forth web server? Or a
> HTML code documenter for Forth (like javadoc)? Or a game? Or implementing
> a simple Ethernet packet protocol, like the one in Circuit Cellar
> magazine? Your overall approach is to introduce words, but leave it to
> the reader to do something with it. The book doesn't seem to impart to
> the reader much about good Forth technique. Not much on string
> processing. You don't teach how to write usable libraries.
Reading the above, I'm wondering, perhaps 4tH
( http://thebeez.home.xs4all.nl/4tH/ ) will better suit your needs then?
--
...but I'm ready to learn ('bout) of the power of Forth
[toc] | [prev] | [next] | [standalone]
| From | Zbiggy <zbigniew2011REMOVE@gmail.REMOVE.com> |
|---|---|
| Date | 2011-08-12 20:53 +0200 |
| Message-ID | <slrnj4b59g.327.zbigniew2011REMOVE@Tichy.myhome.org> |
| In reply to | #4776 |
In comp.lang.forth, Arnold Doray wrote:
> Most people learning a new programming language would
> implicitly ask themselves "how do I do X in this language?"
>
> In my own experience, it seems that people learn best by analogy,
> mentally mapping what they know into the unknown.
IMHO it is wrong approach. Such way you will be still creating C-programs,
with the only difference, that they will be written using Forth-words.
Therefore neither you'll explore C-potential - because you won't be using
C-compiler - nor the Forth potential, because it still won't be
Forth-programm, although is has been created using Forth-compiler.
After (first) lecture of "Thinking Forth" I think, that there's a need for
a serious "mental switch" - and not for looking for (more or less exact)
analogies to the things known already.
Of course, you can have your own, different way of learning.
--
...but I'm ready to learn ('bout) of the power of Forth
[toc] | [prev] | [standalone]
Page 3 of 3 — ← Prev page 1 2 [3]
Back to top | Article view | comp.lang.forth
csiph-web