Return Styles: Pseud0ch, Terminal, Valhalla, NES, Geocities, Blue Moon. Entire thread

Why SICP?

Name: Anonymous 2008-02-27 15:22

What's so good about SICP? Isn't LISP completely useless?

Name: Anonymous 2008-02-27 15:23

SICP is not about Scheme, or LISP.

In before ridiculously long posts the gist of which is the above line.

Name: Anonymous 2008-02-27 15:24

Useless is, ofcourse, relative.

Name: Anonymous 2008-02-27 15:28

>>1 is useless

Name: Anonymous 2008-02-27 17:13

AND WE HAVE BEEN TROLLED CONSTANTLY.

Name: Anonymous 2008-02-27 17:41

Astronomy is about telescopes.

Name: Anonymous 2008-02-27 22:17

What >>2 said

Name: Anonymous 2008-02-28 5:09

>>6
Before Mt Palomar, no one knew there were other galaxies.
So, yeah, you're right.

Name: Anonymous 2009-11-13 12:20

SICP Is Comprehensive Programming!

Name: Anonymous 2009-11-13 14:01

>>1
lisp is about as useless as all other programing languages.

Name: Anonymous 2009-11-13 14:56

>>6
Hubble and Spitzer. I bet you wouldn't make this in your garage.

Name: Anonymous 2009-11-15 15:07

So could one read SICP while implementing everything he read in C, without knowing a single bit of Scheme?

Name: Anonymous 2009-11-15 15:17

>>12
You would learn the scheme by reading SICP anyway, although if you want to implement everything in C that's your choice

Name: Anonymous 2009-11-15 15:23

SICP is good because it teaches the essence of programming, rather than teaching you how to use a particular language.

Lambda calculus is essentially the mathematical soul of computing, and Lisp, at first, was basically just an executable version of that.  It grew larger over time and supported meta programming, so it could adapt to any new ideas that came along.

As has been mentioned, the variant of Lisp used in the SICP course is a pure subset called Scheme, which cleaves more exactly to the Lambda calculus, and has been deliberately kept small (scheme can be defined completely in 30 pages), so that their book, and the course they taught could focus more on teaching the essence of programming, not merely a programming language.

Name: Anonymous 2009-11-15 15:30

>>14
This feels lke a copypasta, is it?
scheme can be defined completely in 30 pages
What do you count as the definition? The entire r5rs was 50 pages, but I suppose we could ignore the notes and additional material and it would be ~40. (besides it was superseded in 2007)

Name: Anonymous 2009-11-15 15:42

>>14
Lambda calculus has essentially nothing to do with computing, and Lisp is just an executable version of it.  This is why Lisp is useless.

Name: Anonymous 2009-11-15 16:05

>>16
There are dozens of reasons why Lisp is useless,  but the Lambda calculus had nothing to do with any of them.

Name: Anonymous 2009-11-15 16:20

>>14
Lambda calculus is essentially the mathematical soul of computing, and Lisp, at first, was basically just an executable version of that.
LOL no it wasn't, chump.

Name: Anonymous 2009-11-15 17:06

>>16

Yeah it always makes me uncomfortable dealing with functional language promoters and their "state is evil" stuff. I'm sorry, but isn't any modern computer a state machine? At bottom, assembly is as imperative as it gets. Is there any other way to implement a digital computer?!

Name: Anonymous 2009-11-15 17:24

>>19
There were attempts to make processors more functional, but were disregarded in favour of better compilers running on normal hardware.

Name: Anonymous 2009-11-15 17:34

>>19

Functional language promoters and their "state is evil" stuff

That's because they're Communists. You wouldn't trust a Communist, now, Johnny, would you?

>>20

Not compilers, Moore's Law.

Name: Anonymous 2009-11-15 18:08

when i first learned perl i found it entertaining to see how much of the program i could write without using variables. that is, the output of one function going directly into another, forming an unbroken chain like this: function1(function2(function3(function4(input)))).
i didn't realise it at the time, but i was mimicking functional languages.

then i realise "hey, avoiding the use of variables is actually really inefficient and obfuscates my code", at which point i gained satori.
functional programming is for immature chumps like FV.

Name: Anonymous 2009-11-15 19:31

>>22
10/10

Name: Anonymous 2009-11-15 19:42

>>19
State isn't evil. State is a major source of logical errors - it is up to the programmer to ensure that the system is in the correct state before continuing the work. By maintaining a discrete boundary between pure functions and impure functions, it becomes easier to find state related bugs as one can prove the correctness of pure functions more easily than of impure functions.

Name: Anonymous 2009-11-15 20:05

>>24
``The 20% of our code that isn't related to the application is now not really provably correct.  The rest of it is unprovably incorrect, because it's been made impenetrably complex by all the functional hoops it has to jump through.''

Name: Anonymous 2009-11-16 1:55

>>22
Lisp and Scheme never denied state. You can write your imperative, C-like programs in them without any problems.

Name: Anonymous 2009-11-16 2:01

>>16

durp

Name: !hs0s8aKbNo 2009-11-16 2:03

IDK.

Name: Anonymous 2009-11-16 3:20

>>29
That's probably more of a Scheme thing.

Common Lisp programmers use state freely, but they try not to use it unless needed. They'll code in a functional way a lot of the time, but if using state makes something simpler, then so be it.

I suppose they are different programming philosophies and ways of thinking, even if everything you can do in Scheme you can do in Lisp (and of course, you can do the same things in Scheme, but you would have to implement a lot of missing features - a lot of the time, these features are already implemented by real world implementations which provide many extensions). Lisp's programming philosophy is that the programmer should make use of what the language offers, be it high order functions, macros, lambdas, COMPILE (or even EVAL, even though there's almost always better solutions than EVAL), lexical/special scoping, reader macro characters (sometimes), a very wide variety of list/sequence manipulation functions (both functional and destructive versions), keyword/rest/optional arguments, CLOS/MOP, and many other things I'm too lazy to mention right now.

Name: Anonymous 2009-11-16 3:21

>>29
What if I have a vagina? Which I do.

Name: Anonymous 2009-11-16 3:54

>>31
Let's assume for a moment that that statement is true, then it would logically follow that you are not a Scheme Programmer, since as we all know, Functional Programming is for faggots(gay men).

Name: Anonymous 2009-11-16 8:59

>>25
This blubs truly believe

Name: Anonymous 2010-06-02 13:55

[quote]1[quote]2[quote]3[/quote]2[/quote]1[/quote]0

Name: Anonymous 2010-06-02 13:56

###?

Name: Anonymous 2010-11-28 5:40

Newer Posts
Don't change these.
Name: Email:
Entire Thread Thread List