The Design of Software (CLOSED)

A public forum for discussing the design of software, from the user interface to the code architecture. Now closed.

The "Design of Software" discussion group has been merged with the main Joel on Software discussion group.

The archives will remain online indefinitely.

Forth- the original Agile language

A pretty good book on bottom up design originally written in 1984.
Thursday, June 22, 2006
Oh yuk, Forth.  I don't have any good memories of my time spent with it.  In its defense, though, much of that venom has to do with the hardware (a robot) I was talking to: there were all sorts of synchonization issues where while you're pushing commands onto the stack, another bit of hardware is independently pushing results on, and thus scrambling your commands.  Dreadful!
Jesse Smith Send private email
Thursday, June 22, 2006
With that argument, you could conclude that Basic was the original Agile language.  Interpreted, not strongly typed.
Thursday, June 22, 2006
Another vote for Basic...  Agile all the way.  Automatic memory management too.  ;)
Almost H. Anonymous Send private email
Thursday, June 22, 2006
Except I wasn't arguing anything about language features or language design.  The text I linked to describes a bottom up iterative approach to software development, and stresses that you can't specify everything up front because you don't know how everything will work.  Much of it isn't Forth specific at all.

I just thought it was interesting to see a book that illustrated the way the a lot of real software gets developed from so long ago.  The text even calls C a "newer language" at points.
Thursday, June 22, 2006
Sorry Grant about the snarky tone.  Yes, Forth was a revolutionary approach for its time.  Small, tight, incrementally compiled.

I really really tried to like it, and use it.  But it was just TOO quirky.  Though I understand that the VB run-time use a forth-like engine.
Thursday, June 22, 2006
I never used but remember a very very tiny Basic.

It had 26 integer variables, A through Z, and the string.

That's right, one string, that used all free memory. I suppose on an Altair with 4K of memory, that wasn't such a bad idea.
Friday, June 23, 2006
Guys, Forth doesn't need to be advocated. If you failed with it, blame yourself then go back to Python, Ruby and co.
Friday, June 23, 2006
I learned Forth to get my last job.  Since I was doing a lot of assembly language programming (drivers and embedded device firmware), it wasn't too bad ... I could always put in a few lines of assembly language if I needed it and the development process really was "bottoms-up".

This software was installed on quite on quite a few stock trading floors and is still functional after over 10 years.  Both the primary and backup Dell 486 DX2 servers are still functional as well (one advantage of being in a temperature and dust controlled server room).

All that being said ... I WOULD NEVER GO BACK!
Steve Moyer Send private email
Saturday, June 24, 2006
Forth was kind of cute but I do prefer languages that abstract away the stack mechanism, in the same way that I think cooking our meals was a step forward for mankind...
Chris Nahr Send private email
Sunday, June 25, 2006
Interestingly, the Open Firmware implementation used by PowerPC-based Macs was written in Forth:
John Topley Send private email
Tuesday, June 27, 2006
"in the same way that I think cooking our meals was a step forward for mankind... "

Well, that's just not true is it? The healthiest people are those who eat the greates part of their diet uncooked.

Monday, July 03, 2006
The greatest part? I find that hard to believe... they'd have to live off fruit, salad, and muesli exclusively since even basic vegetables such as rice and potatoes require cooking, not to mention bread which requires baking.
Chris Nahr Send private email
Tuesday, July 04, 2006
I've been messing with the computer language shootout, trying to get certain languages high scores for program size ... Forth is one of the top languages.
Jesse Millikan
Wednesday, July 05, 2006

This topic is archived. No further replies will be accepted.

Other recent topics Other recent topics
Powered by FogBugz