Там есть масса тонкостей, от того, что сейчас нет AOT — т.е. интерпретируется байткод, а не копилируется в webassembly до того, что нельзя напрямую завимодействовать с DOM,
Я по-быстрому других бенчмарков не нашел, если вы сошлетесь на более свежие бенчи я буду благодарен
В лямбдах либо явные параметры которые то же самое что и переменные с точки зрения явности зависимости либо картинг, причем с поддержкой типов. Причем ide и типы подсказывают и проверяют.
Не надо следить за состоянием чего-то. Ну может в джаваскрипте каком-то но там ошибка будет раньше и чмтаемее
Наличие стеков (в классике их два) в Форт позволяет позволяет бесшовно пропускать данные через цепочку слов, не плодить локальные переменные с коротким сроком жизни (для передачи между словами)
Это да. Вот только чтобы в ней разобраться надо понять что делают слова.
word1 word2 word3
Сравните по семантике с
function1 |> finction2 |> function3
или
method1().method2().method3()
или
function3(function2(function1))
P.S. Хочется добавить каких то механизмов по «автоматическому» управлению и стеками и его синтаксическому оформлению — ничем не возбраняется. Кто хотел, тот и ООП в Форт сделал и много чего ещё.
Мне хочется свои задачи решать, а не писать себе язык, потом для него инструменты.
В форте стековой машиной создается дополнительная ненужная ментальная нагрузка на программиста. Вы рассматривали использование других скриптовых языков типа lua?
Форт, это, фактически, ассемблер для форт-мащины. На дохлых бытовых компах типа Микрошы он позволял писать код более-менее по-человечески делать для себя DSL и так далее.
Но, он заставлял думать о стеке. Мне вообще непонятно зачем он сейчас нужен.
Тут тоже эмоция, но немного другая — у фила негатив и пассивная позиция. Было бы что-то типа. "Меня размазали на собеседовании и заставили работать за еду". Тут же автор восхищен и принимает на себя ответственность за свое восприятие.
Вы не могли бы провести анализ этих особенностей сгенерированного кода и сказать, насколько они продиктованы принципиальными ограничениями задачи, а насколько тем, что не ставилась задача сделать модифицируемый C++?
А вы не рассматривали возможность транслировать не в C++ а во что-то другое?
С прицелом на последующее выкидывание PHP и своего плагина и использованием IDE которые фуллтайм команды пишут для языка со статической типизацией?
И еще — на каком этапе валидируется возможность трансляции PHP, который написал программист, в C++? IDE? Кастомный валидатор? Тесты?
Насколько я помню, ВОСР произошла при помощи инициативной группы большевиков а не путем какого-то голосования. А потом у них караул устал.
Дальше пошла Гражданская (которую тоже можно назвать, конечно, процессом выборов но методы голосования весьма специфичные) в которой победили большевики.
Причины называют разные — от перехвата эсеровских лозунгов до разделенности белых. В-общем, хотелось бы понять точку зрения на эти выборы и, скажем так, величину искажений относительно мнения большинства или кого-там еще.
Самое большое что я прочитал на эту тему — Пайпс но если ваше мнение отличается от его — я бы с удовольствием его выслушал.
тогда мне непонятно, почему это интерфейс, а не неймспейс, и как он может быть у Http клиента менеджер лицензий или это не HttpClient а RestClient? Тогда слово Web должно быть уже внутри слова HTTP.
Скорее всего пользователь сначала определяется какой конкретный API использует, а потом уже оперирует сущностями.
using KingOfDevs.SpecificRest.WebApi;
// если по-вашему а не по стандарту
License.Repository licenses = GetSpecificRestClient().Licenses;
licenses.Remove(myLicense);
Т.е. я бы все эти слова про API вынес бы в контекст определяемый юзингами то, что внутри неймспейса сделал бы максимально похожим на доменный язык.
Ну вообще, я ниже написал, что мой выбор, чтобы все писали по стайл гайду принятом в данной экосистеме. Если C# — то скобки на отдельной строке. И желательно проверять все стайлкопом.
А в другой экосистеме я буду по другому. Вот в питоне и F# вообще только отступы.
Там есть масса тонкостей, от того, что сейчас нет AOT — т.е. интерпретируется байткод, а не копилируется в webassembly до того, что нельзя напрямую завимодействовать с DOM,
Я по-быстрому других бенчмарков не нашел, если вы сошлетесь на более свежие бенчи я буду благодарен
А вы в курсе как работает эта технология и какие ограничения?
https://medium.com/young-coder/a-weekend-with-blazor-running-c-in-the-web-browser-6b9439704418
Хотя АОТ обещают
В лямбдах либо явные параметры которые то же самое что и переменные с точки зрения явности зависимости либо картинг, причем с поддержкой типов. Причем ide и типы подсказывают и проверяют.
Не надо следить за состоянием чего-то. Ну может в джаваскрипте каком-то но там ошибка будет раньше и чмтаемее
Это да. Вот только чтобы в ней разобраться надо понять что делают слова.
Сравните по семантике с
или
или
Мне хочется свои задачи решать, а не писать себе язык, потом для него инструменты.
Сложнее, потому, что приоритет один и тот же, а состояние стека в каждый отдельный момент разное.
А еще в случае ошибки не сразу ясно где она.
Принято писать комментарии про порядок параметров слова, но инструменты соответствие количества параметров и типов не проверяют.
В-общем, мне не очень понятно зачем на этом делать что-то, кроме зобби программирования.
Хотя идея красивая
Объекты мапятся на предметную область более прямо чем стек. Стек это отдельная хрень со своим состоянием, которую очень легко испортить.
Сравните
мама.мыла(раму) мама.мыла(стол) и мама ДУП раму мыла стол мыла
Во втором случае надо думать больше, и помнить что именно сейчас лежит в стеке
В форте стековой машиной создается дополнительная ненужная ментальная нагрузка на программиста. Вы рассматривали использование других скриптовых языков типа lua?
Форт, это, фактически, ассемблер для форт-мащины. На дохлых бытовых компах типа Микрошы он позволял писать код более-менее по-человечески делать для себя DSL и так далее.
Но, он заставлял думать о стеке. Мне вообще непонятно зачем он сейчас нужен.
Ееее я почти с первого раза это написал!
Тут тоже эмоция, но немного другая — у фила негатив и пассивная позиция. Было бы что-то типа. "Меня размазали на собеседовании и заставили работать за еду". Тут же автор восхищен и принимает на себя ответственность за свое восприятие.
Вы не могли бы провести анализ этих особенностей сгенерированного кода и сказать, насколько они продиктованы принципиальными ограничениями задачи, а насколько тем, что не ставилась задача сделать модифицируемый C++?
Еще он не является GO.
Вопрос насколько можно преобразовать Restricted PHP в читаемый/модифицирцемый Go.
В ответ прозвучало "Как бы слабо ни звучал аргумент «у нас миллионы строк кода» "
Но эти миллионы строк уже переписываются на C++ много раз в день автоматически.
Возникает вопрос, почему не сделать это один раз и выкинуть PHP, например?
KPHP переписывает его на C++
А вы не рассматривали возможность транслировать не в C++ а во что-то другое?
С прицелом на последующее выкидывание PHP и своего плагина и использованием IDE которые фуллтайм команды пишут для языка со статической типизацией?
И еще — на каком этапе валидируется возможность трансляции PHP, который написал программист, в C++? IDE? Кастомный валидатор? Тесты?
Кому не зашло? Как прошел процесс выборов?
Насколько я помню, ВОСР произошла при помощи инициативной группы большевиков а не путем какого-то голосования. А потом у них караул устал.
Дальше пошла Гражданская (которую тоже можно назвать, конечно, процессом выборов но методы голосования весьма специфичные) в которой победили большевики.
Причины называют разные — от перехвата эсеровских лозунгов до разделенности белых. В-общем, хотелось бы понять точку зрения на эти выборы и, скажем так, величину искажений относительно мнения большинства или кого-там еще.
Самое большое что я прочитал на эту тему — Пайпс но если ваше мнение отличается от его — я бы с удовольствием его выслушал.
Им кроме того интерфейс это или нет надо будет знать еще кучу вещей. И скорее всего, интерфейс это или нет будет не очень важным для такого сценария.
тогда мне непонятно, почему это интерфейс, а не неймспейс, и как он может быть у Http клиента менеджер лицензий или это не HttpClient а RestClient? Тогда слово Web должно быть уже внутри слова HTTP.
Скорее всего пользователь сначала определяется какой конкретный API использует, а потом уже оперирует сущностями.
Т.е. я бы все эти слова про API вынес бы в контекст определяемый юзингами то, что внутри неймспейса сделал бы максимально похожим на доменный язык.
Я не знаком с современной экосистемой, из того, что мне прилетает, я вижу что большинство кода без типов. Скорее всего мало кто использует.
Ну вообще, я ниже написал, что мой выбор, чтобы все писали по стайл гайду принятом в данной экосистеме. Если C# — то скобки на отдельной строке. И желательно проверять все стайлкопом.
А в другой экосистеме я буду по другому. Вот в питоне и F# вообще только отступы.
Эти "нравится" и "не нравится" — вопрос привычке. Вон в Джаве так все пишут.