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


Forgot your password?
DEAL: For $25 - Add A Second Phone Number To Your Smartphone for life! Use promo code SLASHDOT25. Also, Slashdot's Facebook page has a chat bot now. Message it for stories and more. Check out the new SourceForge HTML5 Internet speed test! ×

Comment This reminds me of the nuclear boy scout story. (Score 1) 95

You know, the one where a kid figured out how to refine thorium by reading the Golden Book of Chemistry and turned his mother's garden shed into a Superfund site.

The moral of the story is that even a stupid human being can be pretty smart. Particularly a sufficiently motivated stupid person.

Of course it also helps that intelligence comes in different flavors. Some people are good at spatial reasoning, others are good at verbal reasoning. But we often overlook social reasoning because it's not part of the traditional IQ tests. I think another reason that Social IQ testing hasn't caught on is that there is good reason to believe that social reasoning ability isn't fixed. Changes in attitude can strongly impair or enhance an individual's ability to process social information.

Which leads to the flip side of the stupid people being able to be smart: even smart people can be stupid, particularly in making social judgments.

Comment Re:FSF = not practical (Score 1) 81

But it's still hard to take Stallman seriously because he doesn't provide practical solutions to these problems.

Actually he does: opt out. It won't kill you to only buy entertainment which is DRM-free. So you can't stream the latest episode of Game of Thrones; if you have access to a library you have more alternative ways to entertain your imagination than you'll ever have time to use.

The problem is not being able to buy what the people around them are buying is just too radical for most people.

This is not a practical or tolerable solution for 99% of the population.

This is not anticipated to be tolerable by 99% of the population. They don't actually know, because they'll never try it. Stallman seems to be happy enough without Netflix. But Stallman is a nut. Why is he a nut? Because he's happy enough without Netflix. It's circular reasoning; for all you know you're a nut too, you just don't know it.

This is how powerful corporations control people: by manipulating their unexamined assumptions of what they can tolerably live with. They don't need police power, because people will police themselves.

In a sense this is nothing new, they're just manipulating a longstanding fact about human nature: people are very bad at predicting how things will affect their future happiness. I've recently developed an interest in the old Greek and Roman philosophers called the Stoics. They reasoned more or less thus: if happiness is having all your wants satisfied, the surest path to happiness is to want less. But even they realized that nobody can really adequately regulate their own desires. The best you can achieve is a kind of skepticism about what would otherwise be unchallenged assumptions about what you need. But even though it falls short, it goes a long way toward freeing you from self-afflicted dissatisfaction.

Comment Re:It's not that I want to brag I'm old... (Score 1) 244

Add to that, the defining feature of a functional language is the set of things that it disallows, not the set of things that it permits. A multi-paradigm language, by definition, has to permit anything that the various paradigms permit and so doesn't gain the benefits that you get from being able to reason about your code in a language that doesn't permit unconstrained mutability or side effects.

Comment Re:It has its uses (Score 2) 244

This needs moderating up. Talk to an Ocaml programmer and a Haskell programmer about what makes a functional language and you'll see very different opinions and these two are languages that were actually designed as functional languages: the bits that end up in other languages are a tiny subset.

Coming from the Haskell side, I see functional programming as programming without side effects and with monads. You can implement monadic constructs in other languages, but it rarely makes code cleaner. Just having higher-order functions doesn't make a language a functional language any more than having structs makes C an object-oriented language.

If the question is 'do you think using higher-order functions simplifies the expression of some algorithms' then the answer is obviously 'yes': programmers have a lot of tools to choose from and most of them are useful at least some of the time.

Comment Re:It has its uses (Score 2) 244

In C++14 in particular, lambdas with auto parameters dramatically reduce copy-and-paste coding. If you have a couple of lines of code that's repeated, it isn't worth factoring it out into a separate templated function (in particular, you'll often need to pass so many arguments that you'll end up with more code at the end), but pulling it into a lambda that binds everything by reference and has auto-typed parameters can reduce the amount of source code, while generating the same object code (the lambda will be inlined at all call sites).

Comment Re:It is great, just don't make a religion out of (Score 1) 244

So if regular programmers who form the bulk of the workforce can't grok them, the languages need to be fixed, not people.

I know what you're saying, but there's a real danger here that the industry will find itself caught in a local extremum. An engineer of 1880 could easily have said that if regular engineers who form the bulk of the workforce can't understand this "electricity", then it needs to be fixed to conform to the world of steam.

The worst thing we can do as an industry is think we know what we're doing. And in a sense, we're already there.

Comment Re:It depends on the use (Score 1) 244

If one is well versed in category theory or has spent a significant amount of time working with functor spaces, monoids, and monads, then it's much easier to understand a non-trivial application written in Haskell than the equivalent object hierarchy in an object-oriented language. The up-front cost is greater in terms of study and learning the semantics, but the end result is significantly more powerful.

I strongly suspect (but can't yet prove) that the supposed up-front cost in understanding Milner-esque functional languages is just the same as the up-front costs for Simula-style object oriented languages. The difference is that in the case of Simula-style object oriented languages, most of the up-front cost has already been largely paid by the time you come to them.

If it's any help, consider that there seems to be a significant learning cost in wrapping your brain around "real" object-oriented languages such as Smalltalk when coming from "broken Simula" object-oriented languages such as Python or C++.

We teach set/function theory and basic logic to high school students. It shouldn't be that much harder to make the very small amount of generalisation to explain the fundamentals of a modern logic-based type system.

Comment Re:functional composition (Score 2) 244

It only makes code more readable if you're familiar with it (functional programming).

Well that's a truism. Object-oriented programming is the same: it only makes code more readable if you're familiar with it.

The main distinction between the two, however, is that object-oriented programming was invented, but functional programming was discovered.

Comment Re:What's changed? (Score 2) 208

On the internet, short of blocking them on social media, you are confronted with them constantly.

Actually, I think it's the ability to block (or just de-friend) that creates the biggest part of the problem. It creates echo chamber effects, which help ideas morph into their most virulent and effective forms, especially ideas that demonize the holders of opposing ideas -- which, from a memetic evolutionary perspective are really cooperating ideas, not competing at all.

A good, though somewhat annoyingly dumbed down, explanation of this process and effect is this youtube video. If you haven't watched it, you really should -- and then think about the ideas that you hold and consider the possibility that they have evolved specifically to push your hot buttons in the most effective way possible, and how you can counter that.

Comment Re:What could possibly go wrong? (Score 1) 77

Perhaps: Well the ocean temperature dropped enough, but turns out the local increase in salinity due to the cloud whitening machine spraying salt in to the air has killed off the entire Great Barrier Reef. Oops.

It should be trivial to calculate the potential salinity increase. Do you really think environmental scientists trying to protect the reef won't bother to check that?

Comment Re:What's changed? (Score 4, Interesting) 208

The problem is that social media reduces us to the way we present ourselves. While that certainly is part of who we are, it's not the whole story.

One of the most popular maxims of ancient Greek philosophers was "know thyself", and the reason they considered it important is that it turns out to be a lot harder than it sounds. You think you know yourself, but chances people who spend a lot of time in close physical proximity to you understand you in ways you don't.

But online your identity is mediated by how you present yourself. This is not only inevitably somewhat dishonest (in ways that may be more obvious to others than to yourself), even when you are trying to be honest you at best are presenting who you think you are.

Slashdot Top Deals

No skis take rocks like rental skis!