Groups | Search | Server Info | Keyboard shortcuts | Login | Register [http] [https] [nntp] [nntps]


Groups > comp.lang.forth > #15891 > unrolled thread

STATEless Forths

Started byBrad Eckert <hwfwguy@gmail.com>
First post2012-10-03 13:15 -0700
Last post2012-10-10 03:53 -0400
Articles 20 on this page of 36 — 14 participants

Back to article view | Back to comp.lang.forth


Contents

  STATEless Forths Brad Eckert <hwfwguy@gmail.com> - 2012-10-03 13:15 -0700
    Re: STATEless Forths Alex McDonald <blog@rivadpm.com> - 2012-10-03 15:32 -0700
    Re: STATEless Forths Hugh Aguilar <hughaguilar96@yahoo.com> - 2012-10-03 17:56 -0700
    Re: STATEless Forths Paul Rubin <no.email@nospam.invalid> - 2012-10-03 18:11 -0700
    Re: STATEless Forths anton@mips.complang.tuwien.ac.at (Anton Ertl) - 2012-10-04 13:10 +0000
      Re: STATEless Forths Hugh Aguilar <hughaguilar96@yahoo.com> - 2012-10-04 14:17 -0700
    Re: STATEless Forths "Charles Childers" <crc@retroforth.org> - 2012-10-04 09:44 -0400
    Re: STATEless Forths Andrew Haley <andrew29@littlepinkcloud.invalid> - 2012-10-04 10:56 -0500
      Re: STATEless Forths Hugh Aguilar <hughaguilar96@yahoo.com> - 2012-10-04 14:33 -0700
        Re: STATEless Forths John Passaniti <john.passaniti@gmail.com> - 2012-10-06 10:21 -0700
          Re: STATEless Forths "Rod Pemberton" <do_not_have@notemailnotz.cmm> - 2012-10-06 18:06 -0400
            Re: STATEless Forths Paul Rubin <no.email@nospam.invalid> - 2012-10-06 16:05 -0700
              Re: STATEless Forths "Elizabeth D. Rather" <erather@forth.com> - 2012-10-06 13:56 -1000
                Re: STATEless Forths Hugh Aguilar <hughaguilar96@yahoo.com> - 2012-10-06 18:48 -0700
            Re: STATEless Forths Alex McDonald <blog@rivadpm.com> - 2012-10-07 04:21 -0700
              Re: STATEless Forths "Rod Pemberton" <do_not_have@notemailnotz.cnm> - 2012-10-07 19:07 -0400
                Re: STATEless Forths "Elizabeth D. Rather" <erather@forth.com> - 2012-10-07 13:42 -1000
                  Re: STATEless Forths Alex McDonald <blog@rivadpm.com> - 2012-10-08 02:29 -0700
                Re: STATEless Forths Alex McDonald <blog@rivadpm.com> - 2012-10-08 02:41 -0700
            Re: STATEless Forths Brad Eckert <hwfwguy@gmail.com> - 2012-10-08 08:18 -0700
            Re: STATEless Forths John Passaniti <john.passaniti@gmail.com> - 2012-10-08 16:11 -0700
              Re: STATEless Forths Mark Wills <forthfreak@gmail.com> - 2012-10-09 02:09 -0700
                Re: STATEless Forths Alex McDonald <blog@rivadpm.com> - 2012-10-09 04:39 -0700
                  Re: STATEless Forths Mark Wills <forthfreak@gmail.com> - 2012-10-09 05:13 -0700
                    Re: STATEless Forths Alex McDonald <blog@rivadpm.com> - 2012-10-09 05:37 -0700
                Re: STATEless Forths John Passaniti <john.passaniti@gmail.com> - 2012-10-09 11:59 -0700
                  Re: STATEless Forths Paul Rubin <no.email@nospam.invalid> - 2012-10-09 12:31 -0700
                    Re: STATEless Forths "Elizabeth D. Rather" <erather@forth.com> - 2012-10-09 09:45 -1000
                  Re: STATEless Forths "Rod Pemberton" <do_not_have@notemailnotz.cnm> - 2012-10-10 04:00 -0400
                Re: STATEless Forths mhx@iae.nl (Marcel Hendrix) - 2012-10-09 21:07 +0200
                  Re: STATEless Forths Hugh Aguilar <hughaguilar96@yahoo.com> - 2012-10-10 19:09 -0700
              Re: STATEless Forths Bernd Paysan <bernd.paysan@gmx.de> - 2012-10-09 16:44 +0200
                Re: STATEless Forths John Passaniti <john.passaniti@gmail.com> - 2012-10-09 12:13 -0700
              Re: STATEless Forths Brad Eckert <hwfwguy@gmail.com> - 2012-10-09 12:03 -0700
                Re: STATEless Forths John Passaniti <john.passaniti@gmail.com> - 2012-10-09 12:22 -0700
              Re: STATEless Forths "Rod Pemberton" <do_not_have@notemailnotz.cnm> - 2012-10-10 03:53 -0400

Page 1 of 2  [1] 2  Next page →


#15891 — STATEless Forths

FromBrad Eckert <hwfwguy@gmail.com>
Date2012-10-03 13:15 -0700
SubjectSTATEless Forths
Message-ID<0df89d5e-5ca6-450d-85af-2cf9027e17ac@googlegroups.com>
Can anyone provide links to descriptions of Forths that use search order instead of STATE to control compilation? AFAIK cmforth did this, but I don't have any info on it.

For example, DUP would exist in two different wordlists. One version would handle interpretation semantics and the other would handle compilation semantics. Colon simply changes the search order. 

I've seen embedded Forths (not supporting vocabularies) that work like this. Maybe there would be two search orders and they get selected by : and ;. Has this been tried?

Why stop at two search orders? One could create a user defined search order FOO that sets up the search order (and word to handle numbers) when executed.

That other bit, the number handler, would be NOOP when interpreting, LITERAL when compiling, etc.

-Brad

[toc] | [next] | [standalone]


#15897

FromAlex McDonald <blog@rivadpm.com>
Date2012-10-03 15:32 -0700
Message-ID<aba0d344-b840-4970-b385-605dc1a4d5aa@googlegroups.com>
In reply to#15891
On Wednesday, October 3, 2012 1:16:00 PM UTC-7, Brad Eckert wrote:
> Can anyone provide links to descriptions of Forths that use search order instead of STATE to control compilation? AFAIK cmforth did this, but I don't have any info on it.
> 
> 
> 
> For example, DUP would exist in two different wordlists. One version would handle interpretation semantics and the other would handle compilation semantics. Colon simply changes the search order. 
> 
> 
> 
> I've seen embedded Forths (not supporting vocabularies) that work like this. Maybe there would be two search orders and they get selected by : and ;. Has this been tried?
> 
> 
> 
> Why stop at two search orders? One could create a user defined search order FOO that sets up the search order (and word to handle numbers) when executed.
> 
> 
> 
> That other bit, the number handler, would be NOOP when interpreting, LITERAL when compiling, etc.
> 
> 
> 
> -Brad

Rather than search orders, my compiler uses "smart compile". The XT in interpret mode is executed; in compilation mode, it is used to find a compilation token to compile the XT. The advantages are that parsing words like TO S" can be POSTPONEd. Each word effectively has two actions; the default for the vast majority is to compile the XT. For others, there is a separation of the actions by COMPILATION> ;

: parse" ( -- addr len ) 
    '"' parse ;

: (p") ( -- buff )                        
    parse" buf-allot dup>r place r> ; 

: ", ( a1 n1 -- ) \ compile a1,n1 at here (counted)
    here over 2+ allot place ;  

: s" ( -<string">- -- a1 n1 )
    (p") count   \ interpret action 
    compilation> \ compile action 
      drop parse" postpone sliteral ;

: ," ( -<string">-  ) \ compile counted parsed string at here 
    parse" ",
    compilation> 
      drop postpone s" postpone ", ;

: c" ( -<string">- -- a1 )    
    (p")
    compilation> 
      drop here ," postpone literal ;

[toc] | [prev] | [next] | [standalone]


#15899

FromHugh Aguilar <hughaguilar96@yahoo.com>
Date2012-10-03 17:56 -0700
Message-ID<f9ce8368-55d1-43c4-9bb4-06b0d922a4dd@vy11g2000pbb.googlegroups.com>
In reply to#15891
On Oct 3, 1:16 pm, Brad Eckert <hwfw...@gmail.com> wrote:
> Can anyone provide links to descriptions of Forths that use search order instead of STATE to control compilation? AFAIK cmforth did this, but I don't have any info on it.
>
> For example, DUP would exist in two different wordlists. One version would handle interpretation semantics and the other would handle compilation semantics. Colon simply changes the search order.

My MFX was like this. It was a cross-compiler that had a SYSTEM, HOST
and TARG mode. Only TARG was like this, but that is what 95% of your
code was written in.

MFX is proprietary to Testra, but last I heard they gave it away for
free (it isn't good for anything except developing for the MiniForth
processor, which you have to buy from them).

I've repeatedly said that this is the way to go, but Anton Ertl says
that it has already been tried and is a failure. To a large extent,
this is why I abandoned Forth-200x and began working on Straight Forth
--- you can avoid all of those state-smart problems that plague ANS-
Forth.

[toc] | [prev] | [next] | [standalone]


#15901

FromPaul Rubin <no.email@nospam.invalid>
Date2012-10-03 18:11 -0700
Message-ID<7x1uhf59eh.fsf@ruckus.brouhaha.com>
In reply to#15891
Brad Eckert <hwfwguy@gmail.com> writes:
> Can anyone provide links to descriptions of Forths that use search
> order instead of STATE to control compilation? AFAIK cmforth did this,
> but I don't have any info on it.

cmforth source code is online--I managed to find it a few months ago,
but found it pretty hard to read.

There was a good SIGFORTH article by Jay Melvin about the cmforth
metacompiler, which is shockingly simple (unfortunately this is just a
citation, fulltext is walled):

  http://dl.acm.org/citation.cfm?id=382125.382916

If I were to try writing a Forth, I'd want to get it to work like that.

[toc] | [prev] | [next] | [standalone]


#15914

Fromanton@mips.complang.tuwien.ac.at (Anton Ertl)
Date2012-10-04 13:10 +0000
Message-ID<2012Oct4.151023@mips.complang.tuwien.ac.at>
In reply to#15891
Brad Eckert <hwfwguy@gmail.com> writes:
>Can anyone provide links to descriptions of Forths that use search order instead of STATE to control compilation? AFAIK cmforth did this, but I don't have any info on it.
>
>For example, DUP would exist in two different wordlists. One version would handle interpretation semantics and the other would handle compilation semantics. Colon simply changes the search order. 

It's not the search order as we know it.  Indeed I think that this
technique has not been used much because combining it with the search
order word set would be more complicated than using a different
technique for implementing compilation semantics.

>That other bit, the number handler, would be NOOP when interpreting, LITERAL when compiling, etc.

Take a look at recognizers (unfortunately, not much in English about
them yet).

Please keep the line length to about 70 chars.

- anton
-- 
M. Anton Ertl  http://www.complang.tuwien.ac.at/anton/home.html
comp.lang.forth FAQs: http://www.complang.tuwien.ac.at/forth/faq/toc.html
     New standard: http://www.forth200x.org/forth200x.html
   EuroForth 2012: http://www.euroforth.org/ef12/

[toc] | [prev] | [next] | [standalone]


#15928

FromHugh Aguilar <hughaguilar96@yahoo.com>
Date2012-10-04 14:17 -0700
Message-ID<63c5426f-68fc-4417-92f4-e1f9a94f8de2@q5g2000pbk.googlegroups.com>
In reply to#15914
On Oct 4, 6:25 am, an...@mips.complang.tuwien.ac.at (Anton Ertl)
wrote:
> Brad Eckert <hwfw...@gmail.com> writes:
> >Can anyone provide links to descriptions of Forths that use search order instead of STATE to control compilation? AFAIK cmforth did this, but I don't have any info on it.
>
> >For example, DUP would exist in two different wordlists. One version would handle interpretation semantics and the other would handle compilation semantics. Colon simply changes the search order.
>
> It's not the search order as we know it.  Indeed I think that this
> technique has not been used much because combining it with the search
> order word set would be more complicated than using a different
> technique for implementing compilation semantics.

I wrote MFX in UR/Forth which was pretty much Forth-83. There was no
ONLY etc. --- we just had CONTEXT and CURRENT. I did have to resort to
assembly-language for a few things (such as a word similar to :NAME
although I think I called it HEADER at the time), but not much --- I
had maybe one or two screens of assembly-language and the rest was all
Forth.

I remember that I was very much baffled by how to write a cross-
compiler. I had written a 65c02 cross-compiler previously, but it
wasn't very good. My defining words had different names, such as |:
and |CREATE and so forth, to distinguish them from the UR/Forth
defining words. That was ugly and awkward. This would not be
acceptable at Testra, and I would have gotten fired if I did that.

Cross-compilation is not as simple as just putting all of the host
stuff in one vocabulary and all of the target stuff in another. How I
solved this was to go on long bicycle rides to clear my mind and think
about the problem. Then, suddenly, I figured it out! When I was over
by Papago Park it suddenly hit me how to do this so that both HOST and
TARG mode would be normal Forth, with no funky names. I didn't take my
clothes off and run down the street shouting "Eureka!," but still, it
was an epiphany. If you don't know how to write a cross-compiler, I
recommend that you go on long bicycle rides --- that is really the
best way to figure things out. When I was in Colorado I was baffled by
both the N-Queens problem and the Left-Leaning-Red-Black tree problem,
and I went for long walks in BLM land behind my dad's ranch --- that
worked, as I solved both problems. I really can't overemphasize the
importance of thinking as a way to solve problems. Try it!

[toc] | [prev] | [next] | [standalone]


#15915

From"Charles Childers" <crc@retroforth.org>
Date2012-10-04 09:44 -0400
Message-ID<op.wlnpryfp6ef20b@denney-2466a6df>
In reply to#15891
On Wed, 03 Oct 2012 16:15:59 -0400, Brad Eckert <hwfwguy@gmail.com> wrote:

> Can anyone provide links to descriptions of Forths that use search order  
> instead of STATE to control compilation? AFAIK cmforth did this, but I  
> don't have any info on it.

Old versions of RetroForth used to maintain two dictionaries, one for
normal words, and one for compile-only functions.

When compiling, the compile-only dictionary was searched first, and if
nothing was found, the normal dictionary would then be searched.

It didn't have actual ANS wordlists though.

A few builds were done with a third dictionary, but as far as I recall
no one actually used this and it was dropped.

-- crc

[toc] | [prev] | [next] | [standalone]


#15916

FromAndrew Haley <andrew29@littlepinkcloud.invalid>
Date2012-10-04 10:56 -0500
Message-ID<dsOdnYOhaaUELPDNnZ2dnUVZ8nidnZ2d@supernews.com>
In reply to#15891
Brad Eckert <hwfwguy@gmail.com> wrote:

> Can anyone provide links to descriptions of Forths that use search
> order instead of STATE to control compilation? AFAIK cmforth did
> this, but I don't have any info on it.
> 
> For example, DUP would exist in two different wordlists. One version
> would handle interpretation semantics and the other would handle
> compilation semantics. Colon simply changes the search order.

This is one of those things that were tried twenty-odd years ago and
were abandoned: novix Forths did this (all of 'em AFAIK) but it really
was bad.  

Let'd say you have a word FOO that has compilation and execution
forms.  If you redefine FOO you have to redefine the compiling FOO as
well or when you use FOO in a colon definition you'll get the old
behaviour.  Very bug-prone.  There are other ways of achieving the
effect you need, most of 'em better.

Andrew.

[toc] | [prev] | [next] | [standalone]


#15930

FromHugh Aguilar <hughaguilar96@yahoo.com>
Date2012-10-04 14:33 -0700
Message-ID<ee9bbf19-9d29-4d50-becc-38cefb9ecd4b@wm7g2000pbc.googlegroups.com>
In reply to#15916
On Oct 4, 8:56 am, Andrew Haley <andre...@littlepinkcloud.invalid>
wrote:
> Brad Eckert <hwfw...@gmail.com> wrote:
> > Can anyone provide links to descriptions of Forths that use search
> > order instead of STATE to control compilation? AFAIK cmforth did
> > this, but I don't have any info on it.
>
> > For example, DUP would exist in two different wordlists. One version
> > would handle interpretation semantics and the other would handle
> > compilation semantics. Colon simply changes the search order.
>
> This is one of those things that were tried twenty-odd years ago and
> were abandoned: novix Forths did this (all of 'em AFAIK) but it really
> was bad.
>
> Let'd say you have a word FOO that has compilation and execution
> forms.  If you redefine FOO you have to redefine the compiling FOO as
> well or when you use FOO in a colon definition you'll get the old
> behaviour.  Very bug-prone.  There are other ways of achieving the
> effect you need, most of 'em better.
>
> Andrew.

That isn't true in MFX. When you are in TARG mode and you define a
word such as FOO, you automatically define *two* words. One is defined
in targ memory and is the FOO that you wrote and it does whatever FOO
does on the micro-controller. The other word is defined in host memory
and what it does is compile the targ version of FOO later on when you
are writing a targ word that uses FOO. You don't have to write the two
versions of FOO manually --- you just write the targ version manually
and the host version gets generated automatically. It is also possible
to write host words manually. Words like IF and BEGIN etc. are written
in HOST mode manually. They don't have a TARG version of themselves.

When I wrote MFX, I assumed that other people knew how to write cross-
compilers. I didn't bother to do any research on what other people
have done, because I always figure things out for myself. Still
though, I assumed that other people did know how to write cross-
compilers. Now, in these last 3 years that I've been visiting
comp.lang.forth, I have discovered that nobody knows how to write a
cross-compiler. There is a lot of talk about how easy it is, but
nobody actually knows how. In this thread we have both Anton Ertl and
Andrew Haley who clearly don't know how to do it. We have Stephen Pelc
saying that it is necessary to simulate the target processor at
compile-time in order to make the defining words work. He said that in
this thread:
http://groups.google.com/group/comp.lang.forth/browse_thread/thread/c0fe67c350a5cec3

A couple of days ago Brad Eckert promoted John Passaniti to sainthood
because he says that it is not necessary to write code, but only to
talk about code. He said that in this thread:
http://groups.google.com/group/comp.lang.forth/browse_thread/thread/3f7ea9769807de8b
This is what he said:

On Oct 2, 9:43 am, Brad Eckert <hwfw...@gmail.com> wrote:
> On Wednesday, February 10, 2010 5:21:00 PM UTC-7, John Passaniti wrote:
>
> > Actually, comp.lang.forth is usually all about programming.  Your
> > problem is that your narrowly define "programming" as coding.  The
> > rest of us-- again, those of us who make a living writing software--
> > know that there are lots of other aspects to software development.
>
> I am impressed that after all this time, you continue to try to enlighten Hugh. You may be the first atheist saint.

Well, I remain unenlightened! I continue to insist that the only way
to be a computer programmer is to write computer programs. This was
true 2 years ago and it is true today --- it will always be true.




[toc] | [prev] | [next] | [standalone]


#15978

FromJohn Passaniti <john.passaniti@gmail.com>
Date2012-10-06 10:21 -0700
Message-ID<4381d528-f2af-4778-91eb-941e7dcaf536@googlegroups.com>
In reply to#15930
On Thursday, October 4, 2012 5:33:38 PM UTC-4, Hugh Aguilar wrote:
> Well, I remain unenlightened! I continue to insist that 
> the only way to be a computer programmer is to write 
> computer programs. This was true 2 years ago and it is
> true today --- it will always be true.

If you're hired as a programmer, you will indeed spend nearly 100% of your time writing code.  Nothing wrong with that, there are people who want nothing more than to be a programmer; that's what they do, that's what they enjoy, and that's what they're good at.

As a software engineer, writing code is one major aspect of what I do.  I'd say on an average day at work, I'm probably spending 75% of my time writing code.  The rest of the time, I'm also charged with a variety of other responsibilities, from analysis, design, managing projects, measuring progress, and so on.  Those are typically not skills that a person with a strict "programmer" title has to deal with, but they are essential.

You don't recognize this because you don't actually work as a programmer and you don't work in a group larger than yourself.  You aren't responsible for products.  You aren't responsible for developing standards.  You aren't responsible for coordinating efforts of other programmers.  You aren't responsible for schedules.  You aren't responsible for research.  You aren't responsible for meeting compliance requirements.  You aren't responsible for finding ways to make the process of developing software better.

The closest you've ever come to an understanding of any of these things is when you actually worked as a programmer in the distant past.  Too bad it didn't work out for you; if it had, you would have probably learned that restricting yourself to just programming and not diving deeper into the many other issues that come up in software development is limiting not only your career, but your experience.

I think we're also seeing why you never made it as a programmer.  Your definition of being a programmer doesn't include any of the skills beyond programming that are needed to actually build, maintain, and sustain systems.  Why would anyone want to hire someone with such a limited view of what their job is ("I just write code and don't worry about that other stuff").  By restricting yourself to just writing code and avoiding the larger issues in software development, you've effectively put a big sign on your head saying, "I do only one thing, don't hire me if you want anything more or deeper."

How's that working out for you?  

[toc] | [prev] | [next] | [standalone]


#15985

From"Rod Pemberton" <do_not_have@notemailnotz.cmm>
Date2012-10-06 18:06 -0400
Message-ID<k4q9r4$958$1@speranza.aioe.org>
In reply to#15978
"John Passaniti" <john.passaniti@gmail.com> wrote in message
news:4381d528-f2af-4778-91eb-941e7dcaf536@googlegroups.com...
> On Thursday, October 4, 2012 5:33:38 PM UTC-4, Hugh Aguilar wrote:
> > Well, I remain unenlightened! I continue to insist that
> > the only way to be a computer programmer is to write
> > computer programs. This was true 2 years ago and it is
> > true today --- it will always be true.
>
> If you're hired as a programmer, you will indeed spend nearly
> 100% of your time writing code.

That's completely untrue.

90% of "purely" programming jobs have very little programming, maybe 25%.
Most include every non-programming task needed to complete the job at hand.
These are things such as meetings with your department or other departments,
interacting with users, making phones calls to a variety of people, program
design, program implementation, obtaining design and legal requirements,
complying with legal or industry specifications, producing and printing
documentation, getting coffee for higher ups, spending time discussing
fantasy football with your manager because he knows nothing about
programming nor management, being "required" to go to "social" events with
co-workers on your time off, and even helping "the boss" move because his
alcohol abuse caused him to get divorced and is so messed up emotionally he
can't function, etc.

Programmers are usually the "low man" in department.  They get handed
everything no one else wants to do.  That's true even if it's the job other
people.

> Nothing wrong with that, there are people who want nothing
> more than to be a programmer; that's what they do, that's
> what they enjoy, and that's what they're good at.

That's true.

Many programmers want to just program.  They don't want to handle the "BS"
of non-programming business and corporate political issues.  Why would they?
They aren't "people" people.  They're "idea" people like scientists,
chemists, and engineers.  It's outside the scope of the job they have, or de
sire.  It's like asking an electrical engineer (EE) to patch drywall.  It's
rarely done.  When it is, it's the manager who gets reprimanded and demoted,
or should be ...  The engineers are not there to patch drywall.  It's not
their skillset.  It's not what they're being paid for either.  They're being
paid far more than a drywall installer or building maintenance.

> As a software engineer, [...]

We've been over this before.  There is no such thing as a software engineer.
You're misusing the term "engineer".  The engineering college of a
university grants engineering degrees, including electrical and mechanical
engineering.  The liberal science and arts college of a university grants
science degrees, including mathematics and computer science.  Programming is
part of the LSA college degree program.  Engineers must be licensed by the
state for every engineering field or work under a licensed engineer.  Are
you licensed by the state?  Is your immediate manager?  If you answered
"No." to both, then you're not an engineer.

> As a [...] writing code is one major aspect of
> what I do.  I'd say on an average day at work, I'm probably spending
> 75% of my time writing code.  The rest of the time, I'm also charged
> with a variety of other responsibilities, from analysis, design,
> managing projects, measuring progress, and so on.  Those are typically
> not skills that a person with a strict "programmer" title has to deal
> with, but they are essential.

That's called a "programmer analyst".   It's when you are spending a larger
percentage of your time doing analysis and design.  If you're no longer
programming at all, then you're a "systems analyst".

> You don't recognize this because you don't actually work as a programmer
> and you don't work in a group larger than yourself.  You aren't
> responsible for products.  You aren't responsible for developing
> standards.  You aren't responsible for coordinating efforts of other
> programmers.  You aren't responsible for schedules.  You aren't
> responsible for research.  You aren't responsible for meeting
> compliance requirements.  You aren't responsible
> for finding ways to make the process of developing software better.

You're belittling him because he worked for a very small company?

Your resume seems to indicate you haven't worked for any large companies
either.  Most seem to have fewer than 65 employees.

> The closest you've ever come to an understanding of any of these things
> is when you actually worked as a programmer in the distant past.  Too
> bad it didn't work out for you; if it had, you would have probably learned
> that restricting yourself to just programming and not diving deeper into
> the many other issues that come up in software development is limiting
> not only your career, but your experience.

One can say the same thing about you.  He could say you limited your career
because you only have a two-year community college degree instead of a
four-year university CS degree.  Once you get that degree, he can ask you
why you didn't get a more valuable, and in-depth, MBA degree.

> I think we're also seeing why you never made it as a programmer.

You don't know that it's his attitude that affected his programming career.
It could easily be numerous unrelated life events.  He could be required to
live where he is to take care of his parents or family, or he could be
injured and be living close to needed healthcare, or he could be unable to
sell his house, or he could have court mandated locality requirements, or he
might not have the correct degree or skills for the current market, or maybe
his finances are so messed up that he can't get college loans, or maybe the
environment where he programmed was so "toxic" he has mild "PTSD" and
doesn't want to program for pay.  You just don't know.


Rod Pemberton


[toc] | [prev] | [next] | [standalone]


#15988

FromPaul Rubin <no.email@nospam.invalid>
Date2012-10-06 16:05 -0700
Message-ID<7xpq4vw6a9.fsf@ruckus.brouhaha.com>
In reply to#15985
"Rod Pemberton" <do_not_have@notemailnotz.cmm> writes:
> That's called a "programmer analyst".   It's when you are spending a larger
> percentage of your time doing analysis and design.  If you're no longer
> programming at all, then you're a "systems analyst".

That was a 1960's or 1970's thing, maybe still used in government
agencies or other such bureaucracies.  Not much of anywhere else as far
as I can tell.

[toc] | [prev] | [next] | [standalone]


#15989

From"Elizabeth D. Rather" <erather@forth.com>
Date2012-10-06 13:56 -1000
Message-ID<8d6dnf1JIYC5WO3NnZ2dnUVZ_smdnZ2d@supernews.com>
In reply to#15988
On 10/6/12 1:05 PM, Paul Rubin wrote:
> "Rod Pemberton" <do_not_have@notemailnotz.cmm> writes:
>> That's called a "programmer analyst".   It's when you are spending a larger
>> percentage of your time doing analysis and design.  If you're no longer
>> programming at all, then you're a "systems analyst".
>
> That was a 1960's or 1970's thing, maybe still used in government
> agencies or other such bureaucracies.  Not much of anywhere else as far
> as I can tell.
>

Really, there's not much point in trying to parse out these various job 
titles. I suspect every single company, large or small, defines them 
differently. Not to mention the fact that individuals' particular skill 
sets will lead to somewhat different actual job activities in spite of 
what their title/formal description says.

Some companies, of course, have a lot more hardware design, development, 
and debugging to do than those who are using only off-the-shelf 
hardware. But even in the latter class you'll see a lot of variation in 
how much involvement the "programmer" has in program requirements, 
design, etc., in addition to writing and testing code.

Cheers,
Elizabeth

-- 
==================================================
Elizabeth D. Rather   (US & Canada)   800-55-FORTH
FORTH Inc.                         +1 310.999.6784
5959 West Century Blvd. Suite 700
Los Angeles, CA 90045
http://www.forth.com

"Forth-based products and Services for real-time
applications since 1973."
==================================================

[toc] | [prev] | [next] | [standalone]


#15991

FromHugh Aguilar <hughaguilar96@yahoo.com>
Date2012-10-06 18:48 -0700
Message-ID<39885870-4a04-49ca-95c3-d23fb4c6c526@p5g2000pbs.googlegroups.com>
In reply to#15989
On Oct 6, 4:56 pm, "Elizabeth D. Rather" <erat...@forth.com> wrote:
> On 10/6/12 1:05 PM, Paul Rubin wrote:
>
> > "Rod Pemberton" <do_not_h...@notemailnotz.cmm> writes:
> >> That's called a "programmer analyst".   It's when you are spending a larger
> >> percentage of your time doing analysis and design.  If you're no longer
> >> programming at all, then you're a "systems analyst".
>
> > That was a 1960's or 1970's thing, maybe still used in government
> > agencies or other such bureaucracies.  Not much of anywhere else as far
> > as I can tell.
>
> Really, there's not much point in trying to parse out these various job
> titles. I suspect every single company, large or small, defines them
> differently. Not to mention the fact that individuals' particular skill
> sets will lead to somewhat different actual job activities in spite of
> what their title/formal description says.

I don't distinguish between "analyst" and "programmer." That would
only make sense if you have two people, one who is the analyst and the
other who is a "code monkey" who writes code but has to be micro-
managed in the sense of being told exactly what function to write hour-
by-hour. I've never heard of that being done. Rod may be right that it
was done in the 1960s and 1970s, but I wouldn't know. Top-down
programming was done in the 1960s and 1970s, but all of that is long
obsolete. Forth pioneered bottom-up programming, and now everybody is
doing it.

In my experience, team programming doesn't work unless the team
members are given distinct jobs. For example, at Testra I wrote MFX
the development system for the MiniForth, and the other employee used
MFX to write the motion-control program (actually, port it over from
his old 80c320 program). I never actually saw the motion-control
program's source-code (because John Hart didn't trust me not to steal
it and start my own company selling motion-control boards). There was
some overlap in regard to low-level stuff. For example, I was supposed
to write the 16-bit integer addition but I didn't know how and kept
putting it off, so the other guy wrote it. Similarly, some of what I
wrote was actually low-level aspects of the motion-control program,
which I accomplished without knowing anything about motion-control.
For the most part though, giving programmers distinct domains to work
in is the best way to go --- that way they don't step on each other's
feet.

When I was working as an IBM370 assembly-language programmer, I
sometimes had a CSR (customer-service rep) between me and the
customer, and sometimes I had to be my own CSR. I definitely preferred
to have a CSR --- those customers were all liars and cheaters --- I
didn't want to deal with that. I did the CSR thing when necessary ---
that was actually pretty similar to cab driving except that I never
got to beat anybody up.

> Some companies, of course, have a lot more hardware design, development,
> and debugging to do than those who are using only off-the-shelf
> hardware. But even in the latter class you'll see a lot of variation in
> how much involvement the "programmer" has in program requirements,
> design, etc., in addition to writing and testing code.

The reason why I'm not working at Testra anymore is because I don't
know anything about electronics. They wanted me to build boards and
test them --- I don't know anything about that though. I wasn't
prepared to be an electronics technician, and certainly not get
involved in the hardware design. I'm actually working now soldering
electronics though (I just drive the cab on Friday and Saturday), so
I'm taking a step toward learning that stuff. I still don't know
anything about electronics, but I am getting experience soldering
which is a start.

[toc] | [prev] | [next] | [standalone]


#16006

FromAlex McDonald <blog@rivadpm.com>
Date2012-10-07 04:21 -0700
Message-ID<f97ed3c4-f52f-4aaa-b64c-75fbf8ff4095@o8g2000yqm.googlegroups.com>
In reply to#15985
On Oct 6, 3:03 pm, "Rod Pemberton" <do_not_h...@notemailnotz.cmm>
wrote:

>
> > As a software engineer, [...]
>
> We've been over this before.  There is no such thing as a software engineer.
> You're misusing the term "engineer".  The engineering college of a
> university grants engineering degrees, including electrical and mechanical
> engineering.  The liberal science and arts college of a university grants
> science degrees, including mathematics and computer science.  Programming is
> part of the LSA college degree program.  Engineers must be licensed by the
> state for every engineering field or work under a licensed engineer.  Are
> you licensed by the state?  Is your immediate manager?  If you answered
> "No." to both, then you're not an engineer.

The company I work for invests heavily in software engineers; over
four thousand of them. That's how they describe themselves, what we
call them and what the wider software industry calls them. We don't
advertise for programmers, but for software engineers.
https://careers.netapp.com/1033/ASP/TG/cim_jobdetail.asp?partnerid=25093&siteid=5100&jobid=252950.

As to your division of university colleges, how does that make a
difference? See again the job advert; "A Bachelor of Science Degree in
Electrical Engineering or Computer Science, a Master Degree, or a
PhD". Doesn't say anything about "LSA".

>
> > As a [...] writing code is one major aspect of
> > what I do.  I'd say on an average day at work, I'm probably spending
> > 75% of my time writing code.  The rest of the time, I'm also charged
> > with a variety of other responsibilities, from analysis, design,
> > managing projects, measuring progress, and so on.  Those are typically
> > not skills that a person with a strict "programmer" title has to deal
> > with, but they are essential.
>
> That's called a "programmer analyst".   It's when you are spending a larger
> percentage of your time doing analysis and design.  If you're no longer
> programming at all, then you're a "systems analyst".

These are arbitrary and old-fashioned divisions that I haven't heard
in a long time outside of bureaucracies where rank, pay and job title
are often intertwined.

[toc] | [prev] | [next] | [standalone]


#16026

From"Rod Pemberton" <do_not_have@notemailnotz.cnm>
Date2012-10-07 19:07 -0400
Message-ID<k4t1om$hae$1@speranza.aioe.org>
In reply to#16006
"Alex McDonald" <blog@rivadpm.com> wrote in message
news:f97ed3c4-f52f-4aaa-b64c-75fbf8ff4095@o8g2000yqm.googlegroups.com...
> On Oct 6, 3:03 pm, "Rod Pemberton" <do_not_h...@notemailnotz.cmm>
> wrote:
...

> > > As a software engineer, [...]
> >
> > We've been over this before. There is no such thing as a software
> > engineer.  You're misusing the term "engineer". The engineering
> > college of a university grants engineering degrees, including
> > electrical and mechanical engineering. The liberal science and arts
> > college of a university grants science degrees, including mathematics
> > and computer science. Programming is part of the LSA college
> > degree program. Engineers must be licensed by the state for every
> > engineering field or work under a licensed engineer. Are you licensed
> > by the state? Is your immediate manager? If you answered
> > "No." to both, then you're not an engineer.
>
> The company I work for invests heavily in software engineers; over
> four thousand of them. That's how they describe themselves, what we
> call them and what the wider software industry calls them. We don't
> advertise for programmers, but for software engineers.
>

In most states, it's illegal to claim you're an engineer when you're not.
It's generally a part of the State licensing laws of engineers.  Check your
State's laws.

> As to your division of university colleges, how does that make a
> difference?

The college determines which degree you can earn.  Engineering degrees come
from the engineering college at a university.  That explanation reiterated
what was already said by me and is still quoted above.  Please read before
replying.

> See again the job advert; "A Bachelor of Science Degree in
> Electrical Engineering or Computer Science, a Master Degree, or a
> PhD". Doesn't say anything about "LSA".

Mathematics and physics majors have been known to become programmers too.
So, you should probably allow those degrees too...

It says a Computer Science degree is one of the degrees accepted for the
job.  That's an LSA degree.  It's not an engineering degree.  Someone with a
CS, cannot validly claim to be an engineer.  It may be illegal too.  As for
an MD or PHD, it depends on the degree.  Can they all do the job?  Probably,
but only one is formally trained in programming.


Rod Pemberton

[toc] | [prev] | [next] | [standalone]


#16032

From"Elizabeth D. Rather" <erather@forth.com>
Date2012-10-07 13:42 -1000
Message-ID<28SdnYUJT_jhju_NnZ2dnUVZ_smdnZ2d@supernews.com>
In reply to#16026
On 10/7/12 1:07 PM, Rod Pemberton wrote:
> "Alex McDonald" <blog@rivadpm.com> wrote in message
> news:f97ed3c4-f52f-4aaa-b64c-75fbf8ff4095@o8g2000yqm.googlegroups.com...
>> On Oct 6, 3:03 pm, "Rod Pemberton" <do_not_h...@notemailnotz.cmm>
>> wrote:
> ...
>
>>>> As a software engineer, [...]
>>>
>>> We've been over this before. There is no such thing as a software
>>> engineer.  You're misusing the term "engineer". The engineering
>>> college of a university grants engineering degrees, including
>>> electrical and mechanical engineering. The liberal science and arts
>>> college of a university grants science degrees, including mathematics
>>> and computer science. Programming is part of the LSA college
>>> degree program. Engineers must be licensed by the state for every
>>> engineering field or work under a licensed engineer. Are you licensed
>>> by the state? Is your immediate manager? If you answered
>>> "No." to both, then you're not an engineer.
>>
>> The company I work for invests heavily in software engineers; over
>> four thousand of them. That's how they describe themselves, what we
>> call them and what the wider software industry calls them. We don't
>> advertise for programmers, but for software engineers.
>
> In most states, it's illegal to claim you're an engineer when you're not.
> It's generally a part of the State licensing laws of engineers.  Check your
> State's laws.

"Software engineering" definitely exists, as a job title and as a 
degree. According to Wikipedia, "A number of universities have Software 
Engineering degree programs; as of 2010, there were 244 Campus programs, 
70 Online programs, 230 Masters-level programs, 41 Doctorate-level 
programs, and 69 Certificate-level programs in the United States."

>> As to your division of university colleges, how does that make a
>> difference?
>
> The college determines which degree you can earn.  Engineering degrees come
> from the engineering college at a university.  That explanation reiterated
> what was already said by me and is still quoted above.  Please read before
> replying.

"Software engineering" is not the same as "Computer Science" which tends 
to be more theoretical and academic, while software engineering tends to 
focus much more on practical application: design and implementation of 
applications. "Software engineering" may be offered in the College of 
Engineering, but I think there's no hard and fast rule.

>> See again the job advert; "A Bachelor of Science Degree in
>> Electrical Engineering or Computer Science, a Master Degree, or a
>> PhD". Doesn't say anything about "LSA".
>
> Mathematics and physics majors have been known to become programmers too.
> So, you should probably allow those degrees too...
>
> It says a Computer Science degree is one of the degrees accepted for the
> job.  That's an LSA degree.  It's not an engineering degree.  Someone with a
> CS, cannot validly claim to be an engineer.  It may be illegal too.  As for
> an MD or PHD, it depends on the degree.  Can they all do the job?  Probably,
> but only one is formally trained in programming.

As an employer of people writing computer programs over the last 40 
years, my experience has been that there's a fairly weak correlation 
between what particular degree you have (if any) and your ability to get 
the project done effectively and well. Individual skills and experience 
count for a lot more.

Chuck Moore does not have either a CS or SE degree. As I recall, his 
degree is in Physics or Math from MIT. The best practicing application 
programmer I know does not have a bachelor's degree in anything, but he 
regularly debugs custom hardware that's been sent to him to program, by 
reading the schematics and running tests, and writes absolutely 
exquisite Forth.

Cheers,
Elizabeth

-- 
==================================================
Elizabeth D. Rather   (US & Canada)   800-55-FORTH
FORTH Inc.                         +1 310.999.6784
5959 West Century Blvd. Suite 700
Los Angeles, CA 90045
http://www.forth.com

"Forth-based products and Services for real-time
applications since 1973."
==================================================

[toc] | [prev] | [next] | [standalone]


#16042

FromAlex McDonald <blog@rivadpm.com>
Date2012-10-08 02:29 -0700
Message-ID<5efba51d-c118-4899-adff-1103c62f38e3@c20g2000vbz.googlegroups.com>
In reply to#16032
On Oct 7, 4:42 pm, "Elizabeth D. Rather" <erat...@forth.com> wrote:
> On 10/7/12 1:07 PM, Rod Pemberton wrote:
>
>
>
>
>
>
>
>
>
> > "Alex McDonald" <b...@rivadpm.com> wrote in message
> >news:f97ed3c4-f52f-4aaa-b64c-75fbf8ff4095@o8g2000yqm.googlegroups.com...
> >> On Oct 6, 3:03 pm, "Rod Pemberton" <do_not_h...@notemailnotz.cmm>
> >> wrote:
> > ...
>
> >>>> As a software engineer, [...]
>
> >>> We've been over this before. There is no such thing as a software
> >>> engineer.  You're misusing the term "engineer". The engineering
> >>> college of a university grants engineering degrees, including
> >>> electrical and mechanical engineering. The liberal science and arts
> >>> college of a university grants science degrees, including mathematics
> >>> and computer science. Programming is part of the LSA college
> >>> degree program. Engineers must be licensed by the state for every
> >>> engineering field or work under a licensed engineer. Are you licensed
> >>> by the state? Is your immediate manager? If you answered
> >>> "No." to both, then you're not an engineer.
>
> >> The company I work for invests heavily in software engineers; over
> >> four thousand of them. That's how they describe themselves, what we
> >> call them and what the wider software industry calls them. We don't
> >> advertise for programmers, but for software engineers.
>
> > In most states, it's illegal to claim you're an engineer when you're not.
> > It's generally a part of the State licensing laws of engineers.  Check your
> > State's laws.
>
> "Software engineering" definitely exists, as a job title and as a
> degree. According to Wikipedia, "A number of universities have Software
> Engineering degree programs; as of 2010, there were 244 Campus programs,
> 70 Online programs, 230 Masters-level programs, 41 Doctorate-level
> programs, and 69 Certificate-level programs in the United States."
>
> >> As to your division of university colleges, how does that make a
> >> difference?
>
> > The college determines which degree you can earn.  Engineering degrees come
> > from the engineering college at a university.  That explanation reiterated
> > what was already said by me and is still quoted above.  Please read before
> > replying.
>
> "Software engineering" is not the same as "Computer Science" which tends
> to be more theoretical and academic, while software engineering tends to
> focus much more on practical application: design and implementation of
> applications. "Software engineering" may be offered in the College of
> Engineering, but I think there's no hard and fast rule.
>
> >> See again the job advert; "A Bachelor of Science Degree in
> >> Electrical Engineering or Computer Science, a Master Degree, or a
> >> PhD". Doesn't say anything about "LSA".
>
> > Mathematics and physics majors have been known to become programmers too.
> > So, you should probably allow those degrees too...
>
> > It says a Computer Science degree is one of the degrees accepted for the
> > job.  That's an LSA degree.  It's not an engineering degree.  Someone with a
> > CS, cannot validly claim to be an engineer.  It may be illegal too.  As for
> > an MD or PHD, it depends on the degree.  Can they all do the job?  Probably,
> > but only one is formally trained in programming.
>
> As an employer of people writing computer programs over the last 40
> years, my experience has been that there's a fairly weak correlation
> between what particular degree you have (if any) and your ability to get
> the project done effectively and well. Individual skills and experience
> count for a lot more.
>
> Chuck Moore does not have either a CS or SE degree. As I recall, his
> degree is in Physics or Math from MIT. The best practicing application
> programmer I know does not have a bachelor's degree in anything, but he
> regularly debugs custom hardware that's been sent to him to program, by
> reading the schematics and running tests, and writes absolutely
> exquisite Forth.

The current maintainer of the NFS client stack in Linux was a nuclear
physicist from the University of Oslo. He too is a software engineer.

>
> Cheers,
> Elizabeth
>
> --
> ==================================================
> Elizabeth D. Rather   (US & Canada)   800-55-FORTH
> FORTH Inc.                         +1 310.999.6784
> 5959 West Century Blvd. Suite 700
> Los Angeles, CA 90045http://www.forth.com
>
> "Forth-based products and Services for real-time
> applications since 1973."
> ==================================================

[toc] | [prev] | [next] | [standalone]


#16043

FromAlex McDonald <blog@rivadpm.com>
Date2012-10-08 02:41 -0700
Message-ID<da2b3d27-909c-4d30-8695-24067f187d7b@y6g2000vbb.googlegroups.com>
In reply to#16026
On Oct 7, 4:03 pm, "Rod Pemberton" <do_not_h...@notemailnotz.cnm>
wrote:
> "Alex McDonald" <b...@rivadpm.com> wrote in message
>
> news:f97ed3c4-f52f-4aaa-b64c-75fbf8ff4095@o8g2000yqm.googlegroups.com...> On Oct 6, 3:03 pm, "Rod Pemberton" <do_not_h...@notemailnotz.cmm>
> > wrote:
>
> ...
>
>
>
>
>
>
>
>
>
> > > > As a software engineer, [...]
>
> > > We've been over this before. There is no such thing as a software
> > > engineer.  You're misusing the term "engineer". The engineering
> > > college of a university grants engineering degrees, including
> > > electrical and mechanical engineering. The liberal science and arts
> > > college of a university grants science degrees, including mathematics
> > > and computer science. Programming is part of the LSA college
> > > degree program. Engineers must be licensed by the state for every
> > > engineering field or work under a licensed engineer. Are you licensed
> > > by the state? Is your immediate manager? If you answered
> > > "No." to both, then you're not an engineer.
>
> > The company I work for invests heavily in software engineers; over
> > four thousand of them. That's how they describe themselves, what we
> > call them and what the wider software industry calls them. We don't
> > advertise for programmers, but for software engineers.
>
> In most states, it's illegal to claim you're an engineer when you're not.
> It's generally a part of the State licensing laws of engineers.  Check your
> State's laws.
>
> > As to your division of university colleges, how does that make a
> > difference?
>
> The college determines which degree you can earn.  Engineering degrees come
> from the engineering college at a university.  That explanation reiterated
> what was already said by me and is still quoted above.  Please read before
> replying.

I read it. Again; what difference does the division make in practice?
Edinburgh University's CS is part of the Science & Engineering school.
Glasgow has a school of Computing Science.

>
> > See again the job advert; "A Bachelor of Science Degree in
> > Electrical Engineering or Computer Science, a Master Degree, or a
> > PhD". Doesn't say anything about "LSA".
>
> Mathematics and physics majors have been known to become programmers too.
> So, you should probably allow those degrees too...

We do. See my reply to Elizabeth.

>
> It says a Computer Science degree is one of the degrees accepted for the
> job.  That's an LSA degree.  It's not an engineering degree.  Someone with a
> CS, cannot validly claim to be an engineer.  It may be illegal too.  As for
> an MD or PHD, it depends on the degree.  Can they all do the job?  Probably,
> but only one is formally trained in programming.

Which one?

[toc] | [prev] | [next] | [standalone]


#16047

FromBrad Eckert <hwfwguy@gmail.com>
Date2012-10-08 08:18 -0700
Message-ID<21a697a3-589d-4bb3-ab4d-28f8aad61fd2@googlegroups.com>
In reply to#15985
On Saturday, October 6, 2012 3:03:17 PM UTC-7, Rod Pemberton wrote:
> One can say the same thing about you.  He could say you limited your career
> because you only have a two-year community college degree instead of a
> four-year university CS degree.  Once you get that degree, he can ask you
> why you didn't get a more valuable, and in-depth, MBA degree.
> 
The top principal engineer at the semiconductor design group I used to work for doesn't have a college degree. But he does have almost 100 patents.

[toc] | [prev] | [next] | [standalone]


Page 1 of 2  [1] 2  Next page →

Back to top | Article view | comp.lang.forth


csiph-web