Re: Re: objects and forth
bishop <[email protected]> Sun, 08 Feb 2009 12:51:24 -0700
| Newsgroups | gmane.comp.lang.forth.colorforth |
|---|---|
| Message-ID | <op.uo1tfygddib1ju@administrator-desktop> |
Would it be possible, before this list descends like so many others into a flame war, to emphasize the positive and avoid as much as possible the temptation to tell folks 1) "Don't" do this-or-that and 2) why this-or-that is an unacceptable approach. It all tends toward the futility of trying to teach a pig (e.g., me) to sing: it wastes your time and it annoys the pig. Thanks, Geof On Sun, 08 Feb 2009 09:40:18 -0700, Aleksej Saushev <[email protected]> wrote: > > Hello! > > Don't top-post, please. It breaks the flow and is hard to clean up. > > "John R. Strohm" <[email protected]> writes: > >> From: "Aleksej Saushev" <[email protected]> >>> "John R. Strohm" <[email protected]> writes: >>> >>>> Learning C first will probably do some damage. >>>> >>>> Learning Smalltalk first will probably do some serious damage. >>> >>> Which way? I don't believe that. >>> >>> I'm more inclined to believe that learning Smalltalk first will cure >>> you >>> from Forth DIY disease. At least with Smalltalk you get complete >>> system, >>> usable "mind amplifier." >>> >>>> Learning LISP first, if you learn it RIGHT (i.e., from SICP), >>>> will probably help a lot more than it hurts. >>>> >>>> Recall that there are two categories of computer languages: >>>> LISP, and everything else. >>> >>> And how much does Smalltalk differ from Lisp in conceptual simplicity >>> of >>> base language? >>> >>> I'm pretty sure, that if you learn Smalltalk right, it will help more >>> than learning Forth rigth. Just compare Squeak to equally licensed >>> Forth, >>> pForth or FICL. Feel the difference. Compare it to Gforth and feel it >>> again. >> >> The question was whether learning C, Smalltalk, or LISP before >> attempting to learn FORTH would help or hurt. > > The question was not this, as you could easily see above, if you didn't > top-post. > There were two more particular questions: > 1. Which way does Smalltalk do serious damage? > 2. Why Lisp is considered that different from Smalltalk? > >> Smalltalk is, as near as I can tell without spending a LOT of >> time learning it in detail, inextricably tangled up in twisted >> weave of classes. None of C, LISP, or FORTH have that >> particular feature. All can be extended with classes. C has two >> main ways, Objective C and C++. LISP does it with CLOS. FORTH, >> you roll your own, but look at CREATE-DOES> for a starting >> point. > > I can tell you for sure, that Forth is inextricable set of words > without any classification and even relations inside. All of > implementations known to me put almost everything into FORTH > wordlist. In Smalltalk you can learn relations between objects > and classes, in Forth you can't do it, all you can is to resort > to external tools, not written in Forth in most frequent case, > and external documentation, which may be outdated or otherwise > not reflect the reality. > >> It is not clear to me that requiring the student to master many >> intricacies of object-oriented design and programming is all >> that likely to help him learn the mindset of a language that >> explicitly does not include object orientation. > > There isn't much complexity in object-oriented design. Most problems > exist in your head only, because you have learnt another ways to > structure programs or haven't learnt it at all, or you have learnt too > many ways of being object-oriented (late vs. early binding, class vs. > prototype) and you simply can't focus on single one, because you can do > any of them in Forth. When teaching anyone, it is important to focus > attention on one single way of doing things, otherwise you don't reach > any useful effect. > >> On The Gripping Hand, as Niven & Pournelle fans say, the RIGHT >> way to learn FORTH is to grab a copy of Leo Brodie's wonderful >> book "Starting FORTH", and work through it. Follow that up with >> "Thinking FORTH", by the same author. > > Like I pointed above: Smalltalk enables novice to write practically > useful programs right away, you can't tell that about Forth, Forth > isn't even near to the same level. > > -- Using Opera's revolutionary e-mail client: http://www.opera.com/mail/