Follow Slashdot stories on Twitter


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 Re:Devs can now be more lazy (Score 1) 338

Let me just make one suggestion: Learn another programming language. Learn something fundamentally different. Learn it thoroughly. Then decide if there have been advances made in the design of programming languages since C++.

I'd recommend Haskell, myself. It's the furthest you'll get from the mainstream, while still having incredible support for writing real software. But if you learn it, make sure to learn it thoroughly.

Understand what the IO type really is. Not how it's implemented, that's boring. Not what type classes it implements, that's still relatively boring. Understand the consequences of it being a higher-kinded type that describes IO operations as a first-class type. Understand what a type like "IO (IO (), IO ())" means, and why IO is far more interesting than just a tag on impure functions. Understand what a type like "FilePath -> IOMode -> (Handle -> IO r) -> IO r" means, and how it's related to the original point here.

And that's just scratching the surface. Is Haskell perfect? Far from it. Very far from it, in fact. But there are a lot of things it does better than any other language you can build real software with. It's worth learning what those things are. Once you see that there are fundamentally better ways, you might begin to welcome advances to mainstream languages.

Comment Re:Devs can now be more lazy (Score 5, Insightful) 338

Yes. Let's shun all advances in programming language design, because they make it too hard to use languages without them.

Man, imagine what'd happen if you ever ran into a programming language with a good design. There are some out there that are actually pretty good. Of course, no language is perfect - or even close. But people who resist making things better just because it makes defects in existing languages more obvious is doing themselves, and the entire field of software engineering, a disservice.

Comment Re:NIH (Score 1) 257

A common misunderstanding. Monads have *nothing* to do with sequencing operations. The IO Monad happens to sequence operations, but that's because it introduces a data dependency between statements in it. The List monad, on the other hand, models nondeterministic computation. And until you start working with monad transformers, you've barely scratched the surface of how they function.

Comment Re:It is not about the top speed... (Score 1) 790

Nope. It's a boxer, not a 180 V. There are two ways you can do a flat engine. A flat V has pistons opposite each other 180 degrees apart in the timing cycle. A boxer has pistons opposite each other in the same point in the timing cycle. As far as I know, only 3 automobile companies use flat engines at all, and they all use boxer designs. Subaru and Porsche in cars, and BMW in motorcycles.

Slashdot Top Deals

Advertising is a valuable economic factor because it is the cheapest way of selling goods, particularly if the goods are worthless. -- Sinclair Lewis