metaclass: (Default)
metaclass ([personal profile] metaclass) wrote2010-03-09 10:43 pm

Мозголомающие средства разработки.

После недельного писания на F# появилась идея, отчего использование дельфи так часто вырывает мозг программистам.

Суть в том, что дельфи это законченный продукт с замкнутым комьюнити. Собственно говоря, для работы на нем ничего кроме самого дельфи и нескольких сторонних компонентов (которые никуда больше и не пригодны) не нужно. Соответственно, у программистов тупо не было стимула выглядывать за пределы своей песочницы. В дельфи было все, необходимое и достаточное, чтобы писать всякого рода опердень в то время. Причем в силу простоты - это еще и стимулировало индивидуальное вкалывание, нахрен нужна какая-то командная разработка, какие-то процессы и прочие атрибуты, если один человек мог спокойно сделать достаточно немалую софтину.
Сишные и С++ либы, опять же, не подключались без извращений типа "завернуть в dll с plain C интерфейсом".

Сколько я не смотрю на другие средства разработки - там обязательно есть какая-то шиза на тему того, что невозможно пользоваться, не вкурив штук пять смежных областей. Тот же дотнет - это просто страшная сборная солянка из XML, веба, рефлекшена с кодогенерацией, хитрожопого ООП, причем некоторые вещами оттуда до сих пор проще переписать чем использовать готовые.
Послушаешь [livejournal.com profile] zabivator и прочих про ocaml - это просто гамон, какие-то сишные компиляторы, какие-то либы, портирование между виндами и линуксами и прочий мрак.
Жаба энтепрайзная тоже страх какой-то, судя по количеству фреймворков, методик взаимодействия с внешним миром и прочего.

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

[identity profile] zamotivator.livejournal.com 2010-03-10 08:28 am (UTC)(link)
С системой сборки что делать?

[identity profile] aamonster.livejournal.com 2010-03-10 08:36 am (UTC)(link)
Выбрать удобную и поставить, а что?
Но вообще-то наиболее удобный формат дистрибутива под винду - это zip-архив, который распаковывается и работает.

[identity profile] w00dy.livejournal.com 2010-03-10 09:13 am (UTC)(link)
msi всяко удобнее. Его можно через AD пропихивать всем кому нужно и не нужно, что очень важно в корпоративе.

[identity profile] vp.livejournal.com 2010-03-10 10:45 am (UTC)(link)
что очень важно в корпоративе.

Ой, о чем ви говорите таки. Нет такого слова для линуксоидов :)
Корпоратив в этом понимании = совокупность десктопных рабочих станций, которые объединены единой политикой администрирования. Такого по определению в линупсах нет - рынок десктопов совсем за другой ОС, потому все эти вопросы - мимо :)

[identity profile] aamonster.livejournal.com 2010-03-10 10:59 am (UTC)(link)
Вспоминая саны 15-летней давности - под юниксами корпоратив был. Так что если захотят его сделать под линуксами - сделают легко.

(no subject)

[identity profile] w00dy.livejournal.com - 2010-03-10 11:05 (UTC) - Expand

[identity profile] dizel-by.livejournal.com 2010-03-10 11:23 am (UTC)(link)
1) Линукс - это ещё не все юниксы. А стандарты одни для всех. Почему-то софт из линукса можно без проблем собрать под макосью, а вот под виндой нужно плясать с бубном и клоуном Рональдом
2) Десктопов под линуксом хватает уже даже в РБ, а в РФ и подавно. Просто юзерам сказали: "хотите винду и ворд - покупайте за свои деньги".
3) Все мои нерусскоязычные иностранные знакомые сидят или под макосью, или под линуксом. Винды боятся как огня, т.к. там вирусы
4) В коммерческих линуксах уже давно есть централизованное управление
4.1) Если вдруг его нет, делается на коленках за полчаса
4.2) Весь AD - это костыль, скрывающий отсутствие развитых средств автоматизации

Ребе, ви таки разберитесь с вопросом, прежде чем. Или дождитесь пятницы :)

(no subject)

[identity profile] w00dy.livejournal.com - 2010-03-10 11:26 (UTC) - Expand

(no subject)

[identity profile] dizel-by.livejournal.com - 2010-03-10 11:31 (UTC) - Expand

(no subject)

[identity profile] w00dy.livejournal.com - 2010-03-10 11:40 (UTC) - Expand

(no subject)

[identity profile] zamotivator.livejournal.com - 2010-03-10 12:26 (UTC) - Expand

(no subject)

[identity profile] w00dy.livejournal.com - 2010-03-10 12:33 (UTC) - Expand

(no subject)

[identity profile] zamotivator.livejournal.com - 2010-03-10 12:35 (UTC) - Expand

(no subject)

[identity profile] w00dy.livejournal.com - 2010-03-10 12:46 (UTC) - Expand

(no subject)

[identity profile] dizel-by.livejournal.com - 2010-03-10 12:52 (UTC) - Expand

(no subject)

[identity profile] w00dy.livejournal.com - 2010-03-10 12:57 (UTC) - Expand

(no subject)

[identity profile] dizel-by.livejournal.com - 2010-03-10 13:02 (UTC) - Expand

(no subject)

[identity profile] w00dy.livejournal.com - 2010-03-10 13:09 (UTC) - Expand

(no subject)

[identity profile] graynm.livejournal.com - 2010-03-10 13:29 (UTC) - Expand

(no subject)

[identity profile] vp.livejournal.com - 2010-03-10 13:45 (UTC) - Expand

(no subject)

[identity profile] vp.livejournal.com - 2010-03-10 13:42 (UTC) - Expand

(no subject)

[identity profile] permea-kra.livejournal.com - 2010-03-12 14:53 (UTC) - Expand

(no subject)

[identity profile] w00dy.livejournal.com - 2010-03-12 15:48 (UTC) - Expand

(no subject)

[identity profile] zamotivator.livejournal.com - 2010-03-10 12:20 (UTC) - Expand

(no subject)

[identity profile] w00dy.livejournal.com - 2010-03-10 12:27 (UTC) - Expand

(no subject)

[identity profile] migmit.vox.com - 2010-03-10 13:02 (UTC) - Expand

[identity profile] kirill a. korinskiy (from livejournal.com) 2010-03-10 02:28 pm (UTC)(link)
посмотрите на решения Redhat, хотя бы для расширения кругозора.

[identity profile] altmind.livejournal.com 2010-03-10 11:14 am (UTC)(link)
for i in `seq 1 100`; do .... ssh root@$i-host.org ... dpkg -i .... /mountednfs/package.deb; done;

все прозрачно, не требует действия юзеров, автоматизировано и лишено вуду магии. в отличии от MSI и AD для которой и документация об внутреннем устройстве и та, под какими то NDA.

[identity profile] dizel-by.livejournal.com 2010-03-10 11:25 am (UTC)(link)
Нене. Это ж надо знать что-то, а не просто на кнопки нажимать!

[identity profile] w00dy.livejournal.com 2010-03-10 11:30 am (UTC)(link)
для идиотов объясняю:
во-первых если машина выключена, то свой пакет вы туда не впендюрите. Во-вторых покажите как вы будете инсталировать пакет только для определённых пользователей. Когда мы внедряли софтину в одной большой корпорации, то у них была выделена группа тестовых пользователей. При логине софтина ставилась, при логауте - сносилась. И это, юзер мог залогиниться на любой из N-сотен машин.

(no subject)

[identity profile] dizel-by.livejournal.com - 2010-03-10 11:34 (UTC) - Expand

(no subject)

[identity profile] w00dy.livejournal.com - 2010-03-10 11:41 (UTC) - Expand

(no subject)

[identity profile] volodymir-k.livejournal.com - 2010-03-10 12:56 (UTC) - Expand

(no subject)

[identity profile] permea-kra.livejournal.com - 2010-03-10 17:19 (UTC) - Expand

(no subject)

[identity profile] volodymir-k.livejournal.com - 2010-03-11 12:18 (UTC) - Expand

(no subject)

[identity profile] permea-kra.livejournal.com - 2010-03-11 16:31 (UTC) - Expand

(no subject)

[identity profile] volodymir-k.livejournal.com - 2010-04-25 22:40 (UTC) - Expand

(no subject)

[identity profile] permea-kra.livejournal.com - 2010-04-26 03:25 (UTC) - Expand

(no subject)

[identity profile] metaclass.livejournal.com - 2010-04-26 03:37 (UTC) - Expand

(no subject)

[identity profile] permea-kra.livejournal.com - 2010-04-26 04:26 (UTC) - Expand

(no subject)

[identity profile] metaclass.livejournal.com - 2010-04-26 05:28 (UTC) - Expand

(no subject)

[identity profile] permea-kra.livejournal.com - 2010-04-26 05:48 (UTC) - Expand

(no subject)

[identity profile] metaclass.livejournal.com - 2010-04-26 05:52 (UTC) - Expand

(no subject)

[identity profile] metaclass.livejournal.com - 2010-04-26 05:53 (UTC) - Expand

(no subject)

[identity profile] permea-kra.livejournal.com - 2010-04-26 05:56 (UTC) - Expand

(no subject)

[identity profile] metaclass.livejournal.com - 2010-04-26 06:34 (UTC) - Expand

(no subject)

[identity profile] volodymir-k.livejournal.com - 2010-05-13 10:34 (UTC) - Expand

(no subject)

[identity profile] altmind.livejournal.com - 2010-03-10 19:25 (UTC) - Expand

(no subject)

[identity profile] altmind.livejournal.com - 2010-03-10 19:27 (UTC) - Expand

(no subject)

[identity profile] volodymir-k.livejournal.com - 2010-03-11 12:19 (UTC) - Expand

(no subject)

[identity profile] altmind.livejournal.com - 2010-03-10 19:22 (UTC) - Expand

(no subject)

[identity profile] w00dy.livejournal.com - 2010-03-10 19:32 (UTC) - Expand

(no subject)

[identity profile] theiced.livejournal.com - 2010-03-10 19:34 (UTC) - Expand

(no subject)

[identity profile] dizel-by.livejournal.com - 2010-03-10 19:38 (UTC) - Expand

(no subject)

[identity profile] w00dy.livejournal.com - 2010-03-10 19:39 (UTC) - Expand

(no subject)

[identity profile] theiced.livejournal.com - 2010-03-10 19:40 (UTC) - Expand

(no subject)

[identity profile] theiced.livejournal.com - 2010-03-10 19:42 (UTC) - Expand

(no subject)

[identity profile] dizel-by.livejournal.com - 2010-03-10 19:45 (UTC) - Expand

(no subject)

[identity profile] theiced.livejournal.com - 2010-03-10 19:46 (UTC) - Expand

(no subject)

[identity profile] dizel-by.livejournal.com - 2010-03-10 19:49 (UTC) - Expand

(no subject)

[identity profile] dizel-by.livejournal.com - 2010-03-10 19:42 (UTC) - Expand

(no subject)

[identity profile] dizel-by.livejournal.com - 2010-03-10 19:42 (UTC) - Expand

[identity profile] aamonster.livejournal.com 2010-03-10 12:15 pm (UTC)(link)
Ну, мы с разных точек зрения смотрим :-). Я с точки зрения юзера, которых хочет контролировать свой комп, вы - с точки зрения админа.

Хотя msi - приемлемо. Давненько не видел, чтобы были проблемы с установкой.

А упоминавшиеся тут зависимости imho стали хороши относительно недавно, когда наличие постоянного интернет-канала стало нормой.

(no subject)

[identity profile] w00dy.livejournal.com - 2010-03-10 12:25 (UTC) - Expand

[identity profile] kirill a. korinskiy (from livejournal.com) 2010-03-10 02:26 pm (UTC)(link)
А вот за это, извините меня, вас надо бить. Кандилябром.

1) windows многопользовательская система;
2) для установки стоит использовать тот пакетный менеджер (msi) что есть.

Да, он плохой, кривой и не удобный. Его надо чем-то собирать, zip сделать проще... Но на распаковку и запуск из zip может просто не хватить прав.

А может ваша программа пытается ещё писать дальше, чем есть у пользователя права?

[identity profile] vp.livejournal.com 2010-03-10 02:33 pm (UTC)(link)
А может ваша программа пытается ещё писать дальше, чем есть у пользователя права?

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

[identity profile] aamonster.livejournal.com 2010-03-10 02:36 pm (UTC)(link)
Давно ли винда стала многопользовательской?
"Многопользовательскость" в ней была не отродясь, а пришита поверх того, что есть. Кое-как. Так что в гробу я видал на ней все многопользовательские заморочки.

Адекватное поведение виндозной программы для меня - жить в своем каталоге и не соваться наружу. Portable-версии - наше всё.

(no subject)

[identity profile] vp.livejournal.com - 2010-03-10 14:43 (UTC) - Expand

(no subject)

[identity profile] aamonster.livejournal.com - 2010-03-10 15:05 (UTC) - Expand

(no subject)

[identity profile] w00dy.livejournal.com - 2010-03-10 15:08 (UTC) - Expand

(no subject)

[identity profile] metaclass.livejournal.com - 2010-03-10 15:13 (UTC) - Expand

(no subject)

[identity profile] volodymir-k.livejournal.com - 2010-03-10 15:45 (UTC) - Expand

(no subject)

[identity profile] zamotivator.livejournal.com - 2010-03-10 23:04 (UTC) - Expand

(no subject)

[identity profile] volodymir-k.livejournal.com - 2010-03-11 12:20 (UTC) - Expand

(no subject)

[identity profile] aamonster.livejournal.com - 2010-03-11 07:37 (UTC) - Expand

(no subject)

[identity profile] volodymir-k.livejournal.com - 2010-03-11 12:26 (UTC) - Expand

(no subject)

[identity profile] aamonster.livejournal.com - 2010-03-11 12:45 (UTC) - Expand

(no subject)

[identity profile] volodymir-k.livejournal.com - 2010-04-25 22:50 (UTC) - Expand

[identity profile] w00dy.livejournal.com 2010-03-10 02:40 pm (UTC)(link)
Когда дело касается сервера, то об этой многопользовательности можно благополучно забыть. Мы свой серверный софт либо внедряли сами, либо этим занимался специально обученный человек со стороны клиента (распаковал, запустил bat-файл, убедился что в логи что-то начало сыпаться и это не ошибки ;)

[identity profile] metaclass.livejournal.com 2010-03-10 02:47 pm (UTC)(link)
У меня строго обратные сведения.

На запуск msi прав не хватает регулярно. На запись в Program Files - тоже.
А вот на то, чтобы распаковать zip в своей рабочей папке и запустить его - в большинстве случаев права есть. Поэтому клиентам дается и то и другое.

При этом прога работает с Application data текущего пользователя и вообще от системы зависит по минимуму. Хотя админы-идиоты и это умудряются сломать - система выдает C:\WINDOWS\TEMP\ в качестве временной папки, а права записи туда нет.
Если же речь идет о средствах разработки, то очевидно проще распаковать архив и запустить программу, чем ставить msi. У меня вообще весь такой софт ставится исключительно копированием, что сокращает время переселения на новые компы и винды очень сильно.

(no subject)

[identity profile] aamonster.livejournal.com - 2010-03-10 15:11 (UTC) - Expand

(no subject)

[identity profile] metaclass.livejournal.com - 2010-03-10 15:16 (UTC) - Expand

[identity profile] aamonster.livejournal.com 2010-03-10 03:15 pm (UTC)(link)
Да, и для говнософта, которому нужен реестр и куча папочек по всему диску (какой [censored] решил, что документы удобно хранить в "C:\Users\user\Мои документы"? Удавил бы...) - естественно, лучше msi, чем ручками править реестр.

А нормальный софт у меня живет в \WinApp\Имя_проги, при переезде с машины на машину - просто копируется (со всеми настройками, при переустановке системы продолжает спокойно работать. Зачем для такого msi?

(no subject)

[identity profile] w00dy.livejournal.com - 2010-03-10 15:20 (UTC) - Expand

(no subject)

[identity profile] aamonster.livejournal.com - 2010-03-10 15:26 (UTC) - Expand

(no subject)

[identity profile] w00dy.livejournal.com - 2010-03-10 15:31 (UTC) - Expand

[identity profile] http://users.livejournal.com/_aive_/ 2010-03-11 08:49 pm (UTC)(link)
Тогда использовать сразу ClickOnce

[identity profile] metaclass.livejournal.com 2010-03-10 08:49 am (UTC)(link)
Сделать в том виде, в котором это принято под виндой, очевидно.
Ах, да, я ж забыл что там даже под линуксом систем сборки не одна и даже не две, а стопка, потому что каждый считает себя умнее других.

[identity profile] zamotivator.livejournal.com 2010-03-10 09:19 am (UTC)(link)
Система сборки одна - make.

[identity profile] metaclass.livejournal.com 2010-03-10 09:42 am (UTC)(link)
cmake, make, omake, scons что там еще?

(no subject)

[identity profile] zamotivator.livejournal.com - 2010-03-10 09:46 (UTC) - Expand

(no subject)

[identity profile] metaclass.livejournal.com - 2010-03-10 09:52 (UTC) - Expand

(no subject)

[identity profile] kiryl.livejournal.com - 2010-03-10 10:07 (UTC) - Expand

(no subject)

[identity profile] metaclass.livejournal.com - 2010-03-10 11:07 (UTC) - Expand

(no subject)

[identity profile] kiryl.livejournal.com - 2010-03-10 11:17 (UTC) - Expand

(no subject)

[identity profile] nealar.livejournal.com - 2010-03-10 12:52 (UTC) - Expand

(no subject)

[identity profile] zamotivator.livejournal.com - 2010-03-10 10:48 (UTC) - Expand

(no subject)

[identity profile] nealar.livejournal.com - 2010-03-10 13:56 (UTC) - Expand

(no subject)

[identity profile] w00dy.livejournal.com - 2010-03-10 09:58 (UTC) - Expand

(no subject)

[identity profile] zamotivator.livejournal.com - 2010-03-10 12:21 (UTC) - Expand

(no subject)

[identity profile] w00dy.livejournal.com - 2010-03-10 12:29 (UTC) - Expand

(no subject)

[identity profile] kirill a. korinskiy - 2010-03-10 14:30 (UTC) - Expand

[identity profile] kirill a. korinskiy (from livejournal.com) 2010-03-10 02:25 pm (UTC)(link)
Технически в студии есть make. На него можно портировать OMakefile. Там есть cmd, на них можно переписать bash скрипты.

Но желаюших это делать, как-то не видно, что 5 лет назад, что сейчас.

[identity profile] w00dy.livejournal.com 2010-03-10 02:26 pm (UTC)(link)
Сейчас в студии есть msbuild. А nmake ещё толи в 2005, толи в 2003 вроде как не советовали пользовать

[identity profile] kirill a. korinskiy (from livejournal.com) 2010-03-10 02:27 pm (UTC)(link)
он есть. Он немного странный, но есть!

(no subject)

[identity profile] w00dy.livejournal.com - 2010-03-10 14:31 (UTC) - Expand

(no subject)

[identity profile] kirill a. korinskiy - 2010-03-10 14:32 (UTC) - Expand

[identity profile] nicka-startcev.livejournal.com 2010-03-14 07:28 pm (UTC)(link)
>Там есть cmd, на них можно переписать bash скрипты.
Точно можно?

А хотя бы обратную кавычку и функции этот ваш cmd умеет?