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] npocmu.livejournal.com 2010-03-11 09:57 am (UTC)(link)
А в путях с каталогами на что бэкслешики менять будем?

[identity profile] kiryl.livejournal.com 2010-03-11 11:00 am (UTC)(link)
$ cat Makefile
UNIQUE="an_unique_string_which_never_meets_in_filenames"

A1 = $(shell ls dir/*spaces | sed 's| |\\ |g')
A2 = $(subst $(UNIQUE),\ ,$(foreach filename,$(subst \ ,$(UNIQUE),$(A1)),$(filename).txt))

all: $(A2)

$(A2):
echo test > "$@"

UNIQUE выбрать по вкусу.

[identity profile] metaclass.livejournal.com 2010-03-11 11:18 am (UTC)(link)
Мрак какой-то.
По сравнению с этим код на хаскеле или F# выглядит как пособие для начинающих программистов.

[identity profile] kiryl.livejournal.com 2010-03-11 02:28 pm (UTC)(link)
Да, мрак. Можно оформить по-красивее, введя несколько функций для квотинга и аналоги foreach и компании для оперирования именами файлов. Так можно локализовать колдунства и остальной код будет выглядеть чище.

[identity profile] nealar.livejournal.com 2010-03-11 09:54 pm (UTC)(link)
С шелл-скриптами всегда так. Зато они не тянут тонну зависимостей. К примеру, баш у меня одинаковый что на XP64, что на микроконтроллере.

[identity profile] npocmu.livejournal.com 2010-03-11 11:49 am (UTC)(link)
Сдаюсь: маке действительно легко и непринужденно поддерживает работу с файлами с нетрадиционными названиями.