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] aamonster.livejournal.com 2010-03-10 07:36 am (UTC)(link)
Это проблема не винды, а окамловодов, которые за пределы своего болота выглядывать не хотят.

Впрочем, тему простоты разворачивания под никсами учту... Всё равно уже завелось желание держать на машине 2 системы параллельно (вторую в виртуальной машине)

[identity profile] aamonster.livejournal.com 2010-03-10 07:38 am (UTC)(link)
"Не хотят" - в смысле, никто не позаботился собрать нормальный дистрибутив под винду, как это сделано для многих других приложений. К примеру, тот же trac я под виндой развернул быстрее, чем под freebsd.

[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)
что очень важно в корпоративе.

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

(no subject)

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

(no subject)

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

(no subject)

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

(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

(no subject)

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

[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.

(no subject)

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

(no subject)

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

(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

(no subject)

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

(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 может просто не хватить прав.

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

(no subject)

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

(no subject)

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

(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

(no subject)

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

(no subject)

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

(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

(no subject)

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

(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] 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.

(no subject)

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

(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 вроде как не советовали пользовать

(no subject)

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

(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 умеет?

[identity profile] kirill a. korinskiy (from livejournal.com) 2010-03-10 02:24 pm (UTC)(link)
Проблема в размере сообщества ocaml и trac.

ocaml сообщество меньше, и там меньше альтернативщиков с windows (да-да-да! В таких сообществах не unix пользоватлеь скорее альтернативщик).

[identity profile] zamotivator.livejournal.com 2010-03-10 08:27 am (UTC)(link)
Это проблема не винды, а окамловодов, которые за пределы своего болота выглядывать не хотят.
Ну, "болота" это вы загнули.
А вот как и куда ставить зависимости в системе, где зависимости отсутствуют by design - вопрос без ответа.
Да, какой-то компромисс найти можно.

[identity profile] metaclass.livejournal.com 2010-03-10 08:38 am (UTC)(link)
Хаскель за своими зависимостями следит сам.

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

Наиболее оптимально - это архив и запуск с автодетектом корневого каталога - проги все свои ресурсы относительно него ищут и поэтому не требуют инсталляции, ставятся копированием.

[identity profile] zamotivator.livejournal.com 2010-03-10 12:22 pm (UTC)(link)
Хаскель за своими зависимостями следит сам.
Во-во.
Пакетный менеджер на коленке...

[identity profile] nealar.livejournal.com 2010-03-10 12:53 pm (UTC)(link)
Зато никто не говорит ереси типа "есть только 2 формата пакетов".

[identity profile] vp.livejournal.com 2010-03-10 08:51 am (UTC)(link)
Этот "компромисс" как обычно - в стиле адских граблей. А давай поставим цыгвин, а под ним еще цыгвин, а под ним еще цыгвин. Речь о том, что продукт должен быть разработан вновь под целевую платформу, а не портирован с минимальными движениями анальным отверстием.

[identity profile] zamotivator.livejournal.com 2010-03-10 12:22 pm (UTC)(link)
Без cygwin'а там бы вообще жизни не было +)

[identity profile] kirill a. korinskiy (from livejournal.com) 2010-03-10 02:23 pm (UTC)(link)
Хм. А зачем им выходить за пределы болота? За пределы болота сейчас тащит их F#. Хорошо, надо сказать, тащит!

[identity profile] theiced.livejournal.com 2010-03-10 03:09 pm (UTC)(link)
в виртуальной машине надо держать уиндовз, есессно.

[identity profile] aamonster.livejournal.com 2010-03-10 03:18 pm (UTC)(link)
Технически так удобнее (как минимум - линух проще переносить с машины на машину), но на практике есть еще лицензионные ограничения. На ноуте у меня, кажется, винда OEM - и ставить её в виртуальную машину вроде как не положено :-(.

[identity profile] theiced.livejournal.com 2010-03-10 03:19 pm (UTC)(link)
технически она работает на цэй же машине... почему не положено?

[identity profile] aamonster.livejournal.com 2010-03-10 03:23 pm (UTC)(link)
Вопрос не ко мне, а к писателям лицензии.
Впрочем, если подскажете, какая из виртуальных машин может "насквозь" отдавать идентификаторы железа, по которым винда опознаёт компьютер (и как это настроить - чтобы винда грузилась в виртуальной машине с того же диска, что и нормально, и не замечала подвоха), буду очень благодарен.

(no subject)

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