Re: advantages of forth over other languages



John Passaniti wrote:
John Doty wrote:
Coders love to learn new languages. After all, it's what we do!

Yes, but the people who actually accomplish things with computers have other priorities.

No, it's the same priorities. But like so many discussions in comp.lang.forth, you take an overly-literal interpretation of what people write and make no attempt to understand the meaning.

Take "learn new languages" as an example. The purpose of a programming language is to express a solution within the paradigms, abstractions, models, and idioms supported by that language. In that sense, "learn new languages" means understanding different ways to conceptualize and create a solution for a problem.

Sure. So the problem solver is looking to what might be helpful in solving the problem. But that doesn't indicate any love for learning new languages. Often, the old ones work fine.


In other words, the point of "learn new languages" is to be able to "accomplish things with computers" by enlarging the choices one has and the techniques one might use. A programmer who only knows one language and is stuck within what that language may certainly "accomplish things with computers," but it may not be the best solution.

At the cutting edge, the best solution is unobtainable. The choice is solution or no solution. Later on, when you understand what you're doing, you can work on "best". But again, programming knowledge is of limited use in judging what "best" means in a real application. The domain rules.


The more naive and inexperienced programmers don't get this because they are stuck within a paradigm and think that describes the world. To them, the differences between languages is nothing more than syntax.

You don't suffer from this-- at least I don't think you do. You've mentioned experience with languages that suggest you understand at least two different paradigms (procedural and functional) and there may be others. So your experience must be broad enough and your mind must be agile enough to envision solutions that may be quite different from each other, and not just in terms of syntax.

Thanks. But this stuff comes easily to me (one minor project I'm working on these days is learning Verilog). It *doesn't* come so easily to others whose expertise I must rely on. Genius takes many forms. So it's important to keep the methodology as straightforward as possible, even if something more sophisticated might be "best" by some irrelevant metric.


So yeah, you must at some level understand that "learn new languages" isn't just a no-op in terms of what programmers do and that has direct relevance toward "accomplish things with computers." At least it does for good programmers who care about their work. Bad programmers who are stuck inside the mental boxes the languages they use surround themselves with (including Forth) don't care. Possibly because they don't know enough to care.

Or because they are free from the mental box of programming, and have other priorities outside of it. That can make someone extremely effective at getting work done with a computer, even if their programs are chaotic messes. Of course, cleaning up after such people is a valuable skill, too.

--
John Doty, Noqsi Aerospace, Ltd.
http://www.noqsi.com/
--
History teaches that logical consistency is neither sufficient nor necessary to establish practical, real world truth. Those who attempt to use logic for that purpose are abusing it.
.



Relevant Pages

  • Re: Why is Perl losing ground?
    ... these languages do not rest but also evolve. ... >> The real change will happen when a completely new system of computers is ... I attend Programming conferences all over the country and I ... This is FORTRAN and, to a very limited degree as of now, C++. ...
    (comp.lang.perl.misc)
  • Re: teaching programming to children
    ... > programming (after I shortly described my programming job as telling ... the need to compile and the differences between the ... > languages of humans and languages of computers. ...
    (comp.lang.python)
  • Re: Please Help!!! Lisp Newbie.
    ... computers and programming. ... topics like memory-management, CPU architecture and the factors of the ... Languages. ...
    (comp.lang.lisp)
  • Re: teaching programming to children
    ... I choose python because I personally like it but I ... > a) Its interpreter is very nice but it hides some basic truths about computers. ... > and languages of computers. ... > What do you think would be our first programming assignments? ...
    (comp.lang.python)
  • Re: advantages of forth over other languages
    ... "learn new languages" means understanding different ways to conceptualize and create a solution for a problem. ... the point of "learn new languages" is to be able to "accomplish things with computers" by enlarging the choices one has and the techniques one might use. ... The more naive and inexperienced programmers don't get this because they are stuck within a paradigm and think that describes the world. ...
    (comp.lang.forth)