Groups | Search | Server Info | Keyboard shortcuts | Login | Register [http] [https] [nntp] [nntps]
Groups > comp.lang.forth > #41049
| From | Bernd Paysan <bernd.paysan@gmx.de> |
|---|---|
| Newsgroups | comp.lang.forth |
| Subject | Re: Forth programming style... |
| Date | 2015-08-02 00:22 +0200 |
| Organization | A noiseless patient Spider |
| Message-ID | <mpjgo5$511$1@dont-email.me> (permalink) |
| References | (1 earlier) <37e85f47-5cf3-4033-9e9d-bfc31c582edc@googlegroups.com> <1a2e838f-e3f7-4f99-a321-9a02c1d6d6cb@googlegroups.com> <84a2fcaf-807e-46a0-8c38-e68515a83c67@googlegroups.com> <654e3729-7fce-4a04-a707-a0d5f7ab6050@googlegroups.com> <55357ad6-5a4b-4ef6-b46b-7d05f9c5b3cf@googlegroups.com> |
Mark Wills wrote: > I want to say something about phrases. I believe the concept of > phrases exist in Forth, much more than other programming languages. > I believe that very experienced Forth programmers can analyse code > and recognise common phrases and understand what they are doing at > an almost unconcious level, similar to an epxerienced music reader > reading a stave. I believe Elizabeth can do this. I, alas, cannot. > I have to read each word and conciously compute what is happening. > I have to execute the code in my head, word by word. I believe > Elizabeth and some of the others here (Stephen, Anton, Bernd, > Hugh) do not. They understand it at a more unconcious, instinctual > level. Experience really pays off in Forth. For my part, yes. However, for me, that did not take long to get there. I'm talking about the few days to get sufficiently comfortable with the stack, as Elizabeth writes. Of course, you still get better with more experience. If you avoid getting comfortable with the stack, you'll just never get comfortable with the stack. One thing I did at the start of learning Forth, and I'd recommend that for everybody: I did read others code, especially the sources of the system I've been using at that time (VolksForth). Each word had a stack comment and a shadow block describing what it does. There were no locals, and the shadow block entry had to be as short as the word itself or it wouldn't fit (usually, it was smaller). You actually have to read others code to start really understanding a language. If you write your own code and read it soon afterwards, you remember your thinking behind the code, so you still don't have to understand your code. After 6 months, you have forgotten that, and if the code then is unreadable, it is because you never could read your code. So by reading code from others, you'll not fall into the trap of thinking you can read it, because you had just written it. You really have to read it, it's not your code. And if the code has only a little small comment, you can't avoid reading the code itself. If it has a lot of comments, you read the comments, and actually avoid reading the code, too. The code is in a very different language. It is much more comfortable to skip learning that different language if you find a (lazy) way how to. The biggest power of our brain lies in the unconscious parts. And they can learn a lot. Push all the hard work to the unconscious parts, and do the easy stuff conscious. When Elizabeth talks about "riding a bicycle", I don't know how much she actually knows about that. I like the analogy, but most people learn to ride when they are pretty young. And then they forget that experience. I remember very little about that, most of it involved a parking lot with not many cars, but it was going a little downhill, and my mother pushed me to get up to speed so I could learn riding at a speed where my bike was pretty much stable. I, after I bought a recumbent bike, have the experience of learning how to ride a bicycle as adult. That's a process I remember, and as adults learn considerably slower than prepubescent childs, I not only remember it, it also took long enough to understand what happened (not just an afternoon as my childhood experience took). After about 1000km, everything was fully automated, and the bicycle at whatever speed just did what I wanted it to do. Magically, because no conscious decision of how to turn the handlebar was made anymore. You want it, the bike does it, and the middleware in your brain just works. That's how to ride a bike works. When you learn a language (regardless of human or computer language), you should get to the same point: a considderable part of the thinking must be automated. You don't have the time to translate word by word into your target language, then rearrange the words using the grammar rules, and then say them. This takes way too long. Automate the important things, and you can speak fluently. Even with a limited vocabulary and grammar. For some fun how important automating things is, watch some of the late 70s Jackie Chan movies of the "Drunken Master" epoch. It's all about learning Kung Fu. Kung Fu is such a stunning martial art, because the practicers learn many complicated movements by heart. That takes an awful lot of time, and it's the reason why a master in his 50s can easily beat a much stronger learner in his 20s (and that's someone who already learns for 10 years or more!). -- Bernd Paysan "If you want it done right, you have to do it yourself" net2o ID: kQusJzA;7*?t=uy@X}1GWr!+0qqp_Cn176t4(dQ* http://bernd-paysan.de/
Back to comp.lang.forth | Previous | Next — Previous in thread | Next in thread | Find similar | Unroll thread
Forth programming style... Mux <Yvo.Zoer@gmail.com> - 2015-07-21 15:40 -0700
Re: Forth programming style... Julian Fondren <ayrnieu@gmail.com> - 2015-07-21 17:28 -0700
Re: Forth programming style... Julian Fondren <ayrnieu@gmail.com> - 2015-07-21 17:39 -0700
Re: Forth programming style... Mark Wills <markwills1970@gmail.com> - 2015-07-22 00:48 -0700
Re: Forth programming style... "Elizabeth D. Rather" <erather@forth.com> - 2015-07-21 22:25 -1000
Re: Forth programming style... onewingedshark@gmail.com - 2015-07-22 15:13 -0700
Re: Forth programming style... "Elizabeth D. Rather" <erather@forth.com> - 2015-07-22 13:24 -1000
Re: Forth programming style... stephen@mpeforth.com (Stephen Pelc) - 2015-07-23 08:28 +0000
Re: Forth programming style... Raimond Dragomir <raimond.dragomir@gmail.com> - 2015-07-22 02:38 -0700
Re: Forth programming style... Mark Wills <markwills1970@gmail.com> - 2015-07-22 03:14 -0700
Re: Forth programming style... humptydumpty <ouatubi@gmail.com> - 2015-07-22 03:45 -0700
Re: Forth programming style... "Elizabeth D. Rather" <erather@forth.com> - 2015-07-22 08:37 -1000
Re: Forth programming style... Paul Rubin <no.email@nospam.invalid> - 2015-07-22 12:51 -0700
Re: Forth programming style... "Elizabeth D. Rather" <erather@forth.com> - 2015-07-22 10:14 -1000
Re: Forth programming style... anton@mips.complang.tuwien.ac.at (Anton Ertl) - 2015-07-23 06:23 +0000
Re: Forth programming style... hughaguilar96@gmail.com - 2015-07-23 16:59 -0700
Re: Forth programming style... hughaguilar96@gmail.com - 2015-07-23 20:18 -0700
Re: Forth programming style... "HAA" <someone@microsoft.com> - 2015-07-28 21:06 +1000
Re: Forth programming style... "Alex McDonald" <blog@rivadpm.com> - 2015-07-28 12:38 +0100
Re: Forth programming style... "HAA" <someone@microsoft.com> - 2015-07-23 00:02 +1000
Re: Forth programming style... hughaguilar96@gmail.com - 2015-07-22 21:21 -0700
Re: Forth programming style... "WJ" <w_a_x_man@yahoo.com> - 2015-07-23 09:05 +0000
Re: Forth programming style... hughaguilar96@gmail.com - 2015-07-23 16:47 -0700
Re: Forth programming style... Mark Wills <markwills1970@gmail.com> - 2015-07-24 01:24 -0700
Re: Forth programming style... franck.bensusan@gmail.com - 2015-07-24 03:48 -0700
Re: Forth programming style... Paul Rubin <no.email@nospam.invalid> - 2015-07-24 18:15 -0700
Re: Forth programming style... "HAA" <someone@microsoft.com> - 2015-08-01 13:21 +1000
Re: Forth programming style... hughaguilar96@gmail.com - 2015-07-22 21:48 -0700
Re: Forth programming style... Raimond Dragomir <raimond.dragomir@gmail.com> - 2015-07-22 22:28 -0700
Re: Forth programming style... Bernd Paysan <bernd.paysan@gmx.de> - 2015-08-02 00:43 +0200
Re: Forth programming style... Bernd Paysan <bernd.paysan@gmx.de> - 2015-08-02 00:22 +0200
Re: Forth programming style... hughaguilar96@gmail.com - 2015-08-01 16:41 -0700
Re: Forth programming style... "Rod Pemberton" <boo@fasdfrewar.cdm> - 2015-08-01 22:01 -0400
Re: Forth programming style... anton@mips.complang.tuwien.ac.at (Anton Ertl) - 2015-08-02 05:50 +0000
Re: Forth programming style... Bernd Paysan <bernd.paysan@gmx.de> - 2015-08-02 16:33 +0200
Re: Forth programming style... "Rod Pemberton" <boo@fasdfrewar.cdm> - 2015-08-01 22:04 -0400
Re: Forth programming style... "Elizabeth D. Rather" <erather@forth.com> - 2015-08-02 08:54 -0500
Re: Forth programming style... "Rod Pemberton" <boo@fasdfrewar.cdm> - 2015-08-03 04:51 -0400
Re: Forth programming style... "Elizabeth D. Rather" <erather@forth.com> - 2015-08-03 17:36 -0500
Re: Forth programming style... anton@mips.complang.tuwien.ac.at (Anton Ertl) - 2015-07-22 10:16 +0000
Re: Forth programming style... mhx@iae.nl - 2015-07-22 10:02 -0700
Re: Forth programming style... anton@mips.complang.tuwien.ac.at (Anton Ertl) - 2015-07-22 10:09 +0000
Re: Forth programming style... Syd Rumpo <usenet@nononono.co.uk> - 2015-07-22 12:16 +0100
Re: Forth programming style... Raimond Dragomir <raimond.dragomir@gmail.com> - 2015-07-22 07:59 -0700
Re: Forth programming style... glidedog@gmail.com - 2015-07-23 04:24 -0700
Re: Forth programming style... "Ala'a Alawi" <amalawi@gmail.com> - 2015-07-23 19:32 -0700
Re: Forth programming style... hughaguilar96@gmail.com - 2015-07-23 21:33 -0700
Re: Forth programming style... borota@gmail.com - 2015-07-23 22:09 -0700
Re: Forth programming style... hughaguilar96@gmail.com - 2015-07-23 22:57 -0700
Re: Forth programming style... "Ala'a Alawi" <amalawi@gmail.com> - 2015-07-24 09:26 -0700
Re: Forth programming style... "Ala'a Alawi" <amalawi@gmail.com> - 2015-07-24 09:26 -0700
csiph-web