Groups | Search | Server Info | Keyboard shortcuts | Login | Register [http] [https] [nntp] [nntps]
Groups > comp.lang.forth > #15891 > unrolled thread
| Started by | Brad Eckert <hwfwguy@gmail.com> |
|---|---|
| First post | 2012-10-03 13:15 -0700 |
| Last post | 2012-10-10 03:53 -0400 |
| Articles | 20 on this page of 36 — 14 participants |
Back to article view | Back to comp.lang.forth
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 →
| From | Brad Eckert <hwfwguy@gmail.com> |
|---|---|
| Date | 2012-10-03 13:15 -0700 |
| Subject | STATEless 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]
| From | Alex McDonald <blog@rivadpm.com> |
|---|---|
| Date | 2012-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]
| From | Hugh Aguilar <hughaguilar96@yahoo.com> |
|---|---|
| Date | 2012-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]
| From | Paul Rubin <no.email@nospam.invalid> |
|---|---|
| Date | 2012-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]
| From | anton@mips.complang.tuwien.ac.at (Anton Ertl) |
|---|---|
| Date | 2012-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]
| From | Hugh Aguilar <hughaguilar96@yahoo.com> |
|---|---|
| Date | 2012-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]
| From | "Charles Childers" <crc@retroforth.org> |
|---|---|
| Date | 2012-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]
| From | Andrew Haley <andrew29@littlepinkcloud.invalid> |
|---|---|
| Date | 2012-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]
| From | Hugh Aguilar <hughaguilar96@yahoo.com> |
|---|---|
| Date | 2012-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]
| From | John Passaniti <john.passaniti@gmail.com> |
|---|---|
| Date | 2012-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]
| From | "Rod Pemberton" <do_not_have@notemailnotz.cmm> |
|---|---|
| Date | 2012-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]
| From | Paul Rubin <no.email@nospam.invalid> |
|---|---|
| Date | 2012-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]
| From | "Elizabeth D. Rather" <erather@forth.com> |
|---|---|
| Date | 2012-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]
| From | Hugh Aguilar <hughaguilar96@yahoo.com> |
|---|---|
| Date | 2012-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]
| From | Alex McDonald <blog@rivadpm.com> |
|---|---|
| Date | 2012-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]
| From | "Rod Pemberton" <do_not_have@notemailnotz.cnm> |
|---|---|
| Date | 2012-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]
| From | "Elizabeth D. Rather" <erather@forth.com> |
|---|---|
| Date | 2012-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]
| From | Alex McDonald <blog@rivadpm.com> |
|---|---|
| Date | 2012-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]
| From | Alex McDonald <blog@rivadpm.com> |
|---|---|
| Date | 2012-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]
| From | Brad Eckert <hwfwguy@gmail.com> |
|---|---|
| Date | 2012-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