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


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! ×
User Journal

Journal Journal: Functional Programming and Abstracting Time

This recently became clear to me. With functional programming (FP), you are, in effect, trying to abstract out time as much as possible.

Non-FP languages let you abstract out concepts. You don't worry about sending SYN packets, you just start communication with socket(). You don't worry about the details of how directory entries are stored, you just run 'ls' or 'dir'.

But non-FP languages don't let you abstract out time. By that I mean you (as the programmer) always have to be conscious of (and make decisions about) sequence.

However, if this is a detail that the tools (like the compiler) can take care of for you, shouldn't you let it? It can generate better and more accurate assembly code than I can, so why don't I let it worry about sequence too, when it is able to manage the details correctly.

I am starting to like lazy evaluation and Haskell. More on this later.

User Journal

Journal Journal: Learning New Programming Languages

Here's a slightly wacky idea for learning a new programming language (or two). This only works if you're fairly experienced programmer already.

Start with a good, fairly advanced programming book such as Peter Norvig's "Paradigms of Artificial Intelligence Programming". This book has all its examples written in Common Lisp. Then translate the examples into another language. In my case, Haskell. I don't really know Common Lisp all that well but that's fine.

I feel I need to do it this way because aside from the new concepts (such as monads or macros) learning a new programming language is mostly about loading the details of the syntax and libraries into my brain.

I know that the classic way is to just start programming in the new language, and pick up the pieces along the way. But I don't like doing that. I want to have a better handle on the new language so that my first real programs aren't excessively lame. But maybe that's just me.

User Journal

Journal Journal: Maintaining the friends list 4

Heh. I've been on Slashdot quite a while, and this is the first time I've posted a journal entry. I've been thinking about setting up a blog for myself, maybe I'll just use Slashdot instead.

At any rate, I wonder how many other people go through the same process as I do for picking friends in Slashdot.

If I see a good post or two by someone, I'll often check their posting history, and read at least 7 to 10 of their previous posts. Usually, they'll have a few high rated ones, and some at the basic level. Which is 2 because they usually already have a karma bonus.

Then, if that all works out, I'll put that person in my friends list. I'd like to find more people who intelligently expouse positions I don't agree with. But I don't seem to find many of those.

BTW, unless I'm doing moderation, I usually browse at +3. That's enough to catch anyone marked as a friend or friend-of-a-friend, plus other highly rated posts.

Slashdot Top Deals

NOWPRINT. NOWPRINT. Clemclone, back to the shadows again. - The Firesign Theater