piggymouse: (Default)
[personal profile] piggymouse

Маясь на работе от безделья, потратил некоторое время жизни на механическую работу по перегонке из PowerPoint в HTML слайдов для того самого Учебного Центра, руководительницу которого [livejournal.com profile] vladk не хочет никуда брать. Курс лекций, который я там изображал, носил условное название "Advanced software design in C++". Формально я просто учил товарищей C++, но фактически, пользуясь предоставленной мне свободой, пытался забивать им мозги несколько более высокоуровневыми вещами.

Вводная лекция начинается здесь. Честно скажу, студенты её почти всю проспали – уж очень она скучная. Последующие лекции, правда, шли повеселее. Для веба были бы хороши speaker notes, но я их в своих слайдах обычно не пишу. Оставим на будущее, и без них почти всё понятно.

Остальные лекции буду перегонять по мере сил и возможностей. Три лекции посвящены семантике и прагматике наследования (в частности, с точки зрения общей таксономии, там даже Любищев цитируется). Затем идут две лекции по общим приёмам и принципам дизайна (теория зависимостей примерно по Lakos'у, а также Open-Closed Principle и его многочисленные частные случаи). Потом одна лекция по шаблонам и их, так сказать, обобщениям (generic programming, паттерны). Больше я в прошлом году ничего не успел, а в этом мне новых студентов не дали. Вот мне сейчас [livejournal.com profile] vladk объяснит, чему учить программистов – а я ужо на ус намотаю.

Date: 2002-09-27 07:35 am (UTC)
From: [identity profile] raven-hl.livejournal.com
Мужик! Да у тебя четвертая категория!

Date: 2002-09-27 07:36 am (UTC)
From: [identity profile] piggymouse.livejournal.com
Сложности?

Date: 2002-09-27 07:40 am (UTC)
From: [identity profile] ait.livejournal.com
Дима! Вы научите их не срать под себя. Остальное всего лишь частности.

Date: 2002-09-27 09:01 am (UTC)
From: [identity profile] hollander.livejournal.com
Очень интересно, да!
Жаль, что я уже давно не студент, приехал бы учиться. Или просто послушать. :-)

Date: 2002-09-27 03:18 pm (UTC)
From: [identity profile] -mak-.livejournal.com
Я вот посмотрела на слайды и меня как-то задела классификация требований. Может я с какой-то неправильной точки зрения на это смотрю, но мне кажется, что по крайней мере в случае "клиентского" и "серверного" софта (про "системное" и "встроенное" ничего говорить не буду - не знаю) вообще нельзя рассуждать о требованиях с языковой точки зрения. Выбор языка/технологии для системы является бизнес-задачей. Преобладают такие требования к выбираемому языку как совместимость языков и технологий друг с другом и особенно с исторически сложившимися системами (legacy systems), распространненность (где я вам найду программистов на Delphi?), и наконец стоимость (если одно место на SAS стоит $32,000 в год, то я удавлюсь не буду на нем систему писать). Из прошедших бизнес отбор языков за выход в финал обычно дерутся не больше двух и вопрос решается наличием внутренней экспертизы. Так что мне кажется до скорости, гибкости и производительности дело никогда не доходит, и мне странно видеть их как приоритетные требования.

Date: 2002-09-29 11:28 pm (UTC)
From: [identity profile] piggymouse.livejournal.com

Согласен, место про требования выглядит притянутым за уши. Я тут на самом деле, во-первых, имел в виду точку зрения человека технического и, во-вторых, под словом "требования", понимал не основания для принятия решений в некоторой практической ситуации, обычно отягощённой некоторым внетехническим контекстом, а критерии для оценки некоторой теоретической адекватности инструмента задаче. Последний слайд с картинкой как раз и называется "Сравнительная адекватность ЯП". Всё ж таки целевая аудитория – студенты-программисты, а не MBA с уклоном в IT.

Реальная жизнь, конечно, от мысленных экспериментов ой как отличается. Иногда на цельное π радиан. Особливо критерий внутренней экспертизы этим характеризуется.

Вот, кстати, пример чисто технической точки зрения, не отягощённой бизнес-контекстом. Steve McConnell, по совсем другому поводу:

We have a lot of methodologists in our industry who are selling hammers, and they're trying to convince the industry that all software problems look like nails. I see methodologies as tools that software developers need to apply selectively to specific situations. If your problem looks like a nail, use a hammer. If it looks like a nut, use a wrench.

Date: 2002-09-30 05:35 am (UTC)
From: [identity profile] -mak-.livejournal.com
Вспоминается мой любимый анекдот про разницей между теорией и практикой... :-)

Я вот еще забыла сказать в прошлый раз. Что мне в твоей лекции понравилось, так это перевод терминов на русский. Я сама разговариваю о таких вещах на жутком руглише, но конечно же в России это неприемлемо. Зная какая это морока переводить термины, снимаю шляпу.
From: [identity profile] piggymouse.livejournal.com

На добром слове спасибо. Хотя навскидку в пока что опубликованном есть только один термин, переведённый мной без чужой помощи, а именно "insulation" → "изоляция". Дальше будет ещё россыпь ("levelization" → "ранжирование" и страшные уродцы типа "escalation" → "ранжирование подъёмом"). Всё из Lakos'а, ибо на русский его не переводили, а область достаточно специфичная.

Анекдот хочется услышать.

From: [identity profile] -mak-.livejournal.com
Пришел сын из школы и спрашивает у папы в чем разница между теорией и практикой. "Пойдем, сынок, я покажу тебе разницу". Подходят они к матери и спрашивают "Отдалась бы ты незнакомцу за миллион долларов?" Она говорит, "Ну отдалась бы". Идут к старшей сестре и задают такой же вопрос. "За миллион? Конечно отдалась бы!" Идут к средней сестре, она тоже говорит, что отдалась бы. "Вот смотри, сынок," - говорит папа - "теоретически у нас с тобой есть три миллиона долларов, а практически - полный дом блядей."

Date: 2002-09-27 11:37 pm (UTC)
From: [identity profile] 109.livejournal.com
классно!
а не дашь какие-нибудь ссылки на литературу про общую таксономию и теорию зависимостей? то есть, если это есть на сети, то вообще идеально, но даже ссылка на амазон поможет (ебук поможет больше, чем обычная книга).

Date: 2002-09-29 11:08 pm (UTC)
From: [identity profile] piggymouse.livejournal.com
Что до теории зависимостей, я использую в основном вариант, изложенный Lakos'ем в книжке Large-Scale C++ Software Design. Насчёт общей таксономии, а особливо общей теории систем в её применении к биологии, могу рекомендовать следующих авторов: Александр Любищев, Юрий Чайковский, Сергей Мейен. На Амазоне и прочих подобных местах их конечно нету.

Re:

Date: 2002-09-30 07:06 am (UTC)
From: [identity profile] 109.livejournal.com
На Амазоне и прочих подобных местах их конечно нету.

а где есть?

Date: 2002-10-01 07:21 am (UTC)
From: [identity profile] piggymouse.livejournal.com
Боюсь тебя огорчить, но ХЗ. Книжки или советского времени, или издания Ульяновского университета.

Re:

Date: 2002-10-01 08:58 am (UTC)
From: [identity profile] 109.livejournal.com
я больше всего ебуки люблю. когда же наконец всё начнёт издаваться в виде ебуков?

я их скачиваю из осла, печатаю на лазерном принтере и вставляю в биндер. получается книга за два доллара.

Profile

piggymouse: (Default)
איש אי הכלבים

April 2011

S M T W T F S
     1 2
34 56 789
10 1112 13141516
17181920212223
24252627282930

Most Popular Tags

Style Credit

Expand Cut Tags

No cut tags
Page generated Mar. 21st, 2026 02:39 am
Powered by Dreamwidth Studios