Path: csiph.com!usenet.pasdenom.info!dedibox.gegeweb.org!gegeweb.eu!nntpfeed.proxad.net!feeder1-2.proxad.net!proxad.net!feeder2-2.proxad.net!npeer.de.kpn-eurorings.net!npeer-ng0.de.kpn-eurorings.net!feed.news.schlund.de!schlund.de!news.online.de!not-for-mail From: Bernd Paysan Newsgroups: comp.lang.forth Subject: Re: i finally get the messes caused by re using code Date: Thu, 18 Apr 2013 00:06:57 +0200 Organization: 1&1 Internet AG Lines: 81 Message-ID: References: <65310ea9-5d1c-459d-87de-1c9d9a3e239f@googlegroups.com> <604631fd-80c0-42c9-9d15-ca653b4597c1@s9g2000vba.googlegroups.com> <6ec1a49f-9999-4da6-8106-b84e8a188cac@googlegroups.com> NNTP-Posting-Host: p5dcd6396.dip0.t-ipconnect.de Mime-Version: 1.0 Content-Type: text/plain; charset="ISO-8859-1" Content-Transfer-Encoding: 7Bit X-Trace: online.de 1366236418 20876 93.205.99.150 (17 Apr 2013 22:06:58 GMT) X-Complaints-To: abuse@einsundeins.com NNTP-Posting-Date: Wed, 17 Apr 2013 22:06:58 +0000 (UTC) User-Agent: KNode/4.10 Xref: csiph.com comp.lang.forth:21719 rickman wrote: > On 4/17/2013 2:00 PM, Bernd Paysan wrote: > Is it possible that the emperor wears no clothes? How do we know that > Forth can make arbitrary teams of programmers more productive or more > importantly, save a company money. The two are not necessarily linked. > There are more to the costs of a company than how much it costs to > create a line of code. I've met people with various levels of experience during my carreer, and one way or another was supposed to teach them Forth, so that they could get going on the stuff I - the obnoxious Forth guy - was doing. The worst thing the bosses imagined happened: They became preachers of this "religion"! The last one was the guy who had to take over my project when I left the company. Before I left, this was something management allowed me, the weird unmanageable guy to do, but for sure, nobody sane in the company would bet on this, and rather use an ARM Cortex M0 and C, so I thought they would quickly abandond this approach when I left. They didn't, they had a product to finish, so they had to assign a guy to maintain my code. And he did, and the result was completely different: They thought about adding a lot more code to the program, doing other stuff as well (something I had suggested before, but that was frowned upon). One boss, used to my performance in Forth, thought they were struggling hard, and pretty slow. They themselves were convinced that their task was much easier with Forth than it was with the tools they had used before. What you need for newbies to be successful is some code base they can read, and some expert they can ask, for basic design patterns. We know that people who come to Forth without exposure to the coding culture produce really really bad code. Forth is more than just RPN, and it needs teaching, as it is significantly different from the mainstream programming languages. I'm not sure what to say about academia. IMHO, academia is too often an emperor with no clothes, especially the school-style academia which offers you some courses in mainstream technology, but no deeper insight. The current people coming out of academia and getting a job at Google or so are easy to observe: Their code is open source. It's these accumulated layers of abstractions that they got taught in academia, and which causes software to become a maintenance nightmare bloat. Google wants to drop 4.5 million lines of code from Chrome now, just by removing a few abstraction layers... they won't even touch any code that does real work. There are of course people who will not like Forth at all. Some people like complexity for its own sake. IIRC, Anton Ertl's boss says that Forth is not even a real language, as it lacks one important property of a language: grammar. This is like saying that Chinese is not a real language or so, because it lacks the typical grammar rules you are used from Latin. Now, no serious linguist would say that, because Chinese is the most popular language by native speakers - but they really invented some sort of Chinese "grammar" which actually doesn't exist, just to fit this language in their system of grammar rules derived from Latin. BTW Chinese people: I sometimes get mails from them, e.g. one guy in a Shanghai university discovered my b16. He didn't know about literate programming, he didn't know about Forth, he was doing an FPGA project, and by doing so, found some links to my processor. He was pretty angry about his university that they don't teach all that, because he thought that was cool stuff. Literate programming comes from a certain Stanford professor, who is very, very difficult to ignore in computer science; though I have found people in the bay area, programming computers, who didn't know who Donald Who? was... and Microsoft Word is the only program for technical documents... Many of the success stories we know about Forth became success stories because one lonely guy could do things hordes of engineers couldn't with their traditional approaches, and it was important for the company to get things going. Think of Open Firmware. Of course, Sun developed SPARC for Unix, and it was used for Unix. But they Unix guys couldn't boot their system, they couldn't even debug it, and they shifted the blame over to the hardware guys, who couldn't prove them wrong, apart from one observation: Mitch Bradley's Forth did run on a fresh SPARC prototype mainboard... You can't say that all these C guys at Sun were stupid idiots. That's not the explanation why they failed, or rather: why they were so slow. -- Bernd Paysan "If you want it done right, you have to do it yourself" http://bernd-paysan.de/