Path: csiph.com!usenet.pasdenom.info!aioe.org!.POSTED!not-for-mail From: "Rod Pemberton" Newsgroups: comp.lang.forth Subject: Re: Forth programming style... Date: Sat, 01 Aug 2015 22:04:32 -0400 Organization: Aioe.org NNTP Server Lines: 55 Message-ID: References: <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> NNTP-Posting-Host: n4wpt9zq8xR26Ttf9mo2BA.user.speranza.aioe.org Mime-Version: 1.0 Content-Type: text/plain; charset=iso-8859-1; format=flowed; delsp=yes Content-Transfer-Encoding: 7bit X-Complaints-To: abuse@aioe.org User-Agent: Opera Mail/12.16 (Linux) X-Notice: Filtered by postfilter v. 0.8.2 Xref: csiph.com comp.lang.forth:41056 On Wed, 22 Jul 2015 06:14:25 -0400, 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. ? Do you mean the language is more like English than algebra? ... > 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. > Well, I've only coded my Forth system in Forth, which Ms. Rather dismisses as mostly non-standard Forth coding. The solutions for some of the system words are rather abstruse. It's unlikely that I would do what they do if I ever coded a "normal" Forth application. It'd be too cryptic or wouldn't "flow" easily or be elegant or fast, etc. When coding in C, the C I use today is very minimal compared to that which I used years ago. Even then, I was far from fully using C's functionality. I.e., most of the C language isn't really needed, especially almost all of the C library. It's mostly decoration or work reduction for the lazy or stupid ... So, from my perspective, programming is more like solving a jigsaw puzzle or geometry problem or using Lego's to construct something or playing Tetris slowly. You have a large bunch of pieces that can be put together or used in different ways to solve your problem. You attempt your basic solution or design in your head first to reject sure failures, then you move to implement it in physical reality. It doesn't have to work, at first. It's just the initial outline of your solution. If I had never solved a Rubik's cube, I might view Forth as frustrating as solving a Rubik's the first time. However, having solved Rubik's cube many times (without cheating or learning any moves from books), I know there are only a small handful of different actual combinations. With a programming language, there can be a nearly infinite number of solutions. So, over time, I moved away from recommended C coding styles and techniques and developed the code techniques which work best for me. Of course, you need to solve a wide range of problems in different manners, sometimes repeatedly, to decide what works and what doesn't. Rod Pemberton -- Scientists now say we'll experience a mini-ice in 2030. So, I guess we need more global warming today ...