Follow Slashdot blog updates by subscribing to our blog RSS feed


Forgot your password?
Note: You can take 10% off all Slashdot Deals with coupon code "slashdot10off." ×

Comment Re:Effectively removes only reason to own an apple (Score 1) 434

There are some good PC laptops out there. I really like the new Dell XPS 13, for example. But pound for pound, it costs about the same as a comparable Mac, particularly if you go with an SSD, which is standard on all Macs

The less expensive Macs (...which are still expensive...) still come with a paltry amount of SSD storage, though (128 GB? sheesh).

For example, the 13 inch MacBook "Pro" for $1299 (ouch!) only comes with 128 GB of SSD storage (double ouch!).

But I guess you can pay an extra $200 for an extra 128 GB of SSD storage (triple ouch!!!).

Comment Re:U and I (Score 1) 698

Seriously though, I'd recommend ditching caps lock, tab, insert, num lock, home, end, page up, page down, scroll lock, pause/break, and roll the delete and backspace keys into a single delete key.

As a software developer, I'd be pretty unhappy not having keys dedicated to caps lock, tab, home, end, page up, page down, delete, and backspace.

I'd also take the damnable Windows logo off the command key and just refer to it as CMD across operating systems.

I like this idea.

Comment Re: Quiet schmiet, frosty already (Score 1) 337

Let's talk about this. First of all, every language has undefined behavior, unless you mean ML, which is fully defined. That's part of the reason the NICTA team proved that the assembly output from the compiler matched the specification. You might have a point there, but you'll need to say it more clearly.

Okay, let me rephrase: the less undefined behavior in a programming language specification, the better. Programming is already a complex task -- having to worry about the hundreds of undefined behaviors in the C family of languages is a nontrivial burden.

Secondly, I'm not sure which aspect of 'memory safety' you're referring to. If you mean memory leaks, then a higher level language won't save you. I've fixed more memory leaks in Javascript and Java over the last year than in C. In one case, the guy was calling into JNI and spent a month looking for a memory leak in the C portion. I hooked it up to a Java profiler and found the memory leak in a day. "Memory safety" only lulls you into a false sense of security.

I'm referring to things like running off the end of an array and incorrectly set pointers resulting in damaged program state. This can be very hard to debug because often the system keeps running, and where you see the error can be far, far removed from the bad code that damaged program state in the first place.

Static and strong typing....I'd be interested in hearing why you chose this......there are plenty of people who disagree. I mentioned Javascript as the most popular, but of course Python is rising in popularity as well, especially as a replacement for PHP. Alan Kay considers dynamic typing (runtime type binding) to be vastly superior. Alan Kay is not some foolish programmer addicted to low-level stuff, and he knows what he's talking about.

Static typing because the compiler will error instead of errors at runtime.

Strong typing so that hidden promotions don't result in unexpected behavior -- the programmer will be more likely to stop for a moment and think about it.

In my experience, dynamically typed programming languages like Python don't scale (to large teams) or refactor well, and there's the ever present danger of runtime type failures.

Comment Re: Quiet schmiet, frosty already (Score 1) 337

That's the kind of things ideologues have said about languages they didn't like for half a century. You are fitting into the pattern.

Okay, I admit to a bit of hyperbole above. :-)

However, JavaScript was never really meant for the kinds of applications it's now used for. Brendan E. and Netscape expected JavaScript to be used for light scripting in web pages, not for full blown browser applications. Java was supposed to be the solution for "real" browser applications. Many of the design decisions in JavaScript were made with this in mind.

That being said, I don't think JavaScript is useless or hopeless. It has taken some positive evolutionary steps, and I hope it continues to do so. I still think, for the things it's used for, it's inferior to languages that have static typing and strong typing, but it's obviously still useful.

Regarding C, C++, and Objective-C, I think they made good sense, once upon a time. I used to love C, and spent over 20 years programming it professionally, and even longer personally. I'm no stranger to the problems in the C family of languages, and was a "cross platform expert" in C for a good long while, and became intimately familiar with many of its problems.

But the C family of languages make less and less sense for an expanding domain of applications. There's simply too much undefined and implementation defined behavior, not to mention the lack of memory safety. Even simple signed arithmetic -- a + b -- can invoke undefined behavior, unless you're very careful. There's just too much to worry about.

That's not to say I think C, C++, and Objective-C are worthless. They have their application domains, it's just that those application domains have been shrinking, and continue to shrink.

Most code should be written in a memory safe language with no undefined behavior, preferably with static typing and strong typing. When necessary, dropping down into a C family language makes sense, where memory layout, size, performance, etc. are crucial.

Comment Re: Quiet schmiet, frosty already (Score 1) 337

Swift isn't a replacement for C.

The OP said:

which is great because we need to rid ourselves from the c language and all the crime it spawned.

"The crime it spawned" presumably includes C++ and Objective-C, and Swift is certainly meant to replace Objective-C.

Programming is, slowly but surely, maturing. The value of static typing over dynamic typing, strong typing over weak typing, safe memory programming languages over unsafe memory programming language, etc. is becoming undeniable.

Good riddance to C, and all the crime it spawned. :-)

Comment Re:What an embarrassment for Microsoft (Score 1) 204

The iPad Air 2 with 128 GB of storage costs $500.

Wait, what? No, this is wrong.

The iPad Air 2 model that costs $500 comes with a meager 16 GB of storage. Just like the original iPad, all those years ago. No progress at all, despite much lower storage prices.

In fact, given larger iOS sizes, and the fact that "retina" apps now require more space, iPad storage has essentially regressed.

An iPad Air 2 with 128 GB costs a whopping $700 (and that's wi-fi only). I guess you don't get hundreds of billions in the bank without grossly overcharging your customers.

Comment Re:See it before (Score 1) 276

In the 80s and 90s. X terminals and the like.

Comparing X terminals to the web was a shitty analogy the first time someone uttered it, and it's still a shitty analogy. The shitty analogy keeps getting modded up to the moon, while I'm sure my correction will be ignored (or downvoted) AGAIN.

Properly written web apps can push A LOT of the work client side. Web apps can be very client/server, with emphasis on client, if written properly!

X apps display on your workstation but run almost entirely on the server. Even to the point that mouse movement and every keystroke is traversing the Internet. Are my keystokes, as I'm typing this comment, traversing the Internet right now? NO, they are NOT. I'm getting very low latency on every key press because the client side is handling all my comment typing.

The web is far better than X apps ever were, because they allow the developer to balance the client vs. server as desired.

Comment Re:The whole idea is crazy (Score 1) 288

But seriously, as AC has posted, the question is meaningless if time "started" at the point of the Big Bang.

That's a mighty big "if". I like watching all the armchair physicists around here assume they know the answer with a religious-like fervor.

For all we know, the Big Bang had a cause. What caused it may exist in a "lower level" time that we don't knowingly experience. We might just experience our local time.

Nothing is finished until the paperwork is done.