Good coding tools (these guys talked about how version control only came in in the 90s!), faster machines and people understanding the coding process have improved our ability to write software.
The distressing part about it for us old guys is the number of people in the 90's who thought configuration management only came in in the 90's.
Which wouldn't be nearly as depressing if it weren't for the number of clients I've seen in the last four years who said "configuration management? Why do we need that?"
Yes, and the seasonal adjustment includes about a net 90,000 jobs subtracted in July. (There's a similar adjustment in December.) The raw number is something like 120,000 new payroll jobs.
Or check the households statistic: more people are actually employed now than ever before.
There is an economic argument that the current 5.5 percent unemployment is about "full employment" over the long term.
There's a lot of controversy about why the two statistics are diverging so wildly, but I can tell you anechdotally that a lot of places are putting giant "NOW HIRING" signs out, just like in 1999.
That's because the "factory" is the wrong metaphor for the whole process. Instead, we should think of programmers more like industrial engineers: they don't build widgets, they build processes that build widgets.
The real work piece is the executable, and once we've built our source code, we can turn out as many copies of the executable as we need. If it's really complicated, we need a./configure file that knows which components to assemble and modify in place so we get the exact workpiece we want.
We as software engineers -- or programmers, if you like, although I'd argue there is a difference -- are working on the tooling. We need to figure out the thing that's needed, and come up with a pattern for that solution, and then figure out how the factory can build them. Then we look at the results as they come out, test them, measure them aghainst the real world, and think about how to build a new version that's closer to what the real world demands. But, like industrial engineers, we don't build a zillion copies of the factory -- every factory is a little different.
One of the really odd things about a long career in computer science is that you often find the Big New Thing was a big new thing ten, or twenty, or forty years ago. Wilbur and TSO and VTAM become EMACS on a terminal which becomes "thin clients" (and its dual, dedicated compute time becomes workstations become personal computers.)
In this case, we're seeing the re-awakening of the notion of "commoditizing" programming. Back in the day, it was the notion of "deskilling" programming with forth-generation languages; before that it was the development of general high-level languages like FORTRAN and COBOL; before that it was the realization that you didn't have to be either Goldstein or von Neumann to successfully program a computer.
So, yeah, it's possible to improve programming productivity by building specialized environments for certain classes of problems. That trick worked for report programs with RPG in the 60's; works marvelously with parser generators; works pretty decently with GUI tools for UI programming now; and will undoubtedly work for other classes of programs in the future.
Then you'll find people programming new classes of programs by hand, and a few years later someone will say "wouldn't it be better if we could do this with specialized tools?"
And you can bet that 50 years from now the big issue will still be figuring out what you want to do, and figuring out how to describe that.
I had the old fashioned done-with-a-knife kind, and I've been thrilled with it. It was about ten years ago, my vision went from my-God-where-are-my-glasses to 20/15. I wear lightweight glasses now because I got old enough to need reading lenses, but I can still drive without glasses.
He's got a good point. I've got an old IBM 3316. Lovely printer, cost me $500 refu(r)bished five or six years ago, works great.
New cartridges cost $220 or something like that.
I bought a LaserJet 1300xi at Sam's Club for about $320. It's not quite as fast, and you have to load it twice to print 500 pages, but cost per page is miniscule.
I did a bunch of Wall Street work some years ago; we had an experience with this. The system was set up with two high-bandwidth redundant paths, leased from two big providers. (MCI and someone else, I don't remember.)
When WorldCom merged with MCI, then bought the other provider, no one thought much of it. Until a trenching machine trenched across one of the big trunks... and we found out that the physically redundant lines had been consolidated into the same trunk.
No, it's the other link that leads to a page with a 40 MB image.
....
Or, at least, led to a page
Hell, I read the original article as "soldier in space" the first time. I just couldn't think of anything funny to make of it.
Tell me -- because there's Windows, do you think operating systems are a bad thing?
Get a clue, poopsie: if the government is maintaining barriers, that's not a fault of a free market.
... just less uncomfortable than any other system.
Congratulations, Howard, you're discovered free markets. Self-organizing, self-optimizing.
Best of all, gussy it up with some techie-speak and no one will ever notice you're repeating one of the best sellers of '76.
1776.
This is the place to pull out Fred Brooks' paper "No Silver Bullet", which makes that point.
Twenty years ago.
Sometimes I think I should have been an English major.
Yes, and the seasonal adjustment includes about a net 90,000 jobs subtracted in July. (There's a similar adjustment in December.) The raw number is something like 120,000 new payroll jobs.
Or check the households statistic: more people are actually employed now than ever before.
There is an economic argument that the current 5.5 percent unemployment is about "full employment" over the long term.
There's a lot of controversy about why the two statistics are diverging so wildly, but I can tell you anechdotally that a lot of places are putting giant "NOW HIRING" signs out, just like in 1999.
That's because the "factory" is the wrong metaphor for the whole process. Instead, we should think of programmers more like industrial engineers: they don't build widgets, they build processes that build widgets.
./configure file that knows which components to assemble and modify in place so we get the exact workpiece we want.
The real work piece is the executable, and once we've built our source code, we can turn out as many copies of the executable as we need. If it's really complicated, we need a
We as software engineers -- or programmers, if you like, although I'd argue there is a difference -- are working on the tooling. We need to figure out the thing that's needed, and come up with a pattern for that solution, and then figure out how the factory can build them. Then we look at the results as they come out, test them, measure them aghainst the real world, and think about how to build a new version that's closer to what the real world demands. But, like industrial engineers, we don't build a zillion copies of the factory -- every factory is a little different.
One of the really odd things about a long career in computer science is that you often find the Big New Thing was a big new thing ten, or twenty, or forty years ago. Wilbur and TSO and VTAM become EMACS on a terminal which becomes "thin clients" (and its dual, dedicated compute time becomes workstations become personal computers.)
In this case, we're seeing the re-awakening of the notion of "commoditizing" programming. Back in the day, it was the notion of "deskilling" programming with forth-generation languages; before that it was the development of general high-level languages like FORTRAN and COBOL; before that it was the realization that you didn't have to be either Goldstein or von Neumann to successfully program a computer.
So, yeah, it's possible to improve programming productivity by building specialized environments for certain classes of problems. That trick worked for report programs with RPG in the 60's; works marvelously with parser generators; works pretty decently with GUI tools for UI programming now; and will undoubtedly work for other classes of programs in the future.
Then you'll find people programming new classes of programs by hand, and a few years later someone will say "wouldn't it be better if we could do this with specialized tools?"
And you can bet that 50 years from now the big issue will still be figuring out what you want to do, and figuring out how to describe that.
Good point.
... from Boston traffic how?
I had the old fashioned done-with-a-knife kind, and I've been thrilled with it. It was about ten years ago, my vision went from my-God-where-are-my-glasses to 20/15. I wear lightweight glasses now because I got old enough to need reading lenses, but I can still drive without glasses.
LASIK is supposed to work even better.
He's got a good point. I've got an old IBM 3316. Lovely printer, cost me $500 refu(r)bished five or six years ago, works great.
New cartridges cost $220 or something like that.
I bought a LaserJet 1300xi at Sam's Club for about $320. It's not quite as fast, and you have to load it twice to print 500 pages, but cost per page is miniscule.
I can't decide whether to mod this offtopic or funny.
Um, I don't think I'm going to admit how long I'd been doing computers in 1986.
But it'd been several.
<python>I'm not dead yet!</python>
Well, Ray Charles was completely blind by 7, but it took some years of increasing blindess to get there.
But it's not like anyone is claiming that blindness the the only reason Ray -- or Little Stevie Wonder -- was talented.
Stevie Wonder isn't?
Ray Charles and Stevie Wonder, because someone has to.
Really, it's great to have a study that confirms the mechanism, but given the number of brilliant blind musicians, it's no surprise.
Customs.
I used to have to get stuff shipped from the US to Canada, and I was constantly running into customs issues. And yes, this was after NAFTA.
I did a bunch of Wall Street work some years ago; we had an experience with this. The system was set up with two high-bandwidth redundant paths, leased from two big providers. (MCI and someone else, I don't remember.)
... and we found out that the physically redundant lines had been consolidated into the same trunk.
When WorldCom merged with MCI, then bought the other provider, no one thought much of it. Until a trenching machine trenched across one of the big trunks
Finally got an article accepted.
God, I love watching you young kids.
You mean "MACSYMA, the ancestor of things like Maple and Mathematica".
Look at this or this, or this.
That last, "Maxima", is an open-source version. Not quite as slick as the commercial one, but not half bad.
I've got to know: why the Gita?
I mean, I love it, but why for programmers?
Edsgar Dijkstra's A Discipline of Programming.
David Gries' Science of Programming.
Kernighan & Plauger's Software Tools.
Frank Harary's Graph Theory.
Haven't checked them, but Dijkstra and K&P are certainly still in print.