beldmit: (Манул)
[personal profile] beldmit
Вот тут [livejournal.com profile] zabivator пишет о том, что надо бы читать в вузах для программистов. Я с этим категорически не согласен.

Оставим в стороне количество известных мне квалифицированных программистов без формального высшего образования. Вернемся к сути.

Вообще высшее образование предназначено для формирования у человека картины мира, более детальной в области дальнейшей специализации. На которой ему предстоит выращивать свои навыки, в том числе и трудовые. Еще одна задача высшего образования - умение работать с информацией (ага, на моей памяти три метода поиска помню, и не факт, что через пару лет не появится какой-нибудь новый).

Так вот, перечисленные Олегом вещи - это не куски картины мира. Навыки чтения и написания email - в чистом виде делопроизводство, уж простите. Курсы секретарей, 3 месяца без отрыва от труда. Task management - тоже где-то рядом на самом деле. Нужны не программистам, а каждому экземпляру офисного планктона. Да, способы работы с электронной почтой можно еще немного с психологией увязать, но тоже не в вузовском объеме.

А первые 2 пункта - про Release management и QA - более-менее IT-специфичные навыки. Но - проблема в том, что они не научные, а ремесленные. В лучшем случае - инженерные. Computer science там внутри тоже есть - в алгоритмах слияния изменений, например. Но этому учить надо явно не всех программистов. Как не всех надо учить лингвистике, но всех - правилам про жи-/ши.

На самом деле программирование - не отрасль математики. И не надо впустую тратить силы на подготовку программистов в ВУЗах. Готовить их (нас) по большей части надо в техникумах. Вбивая навыки ремесла: комментарии, автотесты, выравнивание кода, говорящие названия переменных - как вбивают технику безопасности работы на токарном станке.

Date: 2011-02-09 10:09 am (UTC)
From: [identity profile] gineer.livejournal.com
\\ поделились на два класса - одну чтобы нечувствительно сделал сам пользователь, вторую - чтобы программист-инженер или хотя бы техник сделал быстрее, чем он сейчас это кодеру объясняет.

То есть... чтобы вообще устранить надобность в программистах? :))

А так... и сейчас такое все новое и новое пробуют.
Со стороны обычных пользователей -- разные скриптовые языки, веб-технологии и т.п.
Только обычные пользователи что-то совсем не спешат с этим всем разбиратся -- все равно хотят какого-нибудь эникейщика, который бы это за них делал, а им оно чтобы "просто работало".

А с другой стороны -- придумывают всякие CASE средства.
Вон Симони со своими Language Workshop'ами... какраз такая идея -- чтобы специалист не общался с програмером, а писал мета-спецификации по своей проблемной области.
Но что-то не слышно там большого хая на эту тему, свидетельствующего об успехе.
Видать потому, что эти мета-спецификации ВСЕ РАВНО нужно кому-то брать и переводить на язык компьютера.

Date: 2011-02-09 10:15 am (UTC)
vitus_wagner: My photo 2005 (Default)
From: [personal profile] vitus_wagner
Лично я под словом "программист" понимаю человека который способен спроектировать систему - вытрясти из пользователя невнятные хотелки и сделать из них формализованную спецификацию. Вот эта спецфикация и должна исполняться непосредственно, минуя стадию кодера.

Вообще на самом деле все делается ровно наоборот, по сравнению с тем что надо бы.

Скриптовые (и вообще высокоуровневые) языки нужно давать в руки программисту, системному архитектору. Он, в отличие от пользователя с ними справляться умеет.

А пользователю надо давать "интуитивно понятные" GUI-средства.

Date: 2011-02-09 10:18 am (UTC)
From: [identity profile] beldmit.livejournal.com
Боюсь, ты сделал сколько-то ошибок в написании слова "аналитик".

Но с выводами - согласен.

Date: 2011-02-09 10:31 am (UTC)
From: [identity profile] bydl0coder.livejournal.com
Вы правда верите в этих ваших "программистов" и "кодеров" или просто по инерции ерунду пишете?

Date: 2011-02-09 12:57 pm (UTC)
From: [identity profile] gineer.livejournal.com
\\вытрясти из пользователя невнятные хотелки и сделать из них формализованную спецификацию. Вот эта спецфикация и должна исполняться непосредственно, минуя стадию кодера.

Вот это и есть то, что хотят получить через всяческие Language Workbench'и (http://martinfowler.com/articles/languageWorkbench.html)
Подсунуть пользователю вордо-подобную среду, в которой он словами своей проблемной области бы, написал чего ему хочется.
Дальше эти спецификации (полу)автоматически транслируются в тот или иной язык.
А "системные архитекторы" какраз тем и занимаются -- обеспечением того, чтобы подобная трансляция происходила максимально гладко.


\\А пользователю надо давать "интуитивно понятные" GUI-средства.

Дык... ему даже интуитивно понятные не нужны, он все равно в них запутается (или сделает вид что запутался), а нужно "где здесь кнопочка на котрую нажать и за меня компьютер все сделает?". :)
Классический пример -- интуитивно понятный ворд, к которому подсадили людей после печатающей машинки,
и они теперь по жизни набивают отступы пробелами. :)

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

Profile

beldmit: (Default)
Dmitry Belyavskiy

December 2025

S M T W T F S
 123456
78910111213
14151617181920
2122 2324252627
28293031   

Most Popular Tags

Style Credit

Expand Cut Tags

No cut tags
Page generated Dec. 26th, 2025 08:45 pm
Powered by Dreamwidth Studios