Читайте только на ЛитРес

Книгу нельзя скачать файлом, но можно читать в нашем приложении или онлайн на сайте.

0+
текст
PDF

Объем 142 страницы

2017 год

0+

Стек, или Путешествие туда и обратно

текст
PDF
Читайте только на ЛитРес

Книгу нельзя скачать файлом, но можно читать в нашем приложении или онлайн на сайте.

199 ₽
Подарите скидку 10%
Посоветуйте эту книгу и получите 19,91 ₽ с покупки её другом.

О книге

Книга посвящена простой и удивительно элегантной структуре данных – стеку. Описаны скобочные структуры, подпрограммы (в том числе рекурсивные), передача параметров, разбор и вычисление выражений, распознавание последовательностей символов. Также рассмотрено описание устройства и реализация простой, но достаточно мощной стековой машины; приведены многочисленные примеры программ, а также список задач, в том числе нетривиальных. На сайте издательства dmkpress.com содержатся дополнительные материалы, среди которых исходные коды простого транслятора стековой машины (на языке Java).Издание предназначено прежде всего пытливым старшеклассникам, студентам вузов, а также тем, для кого программирование – хобби.

Книга предназначена внушить вам одну очень простую мысль: если вы – программист и вы не знаете что такое стек, то вы – дно!


Теперь собственно о самом содержании:

Автор рассказал о стеке, как о структуре данных на примере разбора скобочных структур и разбора арифметических выражений (Обратная польская нотация -RPN). Тут никаких нареканий, все четко и по делу.


При рассказе, зачем нужен программный стек в приложениях и тут Остапа понесло… Автор придумал свой (псевдо) ассемблер для «облегчения». Чтобы на примере маленьких подпрограмм (функций) объяснить зачем нужен стек. Как этим стеком пользоваться, как появляется и что представляет собой стековый фрейм. Классический пример – конечно рекурсивная функция расчета факториала. По мне автор все хорошо объяснил, но как то затянул что ли. Потом его этот асм, ну зачем? Почему нельзя было взять красивый и лаконичный ассемблер от ARM, а не некий аналог да еще аля x86. Можно было на этом ассемблере (ARM) приводить реальные асм коды реальных функций или даже Си функций! с полным объяснением. Это позволило бы упростить понимание примеров и в свою очередь приблизить читателя к реальному «железу». И если что-то не ясно, читатель всегда может обратиться к дополнительной литературе, так как это – «нормальный» реальный ассемблер.


В приложении есть, рассмотрение реализации стека на массиве и связном списке (правда на псевдо коде). Ну наверное автор прав и приводить полную реализацию излишне.


Приводить в пример язык Форт, ну тоже как то мимо. ИМХО, не хватает описания того, как в современных языках использовать стек из коробки: C++ STL, C#, Java . Чтобы джуниоры понимали, что все уже есть и не нужно велосипедить.


Общее впечатления от книги, хорошее. Автор пишет с юмором иногда даже с сарказмом, но он реально по делу! Если бы не псевдо асм, поставил бы твердую 5, а так все же 4.

stupin

Периодически захожу на сайт издательства ДМК-Пресс и интересуюсь новинками, пока их можно приобрести со скидкой. Не так давно моё внимание привлекла эта небольшая книжка на 140 страниц. Полистал содержание и отрывки из глав. Как оказалось, в книге рассматривается довольно широкий круг вопросов:

- проверка скобочной сбалансированности текста, - трансляция инфиксных арифметических выражений в постфиксную с учётом приоритетов операций и скобок, - вычисление постфиксных арифметических выражений, - устройство стековых виртуальных машин. В том числе рассматривается вопрос способа вызова подпрограмм, возврата из них, вопрос передачи аргументов подпрограммам, рекурсивные подпрограммы, - использование стековых конечных автоматов для трансляции исходных текстов программ на контекстно-независимых языках, - реализация виртуальной стековой машины, - трансляция программ с ассемблера в код виртуальной стековой машины, - даётся представление о языке программирования Forth.

Весь материал подаётся в популярной форме, рассчитанной на программистов-любителей, для которых программирование - это в первую очередь хобби. Книга может пригодиться и студентам.

Моё внимание прежде всего привлекли несколько вещей: трансляция инфиксных выражений в постфиксные, реализация стековой виртуальной машины и трансляция из ассемблера в код для этой стековой машины. Также полезен для понимания, как работают синтаксические анализаторы, раздел про стековые конечные автоматы. Про способ вызова подпрограмм и передачи аргументов через стек я знал и так, потому что у меня имеется опыт написания программ на ассемблере, поэтому только эти разделы показались мне не особо интересными. Книжку я читал долго - смаковал, т.к. она не большая, а темы интересные. Теперь интересно будет поделать упражнения и попробовать сделать свою реализацию виртуальной стековой машины и своего транслятора с ассемблера для неё.

Примеры с лифтом настораживают, датчик веса.

Может быть опасно для кого-то, если датчик сломается.

Возможно это какой-то не правильный пример, но не хочется полагать, что это связано с какой-то темной стороной.

Оставьте отзыв

Войдите, чтобы оценить книгу и оставить отзыв

Описание книги

Книга посвящена простой и удивительно элегантной структуре данных – стеку. Описаны скобочные структуры, подпрограммы (в том числе рекурсивные), передача параметров, разбор и вычисление выражений, распознавание последовательностей символов. Также рассмотрено описание устройства и реализация простой, но достаточно мощной стековой машины; приведены многочисленные примеры программ, а также список задач, в том числе нетривиальных. На сайте издательства dmkpress.com содержатся дополнительные материалы, среди которых исходные коды простого транслятора стековой машины (на языке Java).

Издание предназначено прежде всего пытливым старшеклассникам, студентам вузов, а также тем, для кого программирование – хобби.

Книга Алексея Вторникова «Стек, или Путешествие туда и обратно» — читать онлайн на сайте. Оставляйте комментарии и отзывы, голосуйте за понравившиеся.
Возрастное ограничение:
0+
Дата выхода на Литрес:
21 ноября 2017
Последнее обновление:
2017
Объем:
142 стр.
ISBN:
978-5-97060-517-2
Общий размер:
2.1 МБ
Общее кол-во страниц:
142
Правообладатель:
ДМК Пресс