?

Log in

Книголюбское - Журнал Витуса.
[Друзья] [Свежие записи] [Dreamwidth] [Фото] [Тексты] [Друзья Ирины] [Матерные писатели] [Сообщества] [3 круг]
January 13th, 2015
05:18 pm
[User Picture]

[Link]

Previous Entry Share Next Entry
Книголюбское
А.В. Столяров, некогда известный в ЖЖ как croco, собирает денег на краудфундинговый проект книги "Программирование. Введение в специальность".

Это личность достаточно неординарная, зотя до "нашего советского Эрика Раймонда" он всё же по-моему не дотягивает. Посмотрев на план задуманной книги мне захотелось, правда, материться.

Потому что опять там обучение детей плохому. В смысле Турбо Паскалю и модулю crt. Надо что-ли попробовать ему объяснить всю глубину концептуальной ужасности этого модуля. Ведь есть же у него раздел "Почему за использование gets и scanf("%s",...) увольняют с работы ". Вот за использование модуля crt не увольняют с работы только потому что за написание на турбопаскале давно никому денег не платят. А в то время, когда я получал деньги за это (лет двадцать назад), я б увольнял. Особенно, за использование этого модуля в программах имеющих CLI-интерфейс, программах, использующих графический режим и программах, использующих Turbo Vision. Впрочем, после распространения процессоров с частотой более 200МHz за использование этого модуля нужно вешать на прерывании от таймера в любом случае.

И еще стоит рассказать, раз уж мы с этим связываемся, почему модуль opcrt из Objects Professional далеко не такая ужасная гадость, как модуль crt.

Ну то есть на примере этого модуля можно очень хорошо учить детей как НЕ НАДО программировать.
Благо исходники доступны.

Далее, почему-то в книге практически отстутсвуют высокоуровневые языки. Ну кроме любимого автором Лиспа, который одновременно может рассматриваться как чуть ли не самый высокоуровневый и чуть ли не самый низкоуровневый из всех языков.

Но пихать лисп в раздел "парадигмаы программирвоания" по-моему, огромная концптуальная ошибка. Лисп по мультипарадигменности превосходит C++ и Perl вместе взятые. А парадигмы лучше демонстрировать на чистых примерах.

Вообще интересно, можно ли заинтересовать этим проектом balovstvo.me. Если правильно попинать автора в нужном направлении, может получиться очень неплохая книга, и будет обидно если качество ее бумажного издания окажется не на уровне.

This entry was originally posted at http://vitus-wagner.dreamwidth.org/1042343.html. Please comment there using OpenID. Now there are comment count unavailable comments

Tags: ,

(140 comments | Leave a comment)

Comments
 
[User Picture]
From:tzirechnoy
Date:January 13th, 2015 02:40 pm (UTC)
(Link)
Только egavga.bgi, только хардкор!
[User Picture]
From:leotsarev
Date:January 13th, 2015 02:41 pm (UTC)
(Link)
ААААААААААААААА.
Зачем учить детей этому сейчас?
[User Picture]
From:gryzchick
Date:January 13th, 2015 02:44 pm (UTC)
(Link)
"Я буду учить программировать игры на PHP, потому что я хорошо знаю РHP, это надежный, зарекомендовавший себя инструмент".
[User Picture]
From:eldhenn
Date:January 13th, 2015 02:46 pm (UTC)
(Link)
Зачем ещё одна книжка по турбо-паскалю, если есть Фаронов? Ну да, это было 15, даже 20 лет назад, ну и что? Что-то изменилось - в турбо-паскале, в смысле?
[User Picture]
From:vitus_wagner
Date:January 13th, 2015 02:52 pm (UTC)
(Link)
Фараонов совершенно не учит программировать.

А Столяров может даже на примере ассемблера научить именно программировать.
Но лучше бы он, конечно, учил на более адекватных современности примерах.
[User Picture]
From:ico
Date:January 13th, 2015 03:22 pm (UTC)
(Link)
боже... кроко пинать? он же принципиально непинаем. :)
http://irc.fidorus.ru/calc.cgi?keyword=croco
[User Picture]
From:arilou
Date:January 13th, 2015 03:31 pm (UTC)
(Link)
А может быть, есть смысл написать другую книгу? Потому что, как мне кажется, у тебя настолько серьёзные претензии к подходу, что "заменить автора" было бы проще, чем переубедить и объяснить, как это правильно сделать.
[User Picture]
From:vlkamov
Date:January 13th, 2015 03:43 pm (UTC)
(Link)
Про "детей" - шутка ?
[User Picture]
From:vitus_wagner
Date:January 13th, 2015 07:14 pm (UTC)
(Link)
Студентов уже поздно учить на таком уровне. Это программа для ПТУ (т.е. теперь - колледжей).
[User Picture]
From:gegmopo4
Date:January 13th, 2015 04:07 pm (UTC)
(Link)
Ты полагаешь, что получится допинать автора, который составляет такой план книги сейчас, а не 25 лет назад?
[User Picture]
From:tzirechnoy
Date:January 13th, 2015 04:16 pm (UTC)
(Link)
Но вообще, конечно, пытать сейчас детей реализацыей недоязыка прошлой эпохи под довольно дебильный однозадачный монитор на откровенно зубодробительной архитектуре из прошлого -- это издевательство.

Хужэ только пытать их дохлым, и от рождения невменяемым ассэмблером этой архитектуры.
[User Picture]
From:vitus_wagner
Date:January 13th, 2015 07:13 pm (UTC)
(Link)
Да, пожалуй, если уж брать язык низкого уровня, для которого требуется эмулятор вымершего компьютера, то в качестве ассемблера нужно брать Macro 11. simh ничуть не сложнее в установке, чем dosbox.
[User Picture]
From:d1f
Date:January 13th, 2015 04:17 pm (UTC)
(Link)
А когда напишет, её включат в школьную программу по информатике
только благодаря паскалю.
[User Picture]
From:kouzdra
Date:January 13th, 2015 04:50 pm (UTC)
(Link)
Я некоторое время думал а что на сам деле вместо трубопаскаля - пришла в голову мысль что Go - язычок посовременнее и имеющий практические применения, при этом достаточно в стороне от основных шаблонов - не засрет голову с самого начала лишней конкретикой - типа как Java нельзя учить не засрав голову ООП, а ML - функциональщиной.
[User Picture]
From:permea_kra
Date:January 13th, 2015 05:14 pm (UTC)
(Link)
Go на самом деле засирает мозг точно так же - парадигмой структурного программирования. Как, впрочем, и паскаль.
[User Picture]
From:rblaze
Date:January 13th, 2015 05:13 pm (UTC)
(Link)
а где детям предлагается брать трупопаскаль и как его запускать?
[User Picture]
From:verniy_leninetz
Date:January 13th, 2015 05:18 pm (UTC)
(Link)
Lazarus?
http://www.lazarus.freepascal.org/

Edited at 2015-01-13 05:19 pm (UTC)
[User Picture]
From:elentin
Date:January 13th, 2015 11:13 pm (UTC)
(Link)
Наоборот же, Крокодил ругает использование модуля crt и вообще то, что всё ещё осталось в виде так называемого "практикума по программированию" на 1м курсе ВМК - как раз под тем самым Turbo Pascal-ем.

(апдейт: сходила на сайт, перечитала внимательно, поняла, что со времён 1го курса про Паскаль не помню ничего - но во всяком случае Крокодил точно никак не может быть за древний Борланд под не менее древней виндой).

Edited at 2015-01-13 11:34 pm (UTC)
From:arstneio
Date:January 15th, 2015 03:33 pm (UTC)

Это так

(Link)
В своём эссе «Язык С и начальное обучение программированию» (2010 г.), обосновывающем недопустимость замены Pascal на, в данном случае, С, в конце, на странице 15, Столяров пишет "...следует отказаться от от давно и прочно мёртвой платформы MSDOS и Турбо-Паскаля, который уже больше десятка лет не поддерживается производителем." Про Турбо Паскаль в плане содержания книги нет ни слова, модуль же CRT работает и с Free Pascal, на пользу внедрения которого в компьютерных классах также указывает Столяров.
[User Picture]
From:cema
Date:January 14th, 2015 04:13 pm (UTC)
(Link)
Турбо Паскалю и модулю crt

?!
[User Picture]
From:id.croco.net
Date:January 17th, 2015 07:42 pm (UTC)

ФакЪ

(Link)
Витус, если ты не умеешь читать, то это твои проблемы, и никоим образом не повод возводить на меня поклёп. Я требую официальных извинений и опровержения твоего заведомо клеветнического утверждения о том, что я якобы предлагал использовать турбо-паскаль в обучении. Ты бы ещё меня заподозрил в предложении использовать MS-DOS, ага.

Давно не был так зол.
[User Picture]
From:vitus_wagner
Date:January 17th, 2015 08:58 pm (UTC)

Re: ФакЪ

(Link)
Я не умею читат? А вот это не у тебя написано?


Модуль crt и его основные возможности
Как определить размер окна терминала с помощью GoToXY, WhereX и WhereY
Функции KeyPressed и ReadKey; расширенные коды управляющих клавиш. Как писать динамические игры в текстовом режиме


Турбо-паскаль - это язык такой, а не конкретная реализация. Этот язык сочетает все недостатки виртовского паскаля, всех недостатки C и добрую половину недостатков ранних микрософтовскитх бейскиков. Борландовская реализация обладала рядом своих собственных достоинств (например инкрементальный линкер там хороший был), но у реализации с freepascal.org нет и их.

Ты б еще Фортрану IV детей учил. (и плевать что в GNU compiler collection фортран входит).

Одним из недостатков, унаследованных от ранних микросовтовских бейсиков является как раз стиль написания интерфейса, созданный в модуле crt. Учить писать аляповатые, раскрашенные как попугаи интепрейсы (которые, кстати, последнее время полюбили в линуксе, впихивая анси-коды изменения цвета куда ни попадя - зло). Либо ты пишешь в stdout, ожидая что результат будут перенаправлять в текстовый файл, grep и т.д, либо ты используешь нормальную оконную библиотеку, ну то есть не менее чем curses. Все промежуточное есть зло.



[User Picture]
From:m0z9
Date:January 18th, 2015 02:35 pm (UTC)
(Link)
Оооо, какой жыр в каментах! :D

А "вешать на прерывании" - это свежо, это буквально аналог "10 годам расстрела"
[User Picture]
From:wizzard0
Date:January 18th, 2015 07:39 pm (UTC)
(Link)
> можно ли заинтересовать этим проектом balovstvo.me

можно, конечно :) Максима напечатали, и это напечатаем, если стоит. а оглавление вызывает конечно вопросы, это да :)

- я бы не сказал, что это "введение в профессию", это "введение в кодинг", т.к. профессия хоть чуть-чуть должна все же описывать workflow, да.
- пока что "введение в программирование" для меня прежде всего SICP, а оно как-то на него мало похоже
- учить "галопом в конце" C++ это как-то убийственно. если уж ООП, то на чем-то другом, раз C уже в головах есть, то можно и python (и потом PyQT) какой. или Objective-C, он гораздо нагляднее и возможно даже практичнее.
- ну и еще много чего добавить можно, да.

Edited at 2015-01-18 07:51 pm (UTC)
[User Picture]
From:vladicusmagnus
Date:January 19th, 2015 08:09 pm (UTC)
(Link)
Визард, друг мой. Поясни мне выгоду и необходимость питоши особенно в зацепе с обычным сишным кодом? Ну вот, до сих пор не понимаю.

Да и вообще, бат-файлы, наше все :)))) Тот же питон, только улучшенный :)
My Website Powered by LiveJournal.com