systems programming versus application programming

M

Matt

I was told that people who do systems level programming are better
programmers than people who write applications. My perspective is that they
require different skills sets. One of the views is that systems programmers
don't require too much object-oriented design skills than applications
programmers.

What do u think? And please discuss because I really want to learn more.
thanks!!
 
R

Roedy Green

What do u think? And please discuss because I really want to learn more.
thanks!!

The most maintainable code is well separated into layers so that you
don't muddle complex computer science with business logic.

Java, as written, is usually dreadful in that regard. It is missing
application layers to handle things like formatting and validation.
This is always done as if for the first time, in the style of monks
creating an illuminated manuscript, hand tweaked.

To fully appreciate this, visit Bali. It is a beautiful place, where
everything happens with majestic slowness. You would swear everyone
was doing everything for the first time. However, this is not a way
to get code written quickly or maintainably.

You also want to write code so that idiots can maintain it. If it is
well layered, people with quite low skill level can safely manipulate
the upper layers using only monkey see monkey do.

The error system people make is not having a full appreciation for
brevity. They do each thing only once. They typically don't realise
the effect every extra word has on destroying the maintainability of
repetitive code that uses their tools.

The error application people make is failing to encapsulate logic.
Instead, they clone and modify.
 
P

Peter Ashford

Matt said:
I was told that people who do systems level programming are better
programmers than people who write applications. My perspective is that they
require different skills sets. One of the views is that systems programmers
don't require too much object-oriented design skills than applications
programmers.

What do u think? And please discuss because I really want to learn more.
thanks!!

I just think they're different tasks, neither is inheirently 'better'
than the other. Although, each kind of programming needs an
understanding of the other IMO.
 
I

IchBin

Well being a systems programmer for 10 yrs in the 80's and 90's there was
basically one language: assembler. The programming main book you need, for
assembler, was the "Principle of Operations" (IBM) . In fact I still have my
version. Working and consulting at fortune 100 companies meant that if you
screwed up your whole operating system would be down. Naturally their entire
network(s). So your perspective would be different than that of an
application programmer. Not to say there was less pressure. But if you did
bad work your name would get around if you worked only in one city. As to
programming it was all low level. IBM was since moved a lot of code into the
microcode. Just think about it relative to a PC. There are system
programmers for that also. How do you think there job is relative to yours?
Weather it is C or assembler it's all relative to the ISO layer your are
programming with. I find the PC application programming very loose (sloppy)
in most cases because the coding is just done to get it done. .Sorry, just
my experience.

IchBin
 
L

Liz

IchBin said:
Well being a systems programmer for 10 yrs in the 80's and 90's there was
basically one language: assembler. The programming main book you need, for
assembler, was the "Principle of Operations" (IBM) . In fact I still have my
version. Working and consulting at fortune 100 companies meant that if you
screwed up your whole operating system would be down. Naturally their entire
network(s). So your perspective would be different than that of an
application programmer. Not to say there was less pressure. But if you did
bad work your name would get around if you worked only in one city. As to
programming it was all low level. IBM was since moved a lot of code into the
microcode. Just think about it relative to a PC. There are system
programmers for that also. How do you think there job is relative to yours?
Weather it is C or assembler it's all relative to the ISO layer your are
programming with. I find the PC application programming very loose (sloppy)
in most cases because the coding is just done to get it done. .Sorry, just
my experience.

IchBin
Systems programmers are smart, applications programmers are bafoons.

BTW: How come you didn't use 's' which was available for systems programming
on IBM 360/370 in the 70's
 
M

marcus

IchBin,
These were the opinions expressed in my household growing up in the 70's
and 80's. Except that my father's programmer buddies thought assembler
was for wusses -- they only worked on the "bare metal". I once saw an
engineer actually program the bootstrap into a mini using the front
panel switches. From memory. It was kinda like being in the presence
of Turing.

My opinion, for what it's worth:
system's programmers would very likely be unwilling to work in an
environment where shortcuts and kludges were required to hit a Christmas
marketing deadline. They would find it offensive to their work ethic.

applications programmers would find the rigors of systems level work
overly finicky and exacting -- also, surprisingly, offensive to their
work ethic. Since the end user's PC is probably loaded with spyware,
the DirextX drivers need constant patching, and the OS only works at
around 95% accuracy anyway, what's the big deal? If you take the time
to make it perfect, someone else will have the market share.

My father's goal was 100 lines of proven code a day. That was 100 lines
of APL, BTW.

So Matt -- do you really just want to know who gets paid more? Wo has
the respect of their peers? Who has more job satisfaction?

Kinda like comparing a micro-surgeon attaching a finger with a
tummy-tucker cranking out lipo jobs.
-- clh
 
R

Roedy Green

I once saw an
engineer actually program the bootstrap into a mini using the front
panel switches. From memory. It was kinda like being in the presence
of Turing.

booting from the panel was not that unusual. You even did it circa
1978 with the 8080 and CPM and S-100 bus.
 
M

Matt

So Matt -- do you really just want to know who gets paid more? Wo has
the respect of their peers? Who has more job satisfaction?

marcus: Yeah, so what's your opinion? thanks!
 
T

Thomas Schodt

So Matt -- do you really just want to know who gets paid more? Wo has
marcus: Yeah, so what's your opinion?

You're missing the point, marcus opinion is mainly relevant to marcus...

*You* have to decide; which job would *you* prefer?
(assuming your skillset covers both).
 
L

Liz

Roedy Green said:
booting from the panel was not that unusual. You even did it circa
1978 with the 8080 and CPM and S-100 bus.

Ok, I was doing it in 1971 with a PDP-11, so there.
 
S

Sam

I was told that people who do systems level programming are better
programmers than people who write applications. My perspective is that they
require different skills sets. One of the views is that systems programmers
don't require too much object-oriented design skills than applications
programmers.

What do u think? And please discuss because I really want to learn more.
thanks!!


I was told that people who do systems level programming are better
programmers than people who write applications. My perspective is that they
require different skills sets. One of the views is that systems programmers
don't require too much object-oriented design skills than applications
programmers.

What do u think? And please discuss because I really want to learn more.
thanks!!

I tried systems programming for about a year, way back in the
eighties. I didn't have any trouble with learning the concepts, in
fact that was one reason I got the job - I had helped explain stuff
during an in-house class by the tech support consultant. However, I
found it a somewhat dry in that it consisted of making sure everything
was well organized and neat and up-to-date - you had to be a bit anal
to be really good at it. The thing about applications is that in many
cases you're given the opportunity to develop a system from scratch.
There is a lot more room to envision and create and develop solutions.

The other thing to keep in mind is that you can have system
programmers who are hacks and not that good, and app developers who
can program circles around them. I've experience this many times. You
really have to approach on a case-by-case basis.

Sam90
 
R

Roedy Green

Ok, I was doing it in 1971 with a PDP-11, so there.

I was trying to show this booting ritual is NOT that ancient.

I was doing it in 1964 on the 7044, in 1968 with LGP-30, and later
with the PDP-8. Circa 1977 the Apple ][ came with the BIOS in ROM and
very rapidly the practice died out.
 
L

Liz

Roedy Green said:
Ok, I was doing it in 1971 with a PDP-11, so there.

I was trying to show this booting ritual is NOT that ancient.

I was doing it in 1964 on the 7044, in 1968 with LGP-30, and later
with the PDP-8. Circa 1977 the Apple ][ came with the BIOS in ROM and
very rapidly the practice died out.

Finally someone really impresses me.
I remember buying and programming a RAM board that had 16 words (32 bytes)
on the PDP-11 by cutting out resistors.
Got any more stories? This is fun.
 
R

Roedy Green

Finally someone really impresses me.
I remember buying and programming a RAM board that had 16 words (32 bytes)
on the PDP-11 by cutting out resistors.
Got any more stories? This is fun.

The furthest I go back is to programming the 407 lister and the
reproducing gang punch using gold-tipped wires. My first personal
computer, the LGP-30 had paper tape, 6 level, no RAM, just a rotating
magnetic drum. It filled a room in my basement. See
http://mindprod.com/equipment.html


I wrote what may be the world's first form letter with it. It had
spectacular results. I got a phone call that went something like
this: "I'm Mr. xxx head of RCA. I don't know who you are, or how you
did this, but if you ever have any trouble again, please call me
personally at this number xxxx"

The beast produced output that looked like it had been hand typed on
an old manual typewriter, complete with two colour ribbon.

Even though the equipment would be infinitely frustrating by today's
standards, I think I had more fun with it back then. Partly it was
because you TOTALLY understood your machine. You were completely
engaged.

Today's programming is much like pressing an elevator button. You make
the elevator come, but you really have no idea of the mechanism.
 
R

Roedy Green

The furthest I go back is to programming the 407 lister and the
reproducing gang punch using gold-tipped wires.

Perhaps even further back was programming the keypunch with an 80
column card fitted to a drum. Oddly this gave BETTER data validation
than today's Java.

With it you could define the lengths of fields on the card, autoskip,
auto dup from the previous card, accept numeric only, right justify
numbers.

I think I even remember some of the codes still.
12 field continuation
11 skip
0 dup
1 alpha allowed
 
S

Sudsy

Liz wrote:
Finally someone really impresses me.
I remember buying and programming a RAM board that had 16 words (32 bytes)
on the PDP-11 by cutting out resistors.
Got any more stories? This is fun.

Sure! If it wasn't for the MMU on the PDP/11-45s and 70s then we would
never have had UNIX. Being able to separate kernel from user space was
essential. If you look at the genesis of operating systems, Linus
Torvalds never would have arrived at Linux, save for the research at
Bell Labs in New Jersey...
Of course the Berkely Standard Distribution was key to the virtual
memory management model on the VAX 11-750/780 series...
So now we have UNIX for the Z-Series (mainframes)
Cool, no?
 
L

Liz

Sudsy said:
Liz wrote:


Sure! If it wasn't for the MMU on the PDP/11-45s and 70s then we would
never have had UNIX. Being able to separate kernel from user space was
essential. If you look at the genesis of operating systems, Linus
Torvalds never would have arrived at Linux, save for the research at
Bell Labs in New Jersey...
Of course the Berkely Standard Distribution was key to the virtual
memory management model on the VAX 11-750/780 series...
So now we have UNIX for the Z-Series (mainframes)
Cool, no?
If you look at the early code for the PDP-11 you see comments about
"make this work for big machines" where they meant "big" to be more
than 16K words because then numeric values flipped to negative. Mainly
this was for addressing and using instructions like "bcc" branch on
carry bit clear type stuff. Of course, then all the floating point
was in software.
 

Ask a Question

Want to reply to this thread or ask your own question?

You'll need to choose a username for the site, which only take a couple of moments. After that, you can post your question and our members will help you out.

Ask a Question

Members online

No members online now.

Forum statistics

Threads
473,769
Messages
2,569,580
Members
45,054
Latest member
TrimKetoBoost

Latest Threads

Top