Slashdot is powered by your submissions, so send in your scoop

 



Forgot your password?
typodupeerror
×

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.

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

If you don't understand how pointers and return values in C works, it's not because of a limitation in C.

Hhm... to ad hominem or not to ad hominem that is the question that preoccupies us. Whether it is nobler, in the mind, to suffer the slings of mud of outrageous statements or to take aim and by opposing them thus end them.

The full amount of what you don't know and the years of experience that you lack to make the judgement that you made would take a volume of a flame war to fight out.

C and C++ are about as relevant today as assembly. If you don't understand that C++ template mechanism and C pre-processor are nothing but compile-time text generation tools with arcane unwieldy syntax, then you have no place making judgement. There are better tools to generate the same code that both of these end up generating. The better tools capture what you want to express without being bound by the arcane syntax of C. And unless you think that direct bit banging and micro assembly are the "real" CS (hint: they are not -- they engineering rather than CS), your argument is moot.

Comment Re:Of course you use force control to run fast. (Score 1) 90

The key to legged running in non-trivial situations is careful management of ground traction. Traction is first priority, then balance, then foot placement. Historically, everybody worried about foot placement first, but that turns out to be backwards. As soon as you get off flat surfaces with good traction, traction control dominates.

Pardon my ignorant question, but how is it a problem to have traction control? Wouldn't it be enough to glue traction strips to the feet or something?

Slashdot Top Deals

A morsel of genuine history is a thing so rare as to be always valuable. -- Thomas Jefferson

Working...