Мозголомающие средства разработки.
После недельного писания на F# появилась идея, отчего использование дельфи так часто вырывает мозг программистам.
Суть в том, что дельфи это законченный продукт с замкнутым комьюнити. Собственно говоря, для работы на нем ничего кроме самого дельфи и нескольких сторонних компонентов (которые никуда больше и не пригодны) не нужно. Соответственно, у программистов тупо не было стимула выглядывать за пределы своей песочницы. В дельфи было все, необходимое и достаточное, чтобы писать всякого рода опердень в то время. Причем в силу простоты - это еще и стимулировало индивидуальное вкалывание, нахрен нужна какая-то командная разработка, какие-то процессы и прочие атрибуты, если один человек мог спокойно сделать достаточно немалую софтину.
Сишные и С++ либы, опять же, не подключались без извращений типа "завернуть в dll с plain C интерфейсом".
Сколько я не смотрю на другие средства разработки - там обязательно есть какая-то шиза на тему того, что невозможно пользоваться, не вкурив штук пять смежных областей. Тот же дотнет - это просто страшная сборная солянка из XML, веба, рефлекшена с кодогенерацией, хитрожопого ООП, причем некоторые вещами оттуда до сих пор проще переписать чем использовать готовые.
Послушаешь
zabivator и прочих про ocaml - это просто гамон, какие-то сишные компиляторы, какие-то либы, портирование между виндами и линуксами и прочий мрак.
Жаба энтепрайзная тоже страх какой-то, судя по количеству фреймворков, методик взаимодействия с внешним миром и прочего.
Т.е. все другие платформы ориентированы или на работу в команде с разделением труда или на знание множества смежных шизов, что в любом случае не дает окопаться в песочнице и 20 лет самостоятельно пилить одну и ту же опердень.
Суть в том, что дельфи это законченный продукт с замкнутым комьюнити. Собственно говоря, для работы на нем ничего кроме самого дельфи и нескольких сторонних компонентов (которые никуда больше и не пригодны) не нужно. Соответственно, у программистов тупо не было стимула выглядывать за пределы своей песочницы. В дельфи было все, необходимое и достаточное, чтобы писать всякого рода опердень в то время. Причем в силу простоты - это еще и стимулировало индивидуальное вкалывание, нахрен нужна какая-то командная разработка, какие-то процессы и прочие атрибуты, если один человек мог спокойно сделать достаточно немалую софтину.
Сишные и С++ либы, опять же, не подключались без извращений типа "завернуть в dll с plain C интерфейсом".
Сколько я не смотрю на другие средства разработки - там обязательно есть какая-то шиза на тему того, что невозможно пользоваться, не вкурив штук пять смежных областей. Тот же дотнет - это просто страшная сборная солянка из XML, веба, рефлекшена с кодогенерацией, хитрожопого ООП, причем некоторые вещами оттуда до сих пор проще переписать чем использовать готовые.
Послушаешь
![[livejournal.com profile]](https://www.dreamwidth.org/img/external/lj-userinfo.gif)
Жаба энтепрайзная тоже страх какой-то, судя по количеству фреймворков, методик взаимодействия с внешним миром и прочего.
Т.е. все другие платформы ориентированы или на работу в команде с разделением труда или на знание множества смежных шизов, что в любом случае не дает окопаться в песочнице и 20 лет самостоятельно пилить одну и ту же опердень.
no subject
А make уже поддерживает имена файлов с пробелами?
no subject
Вот потому и не поддерживается - никому не нужно такие извращение, My Cool Name.c ага, щас.
no subject
Хотя make можно использовать не только для сборки.
no subject
no subject
no subject
no subject
no subject
no subject
no subject
no subject
Я, например, пытался применить его для автоматического деплоймента отчетов на MS Reporting Service.
Или отчетам тоже прикажете вместо "Продажи за квартал.rdl" давать нечитаемыеимена? К счастью есть более вменяемые системы сборки, scons, например. А маке давно в утиль пора сдать и не вспоминать о нем всуе.
Тем более не преподносить его наличие как критерий развитой системы.
no subject
$ cat Makefile
all: a\ file\ with\ spaces
a\ file\ with\ spaces:
echo test > "$@"
$ make
echo test > "a file with spaces"
$ cat "a file with spaces"
test
no subject
Попробуйте, на досуге, пропустить такие имена через цепочку $(shell), $(foreach), $(filter) и прочих полезных макросов и получить вменяемый результат. Если получится - научите.
no subject
$ cat Makefile
A1 = a\ file\ with\ spaces yet\ another\ file\ with\ spaces
A2 = $(subst /,\ ,$(foreach filename,$(subst \ ,/,$(A1)),$(filename).txt))
all: $(A2)
$(A2):
echo test > "$@"
no subject
Продемонстрируйте напоследок, как вам $(shell) начальные бэкслешики расставит?
no subject
A1 = $(shell ls *spaces | sed 's| |\\ |g')
A2 = $(subst /,\ ,$(foreach filename,$(subst \ ,/,$(A1)),$(filename).txt))
all: $(A2)
$(A2):
echo test > "$@"
$ touch 'a file with spaces' 'yet another file with spaces'
$ ls -l
total 4
-rw-r--r-- 1 kas kas 0 2010-03-11 09:08 a file with spaces
-rw-r--r-- 1 kas kas 156 2010-03-11 09:06 Makefile
-rw-r--r-- 1 kas kas 0 2010-03-11 09:08 yet another file with spaces
$ make
echo test > "a file with spaces.txt"
echo test > "yet another file with spaces.txt"
$ ls -l
total 12
-rw-r--r-- 1 kas kas 0 2010-03-11 09:08 a file with spaces
-rw-r--r-- 1 kas kas 5 2010-03-11 09:08 a file with spaces.txt
-rw-r--r-- 1 kas kas 156 2010-03-11 09:06 Makefile
-rw-r--r-- 1 kas kas 0 2010-03-11 09:08 yet another file with spaces
-rw-r--r-- 1 kas kas 5 2010-03-11 09:08 yet another file with spaces.txt
no subject
no subject
$ 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 выбрать по вкусу.
no subject
По сравнению с этим код на хаскеле или F# выглядит как пособие для начинающих программистов.
no subject
no subject
no subject