Fog Creek Software
Discussion Board




Dig thy own grave, diggler!

With the advent of XGLs, will programs ever replace programmers sometime in future?

Sathyaish Chakravarthy
Tuesday, May 11, 2004

XGL?

MyNameIsSecret();
Tuesday, May 11, 2004

Meaning 4 GL in all its avatars.

Sathyaish Chakravarthy
Tuesday, May 11, 2004

"The irony of the information age is that it has given new credibility to uninformed opinion."

Patrik
Tuesday, May 11, 2004

Please correct me then, if I am wrong.

Sathyaish Chakravarthy
Tuesday, May 11, 2004

Only when programs can post to programmer web sites.

Bill Rushmore
Tuesday, May 11, 2004

Sathyaish,

I have heard that I would be unemployed and replaced by automated software more times than I can care to count.

However this standpoint that code can replace humans is usually maintained by people who see software development strictly as cranking out code. This is not true.

As a programmer I solve problems, analyze buisness flows and try to identify points where things can be done more efficently or whatever.

The code is just a thing to reach the goal. Not the goal in itself. Good software developers need very good analytical skills, not to write code, but to analyze problems.

We solve problems for people. The code in itself without domain knowledge is pretty useless.

So, I simply do not believe Im going to be replaced this time either :)

Patrik
Tuesday, May 11, 2004

Yeah! You're right. But programmers would be spending lesser time programming and more time probably designing software. There are programs now that generate source code from E/R Diagrams and Data Flow Diagrams. There are programs that reverse engineer, produce visual data models from source code. Probably, there might be a day when we've programs that will do all possible kinds of code, yes I am refering to the mechanistic aspect of coding that can be machinized, and we'll sit back with a cup of coffee and probably just black-box test our applications.

Sathyaish Chakravarthy
Tuesday, May 11, 2004

As the saying goes:
"If a pretty poster and a cute saying are all it takes to motivate you, you probably have a very easy job.  The kind robots will be doing soon."

MR
Tuesday, May 11, 2004

"  But programmers would be spending lesser time programming and more time probably designing software. "

Hehe. I heard this one somewhere about 1985 when I was first year on college.
Almost 20 years. And I do not see some dramatic improvement. Still no robot programmers.

drazen
Tuesday, May 11, 2004

Sathyaish Chakravarthy, you gotta start these posts with a bit more background. Most of us can follow your train of thought a lot of better and provide more intelligent answers. Good for everyone right? Where are you working anyway? Some research group?

Li-fan Chen
Tuesday, May 11, 2004

>Sathyaish Chakravarthy, you gotta start these posts with a bit more background. Most of us can follow your train of thought a lot of better and provide more intelligent answers. Good for everyone right? Where are you working anyway? Some research group?

May be I am just a bit poor at that. Or I've been riding too many lines of thought. I'll try the next time. I've learnt a whole lot of civilities on this board, I tell ya, seriously. No kidding.

I work for a run o' the mill software development firm in India. I am guilty of sucking the life out of your folks for nothing. I've just been enjoying working on my new resolution -
(1) <SECRET>To better myself so I am fit for Redmond.</SECRET>
(2) To enjoy learning.

I've always been that irksome.

Sathyaish Chakravarthy
Tuesday, May 11, 2004

1. Take jobs outsourced from the US
2. Move to the US
3. ?????
4. Profit!

~
Tuesday, May 11, 2004

Maybe Joel can start a separate "Sathyaish Chakravarthy Asks JOS" forum.  You know, just to split the post traffic in half. :)

sgf
Tuesday, May 11, 2004

Mr.Tilde,

What is that bullet number 3 there?

Sathyaish Chakravarthy
Tuesday, May 11, 2004

No, that would be "Sathyaish Chakravarthy Asks JOS and JoS doesn't answer" forum, right? ;-)

Sathyaish Chakravarthy
Tuesday, May 11, 2004

Sathyaish, tilde is making a play on an episode of a US animated TV show "South Park" where underwear gnomes stole underwear for profit. Their plan was:
1) Steal Underwear
2) ?
3) Profit!

While it was a silly show, the concept has gained infamy for closely resembling the business plans of too many dotcom failures:
1) Run lots of expensive ads, buy foosball tables
2) ?
3) Profit!

As for software putting developers out of business, I joined the IT ranks when Access 1.0 was going to put all your DBA's out of business. Instead it created a whole new realm of software development. Since then I've seen a lot of new platforms and applications make the same promise of eliminating IT jobs and instead creating new ones.

The issue is that writing lines of code isn't the hard part of programming. Writing SQL isn't the hard part of programming. The hard part of programming is being able to talk to people and write software (whether by punching holes in cards or manipulating 3-D shapes in VR and creating the quantum linkages between them) which solves their problem. The XGL's make it easier to produce proofs of concept, but they don't talk to users and they don't stop users from hitting the enter key when the form's blank or putting "13/13/0000" as a date of birth.

Philo

Philo
Tuesday, May 11, 2004

... and the question mark (?) refers to what some people call 'magic' or 'miracle'. In other words, somebody has what they think is a great idea, but they've actually left out the most important implementation detail(s) as being trivial.

I first saw reference to this concept in a math cartoon http://www.scienceteecher.com/miracle.htm

Ron Porter
Tuesday, May 11, 2004

Whenever this sort of thing popped up, my first boss
would pull out a classic paper that described a natural
language that would allow scientists to directly use
computers, and that would make programmers obsolete.
It would usher in a new age of friendly software, and
make computing available to vast masses of computer
illiterates.

The date was 1960.  The language was FORTRAN IV.

x
Tuesday, May 11, 2004

"There are programs now that generate source code from E/R Diagrams and Data Flow Diagrams. There are programs that reverse engineer, produce visual data models from source code."

Leaky abstractions leaky abstractions leaky abstractions.

Joel has covered this very well.  At some point, all that generated code is going to do something you don't expect, or take a few orders of magnitude longer to execute than you expected, and you'll need to understand what all that generated code actually does.

It's at that point that you need a "real programmer".

Jim Rankin
Tuesday, May 11, 2004

I agree with that. But sometime computer programs are gonna get better and better. Would someone in the 60's have imagined they could take pictures on their cellphone? Likewise, problems that are easily identifiable would be translated from a semantical platform to a binary one without human intervention. And what we'll probably get to do is more royal things like system design. We'll evolve like the apes evolved to the civilized modern man, and didn't have to waste time on nomadic ventures. We'll rise above the mechanistic duties of programming and do only the planning, and may be a little bit of fine-tuning.

Sathyaish Chakravarthy
Tuesday, May 11, 2004

I've been trying to think of a single current technology that hadn't been prefigured in fiction by at least the 1960's.

Video phones, yep (too numerous to mention)
Personal cameras, yep (see the Microsoft new stuff) (cyberpunk lit.)

Biometric id, yep  (Phillip K. Dick)
Cloning, ahhh yep.  (Aldous Huxley)
Small stick like plastic things for data storage/memory, yep (Star Trek)
Smart bombs, yep  (somehow the universe feels manufactured by Phillip K. Dick these days)
Global Warming, yep (J. G. Ballard)
George W. Bush, yep  (Disney animatronics)
Nanotechnology, yep (Asimov et al)

Simon Lucy
Tuesday, May 11, 2004

> George W. Bush, yep  (Disney animatronics)

You know you meant "(Mickey Mouse)" so why didn't you just say it?


Tuesday, May 11, 2004

But as Jim stated, it's all well in good to be able to diagram something in visio, and have code generated that solves the problem, but what happens when you can't diagram what you need done?  Or the diagram produces a program that doesn't do what was intended, or the conversion program has a bug?  And who wrote the conversion program?  In fact there are current languages for science applications where you model the process, and the code is created on the fly.  The world you dream of exists today, but you'll always need someone to design these programs.

Elephant
Tuesday, May 11, 2004

"Small stick like plastic things for data storage/memory, yep (Star Trek)"

LOL! Those were memory sticks? Who'da thunk it?

What's really amazing to me is the sheer vastness of inaccuracy in timeframes. SF authors would consider flying cars and putting an encyclopedia on a keyring equivalent achievements, yet the former is still so far out of reach while the latter was accomplished a decade ago.

Tell Asimov when he was writing Foundation that within 75 years people could carry a million pages of information on a keyring and his head would've exploded.

Philo

Philo
Tuesday, May 11, 2004

I read a story sometime ago about NASA trying to rewrite the spaceship launch software from scratch using some modern language. They failed miserably and pulled the plug after many years and millions of burned dollars. The software was written in some ancient language but worked well.

Incidentally, it was CMM-level 5 project. So I dodn't believe the software is getting really better. Sometimes I feel that programmers are getting worse...

Floridian
Tuesday, May 11, 2004

"We'll rise above the mechanistic duties of programming and do only the planning, and may be a little bit of fine-tuning."

As far as I can tell, just about every time we find a way to 'rise above the mechanistic duties' of anything, we find that there is just another layer of 'mechanistic duties'. I think that's what we do (humans, not just programmers).
We complain about the complicated, inefficient, error-prone process so we find a way to simplify, improve efficiency, and reduce the chance of error. At that point we have your mechanistic set of duties and long for the higher-level stuff. We find a way to turn the drudgery over to someone else (or something else, in the case of automation) so that we can focus on the higher-level stuff only to find ourselves complaining about the complicated, inefficient... Well, you get the picture.

Ron Porter
Tuesday, May 11, 2004

I think the quality of the George W. Bush model is extraordinarily better than the cel drawn animation of Mickey Mouse.  Once the bugs are out it will make a fine exhibit for Florida alongside Abraham Lincoln.

Simon Lucy
Tuesday, May 11, 2004

There is a company prototyping flying cars, there's always a company prototyping such stuff though.

The problem isn't the technology its the people that would use them.

Simon Lucy
Tuesday, May 11, 2004

Yeah, given how most people drive in 2 dimensions, 3 is out of the question.

sgf
Tuesday, May 11, 2004

Offtopic: here's a current working skycar:

http://www.moller.com/skycar/

On-topic:  if a noob coder like me can make a decent living at programming, these tools have come a long way.  Shoutouts to all my clueless PHP bretheren.

Lee
Tuesday, May 11, 2004

In practice, what happens is that as languages get more
expressive and convenient, the problems that are
addressed by computers get bigger and more complex.
Therefore, the skills needed to be a good programmer, ie
designing, implementing, debugging, etc, stay relevant,
no matter how fancy and "easy to use" the languages get.

Also, these sorts of languages have costs, so there'll
always be problems that can't be addressed adaquately
by them, no matter how fast the hardware gets.  (My old
boss called these "infinitely scalable problems")  So, "low
level" programming will always be around and will remain
a useful skill - fortunately for me :)

As for camera-phones in the 1960s: the Dick Tracy comic
strip had a wireless video phone; it was called a "two
way wrist TV" and was in the form-factor of a wristwatch.

x
Tuesday, May 11, 2004

Yada yada, programmers made redundant by software that writes code.

Never gonna happen.

Why? because to specify a program in enough detail for a computer to generate the code for it, in a machine-readable specification language of some form or other, essentially amounts to programming the friggin thing yourself, and while it might save you a bit of time due to the specification language being significantly higher-level than the output language, as another poster points out, the 'leaky abstraction' affect is gonna mean you have to mess with the generated code at some point. And when you do it will be ugly and confusing and annoying as all fuck, as anyone who's used code generation tools will likely tell you.

Either way, programmers are still gonna be needed.

Matt
Tuesday, May 11, 2004

"Would someone in the 60's have imagined they could take pictures on their cellphone?"

Good question - check out the novel "2001" for a view of what technology was expected to be like by three years ago -- video space phones, manned expeditions to Jupiter, hotels in space.

Er what was that you were saying again -- pictures on the phone? Yeah, that's been imagined since a couple weeks after the phone was invented.

Ed the Millwright
Tuesday, May 11, 2004

"I read a story sometime ago about NASA trying to rewrite the spaceship launch software from scratch using some modern language."

The modern language was Java. It was the third time the plug was pulled on an attept to rewrite the system.

The problem is the hardware is old. Hundreds of hardware fixes need to be made due to component and wire failures during EVERY launch.

The reimplmentation project failure was NOT the fault of the programmers - Java was prespecified by non-engineers for political reasons as a favor to Sun campaign contributors. Instead of replicating the existing functionality using modern reliable hardware and then adding new features in a phase II, tens of thousands of new features, many impossible to obtain with the constraints given, were added to the expected result - most of these were given as changes after the project had been started. Up to the day the plug was pulled, new requirements were being added, sometimes several new ones per hour, day after day, month after month.

Dennis Atkins
Tuesday, May 11, 2004

"I've been trying to think of a single current technology that hadn't been prefigured in fiction by at least the 1960's."

Which only goes to show that ideas are a dime a dozen; it's the implementation that's the tricky part.

Alyosha`
Tuesday, May 11, 2004

"Yeah, given how most people drive in 2 dimensions, 3 is out of the question."

Ummm how is the news from Flatverse?

Simon Lucy
Wednesday, May 12, 2004

Flatland: A Romance of Many Dimensions by Edwin A. Abbott.  Classic. 

Not Waving But Drowning
Wednesday, May 12, 2004

By now I can spell Sathyaish Charkravarty without resorting to copy-paste.

Did I get it right?

Alex
Wednesday, May 12, 2004

You missed the h towards the end of my surname.

Sathyaish Chakravarthy
Wednesday, May 12, 2004

"Tell Asimov when he was writing Foundation that within 75 years people could carry a million pages of information on a keyring and his head would've exploded."

What I found funny was the starship pilots spending long hours calculating navigational figures by hand.

Jim Rankin
Wednesday, May 12, 2004

Spinning tapes in the Star Trek "computer room."

Alex
Wednesday, May 12, 2004

*  Recent Topics

*  Fog Creek Home