Hey I have a couple of questions. I've seen pic related recommended several times

Hey I have a couple of questions. I've seen pic related recommended several times.

1. Does this book teach algorithms?

2. If I use this book to learn programming, will the concepts I learn in it easily transfer to other languages?

Thanks

Attached: SICP.jpg (316x475, 32K)

>1. Does this book teach algorithms?
Sort-of, but that's not the primary focus.

>2. If I use this book to learn programming, will the concepts I learn in it easily transfer to other languages?
Yes.

Can you recommend any books that are a good primer for algorithms?

Oh God, thats the MIT lisp book right?

If you can already code, great, its more of a philosophical/theoretical approach but great for deeper inside (desu I stoppped after about 70 pages).

If you __cant__ code, which seems to be implied by your second question, thats not a good book to start.
Yeah, its a great book to learn programming for sure, but its not motivating. Its even a struggle to read if you want to write your own code asap, which imo is a great goal.
I'd suggest you pick up an imperative, simpler language (python for example, C#/Java when you need all academic concepts) and then maybe one year in read this bad boy.
Also, basic programming concepts transfer between all languages. At some point, you just get the new language specific concepts fast and you can categorize them to familiar, already known concepts.

And no, this book doesn't teach algorithms. If you want to learn algorithms, learn programming basics and then go straight to "Introduction to Algorithms", another MIT book and by far the best one. (Although Ive read only like 5 books about algos, but the difference is huge).

I've heard good things about Sedgewick
For concurrency stuff, I highly recommend Foundations of Multithreaded, Parallel, and Distributed Programming by Andrews

Introduction to Algorithms again.
If you want the paperback version, you can get the (english) indian subsidized version for around 30 bucks. Otherwise youll find it on libgen

i really like book: Data Structures and Algorithms in Python

Oh yeah, and if you want to stay in the lispy/haskell/ML area read functional programming pearls.

I already know the basics of how to write a program in Python, but only the basics. I know the syntax, and I've written some small functions and scripts.

I've also done VBA because of my job as well as some basic Powershell automation script, as well as bash. But I want to go beyond the basics.

Attached: somethingblue.jpg (1080x1079, 209K)

What a sweetie. Yeah, Introduction to Algorithms or the book mentioned by are both probably useful to you, a bigger problem would be an not theoretical application thats not boring asf. The most useful stuff is probably learning about data structures (linked list vs vector, set vs union find) and landau notation (what actually is a fast algorithm) before algorithms, and when thats done you are basically set up for any algorithm.

I was able to slough through the first few chapters of "the art of computer programming" and I didn't find it especially boring, even though it was primarily mathematics-based. i'm not really turned off by theory.

>the art of computer programming
Never had the time to read knuth sadly, and I guess good for you.
I cant generalize it, because I really don't care about design patterns like fucking factories but I love to read about applied category theory in haskell or homotopy type theory although thats basically as theoretical as it gets.
I guess everyone their own cup of tea

do you manage to write working code in Knuth assembly language: MMIX/MIX? Its really difficult to transfer from high-level languages but it may have some educational value

>1. Does this book teach algorithms?
no, it presents few famous algorithms and explains how to construct some in recursive approach, but it's not an algorithm book
>2. will the concepts I learn in it easily transfer to other languages?
many languages don't have closures and thus require different approach to write equivalent programs
many programming languages don't handle bottom-up design and composition as well as lisp

It's a meme book.
It's a good book if you aspire for MIT-level computer science.
If you want to be a "mere" programmer, look for something more easily digestible.

Ultimate answer to question

SICP is a book about making some things from smaller things, like a lego. Entirety of programming and lisp is about that, so its cool to check it out

So where are all these good programmers that read this book?

>compares progremmers to wizards
very interesting read actually

Attached: 1548564503166.png (448x357, 3K)

Not being code monkeys

Either dead (suicide) or working for Google.

It's probably not good for self-study unless you already have some experience.

The book is mainly about abstractions, which is always something worth studying. It will help you think more clearly about problems but it won't let you solve any problems you weren't equipped to solve before reading it.

>will the concepts I learn in it easily transfer to other languages?
Yes and no. It makes learning new languages easier because you have a deeper understanding of programming and languages but most languages you will pick up afterwards will not support all of the introduced paradigms. Even scheme doesn't really (at least without macros) and that's why some hackery is involved in making them work (changing the evaluator and such).

If nothing else, you get to see some really nice code with simple solutions to problems you didn't think could ever be solved so elegantly.