psilogic: (Default)
psilogic ([personal profile] psilogic) wrote2005-11-06 11:23 pm

Программистское

Под катом много мата. Накипело.


Лектор по психологии труда - эдакий старичок-профессор толкует (цитирую по памяти): "концепция индивидуального стиля деятельности заключается в том, что каждый индивид достигает максимальной производительности, если имеет свободу варьировать трудовую деятельность под свой темперамент и индивидуальные черты характера. Например, ткачиха-холерик быстро бегает от станка к станку, ткачиха-флегматик двигается медленнее, но более рассчетливо, в результате обе достигают высокой произволительности. Чего бы не было, если бы они пытались подражать друг другу."

Я это к чему. У нас, в программировании, в последние годы, куда ни плюнь - в очередной пиздоблядский злоебучий стандарт попадешь. Жопу почесать нельзя без того, чтобы не вляпаться в очередной RPC, блядь. И как же они заебали этой модой на тотальную стандартизацию, чтобы пизду им только во сне видеть.

Паттерны, блядь, придумали. Напишут два слва, придумают название по-красивше и, сидят довольные, как кусок говна на люстре, вовсю свою писульку рекламируют, хуем помахивая. И ведь, в чем пиздопроебина ниже ватерлинии: особливо любят на паттерны дрочить всякие гандоны, которые какой-нить двоичный поиск за неделю не напишут. Даже у нас на работе на что публика сурьезная - и то нет-нет да про это дело упомянет... А уж в инете жЫвотных от прораммирования - как блядей в кутузке после рейда озабоченных ментов...

[identity profile] metaclass.livejournal.com 2005-11-06 09:05 pm (UTC)(link)
А я-то думал, что только я всю эту муть от теоретиков программирования не одобряю. :)

[identity profile] psilogic.livejournal.com 2005-11-06 09:18 pm (UTC)(link)
Дык... вот... ищу единомышленников. Жопой чую непорядок с этой ботвой. Но жопа может и ошибаться...

Например, зачем разводить месиво и придумывать название "синглтон", когда речь идет всего лишь о глобальном статическом объекте? Ну присобачили к нему функцию, которая его возвращает, чтобы строчек кода было по-больше, а зачем бодягу разводить??

[identity profile] metaclass.livejournal.com 2005-11-06 09:46 pm (UTC)(link)
Как раз паттерны еще не самое страшное. Ибо их никто не стандартизировал, слава ш-шпанчику, да и пользоваться только советуют.
Я ими пользуюсь в разумных пределах. Но иногда из-за отсутствия времени или изначально безумной постановки задачи приходится забивать и делать как удобно. Потом все равно переделывать:)
Синглетон отличается от статического объекта тем, что создается при первом обращении к нему. Может оно и имеет смысл, если объект какой нибудь ограниченный ресурс потребляет, чтобы его потребить как можно позже.

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

[identity profile] psilogic.livejournal.com 2005-11-06 10:45 pm (UTC)(link)
У нас предприятие разорилось оттого, что начальство захотело делать проект на Розе. Сдох чудовищный проект по срокам и ресурсам после пары лет мучений и десятков занятых людей. Потом то же самое сделали на дельфи-си за 4 месяца вчетвером.

[identity profile] metaclass.livejournal.com 2005-11-07 08:52 am (UTC)(link)
Вот примерно поэтому все эти трехбуквенные аббревиатуры и есть печаль.
Роза - Rational Rose? Ну так на ней нельзя делать проекты, ее как вспомогательное средство использовать в лучшем случае можно.

[identity profile] psilogic.livejournal.com 2005-11-07 11:30 am (UTC)(link)
Ага, та самая роза...

[identity profile] realsonic.livejournal.com 2005-11-07 10:21 pm (UTC)(link)
А про Borland Together слышал? С его обратным инжинирингом...

[identity profile] psilogic.livejournal.com 2005-11-07 10:52 pm (UTC)(link)
слышать то слышал, а руками не шшупал
вкусная штука или типа розы пурга рекламная?

[identity profile] realsonic.livejournal.com 2005-11-08 07:31 am (UTC)(link)
У меня самого пока руки не дошли ) но наш архитектор говорит, что штука вкусная. ) С элементами розы, правда, но, насколько я понял, можно и без неё обойтись.

[identity profile] realsonic.livejournal.com 2005-11-07 10:21 pm (UTC)(link)
Слава Богу, нашему начальству вообще всё равно, как и в чём мы будем делать. :) Они ставят пачку новых ТЗ примерно раз в месяц, а дальше уже мы сами себе жизнь усложняем. :)
Они только пытаются нам условия создать... с переменным успехом... :\

[identity profile] firtree.livejournal.com 2005-11-07 10:37 pm (UTC)(link)
Это всё принципиально должно идти снизу. Если исполнитель не готов к использованию технологий и инструментов - заставляя его, ничего хорошего не добьёшься. Будет классическая "программа, написанная на C++ как на C". Единственное, что может сделать начальство: обучать и стимулировать. Ну и не мешать, прежде всего.

[identity profile] firtree.livejournal.com 2005-11-07 10:35 pm (UTC)(link)
Я тебе скажу зачем. Затем, что синглтон - _абстрактное_ понятие, а глобальный статический объект - его реализация. Отнюнь не единственная. Александреску в "Modern C++ Design" описывает много его вариантов. И все они реально нужны. Я использовал Мейерсовский синглтон, были попытки использовать феникс, а уж что там в нашей системе было накручено в подсистеме динамической загрузки модулей с учётом межплатформенной (win/unix) переносимости - я, увы, уже и не вспомню. И задача сделать это правильно и цивилизованно - непроста. Пока мы с напарником дошли до Мейерсовского синглтона как типового решения, мы много вариантов перепробовали.

И так с любым паттерном (мы использовали ещё две-три штуки максимум): это _абстракции_. Достаточно полезные, чтобы в их терминах придумывать систему.

[identity profile] psilogic.livejournal.com 2005-11-07 10:55 pm (UTC)(link)
Дык по идее все эти абстракции взялись, исходя из приемов программирования на реальном языке, а не из общетеоретических рассуждений - ничего принципиально нового. Думаешь, это как кандидаты на реализацию в виде лексических конструкций в самом языке или стандартных библиотеках?

[identity profile] firtree.livejournal.com 2005-11-07 11:27 pm (UTC)(link)
Дык и Ньютон законы из реальных опытов вытаскивал, но насчёт "принципиально нового" - ещё вопрос.

А что ты хочешь, чтобы принципиально новое высасывалось из пальца сверхчувственным прозрением? Жирно будет.

На лексику это пока не тянет. На библиотеку - _пока_ тоже, хотя у Александресу есть своя библиотека. Скорее, сейчас это такой уровень абстракции, который на языке ещё не принято записывать - только в комментариях и прилагающейся документации :-)

[identity profile] psilogic.livejournal.com 2005-11-08 09:24 am (UTC)(link)
Ну одно дело - это взять то, что давно известно на практике, и переименовать.
Другое - вывести из практики какие-то общие _закономерности_ и на основе их предложить новые практические приемы. И никакого сверхчувственного прозрения.

[identity profile] firtree.livejournal.com 2005-11-08 10:18 am (UTC)(link)
Синглтоны были давно известны на практике как глобальные статические переменные. Но была выведена закономерность: что нужно, чтобы он (1) существовал, и (2) был единственным. На основании этого были предложены новые практические приёмы.

[identity profile] firtree.livejournal.com 2005-11-07 10:28 pm (UTC)(link)
С маленькой поправкой: это не муть, если понять, что это и зачем, и не от теоретиков, а от практиков.