Catch up on stories from the past week (and beyond) at the Slashdot story archive

 



Forgot your password?
typodupeerror
×

Comment Important information for TV consumers (Score 2) 145

I suspect that If the producers maximize profit by some combination of good writing/acting, product placements, syndication / iTunes / Google Play / etc. fees, it's a win.

I don't see technical accuracy as an explicit factor anywhere in that formula. Heck, I loved The Office, and I'm just guessing they weren't realistically depicting life at a paper company.

This reminds me of vehicles traveling at the speed of plot.

Comment Re:C++ is the only logically option (Score 1) 407

Sather (and Eiffel and Smalltalk etc) are less broken than Simula, I'll grant you that.

I do come at this from the point of view both as an engineer working in the high-performance computing area, and as a programming language theorist. People like Stepanov, Knuth, Dijkstra, Luca Cardelli, Alan Kay, Benjamin Pierce, and many others have written and spoken (sometimes at length) on the problems with implementation inheritance. And the fact that most OO proponents consistently tell you to avoid it ("prefer composition over inheritance") is telling.

However, I would say that the claim of "broken concept" is based not on one single argument, but on independent converging lines of evidence.

Here's another one, which again is not convincing by itself, but adds to the picture: the Curry-Howard isomorphism. One of the signs that you know you've found something interesting is that it turns out to be formally equivalent to something else that's interesting. (Think of the isomorphism between regular languages and DFAs, for example.)

Programming language theorists have found many such isomorphisms over the last few decades, and what's interesting is that programming language features seem to be equivalent to interesting objects in logic and category theory. For example, Scheme-style continuations are actually Pierce's Law in logic. Call-by-value and call-by-name turn out to be dual in the programming language which is isomorphic to Gentzen's classical sequent calculus.

Subtype relationships are pretty well-understood, and interface inheritance has a straightforward interpretation (e.g. see Haskell's typeclasses). However, despite searching for decades, nobody has found any such connections with implementation inheritance.

The industry desperately needs the style of OO that everyone uses to be on a sound theoretical footing, because it makes program analysis and compilers better. Lots of smart people have tried. The fact that we haven't found it by now strongly suggests that it's not theoretically sound.

Comment Re:C++ is the only logically option (Score 1) 407

It's bloated and unreadable due to C++'s template syntax.

I'm with you on the syntax issue. The greatest weakness of C++ is also its greatest strength: it retains something very close to backwards-compatibility with C. That inevitably means that all the good syntax is taken.

However, "bloated" is a puzzling claim. The whole point of the STL is that you can do things like type "sort" and it chooses the best sort algorithm for the data structure (e.g. merge sort for lists, quick/heap sort for vectors) automatically at compile time. Or you can create an array of 1000 elements, and it will initialise it with object construction or memset depending on the type, and this is all handled for you automatically at compile-time. You do not pay a cost to do this at run-time.

Your homegrown lib can't do that.

[...] but when I have to choose some publicly available software, I pick Boost over STL.

Boost and the STL don't compete. In fact, most of Boost (e.g. Algorithm, Array, Circular Buffer, Container and of course Iterator, among many others) are designed with STL in mind.

For the rest: Objective-C is not a great language. It has some cute features, but they are primarily useful for GUI programming and don't really contribute to better software development.

I've said some slightly uncomplimentary things about Objective-C in this thread, but I do have to admit that it's one of the best compromises between "dynamic"/scripty languages and "static"/low-level languages that has yet been developed.

It's just a shame that it's also based on Simula's broken object model.

Comment Re:Require cameras (Score 1) 671

As part of his re-patriation agreement, he should require cameras to be rolling throughout the entire trial with a live uncensored feed available to any organization that wants it (News organizations, EFF, ACLU, etc). If the government shuts down the cameras for any reason, then the agreement is null and void and the USA guarantees his return to Russia.

I wonder if the cameras could detect Snowden being whispered to that unless he plead guilty, his parents would have an unfortunate traffic accident in 6 months.

Slashdot Top Deals

"All the people are so happy now, their heads are caving in. I'm glad they are a snowman with protective rubber skin" -- They Might Be Giants

Working...