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

SICP Considered Harmful

Name: Anonymous 2009-09-15 19:55

Its not relevant to the industry, its badly written, and its considered harmful and detrimental to developing the skills of new programmers.  It should only be recommended for its historical value, so pretty much only if you plan to have career in academia.  Instead please recommend a book such as 'The C programming language' to newbies or ex web-designers looking to get a good foundation on the fundamentals.

I don't want to see SICP mentioned around here anymore or you will be reprimanded, please follow the lead of computer science institutions around the world and don't teach SICP anymore.  Thanks, and welcome to 2009.

Name: Anonymous 2009-09-15 19:56

lol

Name: Anonymous 2009-09-15 19:58

More than half of the active posters on /prog/ use CL or Scheme, and as far as I know, SICP was written using Scheme.
I'm pretty sure not many people use C/Sepples.

Name: Anonymous 2009-09-15 19:58

About time someone realized what MIT did.

Name: Anonymous 2009-09-15 19:59

>>3
Actually SICP was written using english.

Name: Anonymous 2009-09-15 20:00

>>4
They had their reasons, which we may disagree with, but it's not like that will change anything. I think it's better in a way, since the people who seemed to have gotten the most out of SICP were people who didn't take that class

Name: Anonymous 2009-09-15 20:35

>>1
go away. you don't belong here

Name: Anonymous 2009-09-15 20:36

Slightly off-topic, but the SICP reading on #prog is over

Name: Anonymous 2009-09-15 20:41

>>1
someone hasn't read their sicp today

Name: Anonymous 2009-09-15 21:17

>>1
please read SICP

Name: Anonymous 2009-09-15 21:17

I'm 12 years old and what is SICP?

Name: Anonymous 2009-09-15 21:24

>>3
Pretty much everyone uses C. People only use sepples if they're forced to by work or school, or they haven't read SICP.

Name: Anonymous 2009-09-15 21:26

>>11
ask mommy

Name: Anonymous 2009-09-15 21:48

I'm 12 SICP and I know all

Name: Anonymous 2009-09-15 22:01

How is SICP harmful?

Name: Anonymous 2009-09-15 22:06

>>15
It clouds the mind with fanciful ideas like syntactic abstraction

Name: Anonymous 2009-09-15 22:09

>>16
it clouds the minds of javamonkeys with COMPUTER SCIENCE!

Name: Anonymous 2009-09-15 23:56

>>17
You sir are and idiot.

Name: Anonymous 2009-09-16 0:26

Functional programming considered harmful. Excessive recursion leads to stack overflows, immutable state leads to SLOW AS FUCK, and dynamic typing leads to SQL injection even in apps that don't use it (we've learned this from PHP).

Name: Anonymous 2009-09-16 0:41

>>19
I know you're trolling, but here it is:
Excessive recursion leads to stack overflows
Tail-call optimizations can be performed to turn tail-recursive calls into normal loops.
immutable state leads to SLOW AS FUCK
Ever heard of SSA form, and why C compilers perform it?
tl;dr: normal programs get transformed into more functional forms.
dynamic typing leads to SQL injection even in apps that don't use it (we've learned this from PHP).
PHP
PHP is a very poor example of dynamic typing. Coercing types implictly is stupid. For true dynamic typing: look at Common Lisp or Scheme. Variables can hold any type, but you still have to check and dispatch correctly depending on their type, this is safe, and if you do it wrong, you'll get a condition/error signaled, which is kind of the same as with more static languages, except it happens at runtime.

You're also making the false assumption that Lisp is purely functional, Scheme allows state, and Common Lisp encourages the use of which paradigm represents the problem better. If state is required, you can use it as much as you wish (and internally, it's what is normally used after optimizations are performed).

Name: Anonymous 2009-09-16 0:43

>>19

I know Lua/Ruby, but still consider myself an imperative programmer as most of my work is still in C#/Java/C.

"Excessive recursion leads to stack overflows"
This is why the functional people speak about tail recursion so much.

"immutable state leads to SLOW AS FUCK"
Not a property of functional languages. Ruby (and this bothers me) even has mutable strings. Java doesn't. This argument only sticks to theoretical functional programming, or specific instances (LISP? I don't use it), where there's a state getting modified and passed on to another function, but the state itself is never directly mutated.

"dynamic typing leads to SQL injection"
I have no idea how this relates to SQL injection. The reason so many people write shitty injectable PHP code is (1) people are generally ignorant of injection when they cook up their own php crapwad, or even worse, the stupid-ass mysql tutorials that don't even mention it, and (2) PHP has magical string-variable substitution... like ruby.

ihbt

Name: Anonymous 2009-09-16 0:45

>>21
Lisp isn't slow. Some compilers produce very good code (look at SBCL or CCL). It can be faster than Java and with proper type declaration, as fast as C. Next time you claim that, do your own benchmarks and learn your compiler well. You can examine disassembled code with (disassemble #'function) to see the generated code.

Name: Anonymous 2009-09-16 1:39

Obvious troll is obvious.

Name: Anonymous 2009-09-16 1:48

>>20-22
Jesus, listen to >>23-chan, she knows a troll when she sees one. UNLIKE THE REST OF YOU ASSHOLES.

Name: Anonymous 2009-09-16 3:14

>>19
clean is faster than java

Name: Anonymous 2009-09-16 4:01

We get this thread every week. Cut it off faggots.

Name: Anonymous 2009-09-16 4:38

I use Dr.Scheme

Name: Anonymous 2009-09-16 9:17


                                _.---'''''''`--.
                                       '    HAVE        `-.
                               ____             YOU        \
                             ,'   ,'.             READ      \
                           ,'    -'  `.             YOUR
                          ,:          |                SICP
                        ,/ `._      _,|                  TODAY?
                       /      `''''' /
                      /              |
                     /              |
                    /              .'
            ,''`._ .'              '
          ,'     `.|              /_
          |       ||             ,' `.
          `                     `     |
                                      |
                                    ,'
                                  -'

Name: Anonymous 2009-09-16 9:23

>>28
straight lolling

Name: Anonymous 2009-09-16 9:29

>>28
I lol'd like a little idiot

Name: Anonymous 2009-09-16 9:31

>>2-25

'-._                  ___''...___
    `.__           ,-'   ||  _____ \
        `''-------'      __  ( . )  `._     JUST AS
                        |  |  `-'      (     PLANNED!
                        |__ `-.,        \
                           `'''--,[=]    \
                             \___________)
   ................._                  /
                     `-.._         _.-'
                          `'-----''

Name: Anonymous 2009-09-16 10:12

I was thinking about it, and since there's really only one right way to do everything in python, it makes perfect sense that python should replace scheme in the curriculum, since scheme lets you build powerful abstractions any way you like. It's too much for your average plumber to grasp, that pipes and sinks could be different. And if America stops training plumbers, well, India might just have less than 25% of their population in poverty, and we can't have that. So, leave the hard stuff to China and Europe, let's learn how to be plumbers.

Name: Anonymous 2009-09-16 11:39

>>22
good code
CCL
IHBT

Name: Anonymous 2009-09-16 12:38

>>29
i am not sure if this should be considered "straight" , i think the proper term would be gay .

Name: Anonymous 2009-09-16 12:40



                  / ̄∧_∧ ̄ ̄ ̄ // ̄\\
           __ ⊂/__(´∀` )__  /_⊃___| |\フ ヽ  CFLAGS JUST KICKED
       ,  ´_  /   / ̄ ̄ __ / ̄ ヽ    __ヽ ̄ ̄ |  IN, YO!
      /∠__/―/-。―/――∠_/__∧  |       | ∧_.| 
      ,========――´=============/⌒ヽ=|.=====| | ヽ ̄〕 
      | _   |GENTOO|    _  ″  |⌒| |/   __ /|  )ノ    vroom
      )_旧_∈≡≡≡≡∋_旧_″_|| ノ丿_ -――┘ 丿      vroom!
       \ \_ノ  ̄ ̄ ̄三三三\ \_ノ    三三三三 
        三三三三三三三三三三三三三三三三三三三三三三三三
           三三三三三三三三三三三三三三三三三三三三三三三
              三三三三三三三三三三三三三三三三三三三三三三三三三三
                      三三三三三三三三三三三三三三三三三三
                            三三三三三三三三三三三

Name: !3LrT5NRVks 2009-09-16 15:46

>>32
I know your trolling, but MIT and other colleges that used to teach Scheme have switched to python.  I'm not aware of any college which still teaches scheme except perhaps Brown.

Scheme and Lisp are ineffective at "building powerful abstractions", as shown by the eventual failings of non-toy programs(see Reddit, which switched to python; Paul Grahams precious yahoo stores). 

Oribtz admitted that much of their LISP code has to be ported to C++(and in 2002 he implies that orbitz is moving away from it all together) due to the failings of the LISP environment, and goes on to explain that the usual programming style in LISP just is not efficient in the real world, and programmers need to be retaught to write efficient lisp.  Specifically they admit that they don't use most of lisps features such as closures, generic functions, complex sequence functions and garbage collection because they are slow.
Source:http://www.paulgraham.com/carl.html

Don't fool yourself >>32 chan . While working at a large financial company I met people from all over the world that write code that was no better or worse than American programmers'.  The primary reason to not out source software is that its a logistical nightmare, most large software companies find it easier to bring people here on H1-B's (although that may change since recent changes have lowered the amount of H1-B's awarded).

Name: Anonymous 2009-09-16 15:53

>>36

Brown

IHBL'd

Name: Anonymous 2009-09-16 16:14

>>36
U MENA APL

Name: Anonymous 2009-09-16 16:32

>>37
Yep they still have it. http://www.cs.brown.edu/courses/csci0170.html

One of the last bastions of scheme in academia.

Name: Anonymous 2009-09-16 17:05

>>36
Lisp is good in all the same ways that Sepples is good. You're not really writing programs in Lisp, you're writing a new language made from macros and then writing your program in that language. Understandably, a lot of people don't get this.

Of course, Lisp is not bad in most of the ways that Sepples is bad.

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