MicroSoft and Caldera have settled the DR-DOS lawsuit. Apparently MicroSoft didn't agree with the posters here who claimed "the lawsuit is weak" - the settlement will remove 3 cents per share of MS's expected quarterly earnings which doesn't sound like a lot but given that MS had predicted 38 cents per share for the quarter Caldera will be making off with nearly 8% of MS's earnings for the quarter, it seems. Here's the story
While I absolutely agree with you about the importance of campaign finance reform, I'm not so sure about McCain. Like you, I like the fact that he stands so strongly on the campaign finance reform issue but I'm reluctant to forget his membership in the infamous keating five
The amazon patent issue is more complicated than it seems. Let's assume for the sake of argument that we agree that the real problem here is that the patent office is willing to issue patents for things that shouldn't be patentable. If we accept that premise, there are two ways to go about changing this:
stir up enough political sentiment that the patent granting rules get revised
hit those who try to capitalize on frivolous patents in their pocketbook
I have always maintained that "the law" isn't what is written in the law books, the law is what actually occurs. As an example, even though the posted speed limit might say 55 we all know you can drive about 62-63 without really worrying about getting a speeding ticket. What this points out is that a law or policy can be effectively "changed" by nullifying its enforcement (or use). In the patent case, suppose we chose to take the political route - I for one am not confident at all that the patent office's policies could be affected for the better in non-geologic time - after all our government is more typically known for its elephantine rather than its nimble nature. On the other hand, suppose any company that sought to patent an obvious idea was certain that as a result they wouldn't profit a dime. If this were true, whether the formal patent office policies changed or not - we would have accomplished a de facto policy change. There is a reason many out of date laws remain on the books and that is because non-enforcement == removal for all purposes that matter.
Finally, turning our attention back to amazon - one problem I do see with the boycott is that amazon is generally viewed in a favorable light. I personally have generally been a big fan of amazon - their selection is vast and their service is typically outstanding. I am currently boycotting them partially because I dislike their behavior with regard to this ludicrous patent but also because I have found that they basically are *never* the cheapest vendor of the books I want to buy. I have taken the approach of first telling people about price comparison utilities, such as this) excellent one (note how often amazon shows up with the *highest* price) and then mentioning their idiotic behavior with respect to this blatantly obvious patent. This approach has proven very effective, hopefully amazon will chose to mend their ways (and lower their prices;-) in the not-so-far future.
unlike you, my post isn't very "informative" - its just that I like to use extraneous "quotes" because I am a "cretin". To add something on topic to this post, I am the author of a moderate amount of open source software and though some of the stuff I have written has been very popular (judging by the download numbers) I pretty much never receive even an email from the downloaders. I think most open source authors write code for the same reasons I do: (1) because you find the problem interesting (2) because you need the problem solved (3) for the admiration of one's peers. Reason (3) is a huge motivator and as the originator of this thread mentioned *anything* will do (postcard, email, whatever). Think of how often you've used g++, make, etc. - ever sent those guys an email to say thanks? you should.
1.Thou shalt run lint frequently and study its pronouncements with care, for verily its perception and judgement oft exceed thine. 2.Thou shalt not follow the NULL pointer, for chaos and madness await thee at its end. 3.Thou shalt cast all function arguments to the expected type if they are not of that type already, even when thou art convinced that this is unnecessary, lest they take cruel vengeance upon thee when thou least expect it. 4.If thy header files fail to declare the return types of thy library functions, thou shalt declare them thyself with the most meticulous care, lest grievous harm befall thy program. 5.Thou shalt check the array bounds of all strings (indeed, all arrays), for surely where thou typest `'foo'' someone someday shall type ``supercalifragilisticexpialidocious''. 6.If a function be advertised to return an error code in the event of difficulties, thou shalt check for that code, yea, even though the checks triple the size of thy code and produce aches in thy typing fingers, for if thou thinkest ``it cannot happen to me'', the gods shall surely punish thee for thy arrogance. 7.Thou shalt study thy libraries and strive not to re-invent them without cause, that thy code may be short and readable and thy days pleasant and productive. 8.Thou shalt make thy program's purpose and structure clear to thy fellow man by using the One True Brace Style, even if thou likest it not, for thy creativity is better used in solving problems than in creating beautiful new impediments to understanding. 9.Thy external identifiers shall be unique in the first six characters, though this harsh discipline be irksome and the years of its necessity stretch before thee seemingly without end, lest thou tear thy hair out and go mad on that fateful day when thou desirest to make thy program run on an old system. 10.Thou shalt foreswear, renounce, and abjure the vile heresy which claimeth that ``All the world's a VAX'', and have no commerce with the benighted heathens who cling to this barbarous belief, that the days of thy program may be long even though the days of thy current machine be short.
The true idiocy of hate crimes legislation can readily be observed by doing a simple thought experiment - here goes:
Case 1: I have an extreme dislike for gay people and as a result I kill one.
Case 2: I have an extreme dislike for left handed people and as a result I kill one.
Without a doubt, it was my irrational hatred of a group of people that led me to murder in both cases but would hate crimes legislation be invoked against me in both instances? What if my hatred is for people who have an even number of letters in their last name? people who are bad at math? truckdrivers? Sure, these are silly examples but the fact is that they all *should* be hate crimes by any definition of a hate crime I've heard.
To extend things a bit further, how about a situation where I mistakenly believed a person was gay and killed him, is this a hate crime? It'd sure be humorous to see a prosecutor attempting to make that stick:
prosecutor "Your honor, it was his insane hatred for gays that caused him to commit the murder - it was a hate crime!"
defense attorney "Um, the murdered man wasn't actually gay was he?"
prosecutor "Erm, no."
Once you really sit down and think about it, it's just ludicrous - all we need to do is just enforce the laws that are already on the books.
The problem here is not that Toshiba is being sued or that they might have substantial penalties assessed against them (the suit might very well be a reasonable and valid one) - the problem is that in the US you can bring a lawsuit against a company or person with no risk whatsoever to yourself.
Think about these other mechanisms for potentially becoming wealthy:
Gambling
Playing the stock market
Speculating on futures
Investing in a promising startup
Starting your own business
In every case the opportunity for massive financial advancement is present (just like in a lawsuit) but in every case *you* are required to risk something initially in order to make yourself eligable for those financial windfalls.
I have had enough of this horsesh*t, what we need to do is:
Institute "loser pays" laws - if you bring suit and do not prove your case you pay the entirety of your opponent's legal fees plus an additional penalty for the time you have wasted
If a client has a good case but could not afford to pay the opposing side's fees an attorney is free to shoulder the burden in exchange for a healthy percentage should the case be proven
Lawsuit abuse costs us all, you can see the toll it has taken in the cost of insurance, health care and many of the products we buy. We are have become a nation of freeloaders and leeches and I don't believe I am alone when I state that I am sick of it.
Ok, before everyone goes non linear on this "death of trek" idea, I'd like to propose an alternate explanation. Let's take the two most recent movies:
Insurrection - grossed 73 million
First Contact - grossed 95 million
One possible hypothesis is the aforementioned "death of trek" theory, but here's an alternate one:
First Contact made more money because it was a *much* *better* *movie*
Stay with me folks, we're just getting started... now how about the much lamented Voyager and it's less-than-stellar tv ratings? More evidence that the franchise is faultering? Possibly. Let's review, which of the following non-starter ideas/characters/incidents have occurred on Voyager?
Introduce little girl with horns on her head, ensure that she is on par with Wesley Crusher in terms of appeal, feature her prominently in a number of episodes.
Have the doctor and/or seven of nine sing, possibly even nursery rhymes in three out of four episodes starting a new season.
Produce threatening, captivatingly brilliantly conceived villians like the kazons (or was that the chili-con-kazons) and feature them for a season and a half.
Have Chakotay hop onto the shuttlecraft for some sort of pow wow with the 'great spirits' in order to sort out some bad delta quadrant mojo
The answer? All of the above. I mean really folks, what do the folks at paramount expect? You put out garbage like that and then are surprised when people don't bother with it? And as far as the franchise dying goes - you could have made that statement just after the release of *every* *one* of the odd numbered movies and for every odd numbered movie (so far) there was an even numbered movie that mysteriously revitalized the dying franchise.
It isn't hard Paramount, produce something worthwhile and we'll line your pockets - produce crap and you'll end up eating it.
Despite Java's growing popularity, many big businesses just aren't ready to use it for their most important applications, the study said. For instance, business software developers still primarily reach for tried-and-tested tools, such as Microsoft's Visual Basic, along with C and C++ for building business applications, according to the study by Zona Research.
The survey found that 35 percent of programmers use Visual Basic as their preferred language for writing business software, while 20 percent picked C and C++. Java ranked third with 9 percent in the third quarter of 1999, up from 5 percent six months ago.
The question is how to interpret the reoccurring word "business" in this quote, does it mean:
business in the larger sense (which would make this study more significant as virtually all software is written to satisfy the needs of some business)
business in the traditional sense (financial, spreadsheet, database - as in "I've just been to college and I got a business degree")
I suspect it is the latter, and if it is - I'd rather have my language of choice not show up first on that list. In general, I have found that closer an application is to money (manipulating it, tabulating it, etc.) the less fun it will be to work on and write. Would you rather write software to calculate mortgage payments or manipulate/view objects in 3d?
I believe the type of software most "real programmers" enjoy writing is the type of software that poses enticing and possibly difficult problems to be solved, programs that are heavy on the mental stimulation aspect. The problem is, the programs that are most highly in demand are the run-of-the-mill, let's-crank-it-out business applications - after all it wasn't that long ago that COBOL was listed as the language having the largest number of active lines of code (it may very well still be true today).
It is possible that the study is really asking: "When you don't want to bother actually having to get too much into the computer science side of things and just want to bang out an app as rapidly as possible, which language do you use?". If this is an equivalent question to the one they are asking the results are hardly surprising.
"Learning to be me" has to be in the top 5 short sci-fi stories I have ever read, and I've read a ludicrous number of sci- fi short stories. I'll bet I could suggest other stories (and books) that you'd enjoy (and vice versa) - if you'd like, drop me an email, I'm always looking for good sci-fi reading recommendations.
To be a top notch software developer, you need two things: motivation and talent. Motivation is a function of the individual, but there really isn't much you can do to increase your level of talent - it's much like playing the violin, you either have the ear for it or you do not.
Now consider the fact that due to the increased salaries many people who otherwise wouldn't have chosen computer science are going into that field. For the sake of argument, let's call those people 'opportunists'. Now there are two possibilities:
The opportunists, in general, do in fact possess the talent required to be good programmers
The opportunists, in general, do not in fact possess the talent required to be good programmers
One way to analyze this problem is to consider what these opportunists would have done if computing salaries weren't sufficient to draw them into that field. Let us suppose that the opportunists would largely have chosen engineering, math, physics, etc. if not for the increased salaries. I know quite a few outstanding programmers who came from those fields, so if this is indeed the case we might well be on our way to seeing an end to the shortage of developers. On the other hand, suppose the opportunists would have largely chosen management, finance, etc. if not for the increased salaries. While I admit the evidence is largely anecdotal, I personally don't know anyone from those backgrounds that I would consider a top notch developer, and I know a lot of developers. Certainly, I believe we would all agree that in general, a person with a math/science background is more likely to be a great programmer than a person with a business background (though of course, there are always exceptions to the general rule).
So the questions is, which set of people is more likely to answer "money" when asked: "What is your primary motivation when choosing a profession?".
The math/science folks
The business folks
I believe it is far more likey that the business folks would list money as their primary motivation. What people often do not realize is how rare the talent for programming is, in general. Throwing more bodies at the problem (particularly bodies that come from a group not known for its history of producing quatlity programmers) won't change that.
The only thing that could ultimately change the situation is economics - if the demand for new software falls, the shortage of skilled developers would be diminished. I think this would only occur via an economic downturn as computers are an integrated part of our lives and businesses and that integration will only increase.
nearest star (Alpha Centauri) is 4.3 light years from earth, or: 4.3 * 365 * 24 * 60 * 60 * 186,000 miles (25,222,492,800,000). Planet "X" is 30,000 times more distant than earth from the sun (earth is 93,000,000 miles from the sun): 30,000 * 93,000,000 miles (2,790,000,000,000), so in this case 'a significant fraction' is approximately:.11061555343173692966, so I'd say the comment was pretty accurate.
Well sure, I can agree that there are negative aspects to the 'you must serve in the military to vote' idea, but what about the broader idea: 'you must do *something* to distinguish yourself to be able to vote'? There are lots of parallels to this idea, for example: 'you must submit N righteous patches to be granted cvs access'. I think there is a great deal of merit to that idea (and also, having read Starship Troopers my impression was that Heinlein's point was that you have to be a citizen to vote and that that was the crux of the idea - it just so happened that citizenship was only granted to those who had served in the military). Again, I do see your point - but are you so sure that you oppose the idea in general or is it just the military angle you dislike?
I very much agree with your comment. Along similar lines, I'm always intrigued by how a person's view of the 'set of righteous' solutions for a problem is affected by their experience. As an example, suppose you've seen some code to recursively traverse a directory tree - this code allows you to pass it an abstract class containing methods that control whether a particular branch is taken and to act on each node as you encounter it. Once you've seen this "trick", it immediately occurs to you as a design option for many similar problems (a web crawler, for example) but if you haven't seen it - you'd likely design your software in an entirely different way. I suppose the point of this post is that there are reasonably well known, elegant designs for a great many types of problems but until you've seen them you'll only use them if you are fortunate enough to independently "invent" them. I'm sure most of us have had the experience of solving a thorny problem in a less-than-optimal way and then later seeing the RightAnswer (tm) and thinking "Oh, so that's how it's done";-)
Another notation for exponentiation one sees more frequently uses the caret (^, ASCII 1011110); one might write instead 2^8 = 256. This goes all the way back to Algol-60, which used the archaic ASCII `up-arrow' that later became the caret; this was picked up by Kemeny and Kurtz's original BASIC, which in turn influenced the design of the bc(1) and dc(1) Unix tools, which have probably done most to reinforce the convention on Usenet. (TeX math mode also uses ^ for exponention.) The notation is mildly confusing to C programmers, because ^ means bitwise exclusive-or in C. Despite this, it was favored 3:1 over ** in a late-1990 snapshot of Usenet. It is used consistently in this lexicon.
Well, as many have pointed out here - there aren't really any hard and fast rules for software design procedures, but I can certainly offer some useful observations:
The Unknown - in nearly every software project I have done there were 2-3 "wildcards", that is - technologies/approaches that were fundamental to the project but somewhat untried. For example, suppose you decide to do a multithreaded program that needs to run on several OS's - it might be some time before you get your software fully-featured enough to reveal that threading doesn't work properly on one of the obscure platforms you have to support. The way to deal with this is to have an engineer *thoroughly* investigate each wildcard before you even begin your design - after all, if you discover that threading won't work properly on some of your target plaforms you'll likely create an entirely different design from the beginning.
Philosophy - I think that program design philosophy is a very useful thing to document. For example, suppose you are creating a library for reading some vector file format. Ultimately, you want to display that format but your "vision" is that the reading code should be easy to use under any graphical environment (X, Windows, Qt) but the reading code itself should have zero dependencies on anything graphical. Documenting this philosophy ensures that future maintainers are more likely to stay the course and follow the original vision.
Code Quality - I've often found that a project with no documentation but high quality code is easer to work on/enhance than a project with quality documentation and mediocre code. If your modules are named intelligently, if you avoid global data, if you format your code neatly people will be invited to work on your code, not repelled by the idea. Don't be afraid to have code reviews and code walkthroughs - better to ruffle a few feathers in the beginning than to produce something that noone will want to maintain later.
Throw Away Prototyping - often times, the people who need the program don't have the foggiest idea how it should really work, but when shown a prototype they'll tend to be able to specify the requirements much more clearly. On the average, the projects I work on have about a 30 or 40 percent requirements creep, I have found that putting together a quick prototype (with the idea that most likely, very little of the prototyped code will turn up in the final project) really helps a great deal.
In summary, while by no means am I suggesting that doing quality design work before the software is written is a bad idea - I'm just pointing out that in my experience, the only projects that can be designed to the last detail are projects you'd most likely find exceedingly uninteresting. Most software I've written that's worked out well has had a highly iterative quality to it - you design a bit, argue in front of a whiteboard a bit, code a bit, demo a bit then repeat. Certainly a good rule to remember is this: The longer development goes on for without the client/customer seeing the product (even as a demo/prototype) the larger the potential for the project to diverge significantly from customer expectations becomes.
I'm sure everyone is already aware of this, but there are 2 clients for windows - one gui based, one console based. The console based one goes about 2 or 3 times faster than the gui based one so anyone interested in drastically increasing their block processing speed can do so immediately by using the console based client. Also, I've seen some really odd stuff over the last month in the seti@home stats... first MS is substantially behind Team Slashdot, then they suddenly surge ahead, then their numbers *decrease*, then they surge ahead again, then they disappear from the stats page entirely [!], then the return with low numbers, then (today) they're 20K blocks ahead of Team Slashdot - what in the world is going on here?
Indeed, I once had an idea that on your tax form you'd have an empty circle that *you* are allowed to draw a pie chart in to indicate how you'd like your tax dollars divided up. Not only would my pie have about a 90% slice going to nasa but imagine how tiny the cumulative slices for, say "higher salaries for congress" would be;-).
You might want to investigate Kingwood, TX. I've had a cable modem for more than 2 years and my house (which is 4 bedroom, ~2400 sq. ft and brand new) cost about 124K. The ratio of what you get paid to what it costs to live here is about as favorable as you'll find, and Houston (a city of about 4 million people) is about 20 miles to the north. There are *lots* of good high tech jobs here, I'm a contract programmer and I find my problem is getting free time, not getting work;-). Anyway, www.kingwood.com will give you some details
advanced programming indeed ;-), I resemble that remark ...
MicroSoft and Caldera have settled the DR-DOS lawsuit. Apparently MicroSoft didn't agree with the posters here who claimed "the lawsuit is weak" - the settlement will remove 3 cents per share of MS's expected quarterly earnings which doesn't sound like a lot but given that MS had predicted 38 cents per share for the quarter Caldera will be making off with nearly 8% of MS's earnings for the quarter, it seems. Here's the story
for the sake of argument that we agree that the real problem here is
that the patent office is willing to issue patents for things that
shouldn't be patentable. If we accept that premise, there are two
ways to go about changing this:
get revised
pocketbook
I have always maintained that "the law" isn't what is written in the law
books, the law is what actually occurs. As an example, even though the
posted speed limit might say 55 we all know you can drive about 62-63
without really worrying about getting a speeding ticket. What this
points out is that a law or policy can be effectively "changed" by nullifying
its enforcement (or use). In the patent case, suppose we chose to take
the political route - I for one am not confident at all that the patent
office's policies could be affected for the better in non-geologic time -
after all our government is more typically known for its elephantine
rather than its nimble nature. On the other hand, suppose
any company that sought to patent an obvious idea was certain that as a
result they wouldn't profit a dime. If this were true, whether the
formal patent office policies changed or not - we would have accomplished
a de facto policy change. There is a reason many out of date laws
remain on the books and that is because non-enforcement == removal for
all purposes that matter.
Finally, turning our attention back to amazon - one problem I do see with
the boycott is that amazon is generally viewed in a favorable light.
I personally have generally been a big fan of amazon - their selection is
vast and their service is typically outstanding. I am currently boycotting
them partially because I dislike their behavior with regard to this
ludicrous patent but also because I have found that they basically are
*never* the cheapest vendor of the books I want to buy. I have taken the
approach of first telling people about price comparison utilities,
such as this) excellent one (note how often amazon shows up with the *highest* price) and then mentioning their idiotic behavior with respect to this blatantly obvious patent. This approach has proven very effective, hopefully amazon will
chose to mend their ways (and lower their prices
future.
unlike you, my post isn't very "informative" - its just that I like to use extraneous "quotes" because I am a "cretin". To add something on topic to this post, I am the author of a moderate amount of open source software and though some of the stuff I have written has been very popular (judging by the download numbers) I pretty much never receive even an email from the downloaders. I think most open source authors write code for the same reasons I do: (1) because you find the problem interesting (2) because you need the problem solved (3) for the admiration of one's peers. Reason (3) is a huge motivator and as the originator of this thread mentioned *anything* will do (postcard, email, whatever). Think of how often you've used g++, make, etc. - ever sent those guys an email to say thanks? you should.
1.Thou shalt run lint frequently and study its pronouncements with care, for verily its
perception and judgement oft exceed thine.
2.Thou shalt not follow the NULL pointer, for chaos and madness await thee at its end.
3.Thou shalt cast all function arguments to the expected type if they are not of that
type already, even when thou art convinced that this is unnecessary, lest they take
cruel vengeance upon thee when thou least expect it.
4.If thy header files fail to declare the return types of thy library functions, thou shalt
declare them thyself with the most meticulous care, lest grievous harm befall thy
program.
5.Thou shalt check the array bounds of all strings (indeed, all arrays), for surely where
thou typest `'foo'' someone someday shall type ``supercalifragilisticexpialidocious''.
6.If a function be advertised to return an error code in the event of difficulties, thou
shalt check for that code, yea, even though the checks triple the size of thy code and
produce aches in thy typing fingers, for if thou thinkest ``it cannot happen to me'',
the gods shall surely punish thee for thy arrogance.
7.Thou shalt study thy libraries and strive not to re-invent them without cause, that
thy code may be short and readable and thy days pleasant and productive.
8.Thou shalt make thy program's purpose and structure clear to thy fellow man by
using the One True Brace Style, even if thou likest it not, for thy creativity is better
used in solving problems than in creating beautiful new impediments to
understanding.
9.Thy external identifiers shall be unique in the first six characters, though this harsh
discipline be irksome and the years of its necessity stretch before thee seemingly
without end, lest thou tear thy hair out and go mad on that fateful day when thou
desirest to make thy program run on an old system.
10.Thou shalt foreswear, renounce, and abjure the vile heresy which claimeth that ``All
the world's a VAX'', and have no commerce with the benighted heathens who cling to
this barbarous belief, that the days of thy program may be long even though the
days of thy current machine be short.
doing a simple thought experiment - here goes:
one.
I kill one.
Without a doubt, it was my irrational hatred of a group of people that
led me to murder in both cases but would hate crimes legislation be invoked
against me in both instances? What if my hatred is for people who
have an even number of letters in their last name? people who are bad at math?
truckdrivers? Sure, these are silly examples but the fact is that they all
*should* be hate crimes by any definition of a hate crime I've heard.
To extend things a bit further, how about a situation where I mistakenly
believed a person was gay and killed him, is this a hate crime? It'd sure
be humorous to see a prosecutor attempting to make that stick:
prosecutor
"Your honor, it was his insane hatred for gays that caused him to commit
the murder - it was a hate crime!"
defense attorney
"Um, the murdered man wasn't actually gay was he?"
prosecutor
"Erm, no."
Once you really sit down and think about it, it's just ludicrous - all
we need to do is just enforce the laws that are already on the books.
substantial penalties assessed against them (the suit might very well be
a reasonable and valid one) - the problem is that in the US you can bring a
lawsuit against a company or person with no risk whatsoever to yourself.
Think about these other mechanisms for potentially becoming wealthy:
In every case the opportunity for massive financial advancement is present
(just like in a lawsuit) but in every case *you* are required to risk something
initially in order to make yourself eligable for those financial windfalls.
I have had enough of this horsesh*t, what we need to do is:
your case you pay the entirety of your opponent's legal fees
plus an additional penalty for the time you have wasted
side's fees an attorney is free to shoulder the burden in exchange
for a healthy percentage should the case be proven
Lawsuit abuse costs us all, you can see the toll it has taken in
the cost of insurance, health care and many of the products we buy. We
are have become a nation of freeloaders and leeches and I don't believe
I am alone when I state that I am sick of it.
One possible hypothesis is the aforementioned "death of trek" theory, but here's an alternate one:
First Contact made more money because it was a *much* *better* *movie*
Stay with me folks, we're just getting started
lamented Voyager and it's less-than-stellar tv ratings? More evidence
that the franchise is faultering? Possibly. Let's review, which of the
following non-starter ideas/characters/incidents have occurred on Voyager?
is on par with Wesley Crusher in terms of appeal, feature
her prominently in a number of episodes.
like the kazons (or was that the chili-con-kazons) and feature
them for a season and a half.
with the 'great spirits' in order to sort out some bad
delta quadrant mojo
The answer? All of the above. I mean really folks, what do the folks at paramount expect? You put out garbage like that and then are surprised when people don't bother with it? And as far as the franchise dying goes - you could have made that statement just after the release of *every* *one* of the odd numbered movies and for every odd numbered movie (so far) there was an even numbered movie that mysteriously revitalized the dying franchise.
It isn't hard Paramount, produce something worthwhile and we'll line your
pockets - produce crap and you'll end up eating it.
The survey found that 35 percent of programmers use Visual Basic as their preferred language for writing business software, while 20 percent picked C and C++. Java ranked third with 9 percent in the third quarter of 1999, up from 5 percent six months ago.
The question is how to interpret the reoccurring word "business" in this quote, does it mean:
I suspect it is the latter, and if it is - I'd rather have my language of choice not show up first on that list. In general, I have found that closer an application is to money (manipulating it, tabulating it, etc.) the less fun it will be to work on and write. Would you rather write software to calculate mortgage payments or manipulate/view objects in 3d?
I believe the type of software most "real programmers" enjoy writing is the type of software that poses enticing and possibly difficult problems to be solved, programs that are heavy on the mental stimulation aspect. The problem is, the programs that are most highly in demand are the run-of-the-mill, let's-crank-it-out business applications - after all it wasn't that long ago that COBOL was listed as the language having the largest number of active lines of code (it may very well still be true today).
It is possible that the study is really asking: "When you don't want to bother actually having to get too much into the computer science side of things and just want to bang out an app as rapidly as possible, which language do you use?". If this is an equivalent question to the one they are asking the results are hardly surprising.
"Learning to be me" has to be in the top 5 short sci-fi stories I have ever read, and I've read a ludicrous number of sci- fi short stories. I'll bet I could suggest other stories (and books) that you'd enjoy (and vice versa) - if you'd like, drop me an email, I'm always looking for good sci-fi reading recommendations.
Now consider the fact that due to the increased salaries many people who otherwise wouldn't have chosen computer science are going into that field. For the sake of argument, let's call those people 'opportunists'. Now there are two possibilities:
One way to analyze this problem is to consider what these opportunists would have done if computing salaries weren't sufficient to draw them into that field. Let us suppose that the opportunists would largely have chosen engineering, math, physics, etc. if not for the increased salaries. I know quite a few outstanding programmers who came from those fields, so if this is indeed the case we might well be on our way to seeing an end to the shortage of developers. On the other hand, suppose the opportunists would have largely chosen management, finance, etc. if not for the increased salaries. While I admit the evidence is largely anecdotal, I personally don't know anyone from those backgrounds that I would consider a top notch developer, and I know a lot of developers. Certainly, I believe we would all agree that in general, a person with a math/science background is more likely to be a great programmer than a person with a business background (though of course, there are always exceptions to the general rule).
So the questions is, which set of people is more likely to answer "money" when asked: "What is your primary motivation when choosing a profession?".
I believe it is far more likey that the business folks would list money as their primary motivation. What people often do not realize is how rare the talent for programming is, in general. Throwing more bodies at the problem (particularly bodies that come from a group not known for its history of producing quatlity programmers) won't change that.
The only thing that could ultimately change the situation is economics - if the demand for new software falls, the shortage of skilled developers would be diminished. I think this would only occur via an economic downturn as computers are an integrated part of our lives and businesses and that integration will only increase.
Anyway, that's my take - flame away.
nearest star (Alpha Centauri) is 4.3 light years from earth, or: 4.3 * 365 * 24 * 60 * 60 * 186,000 miles (25,222,492,800,000). Planet "X" is 30,000 times more distant than earth from the sun (earth is 93,000,000 miles from the sun): 30,000 * 93,000,000 miles (2,790,000,000,000), so in this case 'a significant fraction' is approximately: .11061555343173692966, so I'd say the comment was pretty accurate.
Well sure, I can agree that there are negative aspects to the 'you must serve in the military to vote' idea, but what about the broader idea: 'you must do *something* to distinguish yourself to be able to vote'? There are lots of parallels to this idea, for example: 'you must submit N righteous patches to be granted cvs access'. I think there is a great deal of merit to that idea (and also, having read Starship Troopers my impression was that Heinlein's point was that you have to be a citizen to vote and that that was the crux of the idea - it just so happened that citizenship was only granted to those who had served in the military). Again, I do see your point - but are you so sure that you oppose the idea in general or is it just the military angle you dislike?
I very much agree with your comment. Along similar lines, I'm always intrigued by how a person's view of the 'set of righteous' solutions for a problem is affected by their experience. As an example, suppose you've seen some code to recursively traverse a directory tree - this code allows you to pass it an abstract class containing methods that control whether a particular branch is taken and to act on each node as you encounter it. Once you've seen this "trick", it immediately occurs to you as a design option for many similar problems (a web crawler, for example) but if you haven't seen it - you'd likely design your software in an entirely different way. I suppose the point of this post is that there are reasonably well known, elegant designs for a great many types of problems but until you've seen them you'll only use them if you are fortunate enough to independently "invent" them. I'm sure most of us have had the experience of solving a thorny problem in a less-than-optimal way and then later seeing the RightAnswer (tm) and thinking "Oh, so that's how it's done" ;-)
Is programming art?
uh - java?
Another notation for exponentiation one sees more frequently uses the caret (^, ASCII 1011110); one might write instead 2^8 = 256. This goes all the way back to Algol-60, which used the archaic ASCII `up-arrow' that later became the caret; this was picked up by Kemeny and Kurtz's original BASIC, which in turn influenced the design of the bc(1) and dc(1) Unix tools, which have probably done most to reinforce the convention on Usenet. (TeX math mode also uses ^ for exponention.) The notation is mildly confusing to C programmers, because ^ means bitwise exclusive-or in C. Despite this, it was favored 3:1 over ** in a late-1990 snapshot of Usenet. It is used consistently in this lexicon.
In summary, while by no means am I suggesting that doing quality design work before the software is written is a bad idea - I'm just pointing out that in my experience, the only projects that can be designed to the last detail are projects you'd most likely find exceedingly uninteresting. Most software I've written that's worked out well has had a highly iterative quality to it - you design a bit, argue in front of a whiteboard a bit, code a bit, demo a bit then repeat. Certainly a good rule to remember is this: The longer development goes on for without the client/customer seeing the product (even as a demo/prototype) the larger the potential for the project to diverge significantly from customer expectations becomes.
Doh!
The URL for the command-line based nt version is:
i athome-1.3.alpha-winnt-cmdline.exe
http://setiathome.ssl.berkeley.edu/software/set
They don't seem to have a win9X version, but I'd speculate that the odds are pretty good that the nt version will run on 9X.
I'm sure everyone is already aware of this, but there are 2 clients for windows - one gui based, one console based. The console based one goes about 2 or 3 times faster than the gui based one so anyone interested in drastically increasing their block processing speed can do so immediately by using the console based client. Also, I've seen some really odd stuff over the last month in the seti@home stats ... first MS is substantially behind Team Slashdot, then they suddenly surge ahead, then their numbers *decrease*, then they surge ahead again, then they disappear from the stats page entirely [!], then the return with low numbers, then (today) they're 20K blocks ahead of Team Slashdot - what in the world is going on here?
Indeed, I once had an idea that on your tax form you'd have an empty circle that *you* are allowed to draw a pie chart in to indicate how you'd like your tax dollars divided up. Not only would my pie have about a 90% slice going to nasa but imagine how tiny the cumulative slices for, say "higher salaries for congress" would be ;-).
You might want to investigate Kingwood, TX. I've had a cable modem for more than 2 years and my house (which is 4 bedroom, ~2400 sq. ft and brand new) cost about 124K. The ratio of what you get paid to what it costs to live here is about as favorable as you'll find, and Houston (a city of about 4 million people) is about 20 miles to the north. There are *lots* of good high tech jobs here, I'm a contract programmer and I find my problem is getting free time, not getting work ;-). Anyway, www.kingwood.com will give you some details
or you can use this and bypass the registration entirely