If only that were true. Unfortunately because doctors are afraid of being being sued they will run excessive tests. It is called defensive medicine.
Uh, that's no the same thing at all.
What you complained about was people taking advantage of a public insurance system by demanding more tests.
What you cited is "defensive medicine", the practice of doctors *choosing* to run more tests in order to avoid lawsuits.
The former is not the same as the latter. So you're either deliberately misrepresenting your position, or you don't know what it is you're objecting to in the first place.
So, please... make up your mind.
No, through no fault of my own, I was disabled.
And you totally, utterly missed my point. Congratulations!
My point was simply that going without healthcare for six years was a *really stupid thing to do*. Why? Because it drastically increases the chances that a condition could go undiagnosed, thus increasing the long term costs of treatment.
Or, to put it another way: the fact that you chose to go six years without a checkup demonstrates beautifully the fundamental problem with US-style healthcare: it makes healthcare reactive, rather than proactive, because people can't afford the costs of the latter.
First I point out after you say Obama has a plan that in fact he does not, so now you say it doesn't matter. You change things when it's pointed out you're wrong.
No, you once again misunderstand. What I was saying is that whether or not Obama has a plan shouldn't matter *to you*. Obviously it'll matter for all the people who lack coverage. But for you, who apparently bows to "the altar" of the free market, why do you care either way? Hell, you should be pulling a Rush, right now, and praying he fails!
When people don't have to pay for health care and medical tests, many will demand a bunch of tests which are not needed
And they won't get them because the doctor will tell them "no". Yes, believe it or not, they're allowed to do that.
Because I did not have insurance and could not afford it, I didn't have any medical care for more than 6 years.
And thus you demonstrate why a public system is a *good* thing. For all we know, you've ignored potentially serious symptoms for years, and will discover later a serious condition that, if caught early, would've been much cheaper to treat. You are, quite literally, the perfect example of why a private system is a really fucking bad idea.
But does he? I haven't seen any specific plan for health care from Obama.
So? If he doesn't have a plan, nothing will happen. No big deal.
Seriously... relax, dude. The end of the world is not, in fact, nigh.
For this reason, the administrative overhead won't drop in the US if the health care system goes completely public like Canada's system, it will only rise.
Great! So the private system will be able to offer their insurance cheaper, and nothing will change. What's the problem?
What the US seems to be headed for is government funded insurance, which keeps everything bad about the current system - insurance companies and HMOs - and also tacks on the high taxes of public health care.
Says who? While the government will need to provide an initial pool of funds, there's no reason to believe the system won't become self-funding. It is an insurance pool, after all. Handled properly, the premiums of the members will cover the outlays.
It's going to suck.
And if it does, no one will use it, and then a republican administration will shut it down. No big deal. Honestly, why are you complaining so much? Just keep using your private insurance and laugh as those people on the government "teat" get screwed over by the system you're so convinced will suck. *shrug*
Well, the private healthcare industry is likely to survive only as long as the government plan is more expensive or has less coverage.
Right. So as long as a government-run health insurance system is better than private insurance, private insurance may not survive because it can't compete.
Wait... what's the problem? Isn't the whole point to try to make the US healthcare system better? Wouldn't this scenario prove that it *worked*?
So basically after all this time and effort, the current state of the art wonderful new technology is "the thick client"?
Uhh, what makes you call Silverlight a "thick client"? All the data resides on the remote server. The application code itself is deployed from there. All you really have is a client downloading an application that it can then use as a front-end for interacting with the server... kinda like an AJAX app.
Who said anything about being "in charge of [your] healthcare"? The government is simply going to provide another insurance option. So if you don't trust them, you're free to use a private insurance provider. It's entirely up to you.
All that is required to establish the former is to show that a reasonable person would have expected those actions to result in death, and that the actions could not have been accidental.
Uh, no, there's far more to it than that. What do you think the differences are between first degree murder and voluntary manslaughter? State of mind. First degree murder is defined as killing with forethought (citation). Meanwhile, voluntary manslaughter is defined as killing with forethought, but with mitigating circumstances (provocation, imperfect self-defense, or diminished capacity) (citation).
Well, gosh darn, how can you possibly prove, without a reasonable doubt, that someone was just trying to defend themselves, or that they were experiencing diminished capacity??
Guess what: hate crime laws are *exactly the same*. Fundamentally, it's murder, but with a twist, and the job of the prosecution is to prove that said twist applies. Similarly, in a murder trial, it's the job of the prosecution to disprove diminished capacity or some other mitigating circumstance.
Well, that's great for you, but for the rest of the world, and for the software development industry, raw performance is *not* the primary metric used when selecting a toolkit for developing desktop applications. Security, usability, and time to market are.
Hell, that very fact is illustrated in the OPs post. He lists, among his kits, C, C++, and Python. Python! Next to Ruby, the slowest mainstream scripting language out there! But it's popular because it's secure, usable (you can easily bind to wxWindows, GTK, or Qt for a proper native GUI), and one can churn out working code quickly.
So, you may not like the fact that raw performance is no longer the overriding concern for a desktop application, but, well... tough shit. The rest of the world doesn't work that way.
True for C, but not for C++. That's my other issue with your post: C++ != C.
Right. It's worse. The language is more baroque, more confusing, and as a consequence, less predictable (in the sense that, unless you know all the little gotchas and tricks of the language, it may do something you really didn't expect).
As for all those little details, last I checked, people still find buffer overflows and memory leaks in applications developed with C++. The language isn't a panacea.
Anyone who's watched a managed code app that, after running awhile, starts to crawl because its GC has gone bonkers will recognize the irony in your post.
First of all, seriously, look up the term "irony". I don't think it means what you think it means.
Second... huh? Many mainstream apps, these days, run on a VM-based core. Hell, Firefox, which these days performs extremely well, is, in essence, a managed code app, running on its own Javascript interpreter. And those times when it didn't perform so well? Yeah... memory leaks in its non-managed bits. Interesting, that.
Then there's Eclipse, also a managed code app that people seem pretty happy with. Hell, a very large number of enterprise-level web applications perform extremely well on top of that pesky managed code environment, Java.
Frankly, I'm beginning to suspect your information regarding VM-based languages is just wildly out of date.
Since hate crimes legislation invariably spells out exactly which groups are protected
Sorry buddy, that's just flat out wrong. For example, sections 318-320 of the criminal code of Canada use the term "identifiable group", which is defined by "any section of the public distinguished by colour, race, religion or ethnic origin." And that includes white people.
Individuals are perfectly capable of hatred and there is no shortage of individuals who hate white people because white people are "privileged" or because they believe that white nations deprived them of the prosperity to which they feel entitled.
And if they were attempting to incite violence against all white people, then they would be subject to the same laws. So what's the problem?
The only protections that I want, or need for that matter, are the same protections that everyone else gets.
Well, that's pretty easy to say when you aren't being targeted by a hate group such that there's a very real chance your safety is in jeopardy, isn't it?
The problem with hate crime laws is that it is near impossible to actually prove that the crime was motivated by racial or other prejudice
So? The same goes when trying to prove state of mind when trying someone for murder. State of mind is a key component of any criminal trial, and always has been. Or have you never heard of the term "mens rea"?
Really? What, you don't think the courts would find guilty a group who's goal is to incite violence against white, middle-aged basement dwellers?
I know that may sound like a flame, but seriously, just because you happen not to be part of a group that's targeted by these hate groups, doesn't mean you wouldn't be protected by the laws of the land if you were. It just means you're lucky enough that you don't need said protections in the first place.
Freedom of speech is the right to speak to anyone whatsoever, about anything whatsoever, true or false, without incurring any legal consequence.
Wrong. Wrong wrong wrong.
Every single right outlined in the constitution ends when exercising that right violates the rights of another. Period. One of those rights is the right to personal safety. Which is why it's illegal to shout "fire!" in a theatre, even though it is, on the face of it, an exercise of one's right to freedom of speech.
Now, does hate speech qualify? Good question. Some say yes (because it involves inciting violence against another, thus endangering them). Some say no. Either way, your black-and-white view of the first amendment is entirely incorrect.
Right, when those shiny "managed code" systems can't manage to run in the time alloted or the ram available, who'ya gonna call?
What part of "high-performance" don't you understand? "Time alloted" and "RAM available" are generally not concerns for an average desktop application. Sure, if you're writing a supercomputing application, or something that needs to run on an embedded machine, then you can be damned sure C or C++ will be your best bets. But on the desktop, where security, usability, and time to market are the driving concerns? Hell no.
Oh bullshit, *experienced* *professionals* can write high-quality code in any language, just as amateurs can screw up in any language.
That's just plain naive. Experienced professionals *can* write high-quality code in any language, but C/C++ make it far more difficult, as the developer is forced to take care of far too many details (Is this code safe from buffer overflows? Did I free that pointer a while back? Am I sure this pointer I'm casting is the type I think it is? Etc, etc, etc). Hell, just try writing a safe, secure, fully functional TCP/IP application in C/C++... the code to simply perform a safe read from a TCP socket is enormous. And, on average, most people do it wrong.
Irony, most delicious it is...
I have no idea what your point is. The article was about desktop computing. At what point did the discussion turn to the topic of HPC? Because if that was the topic, my take would be far *far* different (obviously).
If I am quick at prototyping / developing using Java, what's to stop me?
Nothing, of course. But who the hell said anything about prototyping? We're talking about writing a desktop application in Java. A real product that might get used by real people.
Hell, if I enjoy using Java, what's to stop me?
Well, no one, of course. But don't be surprised if no one uses your app because it's ugly and doesn't integrate well with the rest of the system. That's all I'm saying.
What if in my very specific use-case, Java was the best tool for the job?
Then use it. Duh. I'm saying that when writing *desktop applications*, the odds are against that being the case. And note, I said "the odds are against"... it's certainly possible that for a very specific application, the issues with Java on the desktop are outweighed by its other advantages (more straightforward portability, trivial deployment (JWS), etc). But for your average desktop application, I highly doubt you'll find that's the case.
Your experience is just that. Yours. Don't assume I'm wrong just because we don't share the same.
So your experience is that Java works well for desktop applications? Please, do tell, I'm sure many others would like to hear your positive experiences, as, at least AFAICT, they're exceptions. About the only ones I can think of are Eclipse and Azureus, which notably depart from the Java tradition by using (the oh so horrible, IMHO) SWT instead of Swing in order to build a GUI that users will actually accept.
You mean C and C++? Those aren't alternatives, they're last-ditch fallback positions, and I think you know it. In the hands of experienced professionals it's difficult to write secure, high-quality code in C or C++, let alone in the hands of your average programmer. Frankly, they should've been relegated to lower-level systems programming and high-performance computing a long time ago.
But hey, while we're on the assumption train should I just assume your another jack off functional programmer that thinks he knows everything?
Why, because I know what I closure is? That's awfully short sighted... closures are available in most major languages these days, save for some glaring omissions (Java being one of them... and Python, whose closures are somewhat crippled), and are incredibly powerful tools, particularly if you're writing event-driven applications.
There are plenty of instances where operator overloading is legitimate.
Plenty? Hardly. Some (I would say a few)? Yes.
When I make a method like.add() it's amazing how often that would be more programatically natural to use, oh I don't know, the fucking +.
And how often, pray tell, do you actually find yourself doing that? Most people aren't (and shouldn't) be writing their own math libraries, so that's out. So, other than in a setting where you're performing an arithmetic operation, why on earth do you need to implement an operator+?
Combining two objects to form a concatenated object is another instance that it seems useful too
Uh, definitely not. + for concatenation is an excellent example of *stupid* operator overloading. And that's doubly true if the language supports dynamic type coercion (I'm looking at you, Javascript). There's a reason Perl uses the '.'. Most other languages do it because they inherited it from somewhere else.
No, at best, concatenation should get its own operator to indicate you're, you know, concatenating two things together.
And how the fuck is inheritance something that should be used "sparingly"?
Because 99% of the time containment provides the same capabilities while reducing the coupling between the code. Do I really need to spell this out for you?
And--like every other thing in the programming universe--it's abused and misused. Shocking.
Precisely. And your first position should be to *not* use it until you've convinced yourself that it's genuinely the best solution for the problem at hand.
And just like inheritance, 99% of the time, operator overloading is the *wrong solution*. It makes code more difficult to understand and predict, as the overloaded operator can be hiding complex logic behind an expression that, on its face, looks simple. As such, just like inheritance, one should come at a problem with operator overloading at the *bottom* of one's list of candidate solutions, and only use it when you're convinced it really is the best tool for the job above all other options.
why would I bother learning another language for Open Source contributions when there is a good chance it's never going to help me on a professional level?
Because smart developers use the right tool for the job, and in my experience, Java is *not* the right tool if your job is to write a desktop application.
Why would you do this crazy madness, when you could just use Haskell
Because only a masochist would actually want to develop large volumes of code in a lazy functional language? Because the toolset sucks? Because you can't hire people who actually know it and can use it effectively?
I really, really like C# and I gotta say, I'm a big fan of operator overloading,
Great... another person who probably overuses operator overloading.
Hint: operator overloading is just like inheritance: it should be used extremely sparingly, and every time you use it, you should think twice and make sure there isn't a better approach you could be using.
BTW, C# has plenty of other features that make it superior to Java, real, honest-to-god lexical closures being the most obvious.
Wow, you put a lot of work into a post that can be summarized as: I think Python is cool, everything else sucks.
Honestly, for all that writing, you've managed to avoid stating any actual facts. It's almost like you did it deliberately, but I have a sneaking suspicion you just have a strong talent for making vacuous, unsupported statements.
Hey, I never said it was smart, that's just the way it is. If you buy into the idea that software is patentable, it makes sense that it should be an implementation reduced to practice for a specific machine, thus at least resembling a real, physical invention. 'course, I happen to believe software shouldn't be patentable, but that's a separate issue.
rather than allowing the argument to be lead in the direction of a processor being the "specific machine" the "specific machine" should have been the algorithms used in the code.
Uhh... what? An algorithm is a process. A set of steps for performing some sort of operation. That is not a "specific machine", anymore than the design for a cotton gin, written down on paper, is a specific machine. The specific machine is that algorithm reduced to practice in some form. For a computer algorithm, that would mean a series of instructions running on a microprocessor.
If only that were true. Unfortunately because doctors are afraid of being being sued they will run excessive tests. It is called defensive medicine.
Uh, that's no the same thing at all.
What you complained about was people taking advantage of a public insurance system by demanding more tests.
What you cited is "defensive medicine", the practice of doctors *choosing* to run more tests in order to avoid lawsuits.
The former is not the same as the latter. So you're either deliberately misrepresenting your position, or you don't know what it is you're objecting to in the first place.
So, please... make up your mind.
No, through no fault of my own, I was disabled.
And you totally, utterly missed my point. Congratulations!
My point was simply that going without healthcare for six years was a *really stupid thing to do*. Why? Because it drastically increases the chances that a condition could go undiagnosed, thus increasing the long term costs of treatment.
Or, to put it another way: the fact that you chose to go six years without a checkup demonstrates beautifully the fundamental problem with US-style healthcare: it makes healthcare reactive, rather than proactive, because people can't afford the costs of the latter.
First I point out after you say Obama has a plan that in fact he does not, so now you say it doesn't matter. You change things when it's pointed out you're wrong.
No, you once again misunderstand. What I was saying is that whether or not Obama has a plan shouldn't matter *to you*. Obviously it'll matter for all the people who lack coverage. But for you, who apparently bows to "the altar" of the free market, why do you care either way? Hell, you should be pulling a Rush, right now, and praying he fails!
When people don't have to pay for health care and medical tests, many will demand a bunch of tests which are not needed
And they won't get them because the doctor will tell them "no". Yes, believe it or not, they're allowed to do that.
Because I did not have insurance and could not afford it, I didn't have any medical care for more than 6 years.
And thus you demonstrate why a public system is a *good* thing. For all we know, you've ignored potentially serious symptoms for years, and will discover later a serious condition that, if caught early, would've been much cheaper to treat. You are, quite literally, the perfect example of why a private system is a really fucking bad idea.
But does he? I haven't seen any specific plan for health care from Obama.
So? If he doesn't have a plan, nothing will happen. No big deal.
Seriously... relax, dude. The end of the world is not, in fact, nigh.
For this reason, the administrative overhead won't drop in the US if the health care system goes completely public like Canada's system, it will only rise.
Great! So the private system will be able to offer their insurance cheaper, and nothing will change. What's the problem?
What the US seems to be headed for is government funded insurance, which keeps everything bad about the current system - insurance companies and HMOs - and also tacks on the high taxes of public health care.
Says who? While the government will need to provide an initial pool of funds, there's no reason to believe the system won't become self-funding. It is an insurance pool, after all. Handled properly, the premiums of the members will cover the outlays.
It's going to suck.
And if it does, no one will use it, and then a republican administration will shut it down. No big deal. Honestly, why are you complaining so much? Just keep using your private insurance and laugh as those people on the government "teat" get screwed over by the system you're so convinced will suck. *shrug*
Well, the private healthcare industry is likely to survive only as long as the government plan is more expensive or has less coverage.
Right. So as long as a government-run health insurance system is better than private insurance, private insurance may not survive because it can't compete.
Wait... what's the problem? Isn't the whole point to try to make the US healthcare system better? Wouldn't this scenario prove that it *worked*?
So basically after all this time and effort, the current state of the art wonderful new technology is "the thick client"?
Uhh, what makes you call Silverlight a "thick client"? All the data resides on the remote server. The application code itself is deployed from there. All you really have is a client downloading an application that it can then use as a front-end for interacting with the server... kinda like an AJAX app.
Who said anything about being "in charge of [your] healthcare"? The government is simply going to provide another insurance option. So if you don't trust them, you're free to use a private insurance provider. It's entirely up to you.
All that is required to establish the former is to show that a reasonable person would have expected those actions to result in death, and that the actions could not have been accidental.
Uh, no, there's far more to it than that. What do you think the differences are between first degree murder and voluntary manslaughter? State of mind. First degree murder is defined as killing with forethought (citation). Meanwhile, voluntary manslaughter is defined as killing with forethought, but with mitigating circumstances (provocation, imperfect self-defense, or diminished capacity) (citation).
Well, gosh darn, how can you possibly prove, without a reasonable doubt, that someone was just trying to defend themselves, or that they were experiencing diminished capacity??
Guess what: hate crime laws are *exactly the same*. Fundamentally, it's murder, but with a twist, and the job of the prosecution is to prove that said twist applies. Similarly, in a murder trial, it's the job of the prosecution to disprove diminished capacity or some other mitigating circumstance.
They sure as hell are important on *my* desktop.
Well, that's great for you, but for the rest of the world, and for the software development industry, raw performance is *not* the primary metric used when selecting a toolkit for developing desktop applications. Security, usability, and time to market are.
Hell, that very fact is illustrated in the OPs post. He lists, among his kits, C, C++, and Python. Python! Next to Ruby, the slowest mainstream scripting language out there! But it's popular because it's secure, usable (you can easily bind to wxWindows, GTK, or Qt for a proper native GUI), and one can churn out working code quickly.
So, you may not like the fact that raw performance is no longer the overriding concern for a desktop application, but, well... tough shit. The rest of the world doesn't work that way.
True for C, but not for C++. That's my other issue with your post: C++ != C.
Right. It's worse. The language is more baroque, more confusing, and as a consequence, less predictable (in the sense that, unless you know all the little gotchas and tricks of the language, it may do something you really didn't expect).
As for all those little details, last I checked, people still find buffer overflows and memory leaks in applications developed with C++. The language isn't a panacea.
Anyone who's watched a managed code app that, after running awhile, starts to crawl because its GC has gone bonkers will recognize the irony in your post.
First of all, seriously, look up the term "irony". I don't think it means what you think it means.
Second... huh? Many mainstream apps, these days, run on a VM-based core. Hell, Firefox, which these days performs extremely well, is, in essence, a managed code app, running on its own Javascript interpreter. And those times when it didn't perform so well? Yeah... memory leaks in its non-managed bits. Interesting, that.
Then there's Eclipse, also a managed code app that people seem pretty happy with. Hell, a very large number of enterprise-level web applications perform extremely well on top of that pesky managed code environment, Java.
Frankly, I'm beginning to suspect your information regarding VM-based languages is just wildly out of date.
Since hate crimes legislation invariably spells out exactly which groups are protected
Sorry buddy, that's just flat out wrong. For example, sections 318-320 of the criminal code of Canada use the term "identifiable group", which is defined by "any section of the public distinguished by colour, race, religion or ethnic origin." And that includes white people.
Individuals are perfectly capable of hatred and there is no shortage of individuals who hate white people because white people are "privileged" or because they believe that white nations deprived them of the prosperity to which they feel entitled.
And if they were attempting to incite violence against all white people, then they would be subject to the same laws. So what's the problem?
The only protections that I want, or need for that matter, are the same protections that everyone else gets.
Well, that's pretty easy to say when you aren't being targeted by a hate group such that there's a very real chance your safety is in jeopardy, isn't it?
The problem with hate crime laws is that it is near impossible to actually prove that the crime was motivated by racial or other prejudice
So? The same goes when trying to prove state of mind when trying someone for murder. State of mind is a key component of any criminal trial, and always has been. Or have you never heard of the term "mens rea"?
Laws forbidding hatred do not protect me at all.
Really? What, you don't think the courts would find guilty a group who's goal is to incite violence against white, middle-aged basement dwellers?
I know that may sound like a flame, but seriously, just because you happen not to be part of a group that's targeted by these hate groups, doesn't mean you wouldn't be protected by the laws of the land if you were. It just means you're lucky enough that you don't need said protections in the first place.
Freedom of speech is the right to speak to anyone whatsoever, about anything whatsoever, true or false, without incurring any legal consequence.
Wrong. Wrong wrong wrong.
Every single right outlined in the constitution ends when exercising that right violates the rights of another. Period. One of those rights is the right to personal safety. Which is why it's illegal to shout "fire!" in a theatre, even though it is, on the face of it, an exercise of one's right to freedom of speech.
Now, does hate speech qualify? Good question. Some say yes (because it involves inciting violence against another, thus endangering them). Some say no. Either way, your black-and-white view of the first amendment is entirely incorrect.
Right, when those shiny "managed code" systems can't manage to run in the time alloted or the ram available, who'ya gonna call?
What part of "high-performance" don't you understand? "Time alloted" and "RAM available" are generally not concerns for an average desktop application. Sure, if you're writing a supercomputing application, or something that needs to run on an embedded machine, then you can be damned sure C or C++ will be your best bets. But on the desktop, where security, usability, and time to market are the driving concerns? Hell no.
Oh bullshit, *experienced* *professionals* can write high-quality code in any language, just as amateurs can screw up in any language.
That's just plain naive. Experienced professionals *can* write high-quality code in any language, but C/C++ make it far more difficult, as the developer is forced to take care of far too many details (Is this code safe from buffer overflows? Did I free that pointer a while back? Am I sure this pointer I'm casting is the type I think it is? Etc, etc, etc). Hell, just try writing a safe, secure, fully functional TCP/IP application in C/C++... the code to simply perform a safe read from a TCP socket is enormous. And, on average, most people do it wrong.
Irony, most delicious it is...
I have no idea what your point is. The article was about desktop computing. At what point did the discussion turn to the topic of HPC? Because if that was the topic, my take would be far *far* different (obviously).
If I am quick at prototyping / developing using Java, what's to stop me?
Nothing, of course. But who the hell said anything about prototyping? We're talking about writing a desktop application in Java. A real product that might get used by real people.
Hell, if I enjoy using Java, what's to stop me?
Well, no one, of course. But don't be surprised if no one uses your app because it's ugly and doesn't integrate well with the rest of the system. That's all I'm saying.
What if in my very specific use-case, Java was the best tool for the job?
Then use it. Duh. I'm saying that when writing *desktop applications*, the odds are against that being the case. And note, I said "the odds are against"... it's certainly possible that for a very specific application, the issues with Java on the desktop are outweighed by its other advantages (more straightforward portability, trivial deployment (JWS), etc). But for your average desktop application, I highly doubt you'll find that's the case.
Your experience is just that. Yours. Don't assume I'm wrong just because we don't share the same.
So your experience is that Java works well for desktop applications? Please, do tell, I'm sure many others would like to hear your positive experiences, as, at least AFAICT, they're exceptions. About the only ones I can think of are Eclipse and Azureus, which notably depart from the Java tradition by using (the oh so horrible, IMHO) SWT instead of Swing in order to build a GUI that users will actually accept.
You mean C and C++? Those aren't alternatives, they're last-ditch fallback positions, and I think you know it. In the hands of experienced professionals it's difficult to write secure, high-quality code in C or C++, let alone in the hands of your average programmer. Frankly, they should've been relegated to lower-level systems programming and high-performance computing a long time ago.
But hey, while we're on the assumption train should I just assume your another jack off functional programmer that thinks he knows everything?
Why, because I know what I closure is? That's awfully short sighted... closures are available in most major languages these days, save for some glaring omissions (Java being one of them... and Python, whose closures are somewhat crippled), and are incredibly powerful tools, particularly if you're writing event-driven applications.
There are plenty of instances where operator overloading is legitimate.
Plenty? Hardly. Some (I would say a few)? Yes.
When I make a method like .add() it's amazing how often that would be more programatically natural to use, oh I don't know, the fucking +.
And how often, pray tell, do you actually find yourself doing that? Most people aren't (and shouldn't) be writing their own math libraries, so that's out. So, other than in a setting where you're performing an arithmetic operation, why on earth do you need to implement an operator+?
Combining two objects to form a concatenated object is another instance that it seems useful too
Uh, definitely not. + for concatenation is an excellent example of *stupid* operator overloading. And that's doubly true if the language supports dynamic type coercion (I'm looking at you, Javascript). There's a reason Perl uses the '.'. Most other languages do it because they inherited it from somewhere else.
No, at best, concatenation should get its own operator to indicate you're, you know, concatenating two things together.
And how the fuck is inheritance something that should be used "sparingly"?
Because 99% of the time containment provides the same capabilities while reducing the coupling between the code. Do I really need to spell this out for you?
And--like every other thing in the programming universe--it's abused and misused. Shocking.
Precisely. And your first position should be to *not* use it until you've convinced yourself that it's genuinely the best solution for the problem at hand.
And just like inheritance, 99% of the time, operator overloading is the *wrong solution*. It makes code more difficult to understand and predict, as the overloaded operator can be hiding complex logic behind an expression that, on its face, looks simple. As such, just like inheritance, one should come at a problem with operator overloading at the *bottom* of one's list of candidate solutions, and only use it when you're convinced it really is the best tool for the job above all other options.
why would I bother learning another language for Open Source contributions when there is a good chance it's never going to help me on a professional level?
Because smart developers use the right tool for the job, and in my experience, Java is *not* the right tool if your job is to write a desktop application.
Why would you do this crazy madness, when you could just use Haskell
Because only a masochist would actually want to develop large volumes of code in a lazy functional language? Because the toolset sucks? Because you can't hire people who actually know it and can use it effectively?
I really, really like C# and I gotta say, I'm a big fan of operator overloading,
Great... another person who probably overuses operator overloading.
Hint: operator overloading is just like inheritance: it should be used extremely sparingly, and every time you use it, you should think twice and make sure there isn't a better approach you could be using.
BTW, C# has plenty of other features that make it superior to Java, real, honest-to-god lexical closures being the most obvious.
How many application servers have you got where you can run C# servlets?
I'm sorry, what part of "Desktop Development" don't you understand?
This article is bullshit.
While that may be true, that's not the only bullshit I see here...
Wow, you put a lot of work into a post that can be summarized as: I think Python is cool, everything else sucks.
Honestly, for all that writing, you've managed to avoid stating any actual facts. It's almost like you did it deliberately, but I have a sneaking suspicion you just have a strong talent for making vacuous, unsupported statements.
That's no longer true, at least as of 9.04. In 9.04, Eclipse will run against openjdk or sun-java6, depending on which package you have installed.
I believe Fedora ships with the latest Eclipse in their repositories. But clearly debian and ubuntu don't.
Uh, Ubuntu absolutely includes Eclipse in it's repository (at least it's present in 9.04). I installed it just the other day, as a matter of fact.
Hey, I never said it was smart, that's just the way it is. If you buy into the idea that software is patentable, it makes sense that it should be an implementation reduced to practice for a specific machine, thus at least resembling a real, physical invention. 'course, I happen to believe software shouldn't be patentable, but that's a separate issue.
rather than allowing the argument to be lead in the direction of a processor being the "specific machine" the "specific machine" should have been the algorithms used in the code.
Uhh... what? An algorithm is a process. A set of steps for performing some sort of operation. That is not a "specific machine", anymore than the design for a cotton gin, written down on paper, is a specific machine. The specific machine is that algorithm reduced to practice in some form. For a computer algorithm, that would mean a series of instructions running on a microprocessor.