Pull to refresh
15
0

User

Send message
никто не запрещает присвоить например Dynamic в Int, даже явный каст не потребуется
Это очень плохой пример. Мягко говоря. А строго говоря (если уж вы за строгость типизации) это вообще не пример. Интересно, почему для подтверждения слов о строгой типизации вы выбрали именно пример с Dynamic? Это ведь тип специально для тех, кому не нужна типизация, кто хочет от неё отказаться, в конкретном месте, явно.
Это же одно из важных свойств Haxe, что он даёт свободу выбора — нужна свобода и динамика — пожалуйста, использую Dynamic, untyped и т.д., нужна строгость — ок, не используй их и на этапе компиляции всё будет строго, включая выявленные типы.
Ну и конкретно о статической типизации, которую вы видимо имели имели в виду под строгой. Вот подробная таблица по целевым платформам: haxe.org/documentation/introduction/compiler-targets.html где указано, где она поддерживается платформой(!), а где нет. А в контексте нашей с вами дискуссии важна строка под таблицей, которая явно говорит нам что «Haxe code itself is statically typed no matter what target it is compiled to.»
Давно не писал на haxe ничего сложнее сотни строк, так что вспомню только например вот это — github.com/HaxeFoundation/neko/issues/167.
Это ок, понятно, если вашей целевой платформой была neko, то я не удивлён вашим разочарованием. Хотя это уже про выбор платформы, а не язык. И одно из ключевых слов тут, возможно — «давно». Про neko ниже уже немного написали, уточню, что на момент эта платформа уже не актуальна, и будущего у неё нет, есть более современные решения, в том числе от того же разработчика. Последнее не имхо — те, кто следят за прогрессом Haxe, знают, что развивать neko дальше не будут.
— он на самом деле не является строго типизированным, строгость типизации полностью зависит от целевой платформы
Полностью? Вы серьёзно? Не могли бы вы раскрыть эту мысль? Как, например, влияет платформа на типизацию на этапе компиляции?
в стандартной библиотеке мало документации и много багов
Можете дополнить это утверждение ссылками на issue c багами в стандартной библиотеке, которые серьёзно осложняют вашу работу?
Всегда нужно выбирать технологии в зависимости от задач.
И в любом случае нужно знать API платформы, для которой выполняешь задачу, кэп.
Когда пишешь на том же C# под Unity или для другой платформы тебе нужно знать API или другой платформы, но это никак на влияет на оценку C#.
Так ведь изначально он и был только компилятором. Первой целью была именно компиляция в байт-код swf. И только вторым добавился js, в который уже нужно было транслировать. И до сих пор swf — один из самых взрослых таргетов, так что не nekovm единым.)
Вариант 3. Использовать OpenFL, но в качестве бэкенда (OpenFL поддерживает альтернативные бэкенды) для трансляции в html5 использовать bitfive

Вариант 4. Использовать Flambe — на момент это возможно лучшее решение для создания html5 игр на haxe.

Information

Rating
Does not participate
Location
Санкт-Петербург, Санкт-Петербург и область, Россия
Registered
Activity

Specialization

Frontend Developer, Mobile Application Developer
Middle
From 150,000 ₽
Flutter
Dart
Development of mobile applications
Android development
Android SDK
HAXE
ActionScript