Want to read Slashdot from your mobile device? Point it at m.slashdot.org and keep reading!

 



Forgot your password?
typodupeerror
×

Comment Re:Eureka! (Score 1) 586

There's complexity that comes with the problem domain. Then there's "incidental" complexity that comes with your choice of tools. For example, languages without garbage collection have more incidental complexity than languages with garbage collection: without GC, you spend a lot of time manually solving the problem of managing memory resources.

OO introduces a lot of incidental complexity. That's the point. It's clear, since he mentions some function programming languages, that he believes FP introduces less incidental complexity. I think that's exactly right.

Comment Re:TRS-80 DOS?? (Score 1) 763

Oh, man! I was just recently trying to remember the name of that column. Thank you!

Another relic in my head is the memory of a computer camp I attended at about that time (subject: lisp). Another camper had written a bunch of TRS-80 games with "klutz" themes. E.g. a version of "Asteroids" where, after hurtling toward your ship, the asteroids made a neat path around the ship, before continuing on their path. Or, a version of "Space Invaders" with a single alien that filled the whole screen. And so-forth. They were brilliant. Unfortunately, I didn't stay in touch with the author.

Comment Re:30% remember their passwords by writing them do (Score 1) 427

Virtually nothing will protect you from people who have access to your desk. It takes only seconds to install a trojan: less time than the time-out on your password-protected screen saver. You're vulnerable unless you explicitly turn it on every time you leave your desk. Usb key loggers are easy to install and conceal, as are web cams that can watch you typing your passwords. If your cpu chassis is accessible after you leave for the day, an attacker can install a trojan even if you are methodical about locking your desktop. Whole-disk encryption can help. But who goes to all these lengths? Physical access trumps all.

I use a laptop, and lock it in a drawer when it's not in my possession. But I don't imagine that I'm invulnerable.

Comment Re:No (Score 1) 706

But you're ignoring the other RESULTS you'll accidentally succeed in achieving, viz. teaching the kid that remuneration is the only acceptable form of reward. [...] Personally, I'm interested in intelligent, creative kids - writers, poets, scientists, kids with real curiosity who want to do things because they love to do them, because the problem fascinates them, because they want to KNOW, goddamnit.

Well, surely you aren't suggesting that forcing kids to do schoolwork for no pay -- the status quo -- is somehow more likely to turn them into writers/poets/scientists than paying them to do schoolwork. So what's your alternative?

I wonder why you think that wouldn't be suggested ("surely"), considering that's exactly what research shows. Extrinsic motivators de-motivate student interest in the subjects being taught. The larger the extrinsic motivator, the less interested the student is in the subject when that motivator is removed. This is a plan for creating students who hate the subjects being taught.

Comment Re:Why Texas? (Score 5, Insightful) 999

California isn't half so liberal as you apparently believe it is. While the legislature is dominated by Democrats, there is a very strong Republican political machine in the state that's able to deadlock the legislative process. They've also elected quite a few governors, Nixon, Reagan, Wilson. The state school board is rather conservative. Overall, it looks a lot like Washington does now: the Dems, though in the majority, are ineffective. The Republicans are obstructionist. The policies that are implemented are not strongly liberal.

Comment How is this worse? (Score 1) 636

I have a Verizon phone. The platform could not be more locked-down. Nonetheless, app developers seem to be completely overwhelmed by the variety of devices on this completely locked platform. Only a handful of devices are supported by any given application, and the support is complicated by incompatible OS upgrades. In fact, Verizon is unable to give a consistent answer when asked what is the latest OS version for my phone. While the phone randomly crashes when using different apps, I'm shuttled between Verizon and the developers looking for a resolution, and no one can agree on what OS version should work.

At least with an open system there would be a final recourse: I could look at the damn code myself, and directly experiment with possible solutions.

Comment It's no longer in your hands (Score 1) 521

If you interact with anyone who does not value privacy then your efforts are wasted. They can also expose your data. This is how facebook is able to know who your friends are even if you've never had a facebook account, or given them a single piece of data: they can mine the contact lists of people who have willingly exposed theirs. If you appear on any of them, facebook can start building a profile of you.

Unless you're living without human contact, you will be profiled in a database somewhere.

Comment Re:I see two unconditional jumps here (Score 1) 683

But I might have missed some. There is not much difference between "return 0;" and "ret=0; goto exit_function;". Both are unconditional jumps there is no rational reason why one should be "considered harmful" and the other not.

If there are resource allocations, or at any time in the future resource allocations may be added, there is a huge difference between these two in terms of maintainability. A single point of return makes it trivial to ensure that all allocations are properly freed.

There are two types of functions containing multiple points of return: those with bugs, and those that will have bugs. In a large project, with many engineers, you can reliably find bugs simply by searching for functions with multiple return statements. They're practically always buggy.

Comment Re:Eliminate Structured Programming? (Score 2, Insightful) 731

The one application of "goto" that I swear by is for cleaning up allocations on failure when coding in C.

Maintaining a huge library of legacy C code, one of the most common bugs we see is leaks due to people using multiple "return" statements and failing to clean up allocations. You can fairly reliably pick such a function at random and find a memory leak: people always get it wrong.

"goto cleanup;" however, is hard to mess up.

I've seen any number of clever tricks to avoid the "goto". Using "break" statements in a do {} while (0) loop, for example. All of them merely obfuscate the code, and make it more likely for bugs to appear.

Comment Re:Voting for the "Lesser of 2 Evils" (Score 1) 2549

So, you're lost in the wilderness and you have two roads to choose from. One goes over a high pass and looks very difficult. One goes through a swamp, and looks very difficult. You have to choose. You can say "I'd rather flap my arms and fly home," but, well, you can't actually do that.

Is it lying to pick one of the paths, even though you'd prefer to do something else entirely, something that isn't actually possible? Are you going to start flapping your arms because it's more true to your values?

Slashdot Top Deals

"Protozoa are small, and bacteria are small, but viruses are smaller than the both put together."

Working...