All streams
Search
Write a publication
Pull to refresh
122
0
Send message
Тут нужно учесть, что длинные сериалы обычно содержат внутренние противоречия. Их пишут разные сценаристы и часто подгоняют отдельные черты мира под нужды локальной сюжетной ветки. Иногда несознательно переносят детали своего мира в сочиняемый.

Если копать детали, то неизбежно можно найти черты капитализма, как это сделал первый отвечающий по ссылке, или коммунизма, или ещё много чего.

А вот по общему ощущению (субъективному) StarTrack не отличается от Туманности Андромеды.

Очевидно, что мир СтарТрэка вырос из современного общества США и следовательно является капиталистическим по историческим причинам. Может содержать рудименты. Но стремятся герои фильма вовсе не к накоплению капитала.

Ещё из интересных в этом плане произведений:
The Orville — клон стартрека. Вообще не содержит признаков капитализма.
С.Лем — Возвращение со звёзд.
… в фантастике в мирах будущего рисовали социализм и коммунизм ...

А вот интересовался ли, кто какой строй в будущем рисует StarTrack?
Если посмотреть внимательно, на статью, под которой развернулась эта увлекательная дискуссия, то можно увидеть, что в США завёлся социализм, не включающий себя общественную собственность.

Я заметил, что Вы под словом «социализм» подразумеваете советский социализм, который несомненно включает в себя общественную собственность поскольку постулируется режимом, переходным к коммунизму.

В большинстве случаев действительно можно подразумевать «социализм» = «марксизм», но конкретно в контексте этой статьи есть тонкое различие.
Социали́зм (фр. socialisme от лат. socialis «общественный») — доктрина, полагающая целью и идеалом социальную справедливость, свободу и равенство.

А вот дальше идут варианты и трактовки, многие из которых содержат общественную собственность, как признак или инструмент для достижения социальной справедливости.
Я тут слежу за темой и вижу, что присутствующие здесь капиталисты, Вас уже основательно расстроили и спровоцировали на поведение недостойное истинного строителя коммунизма. Если так дело пойдёт дальше, то они не только выиграют этот спор, но и получат пример неадекватного социалиста.

И, я проверил — согласно википедии — нет, не является. Хотя и присутствует в определении Британники.
Я конечно извиняюсь, но хочу внести небольшое терминологическое уточнение. Социализм — это политика направленная благо социума. Общественная собственность на средства производства — не является необходимой для определения социализма.
Нет. Я заглянул в оригинал и убедился, что эта болезнь отца WWW ещё не поразила. Там написано «my LAST letter».
Да, через макросы и иммутабельные структуры действительно можно было сделать. Но уже поздно.
Racket действительно показался мне наиболее привлекательным, но он всё равно использует присваивание указателей. Проблема с побочными эффектами при попытке написать императивный код не решается.

Возможно я просто недопонял документацию, поэтому спрошу.
(var S1 (list (record :slot1 (list 1))))
(var S2)
(set S2 S1)
(set (elt S2 0 :slot1 0) 2)

Здесь есть структура S1 — список внутри записи внутри списка.
Структура S1 присваивается переменной S2.
Внутри S2 изменяется одно значение.

Лися гарантирует, что S1 не будет затронута ни при каких обстоятельствах.

Вопрос: что будет в Racket?
Эх. Что-то тема для холивара настолько обсосанная, что даже аргументы вспоминать лень. Может быть по какому другому поводу поругаемся?
На самом деле в разделе «Использование» приведена одна императивная программа и две функциональных.

Императивщину записывать действительно удобнее не стало, но её стало удобнее отлаживать, благодаря решению ПРОБЛЕМЫ-1 (и проблемы-2).
Дело в том, что в лиспе «перезапуск» это не просто возможность повторно запустить код. Это возможность управлять запуском сбойных участков, из кода, который находится на произвольное количество уровней выше по стеку вызовов. Сложно придумать очевидный способ использования такого механизма.

Возможность перезапуска кода, находящегося на один уровень ниже, как и во всех языках, конечно есть и в Лисе. Оператор TRY, перехватывающий исключения, предусмотрен.
Такая трактовка диапазона лучше ложится на итерацию последовательностей, индексируемых с нуля.

Есть в Паскале одна особенность
for i := 0 to Count - 1 do ...

Вот это "-1" есть почти всегда. В Лисе, соответственно, этот "-1" не появляется.

Допустим нам надо итерировать по индексам списка начиная с 2
(var L \(0 1 2 3))
(for i (range 2 (length L)) тело цикла)

Функция RANGE в данном случае вернёт 2..4 и итерация выполнится по индексам 2 и 3.
Оберон упомянут как источник крайней минималистичности. Например, индексация только целыми числами и от нуля. А «капля» потому, что минималистичность получилась выборочная.
Нет, не написать.

Но есть нюансы:
1. Если двусвязный список нужен ради списка, то есть встроенный тип.
2. Если двусвязный список нужен ради оптимизации, то никак. Оптимизация принесена в жертву прозрачности кода.
3. Если есть алгоритм, который принципиально работает только на двусвязных списках, то можно вывернуться. Размещать объекты во встроенном списке/хэш-таблице и использовать вместо указателей индексы/ключи.
Это не «лис». Это «Лися» — название диалекта.
Тут четыре варианта ответа.

1. Вы не видите решения проблемы, а потому отказываетесь от её решения. Но проблема никуда не девается.

2. Юникод действительно бездна, а потому плюём в неё, и постулируем поддержку кириллицы, латиницы и греческого (тут проблем нет). Это конечно некрасиво, но предпочтительнее чем упасть в бездну.

3. Юникод содержит какие-то правила приведения регистров. Лися использует встроенную в FreePascal реализацию этих правил — UnicodeUpperCase. Если возникает проблема, то это недоработка в Unicode (тут ничего не поделать) или библиотеках.

4. Если для какого-то языка не определены правила регистронезависимости, то можно просто писать идентификаторы в одном регистре.
Guile — расширение для Си, со всеми вытекающими последствиями в мировоззрении.

Меня от SBCL оттолкнуло в том числе то, что это древний код на Си. Я не могу в нём разобраться и не могу ничего исправить.

Хороший маркер годности языка для меня — регистрочувствительность. Если язык чувствителен к регистру, значит авторы исповедуют несовместимые с моими привычками подходы.

Ну и не стоит забывать NIH-синдром.
В Clojure особенных фатальных недостатков вроде нет, но много мелочей, которые не понравились (в том числе необходимость в Java Runtime). В сумме получается смена шила, на мыло.
Я очень рад, что вам оказалось не лень заглянуть в мой проект.

По секрету скажу, что комментарии вида {TVCompaund} IDE вставляет автоматически. На самом деле это маркер, который используется функцией автодополнения.
12 ...
21

Information

Rating
Does not participate
Registered
Activity