Point A: Java was standardized by a consortium as well. I believe that even the APPLET tag was standardized by the w3c. Oh, and that was before the w3c had began “standardizing” DRM hooks.
Point B: When Java was added to HTML, everyone and his dog (including Microsoft) thought that Java was the future and that every software in the world would have been rewritten in Java. Proof in the fact that the "Java" branding was added to Javascript in order to increase its appeal.
Point C: the sandbox for Java applets gave the unsigned ones even fewer permissions than the current Javascript sandbox does for the most obscure of the web pages.
Point D: Compilers have been written targeting the JVM bytecode for pretty much every modern language (Python, Ruby, Scala, Lisp and, of course, Javascript), many of them actually faster than their reference C implementations, so I don't know how much lower in level you can get.
Point E: Look, DOM manipulation from an applet. And do you know what else integrated even more with the DOM? Microsoft's ActiveX.
But above all, all points, even if they were true, are but minor differences in implementation, compared to the huge fact being the very nature of a bytecode that is supposed to be run by web pages, that alters the open nature of the web by making its pages write-only, and the introduction of a compiler into the workflow of HTML development. (Who will make the better compiler, Microsoft or Mozilla? Will php scripts output bytecode or do we have to change server-side scripting? What's the failure model for browsers implementing an older subset of the bytecodes?)
3) How is this different from Java, Flash, Silverlight?
It is different because:
A) It' s a w3c standarized effort
B) All the big players are behind it (Google, Mozilla, Microsoft and Apple)
C) It relies on the browser security model, it does not bypass it
D) It' s a low-level bytecode, more so than AS3, JVM or Silverlight, so it can run any language.
E) It runs in the same "space" as the DOM, it's not a separate/embeeded app.
In other words, it's exactly like Java but instead of being designed by a software company, it's being introduced by personal data sellers, ad designers, NSA henchmen, DRM paladins, government lobbyists and walled-garden tenders. And unlike Java, it's going to be used by every single web page and we won't be able to uninstall it. Sounds great, what could possibly go wrong.
Have the actions of Snowden, and, apparently, the use of weak encryption, made the world less safe?
Talk about yourselves. The world isn't UK, you know. If anything, Snowden's revelations have shown that it's the UK who performed hostile acts of espionage against their European allies, together and on behalf of their trans-atlantic big buddies, not Soviet Russia.
I think it’s the same reason why often the children of successful entrepreneurs fail to keep their fathers’ empires running. When you no longer need to practice some kind of culture, you don’t, and when a culture isn’t practiced, you lose it for good, and finally competition (from other companies, from the Barbarians, from the Chinese) does the rest. Also known as “resting on your laurels”.
To be fair, the colosseum has just been restored (not rebuilt), this year, with contribution from private sponsors. There's an approved plan from the government to rebuild the inner arena to make it walkable again in five years, for 20 mln €. Piig or not, that's not much for the fourth economy of the EU; for comparison, it's 1/6 the cost of a single F-35 fighter and Italy is going to buy 90 of them from the US. However you are right, Italians just can't be bothered to spend money for the preservation of their historic heritage, and will happily watch it crumble to nothingless (see what's happening to the houses of Pompeii) while they build campy villas around and over the ruins.
What I’d like to express is that when I use dynamically typed languages, whatever they are called, I get, depending on the particular kind of dynamically typed language, little to no introspection, function prototypes and data structures that are not self-describing, and a tendence to eat my typos and turn them into insidious bugs that are a nightmare to find and only trigger at runtime, and often not by raising a proper exception, but instead causing behaviours that appear inexplicable until you hunt the bug down.
Designing a language is a matter of trade-offs; certain languages are designed to make you code quickly (VBScript), which doesn’t mean that you can’t write robust code with them, and others are designed to make you write robust code (Java), which doesn’t mean that you can’t write buggy code with them.
Oh, I had the same experience and I thought that it was the quality of the drives to be declining.
However, to be honest, I recall having problems with failing floppies all the way back to the 80s. On the C64, the drive would begin making a LOUD rattling sound as if its head had fallen off the disk and it was banging against the end of the rail; given my age at that time, this usually happened while a game was loading the last level that I had been playing for half a day to reach (no savegames back then). On the PC, I still remember how many times I found myself torturing the R key at the "Abort, Retry, Ignore, Fail" prompt, usually to no avail. A friend of mine recommended me to put the failing floppies inside the fridge and try reading them again while they were fresh.
I know you're a troll, therefore I'm talking to the person who modded you up, since in order to get mod points he has to be at least moderately rational.
What the hell do Frenchprivate labour laws have to do with the public debt crisis in Greece?
A personal rant, not related to this particular situation of which I know nothing.
The banks won't allow any flexibility about my working conditions when I ask for a mortgage to buy my house; doctors expect to be paid with no flexibility when I have to maintain the health of my family; bills needs to be paid inflexibly at the end of the month. So I have to confess that this concept of "flexibility" that we are importing from the US is starting to piss me off, because basically it means that workers, the weaker part of economy and the one that actually does the job, have to take on their shoulders the risk of entrepreneurship, which historically was the moral justification for investors to make money without working.
And hearing that this is necessity from politicians who sit on mountains of public money, and on behalf of CEOs who can earn one hundred times as much as their employees, and can take the citizenship of Monte Carlo to even avoid paying taxes on that much, is unbearable. Again, I'm not talking about the CEO of Mandriva, it's just a generic rant.
To me, the pragmatic way to add generics to Java while ensuring backwards compatibility would have been to write a new collections library using reified generics, leaving the old collections library ungenerified for source and binary compatibility with old code. That's what MS did with.NET. It's certainly much less elegant because you can't retrofit the whole API with generics as Sun was able to do, but I don't hear many complaints from.NET programmers about this problem nowadays.
Instead, they chose the more sophisticated approach of type erasure - which added a lot of complexity, limitations, and even introduced the concept of compile-time warnings in the Java language - not because of backwards compatibility (adding new kinds of bytecode to the JVM is OK and it happens occasionally), but because they wanted indefinite interoperability between old code (which would see the collection objects “raw”) and new code (which would see the very same objects “generified”).
Now academics universally despise type erasure, but back then at least half of them thought that it was a good idea and you can still see it today if you search the web for their blog posts of the time, where they explained the tricks that they used to overcome the limitations of type erasure and why type erasure wasn't so bad after all.
DOS was kept around for compatibility reasons, because people WANTED to continue running DOS programs both under Windows and besides Windows. And that's mostly the reason why you might have had to fiddle with AUTOEXEC.BAT and CONFIG.SYS, that is, if you wanted to run DOS programs and therefore you needed to squeeze each KB out of conventional memory, install DOS device drivers for your sound card (which were not required under Windows), install SMARTDrive and so on. Windows applications ran happily in Extended Memory and didn't need all that theatre.
The fact that you could go back do DOS isn't relevant to the definition of what is an operating system and what isn't. You could go back to DOS in Win9x, too. And you can shut down the OS and go back to the boot loader shell in many computer architectures, including the earlier models of IBM PC where you could go back to ROM BASIC.
You don't need to inspect upstream definitions for the second line when there's no operator overloading involved, it can only be an addition between two numbers or a string concatenation.
Also consider the following example. What does this do?
c = a * b;
Is it a vector product? Is it a scalar product? Is it a scalar multiplication? I need to look at the types of a, b and c to figure out. A method name in place of a single character could tell me more.
To be honest, at startup Windows replaced DOS' services to the point that it ran on its own, with no knowledge by the undelying DOS, program loading, process management, memory management, task scheduling, and most device drivers. This included even disk access in the later releases of Windows 3.x. It's not correct to say that Windows 3 wasn't an operating system, as it implemented almost all of the services that define an operating system, if not booting from the bare metal.
On my laptop, a Sandy Bridge i7, on a cold start, Netbeans 8 takes 57 seconds to launch before it's clickable, Visual Studio 2013 takes 68 seconds. Netbeans is also more responsive while it's busy, with Visual Studio displaying the full hourglass cursor and triggering the "application not responding" behaviour if its window is clicked before it's ready.
The basic idea is that in Java programs, you can understand what's going on by looking at a fragment of code. Therefore the code is easy to read and to maintain. With syntactic sugar such as properties, operator overload and closures, you can't know which statements will cause side effects without inspecting upstream definitions.
Type erasure, on the other hand, is pure evil - to me, it's the representation of what happens when a pragmatic language ends up into the hands of computer scientists.
By the way, in Java all lists have the get() method with no exceptions (this includes Lists, HashMaps, Vectors) and all collections have the iterator() method with no exceptions. The At() method doesn't exist.
No, it wasn't... in the old times it allowed you to skip whitespace in order to save memory, so programs used to become wall of characters, and you couldn't even call a variable "sprint" because it contained the reserved word "print". And its later incarnations were full of puzzlers. Just the first ones that come into my mind: "On Error Goto 0" means "throw an exception"; functions and procedures have a different invocation syntax and invoking a procedure as a function doesn't fail but results in a different operation; the assignment operator is different between objects and non-objects; function parameters are passed by reference by default...
So they are going to peek inside my network packets, looking for ads? And modify them, in order to remove those ads? Sorry, but I don't need yet another big brother looking at my private stuff, whether it’s for my own good, for maintaining the order of society or for the sake of whatever replaced the STASI nowadays.
Besides, what if I’m using TLS? Are they going to require me to install rogue certificates just to make their inspection more comfortable? No thanks. Telecom companies had better learn already that with the advent of the Internet, their trade is to sell dumb pipes, competing with the others over the price of that service; the good times when they could milk their customers for “value added services” is over.
No, that only works when the ISO has been expressly engineered to have in its first sectors a fake HD boot record whose boot code will jump into the el torito boot floppy image. Traditional ~year 2000 BIOSes won't look for ISO9660 structures on anything that isn't optical media.
101 posts and not a single one with technical content. Somebody should create a slashdot post generator, with modules producing output of these kinds:
- internet meme repeater ("year of Linux on the desktop", "stallman eats his own toes", "thou shalt not compare to nazi");
- xkcd repeater (its output is prefixed by the string "obligatory" and displays a strong prevalence of this one);
- project deprecator ("this software is so stupid, I could write a better one with one arm tied behind my back, except I'm too smart to actually do it");
- Google/Apple/Microsoft PR ("it's not Google who kills kittens! It's their subcontractors!");
and, last but not least,
- Slashdot deprecator ("slashdot is no longer a nice site to read these days").
No. They don't want to protect the binary blobs from your eyes. They're not encrypting, they're signing. They want to prevent you from developing your own blob, by having your video card reject firmware not written by them.
I don't think they are anti-open source,
It's not a matter of opinion. They are anti-open source by definition, it's a fact dictated by their actions. They're locking down the cards that they manufacture in order to prevent their owners from writing open-source software to drive them. You can't get more anti-open source than this. Nvidia have always been anti-open source, and they are getting worse and worse with time.
Point B: When Java was added to HTML, everyone and his dog (including Microsoft) thought that Java was the future and that every software in the world would have been rewritten in Java. Proof in the fact that the "Java" branding was added to Javascript in order to increase its appeal.
Point C: the sandbox for Java applets gave the unsigned ones even fewer permissions than the current Javascript sandbox does for the most obscure of the web pages.
Point D: Compilers have been written targeting the JVM bytecode for pretty much every modern language (Python, Ruby, Scala, Lisp and, of course, Javascript), many of them actually faster than their reference C implementations, so I don't know how much lower in level you can get.
Point E: Look, DOM manipulation from an applet. And do you know what else integrated even more with the DOM? Microsoft's ActiveX.
But above all, all points, even if they were true, are but minor differences in implementation, compared to the huge fact being the very nature of a bytecode that is supposed to be run by web pages, that alters the open nature of the web by making its pages write-only, and the introduction of a compiler into the workflow of HTML development. (Who will make the better compiler, Microsoft or Mozilla? Will php scripts output bytecode or do we have to change server-side scripting? What's the failure model for browsers implementing an older subset of the bytecodes?)
3) How is this different from Java, Flash, Silverlight?
It is different because:
A) It' s a w3c standarized effort
B) All the big players are behind it (Google, Mozilla, Microsoft and Apple)
C) It relies on the browser security model, it does not bypass it
D) It' s a low-level bytecode, more so than AS3, JVM or Silverlight, so it can run any language.
E) It runs in the same "space" as the DOM, it's not a separate/embeeded app.
In other words, it's exactly like Java but instead of being designed by a software company, it's being introduced by personal data sellers, ad designers, NSA henchmen, DRM paladins, government lobbyists and walled-garden tenders. And unlike Java, it's going to be used by every single web page and we won't be able to uninstall it. Sounds great, what could possibly go wrong.
Talk about yourselves. The world isn't UK, you know. If anything, Snowden's revelations have shown that it's the UK who performed hostile acts of espionage against their European allies, together and on behalf of their trans-atlantic big buddies, not Soviet Russia.
I think it’s the same reason why often the children of successful entrepreneurs fail to keep their fathers’ empires running. When you no longer need to practice some kind of culture, you don’t, and when a culture isn’t practiced, you lose it for good, and finally competition (from other companies, from the Barbarians, from the Chinese) does the rest. Also known as “resting on your laurels”.
To be fair, the colosseum has just been restored (not rebuilt), this year, with contribution from private sponsors. There's an approved plan from the government to rebuild the inner arena to make it walkable again in five years, for 20 mln €. Piig or not, that's not much for the fourth economy of the EU; for comparison, it's 1/6 the cost of a single F-35 fighter and Italy is going to buy 90 of them from the US. However you are right, Italians just can't be bothered to spend money for the preservation of their historic heritage, and will happily watch it crumble to nothingless (see what's happening to the houses of Pompeii) while they build campy villas around and over the ruins.
It has always been about preserving the privileges of the elite, and enhancing class distinctions.
I don’t know how it works in China, but in my country that’s the job of freemasonry.
Designing a language is a matter of trade-offs; certain languages are designed to make you code quickly (VBScript), which doesn’t mean that you can’t write robust code with them, and others are designed to make you write robust code (Java), which doesn’t mean that you can’t write buggy code with them.
Which addition operation triggers undefined operation in C because of unmatched types?
However, to be honest, I recall having problems with failing floppies all the way back to the 80s. On the C64, the drive would begin making a LOUD rattling sound as if its head had fallen off the disk and it was banging against the end of the rail; given my age at that time, this usually happened while a game was loading the last level that I had been playing for half a day to reach (no savegames back then). On the PC, I still remember how many times I found myself torturing the R key at the "Abort, Retry, Ignore, Fail" prompt, usually to no avail. A friend of mine recommended me to put the failing floppies inside the fridge and try reading them again while they were fresh.
What the hell do French private labour laws have to do with the public debt crisis in Greece?
The banks won't allow any flexibility about my working conditions when I ask for a mortgage to buy my house; doctors expect to be paid with no flexibility when I have to maintain the health of my family; bills needs to be paid inflexibly at the end of the month. So I have to confess that this concept of "flexibility" that we are importing from the US is starting to piss me off, because basically it means that workers, the weaker part of economy and the one that actually does the job, have to take on their shoulders the risk of entrepreneurship, which historically was the moral justification for investors to make money without working.
And hearing that this is necessity from politicians who sit on mountains of public money, and on behalf of CEOs who can earn one hundred times as much as their employees, and can take the citizenship of Monte Carlo to even avoid paying taxes on that much, is unbearable. Again, I'm not talking about the CEO of Mandriva, it's just a generic rant.
Instead, they chose the more sophisticated approach of type erasure - which added a lot of complexity, limitations, and even introduced the concept of compile-time warnings in the Java language - not because of backwards compatibility (adding new kinds of bytecode to the JVM is OK and it happens occasionally), but because they wanted indefinite interoperability between old code (which would see the collection objects “raw”) and new code (which would see the very same objects “generified”).
Now academics universally despise type erasure, but back then at least half of them thought that it was a good idea and you can still see it today if you search the web for their blog posts of the time, where they explained the tricks that they used to overcome the limitations of type erasure and why type erasure wasn't so bad after all.
The fact that you could go back do DOS isn't relevant to the definition of what is an operating system and what isn't. You could go back to DOS in Win9x, too. And you can shut down the OS and go back to the boot loader shell in many computer architectures, including the earlier models of IBM PC where you could go back to ROM BASIC.
Also consider the following example. What does this do?
c = a * b;
Is it a vector product? Is it a scalar product? Is it a scalar multiplication? I need to look at the types of a, b and c to figure out. A method name in place of a single character could tell me more.
To be honest, at startup Windows replaced DOS' services to the point that it ran on its own, with no knowledge by the undelying DOS, program loading, process management, memory management, task scheduling, and most device drivers. This included even disk access in the later releases of Windows 3.x. It's not correct to say that Windows 3 wasn't an operating system, as it implemented almost all of the services that define an operating system, if not booting from the bare metal.
On my laptop, a Sandy Bridge i7, on a cold start, Netbeans 8 takes 57 seconds to launch before it's clickable, Visual Studio 2013 takes 68 seconds. Netbeans is also more responsive while it's busy, with Visual Studio displaying the full hourglass cursor and triggering the "application not responding" behaviour if its window is clicked before it's ready.
Type erasure, on the other hand, is pure evil - to me, it's the representation of what happens when a pragmatic language ends up into the hands of computer scientists.
By the way, in Java all lists have the get() method with no exceptions (this includes Lists, HashMaps, Vectors) and all collections have the iterator() method with no exceptions. The At() method doesn't exist.
And then, they try to fire up Microsoft Visual Studio, and they wait even more, and they realize that their perception bubble isn't reality.
Java != Java applets.
The JDK had already been released under the GPL by Sun before the Oracle acquisition.
No, it wasn't... in the old times it allowed you to skip whitespace in order to save memory, so programs used to become wall of characters, and you couldn't even call a variable "sprint" because it contained the reserved word "print". And its later incarnations were full of puzzlers. Just the first ones that come into my mind: "On Error Goto 0" means "throw an exception"; functions and procedures have a different invocation syntax and invoking a procedure as a function doesn't fail but results in a different operation; the assignment operator is different between objects and non-objects; function parameters are passed by reference by default...
Besides, what if I’m using TLS? Are they going to require me to install rogue certificates just to make their inspection more comfortable? No thanks. Telecom companies had better learn already that with the advent of the Internet, their trade is to sell dumb pipes, competing with the others over the price of that service; the good times when they could milk their customers for “value added services” is over.
No, that only works when the ISO has been expressly engineered to have in its first sectors a fake HD boot record whose boot code will jump into the el torito boot floppy image. Traditional ~year 2000 BIOSes won't look for ISO9660 structures on anything that isn't optical media.
101 posts and not a single one with technical content. Somebody should create a slashdot post generator, with modules producing output of these kinds:
- internet meme repeater ("year of Linux on the desktop", "stallman eats his own toes", "thou shalt not compare to nazi");
- xkcd repeater (its output is prefixed by the string "obligatory" and displays a strong prevalence of this one);
- project deprecator ("this software is so stupid, I could write a better one with one arm tied behind my back, except I'm too smart to actually do it");
- Google/Apple/Microsoft PR ("it's not Google who kills kittens! It's their subcontractors!");
and, last but not least,
- Slashdot deprecator ("slashdot is no longer a nice site to read these days").
Because they have TRADE SECRETS to protect.
No. They don't want to protect the binary blobs from your eyes. They're not encrypting, they're signing. They want to prevent you from developing your own blob, by having your video card reject firmware not written by them.
I don't think they are anti-open source,
It's not a matter of opinion. They are anti-open source by definition, it's a fact dictated by their actions. They're locking down the cards that they manufacture in order to prevent their owners from writing open-source software to drive them. You can't get more anti-open source than this. Nvidia have always been anti-open source, and they are getting worse and worse with time.