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

 



Forgot your password?
typodupeerror
×

Comment Re:Misleading slashdot headline (Score 3, Insightful) 385

Torvalds: UNIX Philosophy is Obsolete

I'm not sure that's accurate......it seems he's actually saying, "UNIX Philosophy is hard to implement in complex systems." It seems to me the reason he doesn't have much of an opinion is because he hasn't spent the time necessary to think it through deeply. There might be a better solution or not, he doesn't know.

And I think it makes sense......SystemD is a heap of trash, but System V isn't an example of great design, either.

Comment Re:Of course they do (Score 4, Interesting) 981

A google search for "terrorists are engineers" turns up a heap of relevant links, but here is one in particular from the IEEE.

My hypothesis is that working as an engineer in Pakistan (for example) is one of the most miserable jobs you can have, with horrible managers and only somewhat better pay to compensate. Having seen how it is, I would rather work as a farmer than an engineer in that situation, it's more satisfying and enjoyable.

Comment Re:I hope it crashes and burns (Score 1) 183

Well doesn't Objective C lock a developer into a single platform?

No, there's been an open source implementation of OpenStep (the real name of Cocoa) for decades. Some of the platform stuff is Apple specific, but that is true of Linux and OpenBSD as well. You can handle it the same way you handle any other platform incompatibility: encapsulate the incompatibility into as small a piece as possible.

Believe it or not, you can actually compile Objective-C code for Android and run it. Of course, you will have to recompile it, but that's not an issue when you have the source code.

Comment Re:Will not EVER happen. (Score 1) 324

This is exactly right. The US government could close this loophole, "crack down" on corporate tax avoidance, without any global cooperation. All they need to do is pass the law, and Obama can sign it.

The OECD has no power to change anything here, so instead they did something they have power to accomplish: they wrote a report. Bravo.

Comment degree? (Score 1) 392

Maybe. Background? Absolutely. Tim Bray often attributes this

There are only two hard things in Computer Science: cache invalidation and naming things.

to Phil Karlton. But he does it so often that it is usually attributed to Tim Bray. Naming things is where the code monkeys usually fail. Engineers who think they are programmers usually fail at it hard. It takes a certain fluidity and realization of how actual human beings interact with the world to give content meaningful context (by naming it right) and to understand problem domains well-enough to pick the right cache invalidation schemes. And, of course, understanding how human beings interact with the world is what one gets out of a liberal arts degree. As I said, it doesn't have to be a degree, but the background has to be there.

Comment Re:Linux, cryptography, HTML and JavaScript. (Score 1) 144

it's not because of a limitation in C.

C most definitely has the limitation which C++ tried to address and failed. Return should have been a pointer to the address where the returned value ends up being copied when it's popped off the stack. Instead it's just a syntactic premature end of a function. Had it been a simple pointer to the place where the function's return value ends up being copied, C++ would not have been invented because it would have been unnecessary. I am talking about the semantic that is present in Matlab functions (where you can assign to the return value directly). C++ tried to address it by having "this" pointer, but it ended up mixing the data and the functions which operate on it. Which is why its syntax will never be simple.

For example

int a = f();

should allow f to assign directly to the memory location where 'a' is. Like I said, there are obvious work arounds. You can pass the address of a to f() instead of doing direct assignment. But it break the semantics. And it reduces readability. And human time is more important than computer time, so readability is more important than slight loss of efficiency in execution.

The problem is that once 'a' is not an int anymore, but is a complicated structure, you are stuck. And if you still don't think that's a problem, try implementing a fully-efficient (no redundant copying or inquiries) discriminated union in either C or C++. Good luck! Your easiest solution at that point is to just generate the code in some text generating language. But if each function had access to the point of return, it would be trivial. Oh, and discriminated unions are all of networking and all of data management.

Comment Re:The FSF overreached with GPL v3 ... (Score 2) 183

Under GPL2, It was perfectly happy to pick and choose from among the Free software it wanted, occasionally throwing back some incidental patches and libraries here and there.

That's not legal. Under the GPL2 they must release all changes they make to any binary they release (and Apple did release their changes). You're going to have to re-think your hypothesis.

Slashdot Top Deals

Waste not, get your budget cut next year.

Working...