LWN.net Logo

This is partially true...

This is partially true...

Posted Nov 19, 2011 7:12 UTC (Sat) by cmccabe (guest, #60281)
In reply to: This is partially true... by Cyberax
Parent article: Interview with Andrew Tanenbaum (LinuxFr.org)

Programming language zealot checklist
* The magic programming language being advocated is more than 15 years old.
+1. Java was released in 1995.

* Prophecy of imminent doom for unbelievers
+1. And we even got a specific date, 2015!

* The poster doesn't understand or is a novice at the programming language being advocated
+0. Java as a language wasn't really discussed at all, so no obvious fumbles here.

* The poster advocates garbage collection in kernel space
+1.

* The poster makes ad hominem attacks
+0. No really blatant ad hominems in this particular thread.

* The magic programming language is revealed to "faster than C" because of a microbenchmark, apocryphal story, or thought experiment.
+1. For the apocryphal story about the high frequency trading platform and the revelation that Top500 is a meaningless benchmark. Also the fun revelation that the magic language is good at "realtime... and data-intensive tasks which traditional supercomputers suck at."

Someone should tell IBM to stop making all those mainframes that suck at data-intensive tasks. Make the good ones, instead, please!

Your score is 4 out of a possible 6. Play again?


(Log in to post comments)

This is partially true...

Posted Nov 19, 2011 7:26 UTC (Sat) by Cyberax (✭ supporter ✭, #52523) [Link]

>Programming language zealot checklist

Me? Nope.

>The magic programming language being advocated is more than 15 years old.

I'm not advocating Java (or C#), you misunderstand me. I'm advocating the 'safe' languages and software-based isolation in general. The list of safe languages includes but is not limited to: Haskell, Python, Perl, JS, subsets of C++ and C, Cyclone, Ocaml, Java, C# and so on.

>+1. And we even got a specific date, 2015!

For dramatic effect only. But it's not impossible.

>The poster advocates garbage collection in kernel space

Nope, I'm advocating abolishing kernel space altogether.

>For the apocryphal story about the high frequency trading platform and the revelation that Top500 is a meaningless benchmark. Also the fun revelation that the magic language is good at "realtime... and data-intensive tasks which traditional supercomputers suck at."

Yep. And I'm totally correct and you are totally wrong. Supercomputers suck at HFT tasks and IBM mainframes has never been particularly _fast_ (they are usually characterized as 'reliable').

>Your score is 4 out of a possible 6. Play again?

Read the thread again and then come back.

This is partially true...

Posted Nov 19, 2011 21:50 UTC (Sat) by cmccabe (guest, #60281) [Link]

You are amazingly naive. People are still hacking COBOL, Fortran and PL/I code that was written 30 or 40 years ago. There are obvious and huge advantages to replacing these legacy systems, but nobody ever does, because why fix what isn't "broken"?

No matter how advanced your technology is, systems can never be 100% secure because of the monkey in front of the keyboard. Think idiots who use "123" as a password, put their password on a sticky note, respond to emails from Nigeria, etc. Or simple black hats abusing their access. Even if systems could be made 100% secure, nobody in the software industry has an economic incentive to do so. A lot of vendors charge for bug fixes and support. Microsoft makes money off antivirus software.

Your current fixation is on Lisp Machines. But really, hardware versus software is irrelevant. Either hardware or software could be constructed to be provably correct. Nobody ever does, except for things like elevator control hardware where it really is necessary.

General-purpose hardware always tends to win in the end, because the hardware business is a volume game. The more you ship, the cheaper it is. Your custom, one-of-a-kind Erlang machine might be beautifully designed, but Intel has armies of physicists working on shrinking transistors, and massive economies of scale. Arguably, microprocessors are one of the most advanced technologies the world has ever seen, but due to economies of scale, you can buy one for cheaper than the price of a fancy haircut. Think about that. You're not going to win this battle writing transistor diagrams on a napkin in your basement. Why don't you read about the original Lisp Machines. Or Intel's CPU that executed Ada directly.

If you have a lot of data, what you need to do is build a Hadoop cluster, not pay through the nose for some proprietary hardware. You can even do it without writing a line of unmanaged code.

In 2015, there will be more application developers using managed languages. There will also be more people writing drivers in C, and creating hardware using Verilog or VHDL. And there will be another crop of idealistic college students ready to believe that the world will convert to Scheme or Prolog in 3 years.

Provably correct hardware not possible

Posted Nov 21, 2011 21:21 UTC (Mon) by jhhaller (subscriber, #56103) [Link]

While it is possible to have a provably correct hardware design, it is impossible to build hardware which always matches the provably correct design. The design is likely to be based on digital circuits, while the implementation is based on analog circuits made from imperfect materials subject to environmental conditions ranging from cosmic rays to more mundane things like electromigration, thermal stress, and analog artifacts like reflections on transmission lines. What can be designed is something that works like the design most of the time, with deviations detected most of the time. This makes it impossible to depend on provably correct software, which depends on provably correct hardware, which doesn't exist. Some of the deviations may be common to an entire production run, which can be exploited, while others are more random, and the random ones are more difficult to purposefully exploit.

Provably correct hardware not possible

Posted Nov 21, 2011 23:54 UTC (Mon) by cmccabe (guest, #60281) [Link]

"As far as the laws of mathematics refer to reality, they are not certain; and as far as they are certain, they do not refer to reality."
- Albert Einstein

Provably correct hardware not possible

Posted Nov 22, 2011 4:10 UTC (Tue) by Cyberax (✭ supporter ✭, #52523) [Link]

Digital circuitry is _digital_. It's specifically designed to not care about small deviations in voltage levels. If one circuit behaves differently from another one then it's a defect, which can in theory be diagnosed during manufacture.

Of course, it's possible that a passing OhMyGod particle would knock your CPU off, but that's outside of range of provable hardware and software.

Provably correct hardware not possible

Posted Nov 23, 2011 12:52 UTC (Wed) by pjm (subscriber, #2080) [Link]

> Digital circuitry is _digital_. It's specifically designed to not care about small deviations in voltage levels.

In practice, it's quite common for PC hardware not to behave according to spec (bits flipped in transit): common enough that I've noticed it myself on more than one machine, and common enough that I'm quite surprised that you apparently haven't noticed it.

Provably correct hardware not possible

Posted Nov 23, 2011 15:28 UTC (Wed) by Cyberax (✭ supporter ✭, #52523) [Link]

These are defects. Barring really bad design, you can't predict them or use them to reliably exploit something.

Copyright © 2013, Eklektix, Inc.
Comments and public postings are copyrighted by their creators.
Linux is a registered trademark of Linus Torvalds