Отправляет email-рассылки с помощью сервиса Sendsay
  Все выпуски  

Служба Рассылок Городского Кота


Служба Рассылок Городского Кота

Доброе время суток, уважаемые подписчики !

Сегодня 23 февраля - первый выпуск рассылки "Программирование программных систем".Данную дату гораздо проще запомнить, так как она бывает только один раз в год. ;-)

Пользуясь случаем, хочу поздравить мужскую часть подписчиков с днем Защитника Отечества и пожелать им усиленной борьбы со своим Я и ОНА (жизнь, а вы что подумали). Еще хочется поздравить и женскую половину подписчиков (к моему сожалению их гораздо меньше половины), без которых вряд ли существовал бы мужской род (да и женский тоже) ;-)

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

Нулевой выпуск, вернее письма, присланные вами, помогли мне сделать несколько важных выводов:

1. Среди моих подписчиков очень много тезок, то есть Сергеев. ;-) Если воспользоваться кармальной теорией и влиянием имени человека на... Ой ! Пора прекращать такие умонастроения. ;-)

2. Теперь о серьезном. Более половины подписчиков выбрали эту рассылку в качестве средства для обучения, что само по себе очень приятно и похвально. Люди, понимающие что такое технология программирования, наверняка (и я это знаю!) не отвечали на простой вопрос, заданный мной для теста): Стоит ли включить в рассылку практические вопросы, связанные с конкретными языками программирования. . Люди мало знакомые с CASE средствами отвечали, что да. Некоторые хотели C++, некоторые Java. Я думаю через несколько выпусков вы поймете, почему данный вопрос не существенен.

3. Почти все, приславшие мне свои письма, подтвердили мою позицию в отношении рассылки. В основном (!) каждая рассылка будет состоять из двух разделов: теория, излагаемая систематически, (возможны и отклонения, связанные с вашими запросами) и ответы на ваши вопросы.

4. Нетрудно было предсказать, что основную массу подписчиков интересуют фактически CASE средства.

В связи с тем, что теорию всегда желательно подкреплять практикой, у меня к вам ОГРОМНАЯ просьба. Присылайте свои практические опыты разработки программ, применения CASE средств, использования новых технологий программирования в альтернативных областях и т.п. Не плохо было бы, если вы будете присылать рекомендации, советы, ваш опыт по использованию конкретных CASE средств (BPWin, ErWin, CASE Аналитик, Oracle, Designer/ CPN, Easy CASE, SilverRun, Rational Rose и др.).Я буду очень рад опубликовать их, особенно если они будут с моей точки зрения затрагивать теоретические аспекты. Все ваши копирайты будут сохранены.

Присылайте свои вопросы, мы вместе с подписчиками попытаемся ответить на них.

Наш опыт ограничен, но мы это наверстаем ! // придумал я ;-)

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

 Начну, собственно, сегодняшнюю тему с письма:

Сергей, прочитав 0-ю рассылку я вспомнил лекцию о построении систем, которую читали нам на 5-м курсе ЛЭТИ(Ленинградский электротехнический). Лектор совершенно серьезным тоном зачитал: "Этапы построения сложных систем.
1. Эйфория.
2. Протрезвление.
3. Поиски виновных.
4. Наказание невиновных
5. Награждение непричастных."
И на этом закончил лекцию. Позднее, занимаясь разработками действительно сложных систем, я осознал точность и справедливость того, что в студенчестве мы считали преподавательским юмором.

Прислал Королев Андрей (a-v-k@mail.ru ).

В последнее время, особенно начиная с 90-х годов, понятие программирования несколько размылось, теперь каждый человек, более или менее владеющий различными средствами быстрой разработки приложений (Delphi, C++ Builder, MS VC++, VB и т.п.) считает себя программистом. Появилась даже серия замечательных книг, с интригующим названием для чайника . Конечно же это неплохо внедрение искусства в массы, что было целью многих поколений программистов, которые с ужасом вспоминают те мгновения, когда приходилось объяснять своему руководителю почему работает программа и как заставить ее работать (особенно в НИИ), что такое компьютер и пр.

Немного отвлекаясь от темы, скажем, что на Западе понятие программиста уже давно разбилось на несколько категорий:

- аналитик (он же алгоритмизатор) - проектирование структуры программы, взаимодействий между различными частями проекта и т.п.

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

- тестер - тестирует программы.

В России же понятие программиста еще с давних времен приобрело более широкое понятие, то есть включает все выше приведенные специальности. Поэтому невозможно считать программистом человека, который пишет ТОЛЬКО код программы. Но, в принципе, аналитика можно считать программистом, так как дело обстоит за малым: набор текста ! Как это ни странно, мы приближаемся к западным меркам, что в действительности очень сильно огорчает своей безысходностью...

Возвращаясь к первоначальной теме, можно сказать, что практически все основы программирования (подходы, идеологии, методы и пр.) были заложены уже давно, еще в 70-е годы. То есть на самом деле мы, используя новейшие системы для написания программ, так или иначе сталкиваемся с проблемами, которые уже давно решены. Здесь нет место идеологии программирования под Windows, Dos, OS/2, Unix и т.п.. Все охватывается общими принципами, позволяющим писать программные системы.

У меня к вам небольшой вопрос. Какие разделы программирования вы хотели бы изучить ? Динамическое распределение памяти ? Алгоритмы сортировки и поиска ?

Если вы выбрали любой из этих или подобных им разделов, то вам, возможно, свойственен недостаток крайнее пристрастие к ТЕХНИКЕ программирования, но не к ПРИНЦИПАМ и ТЕХНОЛОГИЯМ программирования.

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

Какими качествами обладает хороший программист ?

Ответ на этот вопрос очень многогранен. Я думаю, вы сами можете дать определение хорошему программисту Но не кажется ли вам, что ваш ответ содержит очень много ваших личных качеств ?

Возможен другой подход к данному определению: рассматривать программиста с точки зрения его продвижения по карьерной лестнице. В данном случае разве скажется ваша способность придумывать новые алгоритмы ? Боюсь, что нет.

На основе исследований Саксмана, Эриксона и Гранта, можно утверждать, что опытность программиста ни в коей мере не сказывается на разрабатываемую им программу. Возможно, код программы не очень эффективен, но он создан за необходимый промежуток времени и программа выполняет поставленную задачу. Стоит ли здесь вопрос о эффективности самого алгоритма ? (авторы провели исследования среди опытных и начинающих программистов, поручив им решить две задачи принципиально разных направлений логическую и математическую).

Почему данные исследования привели к столь неожиданным результатам ?

Я не зря затронул эту тему: кто такой хороший программист ? Существует много аналогичных тем: что такое хорошая программа, какое тестирование считать предпочтительным, какой язык программирования лучше

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

В данной рассылке я задаю вам следующие вопросы:

  1. Кто такой хороший программист ?
  2. Почему исследования Саксмана, Эриксона и Гранта показали такой результат ?
  3. Что такое хорошая программа ?
  4. Почему применение новых технологий вызвало на Западе цепную реакцию, а у нас нет ?

Я думаю достаточно вопросов. Я жду от всех своих подписчиков реакции (особенно их ответы). Можете ответить всего на один вопрос, можете на два-три Главное ваше участие.

Еще раз замечу, что эти вопросы имеют субъективный ответ, то есть неоднозначный. Пишите ! Ваши ответы я буду публиковать с общей точки зрения, то есть моей ;-).

Вопрос читателя:

К сожалению он мало относится к тематике рассылки, но все же он пока единственный

При добавлении в форму ACCESS Маршрутизатора папок Microsoft он "ругается", что "не зарегистрирован сервер OLE". Что я недопонимаю? И как его можно подключить? .

Ответ присылайте по адресу: medtech@spb.cityline.ru и на всякий случай мне (а вдруг еще кому-то интересно).

Полезные ссылки:

Здесь буду публиковать ссылки, посвященные тематике рассылки.

http://www.case.ru (сервер, посвященный CASE средствам. Что самое интересное: название простое, а никто не знает )

http://www.citforum.ru (очень полезный сервер. Можно найти материалы по CASE технологиям и другим разделам программирования)

 

С уважением, Сергей. (trbps@newmail.ru)



http://www.citycat.ru/
E-mail: citycat@citycat.ru

В избранное