C
C
cyberlain2018-02-28 11:05:29
Programming
cyberlain, 2018-02-28 11:05:29

Is there any practical use for the sicp book?

Recently, I successfully flunked an interview for a vacancy of a front-end developer. The programmer first loaded me with the implementation of map and reduce, and then in general he began to ask questions about the functionality and I swam. Nevertheless, the coder who conducted the interview gave "good" advice "Read the structure and interpretation of computer programs" if you understand at least 50 pages, we'll talk again. Why is it necessary when developing websites
?

Answer the question

In order to leave comments, you need to log in

5 answer(s)
D
Dmitry, 2018-02-28
@EvilsInterrupt

SICP teaches you to think like a programmer. Learns to find solutions in the programming world. There is a huge difference between a programmer who knows how to use framework1, framework2, ..., frameworkN and another programmer who may not even know how to use these frameworks, but can distinguish that that code is very similar to working in O(n) , and that one over there seems to be in O(1) and will be able to make a better choice. Roughly speaking, there is a certain basis that allows one to create more stable, more efficient solutions, while the other, due to lack, has to make crutches.
For example, the well-known programming problem "baner roll". When there is a banner1, banner2, ..., bannerN and you need to display "pseudo-randomly" each banner once. One programmer can apply an array and indicate in it which numbers he has already displayed, and the other will apply mathematics and at the same time the solution will be one-way and will not require an array allocation. And there are enough such problems in programming!

A
asd111, 2018-02-28
@asd111

Such questions are asked inappropriately. sicp is a rather general book, you can not read it. Even MIT doesn't read this book anymore. https://habrahabr.ru/post/282986/
Do not pay attention to such interviews, inadequate interviews are very rare.
In general, the questions at the interview correspond to what is indicated in the vacancy.
If they ask for something that is not related to your duties, then the team is so-so and will be forced to write front-end in Lisp or something like that.

B
batyrmastyr, 2018-03-09
@batyrmastyr

what side do you need all this mathematics and algorithms in the frontend?

Many engineering specialties rely on mathematics as a foundation. One of the basic skills for a programmer (who is an engineer, not a specially trained monkey) is the ability to evaluate the computational complexity of a program and write an efficient algorithm. Due to the slowness of Javascript and DOM operations, as well as the swelling of the volume of client code, the issue of efficiency is very acute.
Instead of sicp, you can take any other book that develops thinking + gives an understanding of “how much this operation will cost” - even Knuth’s The Art of Programming, Wirth’s Algorithms and Data Structures, Aho, Ullmann and Hopcroft’s Data Structures and Algorithms, at least someone else.
Here are a few examples of what happens if you don’t evaluate complexity, or even “code first, think later”:
24-core CPU, but I can't move the cursor ,
One developer almost "broke" the NPM package manager ,
Facebook and Google released Yarn, a new manager p... (npm was written by clinical morons - download the same package dozens of times! ),
Even for the new year, many people like to hang falling snow on the site, and for almost everyone it eats the whole processor core, in each open tab, Carl! 8 tabs and you even have a Core i7. But if desktop computers just freeze, then laptops and phones also discharge batteries at an alarming rate.

A
Artyom Tokarevsky, 2018-02-28
@artemt

Judging by the interview, it will be more useful to read "Functional Programming in JavaScript"

A
ALIAKSANDR ZHALIAZOUSKI, 2018-02-28
@nouomen

He is so stumped

Didn't find what you were looking for?

Ask your question

Ask a Question

731 491 924 answers to any question