Is there any future in programming?

I concede, 5cents. I agree that the comments in the code you just posted are excellent. And actually, I always add a comment area before a function (as you displayed), that describe the pre- and post-conditions of the function, a general description, etc, as well.

LilShieste

Exactly what I do! GPL all the way! :smiley:

I always have trouble keeping the comments and the code in sync. I’ve actually been mislead by my own comments when I came back to a piece of code after a long time. The comments were essentially for version 1.0 and the code was version 1.3 or so. The function didn’t work the way the comments said it did anymore. Not that this is an argument against comments per se, it’s just something I keep running into.

Which is the point of “compilers don’t read comments”. Comments are nice but if you overdo it you’ll be in trouble. Maybe not today, but eventually.

Depends on the program I suppose. About 40% of the people actually using it register mine, based on message board traffic vs actual checks-in-the-mail.

This source puts it at 2-50%.

http://www.asp-shareware.org/

It’s not a living natch, but it’s an extra $100 or so a week - pays for beer and stuff. I’d go shareware if you think you can with little odds and ends programs that you write.

I’ll chime in with my two cents:

The labour market works on the laws of supply and demand like every other market. If something is hard and in demand, then its going to be a place where you can make lots of money. The current controversy over outsourcing will merely be a temporary phenomena arising from the fact that you can move data across the globe a lot easier than mass. Eventually, everything that can be done better overseas will be and programming will not stand out in any way in that regard.

Now, hacking code together isn’t exactly hard at all. People in a modern, western society routinely pick up these skills by trial and error without any encouragement by the age of 12 or less. I would estimate maybe 1/2 of the entering class at my uni already had significant programming experience. Hence, in the future you will be able to find code monkeys at a dime a dozen. Competent programming is slightly harder but seems to be largely a matter of discipline and good habits. About as hard as keeping your room clean or making your bed in the morning, something lots of people are physically capable of doing but not something that comes naturally to many. But again, you’ll probably be able to hire competent programmers in the same way you hire a janitor. Exceptional programmers are a very rare species and theres almost a sharp dividing line against good, competent programmers and poor, exceptional programmers. They can come up with novel solutions and feats of wizardry. Probably closer to artists than artisans and hard to find, expensive to hire.

But the thing that will really make the moohlah, IMHO, is not coding, but building and managing programs. Software is a notoriously hard thing to make and as it gets bigger and more complicated, it seems to rapidly overwhelm even the most dedicated teams. Unlike coding, software engineering doesn’t seem to get any easier with new technology. Languages like Java and VB.NET have reduced the difficulty of coding by orders of magnitude over FORTRAN and COBOL yet even new paradigms like OO have only made larger programs possible without reducing the fundamental problems that plague large scale projects. A trivial example was mentioned in this thread, how do you keep comments and code in sync. I can’t see a technological solution to this that requires anything less than human level AI, by which time all jobs are obsolete anyway.

Furthermore, there does not seem to be a magic pancea on the horizon that can magically solve this problem. and I predict that while the programs 50 years in the future would be unrecognisable to us, the bugs and gotchas will be still exactly the same.

I agree that it’s possible to over do the comments. Also I tended to write up function with nice comments. However for the most part I would do most (IE 70% - 90%) of the design work before I’d type one line of code. (So I’m big on the abstract end of everything.) What I found is for the most part the “abstract” logic, which is what I wanted to comment anyway, never changed. (I mean honestly, it’s suprising how much of the design and engineering work can be done completely ahead of time in something like UML.) I guess I’m big on the “logic is the important part, not the code.” school.

If small businesses would get of the Microsoft bandwagon there could be a deman for custom programming. All businesses are different. This mass one size fits all programming means a lot of bad fits. C, Perl and Awk come with Linux. The city of Munich in Germany standardized on Linux.

Small businesses could standardize on Linux. Buy inexpensive used computers. Keep a spare used computer on site. Don’t buy maintenance contracts. A 300 MHz machine is about equal to an IBM 3033 mainframe, circa 1980.

We are at or near cybersaturation. We really need Bluetooth technology just so we don’t have cables. LOL

Dal Timgar

i do think the future is in programming. but not your regular C++, Java or HTML. there will likely be developed some higher-level languages that deal with problems on a more conceptual level and the programming would be more of a research in the area of artifical intelligence.

we still have a long way to go towards matching the human brain, and until we do that there will be demand for AI research.

if you plan to make a living 20 years from now by making web pages - you will probably die of starvation :slight_smile:

intelligence is not a yes or no kind of thing. clearly intelligence of a roach < that of mouse is < that of a monkey < that of an average human < that of Einstein etc …

so now matter what the current state of AI it will always be desirable to move forward … except at some point it will become the job of AI itself, and then we will probably become extinct well you know the deal :slight_smile:

as far as outsourcing … well, i am just going to have to hope that most people in india and china can’t afford sufficient amount of education to be able to work in this area :slight_smile: same basic idea as always - you need money to make money.

I don’t know what Big Question you think you answered, but you didn’t address the question in the OP – what prevents outsourcing from rendering programming in your languages a useless career in the West?

It’s gonna be a while. There’s already research going on, but it’s not going anywhere really fast. The best current examples of languages like this are SQL and Prolog. You can read up on those and see why they fall far short of what you have in mind.

He may be talking about something more like genetic programming.

Now that looks like cool stuff…

no wasn’t talking about geneitc programming. and its a good point that these things i talked about are not happening very fast.

i guess the relevant question is when it does happen, will increased productivity of programming cause more layoffs or create new markets ?

I just don’t see it making that big a difference. Even with powerful new business-level tools, the author of a program still has to know what s/he is doing to write anything worthwhile. With the current split of good and bad engineers, these tools just aren’t going to be revolutionary.

Genetic programming is interesting, and it definitely has its uses, but it leads to unmaintainable and unmodifiable code, which is pretty damning in the business world.

Same here, maybe 1 in 10 IT jobs I see include the word “programmer” and all of those are looking for someone with a lot of industry experience and an absurd range of skills. When I started my degree in 1998 the papers were full of “Graduate C/C++ programmer @ £20,000 p.a.” type jobs which had cemented my decision to do the course. Now there simply aren’t any entry level jobs at all.

Ok so one comes up now and again but the competition is fierce. I applied to one company on spec. for a junior programming position. They hired me as a “junior technical support assistant”, a role that in fact was the only IT one in the company, making me an underpaid IT manager. I stuck it for 9 months, but the management and my pay was so bad I quit. They had changed my official job title to “Junior Systems Administrator”. From what I could gather a similar thing happened with the last IT guy, although I expect he earned a bit more.

It seems like there is a talent surplus - companies wouldn’t be able to get away with that otherwise.

I don’t know, but I think managers must have some bizarre picture of IT workers as kid geniuses who don’t need training like conventional human beings and already command the full breadth of the field in great depth. Or maybe they hope to attract such people with recruitment strategies. I can’t imagine that they manage to hire many people like that.

I gave up looking for something about a year ago. At that time I kept seeing jobs posted with mediocre salaries, a list of about 15 obscure software packages (often with specific version numbers) and a line about you must know ALL packages listed, and finally some bullshit about “must be willing to work flexible hours” - translation, you will work 70 hour weeks for 40 hours pay. This kind of thing will only change when most of the people who got into the field during the dot-com boom get so discouraged they drop out. That will alleviate the labor surplus and leave the hardcode CS and math types who always made up the core of the field anyway. But even then things will be pretty dismal. The field is fucked.

The basic trick is just to lie your ass off. If you get a nibble, go on the web and learn a bit about all the stuff you claimed to know. Chances are they won’t ask anything about most of it anyway. And if they do and you don’t get the job at least you fulfilled the requirements to keep your unemployment checks coming in. No, I don’t have any morals. :smiley:

It is not in fact immoral to apply for a job even though your experience and education don’t exactly match what’s called for in the ad. Many ads are written by people who don’t know what they’re doing and are misttating their requirements. At the very least, you should send resumes to any ad that even comes close. And if you can back up a lie about your abilties by studying before reporting for work and then surreptitiously learning on the job, go for it. The guy who founded Sierra Online used to do exactly that.

A word of advice. Don’t ignore the military contracting field. I’m currently a “mechanical engineer” for a military contracter that does parts tracking (this is fancy talk for I mostly do data entry and occasionally help them set up new parts because none of the staff understand machines). The job is completely secure because some of the things they handle are classified and it’s too expensive to just run that part of the operation seperately and offshore the rest. Not a good job, actually a miserable soul-sucking terrible job that pays out like I’m a jailed Chinese dissident sewing Levis, but just barely better than living with my parents.

So look around in that sector. Sort of. I need a drink now.

laigle, do you know a web site to search for these jobs? As unpleasant as you make them sound, it’s a step up from where I am.