Andrey Stolyarov

Андрей Викторович Столяров: сайт автора

image of the cover Вот буквально только что я притащил домой тираж четвёртого тома. Пользуясь случаем, выражаю безграничную признательность издательству МАКС Пресс и лично Алле Николаевне Матвеевой — эти самоотверженные люди в последний день перед всеобщим закрытием практически вырвали тираж книги из типографии, которая уже вознамерилась совсем закрыться, так и не доделав книгу.

Пошёл приходить в себя. Всё остальное — обложка, страничка, электронная версия, отчёты и планы на будущее — чуть позже.

UPD: Электронная версия книги доступна на странице, посвящённой чевёртому тому. Пока не работает ссылка на архив примеров, работы ведутся. Архив примеров выложен.


From Anonymous (unverified) Mon Jun 8 11:51:00 2020 UTC pencil

здравствуйте

здравствуйте Андрей Викторович, в вашей книге было фраза типа <<в знаменитой школе>>, насколько я понимал это было о школе 21, я наступил там, и очень хотел знать ваше мнение о этой школе, заранее спасибо

parent From admin profile Sat Aug 22 19:21:59 2020 UTC pencil

userpic

Я не знаю, из

Я не знаю, из какого контекста вы вытащили что-то про "знаменитую школу", я нигде такого не писал и уж точно ничего никогда не писал конкретно про 21-ю.

From Anonymous (unverified) Sat Apr 4 20:56:00 2020 UTC pencil

Здравствуйте,Я,

Здравствуйте,

Я, к сожалению, не программирую в среде Linux, но есть Cygwin. Попробовал откомпилировать hello.cpp по книке - ошибка компилятора.
"gcc -Wall -g hello.cpp -lfltk -o hello" не работает, работает либо: "g++ -Wall -g hello.cpp -lfltk -o hello", либо: "gcc -Wall -g hello.cpp -lfltk -llibstdc++ -o hello"

С уважением,
Владимир

parent From admin profile Sun Apr 5 09:52:00 2020 UTC pencil

userpic

Как я могу

Как я могу догадаться, в чём ошибка, если вы не показали ни содержимое вашего hello.cpp, ни версию компилятора, ни саму ошибку?

Впрочем, кажется, до меня дошло — да, на стр. 261 допущен, как говорят, косяк. Я не знаю, что за изменённое состояние сознания у меня было, когда я этот пример вызова компилятора написал. Должно быть, конечно, не gcc, а g++ — программа-то физически та же самая, но набор библиотек по умолчанию подхватывается другой.

P.S. С cygwin'ом настоятельно рекомендую завязывать. Во-первых, под форточками есть MinGW, это решение намного лучше — получаются нативные программы для win/*, я сам этот MinGW использую, когда нужно перенести программу из *nix в win/*. Во-вторых, если так и останетесь под форточками (и даже если перейдте на Linux, но будете использовать иконочные файловые менеджеры), то от моих книжек вам никакого проку не будет.

From Антон (unverified) Sat Apr 4 19:35:00 2020 UTC pencil

Вопрос по материалу четырёхтомника

Уважаемый Андрей Викторович, огромное спасибо за такую простую подачу материала про указатели! Проще, наверное, некуда. Знакомым очень рекомендую Вашу книгу. Только никак не могу разобраться: что конкретно делает звёздочка в

void *malloc(int size);

Как это работает вот здесь, в заголовке функции?

parent From admin profile Sun Apr 5 09:50:08 2020 UTC pencil

userpic

Так же, как и везде

Есть общий принцип чтения описаний, во втором томе он описан на стр. 403-404. Начинаем с описываемого имени, в данном случае это malloc. То, что стоит справа, имеет более высокий приоритет, а там стоит список параметров; получается, что «malloc — это функция, принимающая на вход int и возвращающая...» Скобки мы прочитали, упёрлись в точку с запятой, так что теперь остаётся идти налево. Звёздочка читается как «указатель на», дальше стоит void, на этом всё кончается. Итого:

malloc — это функция, принимающая на вход int и возвращающая указатель на void.

Конечно, поскольку указатель — это такая переменная и формально указатель вообще нельзя вернуть из функции, правильнее будет сказать "возвращающая адрес памяти типа void", т.е. нетипизированной памяти — просто адрес, без привязанной к нему информации о типе.

From Anonymous (unverified) Thu Apr 2 04:53:00 2020 UTC pencil

Снимаю шляпу

Ваш финишировавший проект - как глоток чистого свободного воздуха средь коммерческого смрада. Удачи Вам во всех Ваших начинаниях! Да минует Вас вирус коронный :)

From Anonymous (unverified) Tue Mar 31 16:56:00 2020 UTC pencil

Здравствуйте,А

Здравствуйте,

А у вас планируется 5 том? Ну, к примеру, про декларативное программирование

С уважением,
Владммир

parent From admin profile Tue Mar 31 18:07:37 2020 UTC pencil

userpic

Пятый не

Пятый не планируется. У меня была задумка на пятый том -- теория алгоритмов и вычислимости, теория вычислительной сложности, формальные грамматики, практическая алгоритмистика (включая всяческие сортировки) и прочее. Судя по тому, что четвёртый том я еле-еле написал за 2.5 года, на пятый мне может не хватить оставшейся продолжительности жизни, так что писать я его не буду.

Декларативное программирование рассмотрено в четвёртом, см. главу 11.4.

parent From Anonymous (unverified) Fri Apr 3 01:26:00 2020 UTC pencil

Кнут же пишет...

написание серъёзной книги это не в туалет пойти и поссать. Д. Кнут свои бессмертные книги всю жизнь пишет, а он между прочим пожилой человек и умирать точно не собирается.

parent From admin profile Fri Apr 3 10:41:53 2020 UTC pencil

userpic

Ну, если бы у

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

From Anonymous (unverified) Sat Mar 28 14:34:00 2020 UTC pencil

Chicken Scheme

А куда можно писать комментарии по четвёртому тому? На его странице такой возможности не предусмотрено.

У меня не работает пример с Chicken Scheme:

$ cat echo.scm
(map (lambda (s)
       (display s)
       (display " "))
     (command-line-arguments))
(newline)
$ csi -s echo.scm

Error: unbound variable: command-line-arguments

        Call history:

                  (##core#begin (##core#require expand chicken.syntax#))
                  (##core#require expand chicken.syntax#)
                  (##sys#load-library (##core#quote expand))
                  (##core#quote expand)
            (##sys#load-library (##core#quote library))
            (##sys#load-library (##core#quote library))
            (##sys#load-library (##core#quote expand))
                  (map (lambda (s) (display s) (display " ")) (command-line-arguments))
                  (lambda (s) (display s) (display " "))
                  (##core#lambda (s) (display s) (display " "))
                  (##core#begin (display s) (display " "))
                  (display s)
                  (display " ")
                  (command-line-arguments)
            (map (lambda (s) (display s) (display " ")) (command-line-arguments))
            (command-line-arguments)      <--

parent From admin profile Sat Mar 28 23:50:41 2020 UTC pencil

userpic

Комментарии на

Комментарии на странице 4 тома открыл, спасибо за сообщение.

По поводу csi -- версия какая? Если пятая, добавьте вот такую строчку:

(import (chicken process-context))

В четвёртой версии это не нужно. В других местах эта разница в книге упоминается (см., например, стр. 402), но вот конкретно в параграфе 11.2.1, откуда вы, видимо, и взяли этот пример, я упомянуть это забыл, увы.

parent From Anonymous (unverified) Sun Mar 29 11:48:00 2020 UTC pencil

Да, пятая.

Да, пятая. Добавил импорт -- заработало, спасибо.

можно воспользоваться флагом -static, чтобы csc создал полностью автономный исполняемый файл, не зависящий ни от каких библиотек.

А четвёртом Chicken'е этот флаг избавляет от всех зависимостей? Потому что у меня, в пятом, зависимость от системной libc остаётся.

Хотя, может быть это уже и не от самого Chicken с его версиями зависит, а от нижележащего сишного компилера/линкера, которым он код передаёт.

parent From admin profile Sun Mar 29 11:56:33 2020 UTC pencil

userpic

У меня с

У меня с четвёртой версией получался честный статический бинарник, то есть ни от чего не зависящий. Пятой версии сейчас под рукой нет, не могу попробовать.

От компилятора Си это зависеть не должно вроде бы.

From Anonymous (unverified) Sat Mar 28 08:24:00 2020 UTC pencil

Спасибо, Мастер!

Спасибо, Мастер!

parent From admin profile Sat Mar 28 11:03:53 2020 UTC pencil

From Anonymous (unverified) Sat Mar 28 06:40:00 2020 UTC pencil

что дальше

что дальше ?
есть какие то планы ?

parent From admin profile Sat Mar 28 11:01:37 2020 UTC pencil

userpic

Конечно, есть

Конечно, есть планы. Будет отдельная новость на эту тему. Дайте выдохнуть :-)

parent From jamesjames7 (unverified) Sun Mar 29 11:38:00 2020 UTC pencil

Книгу о LaTeX бы

Книгу о LaTeX бы перевыпустить осовремененную...
Так сказать не только для дипломной, но и для других полезных офисных применений.

From jamesjames7 (unverified) Sat Mar 28 00:47:00 2020 UTC pencil

Архив с

Архив с примерами — «Страница не найдена».

parent From admin profile Sat Mar 28 11:00:57 2020 UTC pencil

userpic

Дык это,

Дык это, специально же в тексте новости (где UPD) написал, что оно пока не работает. Там надо часик поразгребать бардак, который накопился за 2.5 года, нету у меня прямо сейчас этого часика, уж простите. Надеюсь, завтра (в воскресенье) всё будет.

From leanid (unverified) Fri Mar 27 21:46:00 2020 UTC pencil

Отлично! Мои

Отлично! Мои поздравления!

From Anonymous (unverified) Fri Mar 27 20:05:00 2020 UTC pencil

Большое

Большое спасибо Вам и издательству!
Здоровья и спокойствия всем нам.


pencil

пояснение


Вы находитесь на официальном сайте Андрея Викторовича Столярова, автора учебных пособий по программированию и информационным технологиям.

Если вы искали сайт замечательного писателя-фантаста Андрея Михайловича Столярова, то вам, к сожалению, не сюда.

Андрей Михайлович Столяров в библиотеке Мошкова

Авторские права © Андрей Викт. Столяров, 2009 — 2024