Propos · 31-Июл-19 00:57(5 лет 6 месяцев назад, ред. 11-Окт-19 14:35)
Eloquent JavaScript, 3rd Edition / Выразительный JavaScript. Современное веб-программирование. 3-е издание Год издания: 2019 Автор: Marijn Haverbeke / Хавербеке Марейн Переводчик: Сандицкая Е. Издательство: Питер ISBN: 978-5-4461-1226-5 Серия: Для профессионалов Язык: Русский Формат: PDF Качество: Распознанный текст с ошибками (OCR) Интерактивное оглавление: Нет Количество страниц: 482 Описание: «Выразительный JavaScript» позволит глубоко погрузиться в тему, научиться писать красивый и эффективный код. Вы познакомитесь с синтаксисом, стрелочными и асинхронными функциями, итератором, шаблонными строками и блочной областью видимости. Марейн Хавербеке – практик. Получайте опыт и изучайте язык на множестве примеров, выполняя упражнения и учебные проекты. Сначала вы познакомитесь со структурой языка JavaScript, управляющими структурами, функциями и структурами данных, затем изучите обработку ошибок и исправление багов, модульность и асинхронное программирование, после чего перейдете к программированию браузеров. Код доступен по адресу https://github.com/marijnh/Eloquent-JavaScript
Propos!
1. «Для профессионалов» - это точно серия книги? Тогда необходимо переименовать файл по модели
Цитата:
Автор - Название (Серия) - Год.расширение
и перезалить торрент-файл
2. Уберите, пожалуйста, кавычки вокруг серии (2 месте): «Для профессионалов» -> Для профессионалов
78127577переводчики-дегенераты из Питера как всегда на высоте - даже не представляю как можно было назвать «переменные» «привязками»
Прежде чем оскорблять переводчиков не мешало бы посмотреть оригинал, тогда бы увидели что там переменные тоже называют Bindings. Это часть философии автора, отказаться от переменных и называть их привязками. Сперва думал что Хавербеке так называет новые переменные объявленные через «let», ну типа они привязаны к блоку в котором объявлены в отличии от «var» переменных. Но дальше становится понятно что у автора просто сдвиг по фазе свое, уникальное видение.
Плохая книга - написана очень гружено и трудно, примеры просто отвратительные - слишком сложные и элементы которые новичок видит в первый раз, с задачами тоже самое, требует сделать то, о чем в книге вообще не написано.
Плохая книга - написана очень гружено и трудно, примеры просто отвратительные - слишком сложные и элементы которые новичок видит в первый раз, с задачами тоже самое, требует сделать то, о чем в книге вообще не написано.
Да, соглашусь - новичок в ней не разберется, а уже умеющему в JS - она слишком поверхностная и ничего не даст. Homutovich
Илья Кантор - Современный учебник JavaScript (сайт learn.javascript.ru).
78127577переводчики-дегенераты из Питера как всегда на высоте - даже не представляю как можно было назвать «переменные» «привязками»
Прежде чем оскорблять переводчиков не мешало бы посмотреть оригинал, тогда бы увидели что там переменные тоже называют Bindings. Это часть философии автора, отказаться от переменных и называть их привязками. Сперва думал что Хавербеке так называет новые переменные объявленные через «let», ну типа они привязаны к блоку в котором объявлены в отличии от «var» переменных. Но дальше становится понятно что у автора просто сдвиг по фазе свое, уникальное видение.
Если посмотреть блог автора или профиль на GitHub, то можно увидеть, что он пишет также на Common Lisp. Отсюда, видимо, и этот термин.
Отличная книга. Не соглашусь с комментаторами, которые говорят, что примеры трудные и книга сама криво написана. Я считаю, что над примерами нужно работать и с ними нужно разбираться. Это занимает время и усилия. Если примеры простые, то мало чему можно научиться. Книга хорошо пошла в комбинацией с Гуглом и другими доп. источниками. Спасибо за раздачу!
худшая книга
переменные называет привязками
предлагает переменные представлять как щупальца а не контейнер
блевотно читать было, другую скачал и норм, не советую читать эту книгу особенно новичкам, после этих самых "привязок" вы не будете понимать нормальный сленг в среде программистов.
насчёт "привязок" - вполне себе свежо... ибо заставляет задуматься над вопросом "к чему привязано ?" и так выйти на контекст, область видимости, управление памятью...
смотрите шире...
79225407худшая книга
переменные называет привязками
предлагает переменные представлять как щупальца а не контейнер
блевотно читать было, другую скачал и норм, не советую читать эту книгу особенно новичкам, после этих самых "привязок" вы не будете понимать нормальный сленг в среде программистов.
Коробочная или контейнерная модель работы с переменными пошла из языков С и С++ где переменные соответствуют кускам памяти с определенным размером и местоположением.
Для динамических языков типа JavaScript, Python, PHP и Ruby для переменных больше подходит модель линков или привязок. Язык программирования пытается навязать определенную модель обработки. И ценность метафоры, такой как эти коробки, заключается в том, насколько хорошо она позволяет нам предсказать, как будет вести себя их язык в данной ситуации.
Из примеров и пояснений ниже должно быть понятно, почему здесь с переменными корректней использовать модель именно линков, а не контейнеров.
скрытый текст
As an example of how this model breaks down, let's say we assign the value of favorite_fruit to a second variable, snack. The model would suggest that after this assignment, the favorite_fruit variable should now be “empty”. In fact, what we find is that favorite_fruit still retains its original value… …a value which it now shares with and snack. Of course, the computer doesn't think in terms of physical boxes. And we know this. But we also know that a programming language attempts to enforce a certain model of processing. And the value of a metaphor, such as these boxes, is in how well it enables us to predict the way they language will behave in a given situation. Already, this box metaphor is not looking very well-adapted to predicting the behavior of a high-level dynamic programming language. Let's try out a different way of thinking of variables. When we assign a value to a variable, we imagine that we are placing a sticky note on the value. favorite_fruit = "Apple" That sticky note enables us to keep track of that specific value, even among many other similar values. When we assign that variable to another, we are just putting a second sticky note on the same object. favorite_fruit = "Apple"
snack = favorite_fruit This matches up to the behavior we see in the code, where both variables now reference the same object. favorite_fruit = "Apple"
snack = favorite_fruit favorite_fruit # => "Apple"
snack # => "Apple" Here's another example of where the “box” model leads to incorrect assumptions. Let's say we assign an array to a variable. fresh_eggs = ["egg1", "egg2", "egg3", "egg4"] Next, we assign the array to a second variable. fresh_eggs = ["egg1", "egg2", "egg3", "egg4"]
breakfast = fresh_eggs After which, we add two new values to the array referenced by the first variable, using the concat method fresh_eggs = ["egg1", "egg2", "egg3", "egg4"]
breakfast = fresh_eggs
fresh_eggs.concat(["egg5", "egg6"]) Here, the box metaphor suggests that we should now have one variable containing 6 objects, and a second variable containing 4. In fact, what we find is that the second variable now also contains 6 values. fresh_eggs = ["egg1", "egg2", "egg3", "egg4"]
breakfast = fresh_eggs
fresh_eggs.concat(["egg5", "egg6"])
breakfast
# => ["egg1", "egg2", "egg3", "egg4", "egg5", "egg6"] This illustrates another of the big conceptual problems with thinking of variables as boxes: it makes it far to easy to confuse variables with container objects, such as arrays. Let's re-do this example, this time using the sticky note metaphor. Once again, we assign an array to a variable. fresh_eggs = ["egg1", "egg2", "egg3", "egg4"] We assign the array to a second variable. fresh_eggs = ["egg1", "egg2", "egg3", "egg4"]
breakfast = fresh_eggs Then we add our two new values. fresh_eggs = ["egg1", "egg2", "egg3", "egg4"]
breakfast = fresh_eggs
fresh_eggs.concat(["egg5", "egg6"]) This time around, it is quite obvious that both the first and second variables both refer to the same array object – an object which now contains six values. fresh_eggs = ["egg1", "egg2", "egg3", "egg4"]
breakfast = fresh_eggs
fresh_eggs.concat(["egg5", "egg6"])
breakfast
# => ["egg1", "egg2", "egg3", "egg4", "egg5", "egg6"] In this version, it's very clear that the array is a container, and the variables function as labels for that container. On any given day of the week, you can visit programming forums for a dynamic language, and find people posting problems that obviously stem from an inaccurate mental model of variable semantics. In most cases, it's because they're looking at variables as if they are boxes to put things in. Like I said before, the computer doesn't care about any of the stuff. All it wants to do is crunch numbers. So it's not about which model is “correct”. It's about finding models that are effective. The quality of our mental models determines whether the code we write does what we expect it to do. And that translates directly into avoiding bugs and meeting deadlines. The more effective our models, the more work we're able to get done.
Отличная книга, особенно в части раскрытия общих концепций. Довольно оригинальная подача материала. Рекомендую, как способ освежить знания, после качественного изучения и практического использования JavaScript. Для начального изучения: лучше всего подходит сайт Ильи Кантора. Первое издание читал еще на Хабре. В этом издании, особенно понравилась 11-я глава Асинхронное программирование. На главы по HTTP request и Node.js можно не тратить времени. Совершенно ни о чем. Качество скрина - оставляет желать лучшего. Нет оглавления. Луше покупать оригинальное издание (.pdf).
Да, хорошая книга, мне нравится. Материал актуален на сегодняшний день, самое главное. У меня опыта еще мало и книга заставляет мозг покипеть, но это правильно, я считаю. На сайте автора можно читать эту книгу бесплатно и тестировать код прямо в браузере. Решения заданий там тоже есть, можно себя проверить. В общем отлично! Для совсем новичков не пойдет, конечно, тогда лучше что-то типа "Javascript для детей".
история про Жака и его превращения будто бредни шизофреника.
это нихрена не объясняет тему, а только водички добавляет. то что реально нужно пояснять не поясняется
Хавербеке Марейн. Выразительный JavaScript. Современное веб-программирование. 3-е изд. - СПб.: Питер, 2019. - 480 с.: ил. - (Серия «Для профессионалов»). ББК 32.988.02-018 УДК 004.738.5 Х12 ISBN 978-5-4461-1226-5
«Выразительный JavaScript» позволит глубоко погрузиться в тему, научиться писать красивый и эффективный код. Вы познакомитесь с синтаксисом, стрелочными и асинхронными функциями, итератором, шаблонными строками и блочной областью видимости.
Марейн Хавербеке - практик. Получайте опыт и изучайте язык на множестве примеров, выполняя упражнения и учебные проекты. Сначала вы познакомитесь со структурой языка JavaScript, управляющими структурами, функциями и структурами данных, затем изучите обработку ошибок и исправление багов, управляющими структурами, функциями и структурами данных, затем изучите обработку ошибок и исправление багов, модульность и асинхронное программирование, после чего перейдете к программированию браузеров. https://drive.google.com/file/d/154xedD5nLvLmj7Gsaoo712oR8WxmLwcQ/view?usp=sharing
Книга не для новичка. Подача материала очень плохая - скомканная и не систематизированная. Сложные вещи затронуты поверхностно, как будто их понимание само собой разумеющееся. Примеры идут от пары очень простых до очень сложных, где даже опытному надо разбираться пару дней. РЕЗЮМЕ: опытному просмотреть и взять для себя пару фишек. Новичку - видеокурсы (lynda, udemy, pluralsight, codecourse, специалист (Борисов))
Плохая книга - написана очень гружено и трудно, примеры просто отвратительные - слишком сложные и элементы которые новичок видит в первый раз, с задачами тоже самое, требует сделать то, о чем в книге вообще не написано.
Да, соглашусь - новичок в ней не разберется, а уже умеющему в JS - она слишком поверхностная и ничего не даст.
Получается, что книга не годится буквально никому - ни нубам, ни профи))))