Java has its purposes. Write-once, Run-Almost-Anywhere is a good concept.
It is a good concept. Unfortunately, several studies (at least one was covered here on slashdot) indicate the vast majority of Java development runs on the same platform on which it was written. Furthermore, the vast majority of this Java software can not run anywhere without additional code changes because of programmer short sightedness or just simple mistakes.
So while its a nice "have", pragmatically speaking, it doesn't apply to most Java software.
Which means, at the end of the day, your development cycle of something like Java vs C++ isn't all too entirely different for code which actually is, "Write-one, Run-Almost-Anywhere."
Probably because there are royalty free, freely available ARM designs available for use by anyone. Its not their leaded edge designs, but ARM is freely available.
and so it has to be hacked all over the place to deal with architecture variations.
Bullshit. Linux abstracts such details though various standardized functions and macros. If you've bothered to pull your head from your ass and take even a quick look at the Linux source tree, you can clearly see the architecture variants are cleanly broken out.
Not only is your post NOT "Interesting", as was modded, it is factually, "Troll".
A tablet is not a serious puter in most scenarios, it's an accessory.
Not so. It really depends on what you consider "serious." For most people, simply reading their friend's posts of, "Just drank coffee - mmmm", followed by, "just had my second sip - mmmm - even better - yummy", is about as serious as it gets.
Can you please be more specific? I constantly see people say the things you say and without fail, they always prove to be completely baseless. Must like what started this whole thread.
Helping is not what happened. Google wasn't poaching anything. Users wanted to migrate away. Facebook said sorry, we're not going to allow you to migrate. Google had nothing to do with it aside from the fact that users wanted to migrate away from Facebook, onto Google+.
Agreed. Of course, that's also why the vast, vast majority of Java benchmarks attempt to run to completion before collection has a chance to run - thusly falsely elevating the Java benchmarks.
I can find nothing which supports your conclusion. These languages only run on systems with support protected, read-only memory? If not, as originally stated multiple times, you're full of shit.
Statement of fact. What was your contribution? More bullshit and hand waving while pretending others used "critical thinking". If offering factually bullshit statements pass as, "critical thinking", in your book, you're an idiot.
Re-read what he (you?) said. No fucking language protects against memory overwrites. So please, point me to the language which has every object inside of read-only memory.
Basically, and what a surprise I'm saying it again, the offer what the idiot claimed means every fucking computer and language is non-viable. He's and idiot. And you are too for supporting such idiotic claims.
OK, so you consider concurrency useless? And lambda functions? And type inference? And strongly typed enums? And static assertions? And Unicode support? And variadic templates? And move semantics?
Of course they don't. But they can't troll and sound like they have a legitimate grip is they actually spoke to reality.
With smart pointers and RAII, that's in fact what most C++ coders do.
The reason why some want GC is become for small applications, it can speed development and runtime performance (saving you from optimizing). This is one of the things with many Java benchmarks whereby they purposely attempt to create the false illusion that Java is so much faster than other languages - in that they purposely attempt to defer object destruction. Its true a tiny subject of applications will benefit from this but of course, these benchmarks purposely avoid the C++ facilities to allow C++ to stomp java in the ground in these same benchmarks.
There are certain classes of applications which benefit from GC. Most do not, especially with modern C++ facilities. Basically, if you can manage to screw up memory management in C++, without GC, I fully expect you'll manage to screw up memory management in any other language which supports GC.
As an example, I was a member of a 20 man development team and a rather large c++ code base. When it came time for integration testing, we discovered a memory leak. Investigation revealed it was actually two leaks. It was finally nailed down to leaks in the platform. Number of memory leaks on a large C++ project? Zero.
Years ago I remember a Java benchmark which claimed to be faster than C++. And it was. It was almost 3x faster. I took the C++ code, unchanged, adding a GC to it, and suddenly the C++ version was 3x as fast as the Java benchmark. Apples to apples, it was WAY slower. Now then, was a GC required to achieve that? Nope! It could have easily been done using any number of language features and libraries readily available for C++.
These days, if memory leaks and hunts are a common problem for your C++ developers and/or projects, it absolutely is the developer's fault - not the language's. There is absolutely no excuse to have memory leaks, without GC'ing, using modern C++ methodologies.
The simple fact is, almost exclusively only lazy programmers require GC. There are times where having GC available can speed development and even makes for an easy, lazy, optimization. Even still, there absolutely is no need for GC - especially not for C++. GC is just another tool in the bag.
Who the hell has 16 cores and one gig of ram? These days, unless your application is extremely exception in compilation demands, most people easily have the resources to allow for concurrent compilation. Hell, people were compiling the Linux kernel with -6 and far more a decade ago.
Blaming a language for underpowered woes is pretty sad. There's a reason why people constantly tell you to use the right tool for the job.
Nice way to troll Python, which is completely unrelated to the topic at hand, with completely irrelevant and misleading information.
You do realize that Python 3.x purposely broke capability with 2.x? And you complaining that a program which was written against 2.x *might* require some minor changes to run against an incompatible version 3.x? What is wrong with people...
You can do objects via C but its hard to read, debug, error prone, frequently inflexible, and nowhere near as powerful as C++. Other than that, objects in C are a really good idea.
On the other hand, bad product placement can ruin character development, for example, showing what is supposed to be a poor family having a top-of-the line Mac in their kitchen.
I'm guessing you're either not from the south, visited the south, or been through poor neighborhoods. I can't tell you how many times I've been through poor neighborhoods, which I consider to be little more than a collection of shanties, whereby a one or two year old Cadillac is parked out front.
The fact is, a lot of people are poor specifically because they spend their money so incredibly dumbly. No, that's not all poor and likely far from a majority, but that's reality. Factually, a lot of poor people are poor specifically because they go out of their way to be poor; without regard for their actual intent.
Seriously, take a hard look at some of the pawn shows on TV. One based in Detroit comes to mind. There are people who are direly need cash just to eat and yet they someone how thousands of dollars on jewlery, xboxes, fur coats, and all sorts of idiotic bling for their cars and teeth. And this has recently been confirmed by two studies which show the vast majority of US poor have lots and lots of luxury items - and oh, if you're a tax payer, you likely paid for it.
Being poor absolutely does not mean you don't own luxury items in America.
CyanogenMod tends to try to target the sweet spot between performance and battery life. You may not get as good of battery life (then again, you may) but likely you'll have a faster, lower latency experience with CyanogenMod.
I don't think its the shock that this is taking place. I think its that the US is paying $1 BILLION/yr to prop up their government who in turn is actively working against the US.
You seem to have completely missed the point. Honestly, how you managed to do that is beyond me. The contention was that nuclear power is "unsustainable", and therefore not an option to pursue. That's factually false. Period.
Java has its purposes. Write-once, Run-Almost-Anywhere is a good concept.
It is a good concept. Unfortunately, several studies (at least one was covered here on slashdot) indicate the vast majority of Java development runs on the same platform on which it was written. Furthermore, the vast majority of this Java software can not run anywhere without additional code changes because of programmer short sightedness or just simple mistakes.
So while its a nice "have", pragmatically speaking, it doesn't apply to most Java software.
Which means, at the end of the day, your development cycle of something like Java vs C++ isn't all too entirely different for code which actually is, "Write-one, Run-Almost-Anywhere."
Open? How is ARM open?
Probably because there are royalty free, freely available ARM designs available for use by anyone. Its not their leaded edge designs, but ARM is freely available.
and so it has to be hacked all over the place to deal with architecture variations.
Bullshit. Linux abstracts such details though various standardized functions and macros. If you've bothered to pull your head from your ass and take even a quick look at the Linux source tree, you can clearly see the architecture variants are cleanly broken out.
Not only is your post NOT "Interesting", as was modded, it is factually, "Troll".
A tablet is not a serious puter in most scenarios, it's an accessory.
Not so. It really depends on what you consider "serious." For most people, simply reading their friend's posts of, "Just drank coffee - mmmm", followed by, "just had my second sip - mmmm - even better - yummy", is about as serious as it gets.
I expect half of the comments
You're being very generous today. Frankly, I'm amazed when 10%-20% bare any semblance to reality.
Can you please be more specific? I constantly see people say the things you say and without fail, they always prove to be completely baseless. Must like what started this whole thread.
To what violations do you refer?
Helping is not what happened. Google wasn't poaching anything. Users wanted to migrate away. Facebook said sorry, we're not going to allow you to migrate. Google had nothing to do with it aside from the fact that users wanted to migrate away from Facebook, onto Google+.
Agreed. Of course, that's also why the vast, vast majority of Java benchmarks attempt to run to completion before collection has a chance to run - thusly falsely elevating the Java benchmarks.
I can find nothing which supports your conclusion. These languages only run on systems with support protected, read-only memory? If not, as originally stated multiple times, you're full of shit.
I've used them and written my own. They suck ass compared to the "real thing."
What was your contribution again?
Statement of fact. What was your contribution? More bullshit and hand waving while pretending others used "critical thinking". If offering factually bullshit statements pass as, "critical thinking", in your book, you're an idiot.
Re-read what he (you?) said. No fucking language protects against memory overwrites. So please, point me to the language which has every object inside of read-only memory.
Basically, and what a surprise I'm saying it again, the offer what the idiot claimed means every fucking computer and language is non-viable. He's and idiot. And you are too for supporting such idiotic claims.
OK, so you consider concurrency useless? And lambda functions? And type inference? And strongly typed enums? And static assertions? And Unicode support? And variadic templates? And move semantics?
Of course they don't. But they can't troll and sound like they have a legitimate grip is they actually spoke to reality.
With smart pointers and RAII, that's in fact what most C++ coders do.
The reason why some want GC is become for small applications, it can speed development and runtime performance (saving you from optimizing). This is one of the things with many Java benchmarks whereby they purposely attempt to create the false illusion that Java is so much faster than other languages - in that they purposely attempt to defer object destruction. Its true a tiny subject of applications will benefit from this but of course, these benchmarks purposely avoid the C++ facilities to allow C++ to stomp java in the ground in these same benchmarks.
There are certain classes of applications which benefit from GC. Most do not, especially with modern C++ facilities. Basically, if you can manage to screw up memory management in C++, without GC, I fully expect you'll manage to screw up memory management in any other language which supports GC.
As an example, I was a member of a 20 man development team and a rather large c++ code base. When it came time for integration testing, we discovered a memory leak. Investigation revealed it was actually two leaks. It was finally nailed down to leaks in the platform. Number of memory leaks on a large C++ project? Zero.
Years ago I remember a Java benchmark which claimed to be faster than C++. And it was. It was almost 3x faster. I took the C++ code, unchanged, adding a GC to it, and suddenly the C++ version was 3x as fast as the Java benchmark. Apples to apples, it was WAY slower. Now then, was a GC required to achieve that? Nope! It could have easily been done using any number of language features and libraries readily available for C++.
These days, if memory leaks and hunts are a common problem for your C++ developers and/or projects, it absolutely is the developer's fault - not the language's. There is absolutely no excuse to have memory leaks, without GC'ing, using modern C++ methodologies.
The simple fact is, almost exclusively only lazy programmers require GC. There are times where having GC available can speed development and even makes for an easy, lazy, optimization. Even still, there absolutely is no need for GC - especially not for C++. GC is just another tool in the bag.
With that line of thinking, all computers and all programming languages are "a sham."
Wow! You're quite the idiot!
I hadn't thought of that, but your right, it IS damn funny!
Who the hell has 16 cores and one gig of ram? These days, unless your application is extremely exception in compilation demands, most people easily have the resources to allow for concurrent compilation. Hell, people were compiling the Linux kernel with -6 and far more a decade ago.
Blaming a language for underpowered woes is pretty sad. There's a reason why people constantly tell you to use the right tool for the job.
Nice way to troll Python, which is completely unrelated to the topic at hand, with completely irrelevant and misleading information.
You do realize that Python 3.x purposely broke capability with 2.x? And you complaining that a program which was written against 2.x *might* require some minor changes to run against an incompatible version 3.x? What is wrong with people...
What?! Reasonable and sane discourse? With a valid counter point even? You must be new here!
You can do objects via C but its hard to read, debug, error prone, frequently inflexible, and nowhere near as powerful as C++. Other than that, objects in C are a really good idea.
On the other hand, bad product placement can ruin character development, for example, showing what is supposed to be a poor family having a top-of-the line Mac in their kitchen.
I'm guessing you're either not from the south, visited the south, or been through poor neighborhoods. I can't tell you how many times I've been through poor neighborhoods, which I consider to be little more than a collection of shanties, whereby a one or two year old Cadillac is parked out front.
The fact is, a lot of people are poor specifically because they spend their money so incredibly dumbly. No, that's not all poor and likely far from a majority, but that's reality. Factually, a lot of poor people are poor specifically because they go out of their way to be poor; without regard for their actual intent.
Seriously, take a hard look at some of the pawn shows on TV. One based in Detroit comes to mind. There are people who are direly need cash just to eat and yet they someone how thousands of dollars on jewlery, xboxes, fur coats, and all sorts of idiotic bling for their cars and teeth. And this has recently been confirmed by two studies which show the vast majority of US poor have lots and lots of luxury items - and oh, if you're a tax payer, you likely paid for it.
Being poor absolutely does not mean you don't own luxury items in America.
CyanogenMod tends to try to target the sweet spot between performance and battery life. You may not get as good of battery life (then again, you may) but likely you'll have a faster, lower latency experience with CyanogenMod.
And what's the reason for that?
Its called, "theory", and, "practice." In theory you have some idea of what you're talking about. In practice, you don't.
I don't think its the shock that this is taking place. I think its that the US is paying $1 BILLION/yr to prop up their government who in turn is actively working against the US.
You seem to have completely missed the point. Honestly, how you managed to do that is beyond me. The contention was that nuclear power is "unsustainable", and therefore not an option to pursue. That's factually false. Period.
Which would very likely still be a win for China.