|
|
Up |
|
|
  |
|
Author: gavinogavino Date: Aug 22, 2008 16:24
|
| |
|
| | 27 Comments |
|
  |
Author: John PassanitiJohn Passaniti Date: Aug 24, 2008 18:23
gavino wrote:
You were impressed with the performance of Bernd's web server, but you
apparently didn't get the point.
The performance of Bernd's web server comes not from being coded in
Forth, but because he took a different approach. Web servers like
Apache are general-purpose; they support everything from simple web
sites serving static content to insanely sophisticated applications
spread across multiple servers. There is a *lot* of infrastructure
there to support that range, and if you need some of those features,
you're glad it's there. But if you don't, then it's bloat.
Bernd's web server takes a different approach. He doesn't need a
generic web server like Apache. He had a specific problem (or specific
class of problems) he wanted to solve and his web server implemented
just what he needed and nothing more.
|
| Show full article (2.93Kb) |
|
| | no comments |
|
  |
Author: John PassanitiJohn Passaniti Date: Aug 26, 2008 09:34
Bernd Paysan wrote:
> John Passaniti wrote:
>> So it's the approach and not the language that provides the performance
>> you admire. And that performance comes from implementing only what is
>> needed. Of course, the question of what is needed is relative.
>
> I would tend to agree on that, but I know better from real world stories,
> including this web-server-on-Forth thing: Two of the people in the Munich
> Forth group implemented a smart card with an embedded web server in Forth -
> one was responsible for porting Gforth EC to it, and the other to rewrite
> the web server (it was a complete rewrite - that's completely ok, the main
> purpose of such small web servers is to give people the idea *how* to code
> purpose-specific software). There was another guy from that company also
> working...
|
| Show full article (3.23Kb) |
| 4 Comments |
|
  |
Author: Marcel HendrixMarcel Hendrix Date: Aug 26, 2008 13:16
John Passaniti JapanIsShinto.com> writes Re: a relational database done in forth would r0ck
[..]
> It also needs to be pointed out the key here is knowing the strategies,
> not using Forth. This is the point I don't think gavino gets. He (and
> plenty of others) seems to think that if you merely recode an
> application in Forth, it magically gets smaller, faster, better. These
> people confuse the tool for the skill in using the tool. They are the
> same people who think if they go to the hardware store and buy the most
> sophisticated woodworking tools, they will instantly become world-class
> carpenters.
[..]
Who are these "plenty of others?" I know of only one, and we haven't been
bothered by him in quite a while.
> I make no argument against the idea that doing Forth-like things in
> Forth is best. My argument is that "Forth-like" really has little to do
> with Forth.
As long as you have no evidence that doing Forth-like things in language X
or framework Y is easier than doing it in Forth, I will appreciate that
observation for what it is worth.
|
| Show full article (1.10Kb) |
| no comments |
|
  |
Author: John PassanitiJohn Passaniti Date: Aug 26, 2008 16:31
Marcel Hendrix wrote:
> John Passaniti JapanIsShinto.com> writes Re: a relational database done in forth would r0ck
> [..]
>> It also needs to be pointed out the key here is knowing the strategies,
>> not using Forth. This is the point I don't think gavino gets. He (and
>> plenty of others) seems to think that if you merely recode an
>> application in Forth, it magically gets smaller, faster, better. These
>> people confuse the tool for the skill in using the tool. They are the
>> same people who think if they go to the hardware store and buy the most
>> sophisticated woodworking tools, they will instantly become world-class
>> carpenters.
> [..]
>
> Who are these "plenty of others?" I know of only one, and we haven't been
> bothered by him in quite a while.
We can start with the many messages of the form "if only X was
implemented in Forth, then X would be more Y" offered in comp.lang.forth
over the years I've been here.
|
| Show full article (5.35Kb) |
| no comments |
|
  |
Author: Jonah ThomasJonah Thomas Date: Aug 26, 2008 17:33
John Passaniti JapanIsShinto.com> wrote:
> It also needs to be pointed out the key here is knowing the
> strategies, not using Forth. This is the point I don't think gavino
> gets. He (and plenty of others) seems to think that if you merely
> recode an application in Forth, it magically gets smaller, faster,
> better. These people confuse the tool for the skill in using the
> tool. They are the same people who think if they go to the hardware
> store and buy the most sophisticated woodworking tools, they will
> instantly become world-class carpenters.
What particularly impressed me about Forth was that if you use a very
simple Forth that has no locals etc, bad coding practices tend to show
up as bad right away. It takes good technique to get anything much done.
It's the difference between sophisticated woodworking tools that cover
up your bad technique, versus simple tools that fail with bad technique.
|
| |
| 1 Comment |
|
  |
Author: Bernd PaysanBernd Paysan Date: Aug 27, 2008 01:17
John Passaniti wrote:
> I'm not sure how this "real world story" negates the point (the "but" in
> your first sentence) I made and that you "tend" to agree with. My point
> is that approach matters far more than language. You gave a story that
> doesn't indicate that the Java-based solution followed the same approach
> as the Forth-based demo. Instead, you stated they changed language and
> added people; you stated nothing about the similarity taken in the
> approach. So how does your "real world story" invalidate the point?
They changed the approach. This change of approach came from adding people
and changing language. After all, Sun brags about Java for Smartcards
*because* you have so many libraries available to do all these things out
of the box instead of having to rewrite everything. And since Java
is "easy", you have lots of people who can work for the project.
> These strategies *are* known.
But not to these people. They even alienated the original authors of the
demo, so those left the company in despair.
> I make no argument against the idea that doing Forth-like things in
> Forth is best. My argument is that "Forth-like" really has little to do
> with Forth.
|
| Show full article (1.62Kb) |
| no comments |
|
  |
Author: winston19842005winston19842005 Date: Aug 27, 2008 02:25
On Aug 27, 4:17 am, Bernd Paysan wrote:
> John Passaniti wrote:
>> I'm not sure how this "real world story" negates the point (the "but" in
>> your first sentence) I made and that you "tend" to agree with. My point
>> is that approach matters far more than language. You gave a story that
>> doesn't indicate that the Java-based solution followed the same approach
>> as the Forth-based demo. Instead, you stated they changed language and
>> added people; you stated nothing about the similarity taken in the
>> approach. So how does your "real world story" invalidate the point?
>
> They changed the approach. This change of approach came from adding people
> and changing language. After all, Sun brags about Java for Smartcards
> *because* you have so many libraries available to do all these things out
> of the box instead of having to rewrite everything. And since Java
> is "easy", you have lots of people who can work for the project.
>
>> These strategies *are* known.
>
> But not to these people. They even alienated the original authors of the
> demo, so those left the company in despair. ...
|
| Show full article (2.44Kb) |
| no comments |
|
  |
Author: John PassanitiJohn Passaniti Date: Aug 27, 2008 09:31
Jonah Thomas wrote:
> What particularly impressed me about Forth was that if you use a very
> simple Forth that has no locals etc, bad coding practices tend to show
> up as bad right away. It takes good technique to get anything much done.
In what sense does bad coding practice show up as bad right away? Forth
is no different from any other language in this regard. Bad coding
practice (poorly factored definitions, deeply nested control structures,
undisciplined use of globals, etc.) compiles just fine if it is
syntactically correct under Forth. Where are the warning bells?
I don't believe bad coding practice in Forth (or any language) shows up
right away. I believe bad coding practice only shows up when some body
of code is extended, reworked, repackaged as a library, or in some way
changed. I don't see how Forth makes this any more obvious than any
other language.
> It's the difference between sophisticated woodworking tools that cover
> up your bad technique, versus simple tools that fail with bad technique.
It makes a nice statement, but I have yet to find any sophisticated
woodworking tool that has the ability to cover bad technique.
|
| |
| no comments |
|
  |
|
|
  |
Author: John PassanitiJohn Passaniti Date: Aug 27, 2008 10:20
Bernd Paysan wrote:
> They changed the approach.
So again, I'm trying to figure out how you feel this story relates to my
point. My point, again, is that approach matters far more than
language. If your story was that the Java programmers took the *same*
approach of the Forth programmers (presumably building only what they
needed) and *then* failed, then your story would counter my statement.
> Unfortunately, in reality, most non-Forth projects don't end up with a
> Forth-like solution. Cultures are different, and many people stay in
> theirs. That's why I tend to agree with your statement that you *can*
> (theoretically) implement Forth-like solutions in other languages, but in
> reality, this usually won't happen.
But again, this has little to do with language. It has to do with the
skill and experience of the programmers.
|
| Show full article (2.51Kb) |
| no comments |
|
|
|
|