but a computer language is not just the language - its the way of thinking that matters.
For example, I can tell you that a cup of tea is very nice.
Or I can tell you that a beverage consisting of stewed leaves, in a receptacle of suitable size for human consumption of liquids within reasonable tolerances constrained by societal norms concerning the adequate size given for common usage of imbibement practices, at a temperature between the range of values considered comfortable for sensitive tongue, palate, throat and stomach tissues not withstanding the sensation of heat requiring an upper range of temperature given the nature of heat dissipation of cooling liquids is of a nature considered pleasant to many who appreciate the flavour of such beverages.
both are valid English, but like computer programs I've seen software constructed in ways that make the latter seem a shining beacon of terseness!
So put software on the school curriculum like Reading, Riting and Rithmetic;) but otherwise leave them to decide what they want to be without pushing some political agenda on them.
saying bad things about the poofs is not terrorism. Its just bulling at worst, trolling at best. There's a difference between discussion and actively trying to physically damage people.
Maybe that's the line to draw, in which case we'd never arrest anyone until after they'd killed a load of people, but maybe that's the price we pay for your attitude towards theses criminal's liberties.
For me terrorism is telling people what they should do, bullying them into submission with constant attacks on their views. All the time ignoring the tricky question of what we can do to protect innocent citizens from terror attacks while still respecting civil liberties.
They only have issues with the government spying on them for some brainwashed libertarian reason.
Corporations spying, that's fine.. they've bought into the koolaid advertising and marketing that these corps can do no evil.
I'm sure if the government had the same marketing capabilities as say, Apple, people would be signing up to hand over their data, and would even wear some device that gave permission for the government to track them 24/7. Now think about that iWatch on their wrists.
don't confuse the runtime, whether its Java runtime environment or JVM or C+ runtime libraries, with user code.
C++ runtime libs are subject to scrutiny - you can see the updates regularly posted. At least with the C++ libs, apt-get or Winows update will patch your system quickly.. When I get a JVM update... its a PiTA worthy of not bothering to update and simply uninstall the damn things instead.
C++ libs are also fitted with plenty of security checks too, though you tend to turn many of them off in optimised code, things like buffer overflows are still made for you. However you can bypass them with very unsafe techniques if you want to, unlike Java where you have little choice.
At least I've never accidentally installed a f***ing toolbar with a C++ runtime.
a 1-to-1 port does not mean what you think it does,
You think it means mapping every method to the same written in a different language. That's just crazy.
What they have done is create the same functional beast as Cassandra, using whatever programming methods and libraries their chosen language (which just happens to be C++) has. Hence a 1-to-1 reimplementation of the project.
Its pointless to think that a C++ port should implement a Java string class when it would use its own. The methods would be different and various bits of code would therefore be different in how they operate on strings. That's just a simplistic example.
I've not seen the C++ code but there's no reason to think its unmaintainable, in much the same way as saying the Java code was unmaintainable too.
i agree with Android. You can get apps that inspect the code frameworks used to create your installed apps (typically to check which of the many the ad libraries are being used). This inspection will tell you whether the app uses the Android native dev kit.
I use Addons Detector for this.
When I last looked, *all* of the games I had, ie that required good performance, were written using the NDK.
It beats me why they don't just dump Java completely (and tell Oracle to shove it) and use the NDK as the primary development platform.
The modern JIT compilers do not do the kind of performance optimisations that they could, in theory, do. It simply costs too much in development time to cater for all the combinations and possibilities, or it costs more much in CPU time to calculate the optimisations than it would save in executing the slower code.
GC is faster than malloc for allocating, but when it comes to deallocating.. its a lot slower. Obviously, it has to do a lot more like compact the heap which is a pretty slow operation.
Most functions in C are inlined - the compiler has plenty of time to optimise a C program (ie the compile stage is a lot slower) that is can decide which functions are better inlined (based on size and/or call quantity).
Now you don't tend to notice much performance difference because modern CPUs are sitting spinning their wheels with cycles to spare - so the slower Java/.NET code still runs roughly as fast. But when you get server-side code that heavily uses the hardware - like this Database system - then you are really going to notice the difference.
There's one killer way to know if Java/.NET code is in fact slower than C++ native code: if the companies that produce it decide to create a native compiled version of their language. Which Microsoft has finally decided to do -.NET Native is building.NET source using the old C++ backend technology to produce native binaries. Microsoft says this makes their.NET programs run 30% faster. Still not as fast as C++ due to design limitations such as greater memory usage than a C++ program, but still - faster than old-style bytecode.NET.
The proof that C/C++ is faster than Java/.NET doesn't get more damning than that.
Its stretching the point a little, but 1 man's performance testing tools is another's DDoS attack tool.
I've stress tested our company's website on an internal network to see how much load it could handle with the hardware available to us before now. Everybody who does that hits it until it starts to degrade its service to make nice response graphs.
First thing to do is to regulate the ISPs so they implement egress filtering to stop spoofed packets from leaving their domains.
That would strop a lot of DDoS, and the rest - at least you'd then know who was sending the packets, and could take action against them (or tell them to stop it)
The biggest problem with C is that it mirrors how computers work.
You can complain that it doesn't do things the nice and easy way you'd want, but unfortunately the computer you're using doesn't do it that way either. Now you can wrap those constructs with something easier to use, but you've just added a layer of complexity over the top. Insist on more easy-to-use-features (eg garbage collection) and you end up with something really slow and cumbersome for a computer to process.
Fortunately we have computers that have incredible amounts of CPU and memory so we don't notice so much (well, until they pause momentarily due to GC collecting) unless you're running am environment where performance matters such as a busy server or an underpowered phone.
That's the trouble with working with things, you have to adapt yourself to the problem domain. C programmers can write very good programs, the ones who know how to write correct C programs think about what they're doing first, modularise it, decide on the interface points between modules and then start writing code. For an example, the Linux kernel (and a lot of the userland) is written in C and yet it happily churns away without crashing, leaking or all the other aspects of bad programming you complain of.
Now I've seen C# code crash regularly, and leak memory (in a system that apparently cannot leak memory) and have security bugs.
So the problem is in the workman, not in the tools.
nearly al those programs are for the benefit of the companies. Even health care is a way of addressing the cost to business of paying health insurance, now the taxpayer pays straight off and the insurance companies are happy.
H1B has little to do with a skills shortage, its a way to help companies pay their staff much less and also to ignore training of existing staff. Microsoft could have retrained all those tech workers they laid off from Nokia, but they chose to sack them all and then complain about the lack of skilled workers (so much so they now "need" more H1B workers....)
So yes it would be good if programmes were created to care for the health and social security of the citizens, but you're not going to ever get it from either of the main parties.
The very reason someone else uses the same API is, by definition, interoperability.
Except that Google's reimplementation was designed to be un-interoperable. They wanted the Java programmers to use their system instead of any officially-licenced Java system. They went to all this trouble deliberately, not to make something that worked with other Javas but to break them.
I don't think "interoperability" means allow people to write the same programs for. Microsoft went down that route with J++, it was interoperable with Java programs too. If they didn't want interoperability with Java, they would have made their own very-similar-but-not-the-same language and VM. This is what Google should have done, rather than poach the entire API and call it "not-Java " in the hope they could have all the Java they wanted without any of the disadvantages such as licencing.
Yes, it means that is company x creates a language, no-one will use it unless they are explicitly told they have a free-to-use licence for it.
A bit like the existing Java licence.
What you will not get is a licence for other implementations to appear. So Google cannot take someone else's language and write their own versions of it., which may or may not be what you want - so again, if they do not release the language as an open standard, no-one will use it. Simple!
Other forms of API are exactly the same, you either get a free licence or buy a licence to access the system (exactly as it is today), you just cannot reimplement the product you're accessing without a licence.
The only difference is that it sucks to be Stallman, as this means all those GPL programs he wrote to replace the existing Unix commands would have been breaking copyright, but then, they changed things like the command arguments (eg instead of -h they use --help) which might be enough to say they are not exact replacements after all, possibly.
if it looks like a duck, walks like a duck, quacks like a duck then its a duck, even if you artificially grew it from duck embryos in a lab.
They didn't make something that worked similarly to Java - that would have been OK, C# is similar to Java after all. They made something that was *identical* to Java. If they didn't want to be sued they should have made their own API and their own language, Oracle couldn't have done anything about that then, but Google wouldn't have been able to take Java programs and run them without change either.
I watched the Horizon programme about space junk the other week - it was good - and one of the points raised in it was concern about cubesats not having any movement capability and being cheap and considered "disposable" and thus much more likely to become part of the junk problem that other, expensive, satellites.
4600 micro sats sounds to me like even more junk waiting to happen. Keep it up and we'll not be able to have any nice things in orbit soon.
All that massive post goes for naught once you have to configure PulseAudio in a way that Poettering doesn't like (which is many) then you'll be wondering if you could, maybe just run a copy of Windows for media after all:-)
Don't encourage him - he'll be posting about his hosts, firewall rules package that is so much better than uBlock, AB+, etc etc
There are things like this, people are complaining about Windows 10 need to send lots of data to MS, there is a WRT router script that has blocking rules set up for them, IIRC. You'll have to google for it though.. but here's a quick result to get you started
I remember the old days, WebHostingTalk forum in fact, that had ads, only they were embedded into the page. The site operators themselves had a pdf of the site demographics, users, visits and suchlike and would offer advertisers a number of banners or images they could send to the site in exchange for a set amount of cash. That worked - it was difficult to block those ads without blocking other parts of the site (though it was still possible, I don't think anyone did it though as the ads were not excessive).
The ads were also closely targeted towards to site demographics - no ads for lawnmowers on a forum discussing web hosting!
But then... we got Google adwords and the other middlemen who insisted that putting ads on your site was something they'd take care of for you, and you'd get loads more money as they'd be targeted at the users based on user's past preferences (ie they could charge the advertiser more because of some bull about only showing them to people interested in them) and they would only take a small cut of the proceeds, whilst the site operators suddenly find they can jut put this widget here and.. loadsamoney, with no effort required.
And this is why your damn OS phones home continually, and there are more ads popping up and flashing at you than ever before, and many of them are useless anyway (like the time I went looking for some new windscreen wipers, I bought them and for a fortnight afterwards I was bombarded with ads for wipers that I would never buy because I just had some brand new ones!).
So, too bad, I have zero sympathy. If a site wants to host adverts directly, I will typically not block them and the adblockers won't have them in their lists anyway. To the numerous rip-off ad merchants.. fuck you. Put that in your damn tracking cookies.
per-client licence is 1 per user usually, and then you have several applications, each of which need a licence.. and the number quickly rockets up.
Add to that old applications that people no longer use, but somewhere in the bowels of accounting are still being renewed and you can easily get 200 per user (well, easily if you're the kind of bureaucracy like a government organisation).
I imagine they'll rationalise these Oracle licences... by buying 200 SQL Server licences per user.
amen. And if anyone has followed the tutorials about disabling Cortana to get rid of the "all your keypresses are sent to Bing for.. processing", you'll find that it still sends all your data to Bing anyway.
but a computer language is not just the language - its the way of thinking that matters.
For example, I can tell you that a cup of tea is very nice.
Or I can tell you that a beverage consisting of stewed leaves, in a receptacle of suitable size for human consumption of liquids within reasonable tolerances constrained by societal norms concerning the adequate size given for common usage of imbibement practices, at a temperature between the range of values considered comfortable for sensitive tongue, palate, throat and stomach tissues not withstanding the sensation of heat requiring an upper range of temperature given the nature of heat dissipation of cooling liquids is of a nature considered pleasant to many who appreciate the flavour of such beverages.
both are valid English, but like computer programs I've seen software constructed in ways that make the latter seem a shining beacon of terseness!
So put software on the school curriculum like Reading, Riting and Rithmetic ;) but otherwise leave them to decide what they want to be without pushing some political agenda on them.
saying bad things about the poofs is not terrorism. Its just bulling at worst, trolling at best. There's a difference between discussion and actively trying to physically damage people.
Maybe that's the line to draw, in which case we'd never arrest anyone until after they'd killed a load of people, but maybe that's the price we pay for your attitude towards theses criminal's liberties.
For me terrorism is telling people what they should do, bullying them into submission with constant attacks on their views. All the time ignoring the tricky question of what we can do to protect innocent citizens from terror attacks while still respecting civil liberties.
They only have issues with the government spying on them for some brainwashed libertarian reason.
Corporations spying, that's fine.. they've bought into the koolaid advertising and marketing that these corps can do no evil.
I'm sure if the government had the same marketing capabilities as say, Apple, people would be signing up to hand over their data, and would even wear some device that gave permission for the government to track them 24/7. Now think about that iWatch on their wrists.
already used for the ... erm, nothing, no honestly, nothing. Yeah, very good point, we should have used that one, silly us.
don't confuse the runtime, whether its Java runtime environment or JVM or C+ runtime libraries, with user code.
C++ runtime libs are subject to scrutiny - you can see the updates regularly posted. At least with the C++ libs, apt-get or Winows update will patch your system quickly.. When I get a JVM update ... its a PiTA worthy of not bothering to update and simply uninstall the damn things instead.
C++ libs are also fitted with plenty of security checks too, though you tend to turn many of them off in optimised code, things like buffer overflows are still made for you. However you can bypass them with very unsafe techniques if you want to, unlike Java where you have little choice.
At least I've never accidentally installed a f***ing toolbar with a C++ runtime.
a 1-to-1 port does not mean what you think it does,
You think it means mapping every method to the same written in a different language. That's just crazy.
What they have done is create the same functional beast as Cassandra, using whatever programming methods and libraries their chosen language (which just happens to be C++) has. Hence a 1-to-1 reimplementation of the project.
Its pointless to think that a C++ port should implement a Java string class when it would use its own. The methods would be different and various bits of code would therefore be different in how they operate on strings. That's just a simplistic example.
I've not seen the C++ code but there's no reason to think its unmaintainable, in much the same way as saying the Java code was unmaintainable too.
i agree with Android. You can get apps that inspect the code frameworks used to create your installed apps (typically to check which of the many the ad libraries are being used). This inspection will tell you whether the app uses the Android native dev kit.
I use Addons Detector for this.
When I last looked, *all* of the games I had, ie that required good performance, were written using the NDK.
It beats me why they don't just dump Java completely (and tell Oracle to shove it) and use the NDK as the primary development platform.
Except....
The modern JIT compilers do not do the kind of performance optimisations that they could, in theory, do. It simply costs too much in development time to cater for all the combinations and possibilities, or it costs more much in CPU time to calculate the optimisations than it would save in executing the slower code.
GC is faster than malloc for allocating, but when it comes to deallocating.. its a lot slower. Obviously, it has to do a lot more like compact the heap which is a pretty slow operation.
Most functions in C are inlined - the compiler has plenty of time to optimise a C program (ie the compile stage is a lot slower) that is can decide which functions are better inlined (based on size and/or call quantity).
Now you don't tend to notice much performance difference because modern CPUs are sitting spinning their wheels with cycles to spare - so the slower Java/.NET code still runs roughly as fast. But when you get server-side code that heavily uses the hardware - like this Database system - then you are really going to notice the difference.
There's one killer way to know if Java/.NET code is in fact slower than C++ native code: if the companies that produce it decide to create a native compiled version of their language. Which Microsoft has finally decided to do - .NET Native is building .NET source using the old C++ backend technology to produce native binaries. Microsoft says this makes their .NET programs run 30% faster. Still not as fast as C++ due to design limitations such as greater memory usage than a C++ program, but still - faster than old-style bytecode .NET.
The proof that C/C++ is faster than Java/.NET doesn't get more damning than that.
maybe so, but I would imagine a lot of single men were on the site as well, looking for easy hookups with those frustrated and lonely housewives.
Its stretching the point a little, but 1 man's performance testing tools is another's DDoS attack tool.
I've stress tested our company's website on an internal network to see how much load it could handle with the hardware available to us before now. Everybody who does that hits it until it starts to degrade its service to make nice response graphs.
First thing to do is to regulate the ISPs so they implement egress filtering to stop spoofed packets from leaving their domains.
That would strop a lot of DDoS, and the rest - at least you'd then know who was sending the packets, and could take action against them (or tell them to stop it)
*Every* install of a new Windows OS is faster.
But then you add programs and install updates and so on, and it slows down to where you started from.
The biggest problem with C is that it mirrors how computers work.
You can complain that it doesn't do things the nice and easy way you'd want, but unfortunately the computer you're using doesn't do it that way either. Now you can wrap those constructs with something easier to use, but you've just added a layer of complexity over the top. Insist on more easy-to-use-features (eg garbage collection) and you end up with something really slow and cumbersome for a computer to process.
Fortunately we have computers that have incredible amounts of CPU and memory so we don't notice so much (well, until they pause momentarily due to GC collecting) unless you're running am environment where performance matters such as a busy server or an underpowered phone.
That's the trouble with working with things, you have to adapt yourself to the problem domain. C programmers can write very good programs, the ones who know how to write correct C programs think about what they're doing first, modularise it, decide on the interface points between modules and then start writing code. For an example, the Linux kernel (and a lot of the userland) is written in C and yet it happily churns away without crashing, leaking or all the other aspects of bad programming you complain of.
Now I've seen C# code crash regularly, and leak memory (in a system that apparently cannot leak memory) and have security bugs.
So the problem is in the workman, not in the tools.
and yet TFS didn't even give us a link to his policy!
Here's a "news" article that gives a link and a summary piece about it.
nearly al those programs are for the benefit of the companies. Even health care is a way of addressing the cost to business of paying health insurance, now the taxpayer pays straight off and the insurance companies are happy.
H1B has little to do with a skills shortage, its a way to help companies pay their staff much less and also to ignore training of existing staff. Microsoft could have retrained all those tech workers they laid off from Nokia, but they chose to sack them all and then complain about the lack of skilled workers (so much so they now "need" more H1B workers....)
So yes it would be good if programmes were created to care for the health and social security of the citizens, but you're not going to ever get it from either of the main parties.
The very reason someone else uses the same API is, by definition, interoperability.
Except that Google's reimplementation was designed to be un-interoperable. They wanted the Java programmers to use their system instead of any officially-licenced Java system. They went to all this trouble deliberately, not to make something that worked with other Javas but to break them.
I don't think "interoperability" means allow people to write the same programs for. Microsoft went down that route with J++, it was interoperable with Java programs too. If they didn't want interoperability with Java, they would have made their own very-similar-but-not-the-same language and VM. This is what Google should have done, rather than poach the entire API and call it "not-Java " in the hope they could have all the Java they wanted without any of the disadvantages such as licencing.
Yes, it means that is company x creates a language, no-one will use it unless they are explicitly told they have a free-to-use licence for it.
A bit like the existing Java licence.
What you will not get is a licence for other implementations to appear. So Google cannot take someone else's language and write their own versions of it., which may or may not be what you want - so again, if they do not release the language as an open standard, no-one will use it. Simple!
Other forms of API are exactly the same, you either get a free licence or buy a licence to access the system (exactly as it is today), you just cannot reimplement the product you're accessing without a licence.
The only difference is that it sucks to be Stallman, as this means all those GPL programs he wrote to replace the existing Unix commands would have been breaking copyright, but then, they changed things like the command arguments (eg instead of -h they use --help) which might be enough to say they are not exact replacements after all, possibly.
if it looks like a duck, walks like a duck, quacks like a duck then its a duck, even if you artificially grew it from duck embryos in a lab.
They didn't make something that worked similarly to Java - that would have been OK, C# is similar to Java after all. They made something that was *identical* to Java. If they didn't want to be sued they should have made their own API and their own language, Oracle couldn't have done anything about that then, but Google wouldn't have been able to take Java programs and run them without change either.
I watched the Horizon programme about space junk the other week - it was good - and one of the points raised in it was concern about cubesats not having any movement capability and being cheap and considered "disposable" and thus much more likely to become part of the junk problem that other, expensive, satellites.
4600 micro sats sounds to me like even more junk waiting to happen. Keep it up and we'll not be able to have any nice things in orbit soon.
All that massive post goes for naught once you have to configure PulseAudio in a way that Poettering doesn't like (which is many) then you'll be wondering if you could, maybe just run a copy of Windows for media after all :-)
Don't encourage him - he'll be posting about his hosts, firewall rules package that is so much better than uBlock, AB+, etc etc
There are things like this, people are complaining about Windows 10 need to send lots of data to MS, there is a WRT router script that has blocking rules set up for them, IIRC. You'll have to google for it though.. but here's a quick result to get you started
said PageFair boss.... this is the problem.
I remember the old days, WebHostingTalk forum in fact, that had ads, only they were embedded into the page. The site operators themselves had a pdf of the site demographics, users, visits and suchlike and would offer advertisers a number of banners or images they could send to the site in exchange for a set amount of cash. That worked - it was difficult to block those ads without blocking other parts of the site (though it was still possible, I don't think anyone did it though as the ads were not excessive).
The ads were also closely targeted towards to site demographics - no ads for lawnmowers on a forum discussing web hosting!
But then... we got Google adwords and the other middlemen who insisted that putting ads on your site was something they'd take care of for you, and you'd get loads more money as they'd be targeted at the users based on user's past preferences (ie they could charge the advertiser more because of some bull about only showing them to people interested in them) and they would only take a small cut of the proceeds, whilst the site operators suddenly find they can jut put this widget here and .. loadsamoney, with no effort required.
And this is why your damn OS phones home continually, and there are more ads popping up and flashing at you than ever before, and many of them are useless anyway (like the time I went looking for some new windscreen wipers, I bought them and for a fortnight afterwards I was bombarded with ads for wipers that I would never buy because I just had some brand new ones!).
So, too bad, I have zero sympathy. If a site wants to host adverts directly, I will typically not block them and the adblockers won't have them in their lists anyway. To the numerous rip-off ad merchants.. fuck you. Put that in your damn tracking cookies.
probably that *one* little host IP that is left unblocked .....
At least that's what I think of when I read that nonsense of a post advocating APK, it just reads like a scam email.
per-client licence is 1 per user usually, and then you have several applications, each of which need a licence.. and the number quickly rockets up.
Add to that old applications that people no longer use, but somewhere in the bowels of accounting are still being renewed and you can easily get 200 per user (well, easily if you're the kind of bureaucracy like a government organisation).
I imagine they'll rationalise these Oracle licences ... by buying 200 SQL Server licences per user.
amen. And if anyone has followed the tutorials about disabling Cortana to get rid of the "all your keypresses are sent to Bing for.. processing", you'll find that it still sends all your data to Bing anyway.
You have to block it in the firewall to get the behaviour what normal people would expect.