План учебника
Jan. 27th, 2015 12:29 pm![[personal profile]](https://www.dreamwidth.org/img/silk/identity/user.png)
Совместными усилиями с
snowman_sailor и
ramendik написали план учебника по введению в программную инженерию. Вместо двух частей получилось три.
На мой взгляд, проект получился весьма амбициозным, и не уверен что у нас троих хватит квалификации, чтобы раскрыть (особенно, учитывая ограничения на объем) все темы. (правда, как известно, хочешь в чем-нибудь разобраться - прочитай по нему спецкурс).
В общем я бы с удовольствием пригласил на отдельные разделы других авторов, которые лучше меня понимают в соответствующих вопросах. (все это планируется публиковать под CC).
![[livejournal.com profile]](https://www.dreamwidth.org/img/external/lj-userinfo.gif)
![[livejournal.com profile]](https://www.dreamwidth.org/img/external/lj-userinfo.gif)
На мой взгляд, проект получился весьма амбициозным, и не уверен что у нас троих хватит квалификации, чтобы раскрыть (особенно, учитывая ограничения на объем) все темы. (правда, как известно, хочешь в чем-нибудь разобраться - прочитай по нему спецкурс).
В общем я бы с удовольствием пригласил на отдельные разделы других авторов, которые лучше меня понимают в соответствующих вопросах. (все это планируется публиковать под CC).
no subject
Date: 2015-01-29 09:19 am (UTC)OK, я под учебником подразумевал не просто "ознакомительную книгу", которую можно прочесть за выходные, а именно серьёзный курс на полгодика, который даст знания по перечисленным темам, с многочисленными упражнениями для самостоятельной работы и с какими-то критериями "конечного состояния" - что человек должен иметь хорошее представление обо всех написанных темах.
Сейчас, поразмыслив ещё раз над вашей книгой, я склоняюсь, что изначальная задумка была именно "ознакомительная, галопом по Европам", чтобы у человека легче "наслаивались" знания, полученные в ходе работы. Если так - то да, может быть, будет удачно, и в таком случае действительно имеет смысл затронуть побольше. (Опять же, я бы не называл это учебником, т.к. учебник подразумевает серьёзную работу над книгой). Так что можно ничего выкидывать.
Самая бессмысленная глава у вас про пользовательский интерфейс, т.к. всё, что в ней - не нужно backend-программисту, но отсутствуют важные вещи:
-- model-view-controller architecture (чтобы тот редкий UI, который иногда приходится писать, был тестируемым),
-- командная строка (что это, как её используют и парсят, эскейпинг вложенных параметров и сложных значений),
-- редирект ввода-вывода, pipes, etc,
-- конфигурация - обзор нескольких языков/форматов для конфигов, желательно с поддержкой иерархии наследования и каким-то хотя бы подстановочным функционалом.
Всё это можно отнести как к UI, так и к межпрограммному взаимодействию.
no subject
Date: 2015-01-29 09:30 am (UTC)Что касается вашего мнения что бэкэнд-программисту интерфейсы пользователя не нужны, категорически не согласен. Сейчас создание UI находится в глубоком кризисе. Именно из-за того, что его готовить не умеют. Поэтому стараются отпихнуть.
Специализация на бэкнд и фронтенд программистов должна быть сильно позже чем этот общий курс. А здесь задача - дать понять как соотносится то, что человек видит своими глазами как пользователь, с теми маленькими кусочками, которые ему предстоит разрабатывать в начале своей карьеры.
no subject
Date: 2015-01-29 09:40 am (UTC)Насчёт UI - полностью согласен, что оно в глубоком кризисе. Тем не менее, если добавить одно, убавится что-то другое. Вот вы хотите сэкономить эти три месяца осваивания джуниора на работе. А на сколько месяцев вы планируете чтение этой книги? Будет ли ему выгодно её читать, или проще освоить всё на работе, не спеша изучая из специализированной литературы, а также из личного опыта и из опыта коллег, ровно то, что нужно вот для этого конкретного проекта?
Задумка отличная, но я совсем не оптимист, что она будет успешной. Я мечтал бы о такой книге, которую можно прочесть и всё, что нужно, будет понятно. Но на практике многие вещи реально осваиваются только через опыт.
Я не разрабатывал GUI в начале моей карьеры, и есть много back-end программистов, которые сразу именно с этого и начали. Есть embedded программистЫ, для которых лучший GUI это мигание лампочек на схеме. GUI всё-таки не всеобъемлющая тема, нужная действительно всем-всем. Вот security - пожалуй, нужная всем.
no subject
Date: 2015-01-29 10:09 am (UTC)Поэтому мы ставим себе существенно более ограниченную задачу - написать книгу, из которой будет понятно, что читать дальше.
no subject
Date: 2015-01-29 10:20 am (UTC)no subject
Date: 2015-01-29 10:28 am (UTC)no subject
Date: 2015-01-29 10:31 am (UTC)И нет, не лучше убирать. Читателя надо эпатировать.
Желающие сделать лучше, пусть сделают на основе своего опыта. И таких будет несколько больше, если их задеть за живое, заявив "А вот мы знаем, как надо".
И вообще гордыня - это одна из величайших добродетелей программиста, как сказал великий Ларри Уолл.
no subject
Date: 2015-01-29 10:36 am (UTC)