I can make commercial quality applications in Java, or C++, or plain C, or x86 assembler. Or I can make them in a better language (python springs to mind, but really any of the modern dynamic/functional languages would do), faster and better.
Sure, a good programmer can write good stuff in anything, but that doesn't mean some languages aren't better than others.
It's not trivial when it means you end up with 100klines of junk methods. The point of making it x.myProperty is that you never need to add the methods until you need them to actually be methods - the nominal point of having x.getFoo() and x.setFoo() rather than just a public field x.foo is in case you want to add a cacher or logging or whatever later on, so people add them to every field "just in case", which is the worst kind of premature optimization.
AIUI (just from reading slashdot, mind), that's mostly from his wife's side; Bill doesn't care so much about it, but she likes doing it and they can afford it, so why not.
The fundamental problem is that people don't understand Java semantics. In Java, equality testing is consistent and efficient: for reference types (everything except primitives), == always means reference equality. And.equals() always means value equality.
As you allude to, primitives completely break the model. You compare for equality using.equals, except when it's a primitive in which case you have to use == because.equals doesn't exist. If you use == with strings, or other objects, it will sometimes work, and then break occasionally and surprise you. Allowing overloading of ==, so that == would always check for value equality, would let you write consistent code that looked the same for primitive types and objects, and make the common case (because you almost never want to do a reference equality comparison) look much nicer. Of course there's the problem of ensuring it's implemented consistently, but I'd do that by making it an optional interface, just like the new for loop syntax; objects that want to be equality comparable implement EqualityComparable (whose documentation clearly states that it should implement value equality), and you simply cannot write == for objects that aren't EqualityComparable.
All I hear about the C# patent is FUD; mono is out there and hasn't been sued yet. Wheras there are actual known Java patents that stopped the Apache foundation from reimplementing java.
Bullshit. The United States is doing the bulk of the heavy lifting. We went in with two allies making real contributions (France and the UK) and twenty five providing moral support (the rest of NATO). If that's a "coalition" then GWB arguably had one for Iraq.
There is a UN resolution in support of it, and international support for military action; the fact that only a few countries are implementing it is beside the point Contrast with Iraq where the US/UK tried and failed to get UN support, and then went in anyway.
Our stated reason for intervening in Libya is the protect the civilian population.
Which is something we have a decent chance of accomplishing, unlike Iraq where our stated reason was "weapons of mass destruction" that turned out not to exist. That alone, the fact that our leaders aren't lying about the reasons, shows this is a more justified war.
As an side, my supervisor there was a intelligent lady who was chosen out of 400 applicants. Her response when I told her about the iPhone 2g? "Why would anyone use that? Won't it get finger prints all over it?"
And in terms of the Japanese culture, she's probably right. Are iPhones at all popular over there?
You may be shocked to learn that the modern scientific method was entirely the invention of philosophers.
No, it was the invention of people who at the time called themselves philosophers, most of whom these days would call themselves scientists. Their actions were very different from those of modern "philosophers"
It's the media's obsession with twitter that bothers me the most. If you follow the "live coverage" of a war nowadays, you see "x tweets..." mixed in with coverage of the actual shooting. My print newspaper never used to put "some guy down the pub thought..." in the middle of its stories.
So your new motherboard has a bunch of new features that you're not using now but will be useful in a couple of years... by which time you'll have upgraded your motherboard again.
(In my experience it's worth doing one CPU upgrade on the same motherboard, if you time it right with the changes in socket)
People always see different behaviour in different C compilers; the standard simply isn't that strict. Maybe it should be, but if you want that you can use java or D or whatever.
If it isn't the most efficient, most would welcome suggestions for improving efficiencies. However, the likeliest approximation of the truth is that they are working with severely constrained resources, and do the best they can figure out how with what they've got. Often the most efficient methods are simply beyond their means, and therefore are not an option.
The problem is that it's easy to favour the most visible effect - no-one wants to take money away from (say) digging wells and spend it on a better computer, even if that would let them position their wells better and ultimately help more people. And while you'd hope people will donate to the most effective charities, from what I've seen people focus on "efficiency" defined as "proportion of donations spent directly on the end purpose". Which I very much doubt is the best overall; if my experience in business is any guide, spending a bit more on "overheads" (and simply not penny-pinching at every turn) would multiply the end results.
I'm sure there are many charities accomplishing good works, and I do donate to my best guesses for the causes I care about. But I suspect there are also vastly inefficient charities out there, and unlike businesses which will eventually go bankrupt, there's nothing to weed them out; as long as the donations keep coming in, they'll keep wasting them. And as a donor, how am I to know which is which?
. I do it because it's less not fun than taking public transportation.
Well, then we'll change that, one way or the other.
So either you make it so that I don't have to go to work that far away or you shut the fuck up about how I get there.
Fine, I'll pick option 1, and I'll do it by making it impossible for people to commute that far. Then the free market will sort it out - companies will move to where there are people living, or affordable housing will be built closer to where there is work, or whatever.
And no, getting another job somewhere else is not an option. Changing my profession is not an option. Sacrificing what little comfort in life I have for your stupid ideas is NOT a FUCKING OPTION!
Pfft. Typical whiney driver. If you're actually so close to the poverty line that you can't afford the taxes, maybe you'd be better off on welfare. Otherwise, quit your bitching.
People should stop expecting everyone else to bend over backwards for their nutcase ideas.
Exactly backwards; you're making the world worse for everyone else for the sake of your own personal comfort.
What you are doing now is telling the nigger-slave to work harder or else he gets the whip.
Actually it's very much like telling the overseer to stop using slave labour. If you look at what slaveowners were writing you'll find very similar complaints to your own - "I can't afford machines or paid labour. Changing the way I farm is not an option, changing professions is not an option. Either make it so I don't have to harvest or shut the fuck up about how I do it."
It means something to the human reading the code. There's a whole class of misleading-indentation bugs that simply can't exist in python, where what the computer sees matches what the programmer sees.
C# is more crossplatform than Java - there are explicit known patent problems with alternative implementations of Java, wheras only scaremongering when it comes to C#.
Have you thought about multiple languages? You certainly need something C-like for your low-level parts, and assuming you're writing something complex you'll need a language with high level abstractions. But there's no reason these have to be the same language. (And frankly C++ isn't high-level enough; writing e.g. game AI in C++ is enormously painful)
You would make the code more complex and less predictable. People would see different behaviour from size() in their real programs and their benchmarks. If someone wants this kind of size() caching they can easily implement it themselves (just makes a class that wraps std::list); if gcc followed your advice there'd be no way to turn it off.
Sure, a good programmer can write good stuff in anything, but that doesn't mean some languages aren't better than others.
It's not trivial when it means you end up with 100klines of junk methods. The point of making it x.myProperty is that you never need to add the methods until you need them to actually be methods - the nominal point of having x.getFoo() and x.setFoo() rather than just a public field x.foo is in case you want to add a cacher or logging or whatever later on, so people add them to every field "just in case", which is the worst kind of premature optimization.
Tcl actually had the first in-browser applets, before Java. You can still get a mozilla plugin that I think works in firefox.
AIUI (just from reading slashdot, mind), that's mostly from his wife's side; Bill doesn't care so much about it, but she likes doing it and they can afford it, so why not.
The fundamental problem is that people don't understand Java semantics. In Java, equality testing is consistent and efficient: for reference types (everything except primitives), == always means reference equality. And .equals() always means value equality.
As you allude to, primitives completely break the model. You compare for equality using .equals, except when it's a primitive in which case you have to use == because .equals doesn't exist. If you use == with strings, or other objects, it will sometimes work, and then break occasionally and surprise you. Allowing overloading of ==, so that == would always check for value equality, would let you write consistent code that looked the same for primitive types and objects, and make the common case (because you almost never want to do a reference equality comparison) look much nicer. Of course there's the problem of ensuring it's implemented consistently, but I'd do that by making it an optional interface, just like the new for loop syntax; objects that want to be equality comparable implement EqualityComparable (whose documentation clearly states that it should implement value equality), and you simply cannot write == for objects that aren't EqualityComparable.
All I hear about the C# patent is FUD; mono is out there and hasn't been sued yet. Wheras there are actual known Java patents that stopped the Apache foundation from reimplementing java.
You'd think an RSS feed of Google news would only drive more people to it, but that didn't stop Google taking them down when people set them up.
Bullshit. The United States is doing the bulk of the heavy lifting. We went in with two allies making real contributions (France and the UK) and twenty five providing moral support (the rest of NATO). If that's a "coalition" then GWB arguably had one for Iraq.
There is a UN resolution in support of it, and international support for military action; the fact that only a few countries are implementing it is beside the point Contrast with Iraq where the US/UK tried and failed to get UN support, and then went in anyway.
Our stated reason for intervening in Libya is the protect the civilian population.
Which is something we have a decent chance of accomplishing, unlike Iraq where our stated reason was "weapons of mass destruction" that turned out not to exist. That alone, the fact that our leaders aren't lying about the reasons, shows this is a more justified war.
As an side, my supervisor there was a intelligent lady who was chosen out of 400 applicants. Her response when I told her about the iPhone 2g? "Why would anyone use that? Won't it get finger prints all over it?"
And in terms of the Japanese culture, she's probably right. Are iPhones at all popular over there?
But the next major release would be firefox 7
Why would a totalitarian government need to do anything about people complaining, when no-one cares?
You may be shocked to learn that the modern scientific method was entirely the invention of philosophers.
No, it was the invention of people who at the time called themselves philosophers, most of whom these days would call themselves scientists. Their actions were very different from those of modern "philosophers"
It's the media's obsession with twitter that bothers me the most. If you follow the "live coverage" of a war nowadays, you see "x tweets ..." mixed in with coverage of the actual shooting. My print newspaper never used to put "some guy down the pub thought ..." in the middle of its stories.
(In my experience it's worth doing one CPU upgrade on the same motherboard, if you time it right with the changes in socket)
I find tv tropes, while it has its own problems, is much closer to the spirit of '06 Wikipedia.
(And FWIW I'm living somewhere I don't want to because I can't afford to drive to work)
People always see different behaviour in different C compilers; the standard simply isn't that strict. Maybe it should be, but if you want that you can use java or D or whatever.
If it isn't the most efficient, most would welcome suggestions for improving efficiencies. However, the likeliest approximation of the truth is that they are working with severely constrained resources, and do the best they can figure out how with what they've got. Often the most efficient methods are simply beyond their means, and therefore are not an option.
The problem is that it's easy to favour the most visible effect - no-one wants to take money away from (say) digging wells and spend it on a better computer, even if that would let them position their wells better and ultimately help more people. And while you'd hope people will donate to the most effective charities, from what I've seen people focus on "efficiency" defined as "proportion of donations spent directly on the end purpose". Which I very much doubt is the best overall; if my experience in business is any guide, spending a bit more on "overheads" (and simply not penny-pinching at every turn) would multiply the end results.
I'm sure there are many charities accomplishing good works, and I do donate to my best guesses for the causes I care about. But I suspect there are also vastly inefficient charities out there, and unlike businesses which will eventually go bankrupt, there's nothing to weed them out; as long as the donations keep coming in, they'll keep wasting them. And as a donor, how am I to know which is which?
So far off? They were predicting that windows mobile would beat symbian, and it looks like it has.
. I do it because it's less not fun than taking public transportation.
Well, then we'll change that, one way or the other.
So either you make it so that I don't have to go to work that far away or you shut the fuck up about how I get there.
Fine, I'll pick option 1, and I'll do it by making it impossible for people to commute that far. Then the free market will sort it out - companies will move to where there are people living, or affordable housing will be built closer to where there is work, or whatever.
And no, getting another job somewhere else is not an option. Changing my profession is not an option. Sacrificing what little comfort in life I have for your stupid ideas is NOT a FUCKING OPTION!
Pfft. Typical whiney driver. If you're actually so close to the poverty line that you can't afford the taxes, maybe you'd be better off on welfare. Otherwise, quit your bitching.
People should stop expecting everyone else to bend over backwards for their nutcase ideas.
Exactly backwards; you're making the world worse for everyone else for the sake of your own personal comfort.
What you are doing now is telling the nigger-slave to work harder or else he gets the whip.
Actually it's very much like telling the overseer to stop using slave labour. If you look at what slaveowners were writing you'll find very similar complaints to your own - "I can't afford machines or paid labour. Changing the way I farm is not an option, changing professions is not an option. Either make it so I don't have to harvest or shut the fuck up about how I do it."
I've been running nvidia cards on MSI motherboards fine for years. (Asus on the other hand, don't talk to me about asus...)
It means something to the human reading the code. There's a whole class of misleading-indentation bugs that simply can't exist in python, where what the computer sees matches what the programmer sees.
C# is more crossplatform than Java - there are explicit known patent problems with alternative implementations of Java, wheras only scaremongering when it comes to C#.
Have you thought about multiple languages? You certainly need something C-like for your low-level parts, and assuming you're writing something complex you'll need a language with high level abstractions. But there's no reason these have to be the same language. (And frankly C++ isn't high-level enough; writing e.g. game AI in C++ is enormously painful)
You would make the code more complex and less predictable. People would see different behaviour from size() in their real programs and their benchmarks. If someone wants this kind of size() caching they can easily implement it themselves (just makes a class that wraps std::list); if gcc followed your advice there'd be no way to turn it off.