SICP

Is it still relevant and worth learning? Or should I jump into more commercially relevant projects like making a phone app.

Attached: sicp-cover.jpg (500x492, 85K)

Other urls found in this thread:

ocw.mit.edu/courses/electrical-engineering-and-computer-science/6-001-structure-and-interpretation-of-computer-programs-spring-2005/video-lectures/
xuanji.appspot.com/isicp/
smatchcube.github.io/SICP/
sarabander.github.io/sicp/
sicpebook.wordpress.com/
twitter.com/NSFWRedditGif

If your concerns are purely commercial, you probably aren't going to be good enough to follow that book anyway.

Ignore this stupid, elitist reply, user.

It depends on your goal. Do you need to make a project ASAP, or do you want to learn the fundamentals of programming in a unique and thought-provoking way. The great thing is, you can do both! Scheme and a procedural language like Java are pretty different that there's no reason you couldn't study both at the time. It's not like you'll be a shit programmer if you don't read SICP before ever writing a line of code.

No. Learn C++ and get NumRec instead. FP is a meme only 60-year-old boomers fall for.

I was thinking more Kotlin for Android stuff. And accordingly, SICP comes up as a a good introductory book and introduction to functional programming.

SICP just seems like quite the long haul.

What's wrong with HtDP?

The two things are independant of each other.
Whatever language you end up writing in, I recommend you read SICP, it's fun and will realign your chakras

Kotlin is comfy as fuck to program in

>FP
>implying LISP/Scheme is some haskell-like

There's no proof people who program for free are better than paid programmers. Actually, when you start signing contracts, your projects have to be perfect

1. using recursion=waste of memory
2. all LISP features non existed in FORTRAN now avalable in BASIC
3. programming is modern math, math is anscent programming

>1. using recursion=waste of memory
I can see why brainwashed procedural programmers could think this. Because in the languages and compilers they use, it indeed is and puts additional data on stack.
But functional programming languages perform tail-call optimization, or even transform direct form into CPS form and perform tail-call optimization on that under the hood.

>tail-call optimization
posible only for trival tail recursion
but tail recursion is just stuped way to code loop, nothing more

even THIS

Attached: CPM_CLUB12.png (1066x554, 36K)

Oh ok, so you ignored the second part of the sentence.
Go read Seasoned Schemer for your own good, maybe you will learn something.

you can write hanoi with tail recursion no problem
just write it as general solution for any position and perform the recursive call as: 1) check for end, 2) make next move, 3) solve the resulting position

using long code wordls for easy things changre notthing
even THIS 8bit Hanoy solver is not tail recursion and not sutable for tail-call optimization

>with tail recursion
tail recursion is just stuped way to code loop, nothing more

Shhh, the job market for autistic programmers is saturated already. We don't want any more of these fuckers to gain actually relevant skills.

>500 pages
>long haul
Holy shit kids these days can't even read a normal sized book.

I read the first chapter and did some of the exercises and then skimmed through the next chapter. This book in my opinion will not help you with commercial projects but it is interesting at parts. Also, when you read what other people say about this book, keep in mind that this is a classic and no one wants to look like a dumb fuck by disliking the book.

SICP is the bible of programming- by which I mean everyone always cites it and talks about how great it is but nobody actually reads it. It's not a good book for beginners, especially if you want to get a programming career relatively quickly. Learn programming from a more beginner-oriented book first, then do some projects and read some more books, and after working for a few years maybe start reading SICP.

Attached: 1528198901925.jpg (448x350, 24K)

No, he's right, tail call optimization only applies to tail recursion which isn't every recursive algorithm

Had to read this in university. The design recipe is cancer.

It's definitely a valid read, especially if you're new to programming, but by no means the life-changing experience everyone here seems to claim.
If you're an experienced developer, *most* of the book should really be common sense. If it isn't, you've been pretty bad at it all along.
That said, there are still some interesting concepts to learn, especially in the later chapters, no matter your experience level.

I'd say go for it if you're got time to spare, but don't assume you absolutely *must* read it to be a good programmer.

>you can write hanoi with tail recursion no problem
No example code, no argument

What is your first language?

Assembler

Only compared to JavaEE.

It is a fucking bullshit if compared to Scala,

retard detected

as if syntax matters instead if semantics

but you, of course, do not know the meaning of these words

1C

Attached: 1c.jpg (1240x580, 41K)

JUST FUCKING WATCH THIS

ocw.mit.edu/courses/electrical-engineering-and-computer-science/6-001-structure-and-interpretation-of-computer-programs-spring-2005/video-lectures/

if you cannot follow then go back playing vidya and apply to walmart

So not English, my hunch was correct.

1. using recursion=waste of memory
2. all LISP features non existed in FORTRAN now avalable in BASIC
3. programming is modern math, math is anscent programming

Absolute state of Jow Forums

Do not learn principles, learn fucking irrelevant particulars

go straight to PHP4 then.

yes yes, we need more React cucks with beards and glasses and smoothies

that means you know literally nothing and should start from HtDP

slav nigger

how old are you? 12?

Attached: nikola-tesla.jpg (3701x3701, 1.77M)

Haskell is a very different language with respect the entire Lisp family even from a purely conceptual point of view, the syntax is the least concern.
But someone who knows neither and instead goes on to spout random shit on a Mongolian imageboard can't possibly understand.

Judging form your questions I assume you're a beginner programmer. SICP is not for beginners.

Dumb javanigger

MIT used it as their introduction to programming for 20 years tho, and still teaches it.

I've just finished the first chapter and I'm loving it. I'm falling in love with Scheme (the extremely easy-to-follow syntax, prefix notation, etc.) but I'm afraid I won't use a Lisp language ever in my career: I live in a big city (Barcelona) and when I look for programming jobs online there's virtually no Lisp jobs (Clojure, CL, Scheme, etc.)...
Writing in C now feels a bit wrong for me, I'd much rather use Scheme.

1. using recursion=waste of memory
2. all LISP features non existed in FORTRAN now avalable in BASIC
3. programming is modern math, math is anscent programming

>your projects have to be perfect
OH NONONONONO

>what is tail recursion
Also some things can only be expressed recursively.

> Or should I jump into more commercially relevant projects like making a phone app.
If your goal with programming is simply to make commercially viable phone apps ASAP, this is not the book is not for you.
>I'm afraid I won't use a Lisp language ever in my career: I live in a big city (Barcelona) and when I look for programming jobs online there's virtually no Lisp jobs (Clojure, CL, Scheme, etc.)...
The point of the book isn't to teach you Lisp or prepare you for a "Lisp job".

xuanji.appspot.com/isicp/

>Also some things can only be expressed recursively.
only in (You)r LISP infected brain

this extremist opinion could use some nuance

the illustration:

it doesn't receive tail call optimization because it doesn't need it lmao

so it waste of memory for call returns

?????????

>Also some things can only be expressed recursively.
I'm guessing you've never taken a compiler class.

Yeah, I know! I was just stating how I feel about scheme.

>It's an iterative vs recursive episode

Attached: maetel11.gif (540x350, 1.52M)

I just read it because there's so many cute animus holding that book desu

Well I did the first 2 chapters with solution to every exercise and posted them here: smatchcube.github.io/SICP/
Reading chapter three at this moment.
It's a fucking nice book and perfectly suited for self studying.
Resources:
Online version of the book: sarabander.github.io/sicp/
Various formats (pdf, pdf optimized for e-readers and small screens) : sicpebook.wordpress.com/
Video lectures: ocw.mit.edu/courses/electrical-engineering-and-computer-science/6-001-structure-and-interpretation-of-computer-programs-spring-2005/video-lectures/
You are just lazy if you are not working on this book.

Oh and don't say you read this book if you did't solved half of the mandatory exercises.

Functional Programming
Its like saying you are a high functioning autist

yikers

>Is it still relevant and worth learning?
It was neither at any point in time.

>he doesn’t know about tail recursion
should we tell him?