Follow Slashdot stories on Twitter


Forgot your password?

Comment: Re:Easier to learn != easier to use (Score 1) 381

by peppepz (#49763549) Attached to: How Java Changed Programming Forever
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.

Comment: Re:Windows 3.0 (Score 1) 384

by peppepz (#49759393) Attached to: 25 Years Today - Windows 3.0
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.

Comment: Re:Easier to learn != easier to use (Score 1) 381

by peppepz (#49757289) Attached to: How Java Changed Programming Forever
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.

Comment: Re:Windows 3.0 (Score 1) 384

by peppepz (#49757097) Attached to: 25 Years Today - Windows 3.0
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.

Comment: Re:I don't know why people still say Java is slow. (Score 1) 381

by peppepz (#49750153) Attached to: How Java Changed Programming Forever
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.

Comment: Re:Easier to learn != easier to use (Score 5, Informative) 381

by peppepz (#49750075) Attached to: How Java Changed Programming Forever
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.

Comment: Re:"Easy to read" is non-sense (Score 1) 412

by peppepz (#49743759) Attached to: The Reason For Java's Staying Power: It's Easy To Read
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...

Comment: Do not want (Score 4, Insightful) 198

by peppepz (#49704443) Attached to: European Telecoms May Block Mobile Ads, Spelling Trouble For Google
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.

Comment: Interesting discussion (Score 5, Insightful) 229

by peppepz (#49491373) Attached to: GNU Hurd 0.6 Released
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").

Comment: Re:So.. Why? (Score 2) 309

by peppepz (#49481441) Attached to: NVIDIA's New GPUs Are Very Open-Source Unfriendly

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.

Comment: Re:So does this mean.... (Score 1) 133

by peppepz (#49360095) Attached to: Microsoft Releases Windows 10 SDK

Wrong. It does prevent the kinds of malware and rootkits that operate by modifying the bootloader.

1) Whatever it does, it can be nullified by malware that gains root-level access AFTER the OS has booted (which is the norm). And if the malware managed to modify the bootloader, of course it has already gained that access, hence no effective protection is added, UNLESS you are running a machine that doesn't allow unsigned software to run (EXEs, batch scripts, stuff written by the user) that could have been installed or patched by the malware. But clearly this is not Windows as we know it today.
Moreover, locking down the machine (this is the only firmware behaviour authorized by Microsoft when the so-called Secure Boot restriction is violated) is arguably the worst outcome for desktop users, as they will be left with no way to service the machine (beyond running "rescue partitions" which of course are static and therefore can't contain anti-malware software), and with no access to their data.
2) Malware that operates by modifying the boot sequence is extremely rare today, because it must target specific hardware, and is associated with government-sponsored attacks. Of course, three-letter agencies are only a piece of paper away from having their malware signed with legitimate keys.

and harmful thing

Cite specifically the "harm".

Read the thread. I'm no parrot.

Well, now it's no longer true, as widely expected by the hysterical idiots.

And being hysterical idiots you and the rest of them still haven't figured out that in fact it is still true, in fact unless some OEM makes the choice to not include the ability to turn it off it will remain true.

"Unless" is they key word here.

Describe exactly how the OEM being responsible for their product is "anti-competitive, anti-consumer and anti-free software behaviour", because that does not make any sense in any context whatsoever.

Imagine that I am an operating system vendor and I want to sell an OS. Describe exactly what I have to tell my customers before I sell them my OS.

Imagine that I know an unskilled person (grandma) running an old version of Windows that is no longer supported on an otherwise perfectly fine machine. Describe exactly what I have to tell her before I propose to install Linux, or a commercial OS costing less than the new version of Windows, on her PC.

Imagine that I am a student and I've heard about this Linux thing. I'd like to try it on my PC that I bought off a shelf a couple years ago. Describe exactly what I should do to try Linux on my machine, fix it when it doesn't work and add new features to its kernel.

Practical people would be more practical if they would take a little more time for dreaming. -- J. P. McEvoy