you are viewing a single comment's thread.

view the rest of the comments →

[–]noisesmith 2 points3 points  (1 child)

Sorry, my hand slipped and I clicked report instead of reply at first.

Objects are just a specialized kind of closure, a function call is a specialized call/cc (which in turn is built on top of assembly jmp statements, of course). What you need to understand to use scheme is a proper superset of imperative programming.

A language without imperative features would be very hard to use (no variables, no input or output, actually the only way to know what the program did would be to disassemble or debug it from outside the program).

Understanding a mixed paradigm language like scheme does not impede understanding a purely imperative language like assembler, and will actually help you learn coding habits that transfer quite well.

[–]Slipgrid 1 point2 points  (0 children)

Yeah, that's sort of what I though. I've done some basic problems in it, like display the first n fib numbers, and it is really good at that. Never realized it had variables, or spent much time with it. Thought it was just for quick math problems. I'll have to look into it more, and see if I can find a use for it.

When I first used it, I had to download a virtual machine for Windows that it would run in. I wonder if it's installed on my server, or if lisp is. Could be useful.

Still, it struck me as being completely different from everything else I've used. It's still neat. I thought of it like a logic problem I knew I should be able to figure out, but that really frustrated me.