Groups | Search | Server Info | Keyboard shortcuts | Login | Register [http] [https] [nntp] [nntps]
Groups > comp.lang.forth > #15556
| From | Bernd Paysan <bernd.paysan@gmx.de> |
|---|---|
| Newsgroups | comp.lang.forth |
| Subject | Re: Forth as a polarising language |
| Date | 2012-09-09 15:57 +0200 |
| Organization | 1&1 Internet AG |
| Message-ID | <4730306.fNe2lVOm3c@sunwukong.fritz.box> (permalink) |
| References | (11 earlier) <7xk3w58rwq.fsf@ruckus.brouhaha.com> <42098575.CBZ8BYJVEi@sunwukong.fritz.box> <7xzk5148ba.fsf@ruckus.brouhaha.com> <9166513.gd9qQuK4mJ@sunwukong.fritz.box> <7xzk50m3uf.fsf@ruckus.brouhaha.com> |
Paul Rubin wrote: > I've never understood what is going on with those UI's. Part of the > problem may stem from the tragedy of X windows. I had no problem creating a non-lagging UI on top of X 15 years ago. X is not the problem. > But I'm sure that > those developers have played video games, and what are video games > other than no-lag GUI's? Indeed. That's why I was quite grumpy at that time with GUIs - games like Doom or Quake had 3D textured environments, without lags, and to show a simple file selector takes seconds? WTF? 15 years later, it still takes awfully long... > Meh, I think the rage these days is 3D printing. I don't know about > wood carving but I know some people making metal stuff, and except for > very simple parts turned on a lathe, everyone uses CNC or printing > now, even for one-off pieces. Maybe. The creative wood carvers I know of still use chainsaws. And the rest uses CNC, but they are not creative. > Take a look at www.bathsheba.com and tell me > how to make stuff like that with hand tools or chainsaws. The tool is named slightly different with this sort of material (it's more something like a dentist drill), but people do quite astonishing things with these tools and their hands. >> I don't consider dynamically typed languages as "strong typed", > > That is a terminology thing--there doesn't seem to be a clear > uniform definition of that term. Luca Cardelli's view is that > dynamic types are strong in the sense that they prevent type errors > from > launching the program into undefined behavior. I would surely say > that Scheme is a safer language than C or Forth for this reason. "Undefined" behavior is something language lawyers tend to use. A computer is a fully deterministic state machine, there is no undefined behavior. If you write outside the bounds of an array, you are overwriting other stuff, it's not undefined. People who do security exploits get very well-defined behavior out of their programs - unwanted, but well-defined. So a Lisp program won't segfault while a C or Forth program will. The Lisp program still prints error messages which disrupt the normal control flow of that program. From the program's point of view, this behavior is still "undefined", it won't know what to do. Termination is a good idea. In contrast, a Haskell program with such a type error even doesn't compile. That's what I consider strong typing. >> because they do try hard to figure out what the programmer wanted, >> and convert data automatically if possible. > > I don't think automatic conversion is characteristic of dynamic types. > It seems pretty horrendous to me that PHP converts digit strings to > numbers if you do arithmetic on them. Scheme and Python raise errors > if you do that. But they treat integers/bignums/floats as interchangeable. >> People in general (BDSM doesn't count) prefer positive >> feedback. > > It's just like a musical instrument, where when you first start > playing all you can get is awful noise. People get good with those > instruments anyway. The more popular instruments are ones where you get a reasonable tune out at first try. There are BDSM-style people who love to be punished or do painful things. They are a minority, they don't count. The majority of people prefers positive to negative feedback. They won't get good on alphorns. > Yeah, interactive shells are a big help for quick prototyping. I > somewhat regret that I never used any of the grand Lisp environments > (i.e. the MIT Lisp machines) back in the era when anybody cared about > them. Python has some nice interactive shells and I do use those. > Paradoxically the current prescription for "serious" Python > programming is test-driven development (TDD): you are supposed to > write a test suite > for the code before you write the code itself. I've the impression that too many people confuse "serious" with "no fun", "hierarchies" and as consequence "BDSM" style stuff. Having tests for your code is good. However, when I write something like the binary heap, it is first explorative coding, and then writing tests. The "writing tests" after all should be explorative, too, because with normal test-driven programming you end up with a test that doesn't test what it should and a program that doesn't deliver what it should. Which means two times the possible bugs, and therefore much longer debugging time. > So that seems like a > beat-back against interactive, exploratory development. If those > tests have a 50% hassle factor and a type system gets rid of half of > it while adding 5% of its own, That's an optimistic assumption. My experience is that the type system gets rid of 5%, while adding 200% of its own. Yes, I've used the "wrong" strong typed languages, like VDHL. Where even the test were bugged by VDHL - the programmer wrote something like i := i + 1; and then had to rewrite that into i := when i = 15 then 0 else i + 1; or whatever the correct syntax is (it's too long ago), because VHDL otherwise caused an exception (it *did* compile). This lot of own hassle added makes people feel that they have achieved a lot when the program finally compiles, but in fact it was all only introduced by the type system itself. >> The thing I was doing was a battery monitor... On a tiny micro deeply >> embedded in some small device. > > Sure, that's an important thing to be doing, but it's a niche; and > sure, it's a reasonable place for Forth, but it could also be > programmed directly in assembly code. Forth is the assembly code of the b16, and yes, I've done something like that using "real" microcontroller assembly code (PIC17): It is a nightmare. >> The only larger chip without embedded micro is the power management >> circuit from Dialog, and it has no micro for mere stupidity. > > I wonder if it's actually there but inaccessible? I've been working there, trust me, they didn't have one. The other micros are mostly inaccessible, either. I forgot that the audio processor (to drive the headphone and the speaker) also has a micro/dsp, this one is even quite accessible. >> The price budget for a battery monitor of course is more in the 30¢ >> region or even below. Forget about your $3 ARM. > > In a high volume device like a phone, I'm surprised the battery > monitor isn't jammed into a corner of some multi-function ASIC rather > than being a separate part. That was the project I was doing. > I don't think such niches are uninteresting. There just aren't all > that many progammers (compared to the general programmer population) > working in them. That's what makes them niches. >> (Ti apparently uses an MSP430 in their battery monitor, and they >> write >> the program in C. It's more than 16k long as resoult, which means >> the chip exceeds the 30¢ budget). > > I don't understand why the code bloat. Are you comparing against your > B16 processor? Are you really saying there's an 8x difference in code > density for B16 Forth vs. MSP430 C when the applications are doing the > same things? Not exactly. I had the figures from Ti's part and how large their program was. It's not "same thing" as in 1:1 translated program, it is "same thing" as in "same resulting precision" of the battery monitor. I'm sure the Ti guys are not stupid and know what they are doing. I'm however convinced that their approach has flaws which they then need to work around. > I'm pretty doubtful there is that big a difference, and > I suspect that either the MSP430 code is using libraries carelessly, > or else it's doing fancier stuff than the B16 code. I don't have a source listing of Ti's program. It just was that Apple made pretty clear that they don't believe at all I will fit the program into 2k, not at all, and meeting the specs. We therefore added another 2k RAM to the prototype, which I then didn't use. The sort-of same program written in PIC17 assembly language was 8k long. Of course, the b16 program was a complete rewrite from scratch. I've heard this "it's not possible", "you must be comparing apples to bananas" and all that stuff often enough. Redefining the problem until a small program can solve it is part of Forth's philosophy, it's not just the code density of 5 bit per instruction that matters. -- Bernd Paysan "If you want it done right, you have to do it yourself" http://bernd-paysan.de/
Back to comp.lang.forth | Previous | Next — Previous in thread | Next in thread | Find similar | Unroll thread
Re: Article Hugh Aguilar <hughaguilar96@yahoo.com> - 2012-08-29 23:00 -0700
Re: Article Mark Wills <markrobertwills@yahoo.co.uk> - 2012-08-30 01:47 -0700
Re: Article anton@mips.complang.tuwien.ac.at (Anton Ertl) - 2012-08-30 12:13 +0000
Re: Article "Rod Pemberton" <do_not_have@notemailnot.cmm> - 2012-08-30 11:31 -0400
Missing from USENET - was [Re: Article] Richard Owlett <rowlett@pcnetinc.com> - 2012-08-30 10:37 -0500
Missing from USENET - was [Re: Article] Mark Wills <markrobertwills@yahoo.co.uk> - 2012-08-30 10:30 -0700
Re: Article hughaguilar96@yahoo.com - 2012-08-30 19:56 -0700
Re: Article awegel@arcor.de (Alex Wegel) - 2012-08-31 12:35 +0200
Re: Article "Greg Bailey" <greg@greenarraychips.com> - 2012-08-31 17:51 -0700
Re: Article Whammo <sidciavic@gmail.com> - 2012-08-31 18:22 -0700
Re: Article Mark Wills <forthfreak@gmail.com> - 2012-09-01 01:04 -0700
Re: Article Hugh Aguilar <hughaguilar96@yahoo.com> - 2012-09-02 16:18 -0700
Re: Article Alex McDonald <blog@rivadpm.com> - 2012-09-01 01:48 -0700
Re: Article rickman <gnuarm@gmail.com> - 2012-09-02 18:38 -0400
Re: Article Hugh Aguilar <hughaguilar96@yahoo.com> - 2012-09-02 16:59 -0700
Re: Article Andrew Haley <andrew29@littlepinkcloud.invalid> - 2012-09-03 13:07 -0500
Re: Article Alex McDonald <blog@rivadpm.com> - 2012-09-03 14:25 -0700
Re: Article Hugh Aguilar <hughaguilar96@yahoo.com> - 2012-09-04 17:04 -0700
Re: Article Ron Aaron <rambamist@gmail.com> - 2012-09-05 06:23 +0300
Re: Article "Rod Pemberton" <do_not_have@notemailnot.cmm> - 2012-09-03 18:17 -0400
Re: Article "Elizabeth D. Rather" <erather@forth.com> - 2012-09-03 12:37 -1000
Re: Article "Rod Pemberton" <do_not_have@notemailnot.cmm> - 2012-09-04 04:48 -0400
Re: Article Alex McDonald <blog@rivadpm.com> - 2012-09-04 03:39 -0700
Re: Article "Rod Pemberton" <do_not_have@notemailnot.cmm> - 2012-09-05 02:48 -0400
Re: Article awegel@arcor.de (Alex Wegel) - 2012-09-04 13:18 +0200
Re: Article Bernd Paysan <bernd.paysan@gmx.de> - 2012-09-04 16:03 +0200
Re: Article "Rod Pemberton" <do_not_have@notemailnot.cmm> - 2012-09-05 03:29 -0400
Re: Article "Rod Pemberton" <do_not_have@notemailnot.cmm> - 2012-09-05 03:24 -0400
Re: Article John Passaniti <john.passaniti@gmail.com> - 2012-09-04 08:12 -0700
Re: Article "Rod Pemberton" <do_not_have@notemailnot.cmm> - 2012-09-05 16:06 -0400
Re: Article Andrew Haley <andrew29@littlepinkcloud.invalid> - 2012-09-04 11:35 -0500
Re: Article "Rod Pemberton" <do_not_have@notemailnot.cmm> - 2012-09-05 02:40 -0400
Re: Article Hugh Aguilar <hughaguilar96@yahoo.com> - 2012-09-05 13:28 -0700
Re: Article "Elizabeth D. Rather" <erather@forth.com> - 2012-09-04 08:32 -1000
Re: Article "Rod Pemberton" <do_not_have@notemailnot.cmm> - 2012-09-05 02:22 -0400
Re: Article John Passaniti <john.passaniti@gmail.com> - 2012-09-05 10:08 -0700
Re: Article "Rod Pemberton" <do_not_have@notemailnot.cmm> - 2012-09-05 16:07 -0400
Re: Article John Passaniti <john.passaniti@gmail.com> - 2012-09-05 13:39 -0700
Re: Article Hugh Aguilar <hughaguilar96@yahoo.com> - 2012-09-05 13:35 -0700
Re: Article "Ed" <invalid@nospam.com> - 2012-09-07 17:24 +1000
Re: Article "Rod Pemberton" <do_not_have@notemailnot.cmm> - 2012-09-07 05:28 -0400
Re: Article Mark Wills <markrobertwills@yahoo.co.uk> - 2012-09-07 03:28 -0700
Re: Article Ron Aaron <rambamist@gmail.com> - 2012-09-07 13:31 +0300
Re: Article jacko <jackokring@gmail.com> - 2012-09-07 06:33 -0700
Re: Article Howerd <howerdo@yahoo.co.uk> - 2012-09-07 09:06 -0700
Re: Article Howerd <howerdo@yahoo.co.uk> - 2012-09-07 09:03 -0700
Re: Article Hugh Aguilar <hughaguilar96@yahoo.com> - 2012-09-04 16:45 -0700
Re: Article John Passaniti <john.passaniti@gmail.com> - 2012-09-03 21:38 -0700
Re: Article "Rod Pemberton" <do_not_have@notemailnot.cmm> - 2012-09-05 02:51 -0400
Re: Article John Passaniti <john.passaniti@gmail.com> - 2012-09-05 10:49 -0700
Re: Article "Rod Pemberton" <do_not_have@notemailnot.cmm> - 2012-09-05 16:20 -0400
Re: Article "Rod Pemberton" <do_not_have@notemailnot.cmm> - 2012-09-05 16:06 -0400
Re: Article John Passaniti <john.passaniti@gmail.com> - 2012-09-05 13:32 -0700
Re: Article Hugh Aguilar <hughaguilar96@yahoo.com> - 2012-09-05 13:50 -0700
Re: Article John Passaniti <john.passaniti@gmail.com> - 2012-09-05 22:34 -0700
Re: Forth as a polarising language Paul Rubin <no.email@nospam.invalid> - 2012-09-07 14:05 -0700
Re: Forth as a polarising language Bernd Paysan <bernd.paysan@gmx.de> - 2012-09-08 01:53 +0200
Re: Forth as a polarising language Paul Rubin <no.email@nospam.invalid> - 2012-09-07 18:22 -0700
Re: Forth as a polarising language Bernd Paysan <bernd.paysan@gmx.de> - 2012-09-09 00:08 +0200
Re: Forth as a polarising language Paul Rubin <no.email@nospam.invalid> - 2012-09-08 17:34 -0700
Re: Forth as a polarising language Bernd Paysan <bernd.paysan@gmx.de> - 2012-09-09 15:57 +0200
Re: Forth as a polarising language Mark Wills <markrobertwills@yahoo.co.uk> - 2012-09-09 08:12 -0700
Re: Forth as a polarising language Bernd Paysan <bernd.paysan@gmx.de> - 2012-09-09 22:07 +0200
Re: Forth as a polarising language Paul Rubin <no.email@nospam.invalid> - 2012-09-09 15:14 -0700
Re: Forth as a polarising language Bernd Paysan <bernd.paysan@gmx.de> - 2012-09-10 01:52 +0200
Re: Forth as a polarising language Paul Rubin <no.email@nospam.invalid> - 2012-09-09 19:17 -0700
Re: Forth as a polarising language Bernd Paysan <bernd.paysan@gmx.de> - 2012-09-10 15:01 +0200
Re: Forth as a polarising language Paul Rubin <no.email@nospam.invalid> - 2012-09-10 07:00 -0700
Re: Forth as a polarising language Bernd Paysan <bernd.paysan@gmx.de> - 2012-09-11 01:07 +0200
Re: Forth as a polarising language Paul Rubin <no.email@nospam.invalid> - 2012-09-10 18:47 -0700
Re: Forth as a polarising language Elizabeth D Rather <erather@forth.com> - 2012-09-10 16:08 -1000
Re: Forth as a polarising language anton@mips.complang.tuwien.ac.at (Anton Ertl) - 2012-09-11 07:51 +0000
Re: Forth as a polarising language Bernd Paysan <bernd.paysan@gmx.de> - 2012-09-11 19:24 +0200
Re: Forth as a polarising language Bernd Paysan <bernd.paysan@gmx.de> - 2012-09-11 21:40 +0200
Re: Forth as a polarising language "Elizabeth D. Rather" <erather@forth.com> - 2012-09-09 14:58 -1000
Re: Forth as a polarising language Paul Rubin <no.email@nospam.invalid> - 2012-09-09 18:24 -0700
Re: Forth as a polarising language Anonymous <nobody@remailer.paranoici.org> - 2012-09-09 13:42 +0000
Re: Forth as a polarising language mhx@iae.nl (Marcel Hendrix) - 2012-09-08 10:34 +0200
Re: Forth as a polarising language Doug Hoffman <glidedog@gmail.com> - 2012-09-08 07:06 -0400
Re: Forth as a polarising language mhx@iae.nl (Marcel Hendrix) - 2012-09-08 16:14 +0200
DEFER (was: Forth as a polarising language) anton@mips.complang.tuwien.ac.at (Anton Ertl) - 2012-09-08 16:47 +0000
Re: Forth as a polarising language Doug Hoffman <glidedog@gmail.com> - 2012-09-09 04:22 -0400
OOP (was: Forth as a polarising language) anton@mips.complang.tuwien.ac.at (Anton Ertl) - 2012-09-08 11:38 +0000
Re: OOP Doug Hoffman <glidedog@gmail.com> - 2012-09-08 08:19 -0400
Re: OOP mhx@iae.nl (Marcel Hendrix) - 2012-09-08 16:41 +0200
Re: OOP Doug Hoffman <glidedog@gmail.com> - 2012-09-09 04:24 -0400
Re: Forth as a polarising language mhx@iae.nl (Marcel Hendrix) - 2012-09-09 12:03 +0200
Re: Forth as a polarising language "A. K." <akk@nospam.org> - 2012-09-09 13:20 +0200
Re: Forth as a polarising language Doug Hoffman <glidedog@gmail.com> - 2012-09-10 08:33 -0400
Re: OOP mhx@iae.nl (Marcel Hendrix) - 2012-09-08 16:54 +0200
Re: OOP Doug Hoffman <glidedog@gmail.com> - 2012-09-09 04:12 -0400
OOP (was: Forth as a polarising language) mhx@iae.nl (Marcel Hendrix) - 2012-09-08 16:28 +0200
Re: OOP (was: Forth as a polarising language) mhx@iae.nl (Marcel Hendrix) - 2012-09-08 16:56 +0200
Re: OOP (was: Forth as a polarising language) anton@mips.complang.tuwien.ac.at (Anton Ertl) - 2012-09-08 15:00 +0000
Re: OOP (was: Forth as a polarising language) Roger Ivie <rivie@ridgenet.net> - 2012-09-08 11:56 -0500
Re: OOP Doug Hoffman <glidedog@gmail.com> - 2012-09-09 04:20 -0400
Re: Forth as a polarising language Bernd Paysan <bernd.paysan@gmx.de> - 2012-09-09 00:15 +0200
Re: Forth as a polarising language Bernd Paysan <bernd.paysan@gmx.de> - 2012-09-09 00:50 +0200
Re: Forth as a polarising language mhx@iae.nl (Marcel Hendrix) - 2012-09-09 03:12 +0200
Re: Forth as a polarising language Bernd Paysan <bernd.paysan@gmx.de> - 2012-09-09 16:01 +0200
Re: Forth as a polarising language "Elizabeth D. Rather" <erather@forth.com> - 2012-09-09 14:54 -1000
[OT] Newsreader problem - was [Re: Forth as a polarising language] Richard Owlett <rowlett@pcnetinc.com> - 2012-09-10 06:33 -0500
Re: [OT] Newsreader problem - was [Re: Forth as a polarising language] Doug Hoffman <glidedog@gmail.com> - 2012-09-10 08:16 -0400
Re: [OT] Newsreader problem - was [Re: Forth as a polarising language] Doug Hoffman <glidedog@gmail.com> - 2012-09-10 08:28 -0400
Re: [OT] Newsreader problem - was [Re: Forth as a polarising language] anton@mips.complang.tuwien.ac.at (Anton Ertl) - 2012-09-10 12:43 +0000
Re: [OT] Newsreader problem - was [Re: Forth as a polarising language] Doug Hoffman <glidedog@gmail.com> - 2012-09-10 09:24 -0400
Re: [OT] Newsreader problem - was [Re: Forth as a polarising language] Richard Owlett <rowlett@pcnetinc.com> - 2012-09-10 08:12 -0500
Re: [OT] Newsreader problem - was [Re: Forth as a polarising language] Doug Hoffman <glidedog@gmail.com> - 2012-09-10 09:32 -0400
Re: [OT] Newsreader problem - was [Re: Forth as a polarising language] "Elizabeth D. Rather" <erather@forth.com> - 2012-09-10 07:40 -1000
Re: [OT] Newsreader problem - was [Re: Forth as a polarising language] Richard Owlett <rowlett@pcnetinc.com> - 2012-09-10 14:42 -0500
Re: Forth as a polarising language Doug Hoffman <glidedog@gmail.com> - 2012-09-10 07:59 -0400
Re: Forth as a polarising language rickman <gnuarm@gmail.com> - 2012-09-10 12:27 -0400
Re: Forth as a polarising language "Elizabeth D. Rather" <erather@forth.com> - 2012-09-10 07:44 -1000
Re: Forth as a polarising language rickman <gnuarm@gmail.com> - 2012-09-10 12:30 -0400
Re: Article "Ed" <invalid@nospam.com> - 2012-09-09 14:13 +1000
Re: Article John Passaniti <john.passaniti@gmail.com> - 2012-09-11 11:26 -0700
Re: Article "Paul E. Bennett" <Paul_E.Bennett@topmail.co.uk> - 2012-09-11 21:02 +0100
Re: Article vandys@vsta.org - 2012-09-11 20:37 +0000
Re: Article "Ed" <invalid@nospam.com> - 2012-09-12 20:01 +1000
Re: Article Hugh Aguilar <hughaguilar96@yahoo.com> - 2012-09-11 16:50 -0700
Re: Article Mark Wills <forthfreak@gmail.com> - 2012-09-12 00:45 -0700
Re: Article Hugh Aguilar <hughaguilar96@yahoo.com> - 2012-09-12 18:44 -0700
Re: Article Hugh Aguilar <hughaguilar96@yahoo.com> - 2012-09-12 20:26 -0700
Re: Article "Ed" <invalid@nospam.com> - 2012-09-12 20:47 +1000
Re: Article Hugh Aguilar <hughaguilar96@yahoo.com> - 2012-09-06 19:28 -0700
Re: Article John Passaniti <john.passaniti@gmail.com> - 2012-09-07 09:57 -0700
csiph-web