Действительно ли Haxe стоит изучить? [закрытый]

Как отмечено в других ответах, сделайте (1), имеет -C опция для этого; несколько команд имеют подобные опции (например, tar). Полезно отметить, что для других команд, которые испытывают недостаток в таких опциях, следующее может использоваться:

(cd /dir/path && command-to-run)

Это выполняет команду в подоболочке, которая сначала имеет ее рабочий измененный каталог (при оставлении рабочего каталога родительской оболочки одним). Здесь && используется вместо ; для ловли ошибочных случаев, где каталог не может быть изменен.

152
задан Gama11 3 February 2019 в 12:44
поделиться

11 ответов

Стоит ли изучать Haxe?

Краткий ответ: Абсолютно точно!

Что делает его полезным для людей, использующих Haxe?

Если вы являетесь веб-разработчик, вы знаете, что нельзя слишком долго придерживаться одной технологии. Рано или поздно вам придется иметь дело с изменениями в среде или целях (вы разрабатываете для .NET, но важному клиенту требуется PHP, или, может быть, этот виджет должен быть во Flash, а не на Javascript), и это лучший сценарий. В худшем случае вам придется переключаться постоянно, часто несколько раз в один рабочий день.

Эти переключатели могут напрасно тратить ваше время, потому что вам нужно слишком много раз менять парадигму программирования и, возможно, потому, что у вас будет много совпадений при кодировании ваших библиотек для конкретных целей. Haxe пытается облегчить боль перехода, имея только один исходный язык (язык Haxe) и множество выходных данных (через компилятор Haxe). Язык очень дружелюбный и его довольно легко выучить, независимо от вашего опыта.

Чтение веб-сайта выглядит очень многообещающим. Обеспечивает ли он значительную мобильность?

Язык один и тот же независимо от того, на какой платформе вы развертываете. Таким образом, вы определяете классы / интерфейсы / перечисления / typedefs одинаково для JS, Flash, C ++ и т. Д. Если эти типы, которые вы определяете, не зависят от API конкретной платформы, их можно повторно использовать от платформы к платформе без каких-либо усилий. . Все платформы также используют общие API, такие как доступ к XML, HTTP-соединения и отражение. Платформы, у которых есть что-то общее (например, Neko и PHP), используют один и тот же API для таких вещей, как доступ к файлам или разработка веб-сервера.

Какие есть реальные и, возможно, недооцененные преимущества?

  • Если у вас есть опыт работы с Flash / Flex, вы знаете, как компилятор может замедлить вашу работу (единственное преимущество - это возможность сделать перерыв на кофе во время ожидания; )). Компилятор Haxe во много раз быстрее, настолько быстро, что большую часть времени вы даже не замечаете, что он работает.
  • Создаваемый байт-код намного быстрее, чем эквивалент, созданный инструментами Adobe.
  • Также в сфере Flash Haxe может «встроить» функции или получить доступ к функциям памяти, которые доступны только в другом месте, с помощью Alchemy.
  • Если вам это нужно, вы также можете решить, какую версию Flash использовать, от 6 до 10; API сильно изменился, но язык Haxe остался прежним.

Говоря о стороне сервера, мы все знаем, насколько распространен PHP. Вы можете разработать приложение с Haxe, нацеленным на него, и масштабировать его до Neko или даже C ++, если ваше веб-приложение растет.

Какие подводные камни или ошибки?

Вот список распространенных заблуждений:

  • Хакс молодой и незрелый Не совсем, Хаксу уже почти 4 года, он видел 25 официальных релизов (не сборок ) + 13 альфа и бета, он постоянно обновляется и имеет очень преданное сообщество. Его профессионально используют многие люди в нескольких областях разработки; загляните в архив списка рассылки , чтобы узнать, как люди используют Haxe.

  • Haxe сложен Поскольку главной целью Haxe, без всякого сомнения, является AS3, люди ожидают, что у него должны быть мастера или графический интерфейс. Как уже говорилось, Haxe - это язык и компилятор, что делает его подходящим для программистов, но не очень подходящим для дизайнеров.

  • Не существует ' Любые IDE Истинная часть этого состоит в том, что IDE можно улучшить во многих аспектах, чтобы лучше интегрироваться с Haxe, но уже есть много допустимых вариантов .

  • Единственная опубликованная книга уже устарела Здесь тоже есть доля правды, к сожалению, книга была опубликована всего за несколько месяцев до того, как произошел крупный выпуск (с V1 по V2). Этот основной выпуск мало что изменил, но добавил несколько несовместимостей. Книга по-прежнему остается действующим ресурсом (я говорю это не только потому, что написал ее;))

127
ответ дан 23 November 2019 в 22:11
поделиться

«Для людей, использующих Haxe, что делает его полезным для вас?»

Как творческий флешер, я действительно не вижу смысла в AS3! Итак, от программиста / художника Flash, вот мой вывод:

В моем текущем проекте у меня есть 19-летний парень, который под моим руководством перешел с классов AS2 / AS3 в основном на временную шкалу на Haxe и портировал код AS2 и AS3 поперек. Так что я не Я думаю, что Haxe труднее использовать, чем AS3, или когда он используется во Flash, значительно отличается. Что касается стабильности, моя основная текущая проблема - это аспекты текущих Flash-плееров, Haxe действительно так же стабилен или более стабилен, чем AS3 при разработке Flash.

Развитие Flash - это постоянный процесс создания библиотек, которые становятся бесполезными как Flash. изменения (может быть, им нужно продавать программное обеспечение каждый год !?), и компоненты всегда были тем, что мне было нужно, но размеры - это глупо, поэтому я не хочу, как овца, переходить на Flex или даже переходить на альтернативный XAML.

Основное преимущество Haxe заключается в том, что вы можете начать действительно думать о создании классов, которые отделены от платформы и будут в значительной степени использоваться через пять лет. Я сомневаюсь, что это верно для любого AS3, который вы создаете, у Haxe меньше связей. , потенциально я мог бы скомпилировать код в JavaScript, Silverlight или что-то еще, что Google представит дальше.

Мои основные проблемы с Haxe заключаются в том, что большая часть разработки велась не на Mac, поэтому аспекты компиляции C ++ и новых функций Haxe иногда уходят из Windows пользователей, но у меня не было проблем с ядром Haxe, таких как компиляция Flash.

Что касается дизайнеров: я использую фильм Flash IDE, загружаемый во время выполнения для моих визуальных ресурсов, и делаю то же самое при разработке в AS3, поэтому мой рабочий процесс действительно не зависит от AS3 / Haxe, мне нравится простая жизнь, поэтому я использую Textmate либо для AS3, либо для Haxe. У меня есть страсть к Flash IDE и ее мощности, но я никогда не буду использовать ее для кода, и большая часть моей работы с Flash - это в основном код, поэтому я не хардкор Linux, Haxe не мешает вам использовать Flash IDE, но если вы хотите можете использовать swfmill или sam.

Вопрос в следующем:

На самом деле мне очень нравятся такие аспекты, как умный компилятор в отношении типов, позволяющий сделать мой код чище. И typedef великолепны.

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

Если вы любите создавать код для быстрой разработки визуального творчества, я думаю, что Haxe - идеальный язык, и даже как фрилансер я использую его в коммерческих целях.

25
ответ дан 23 November 2019 в 22:11
поделиться

Ну, на ваш вопрос уже дан ответ, но я хотел бы добавить несколько коротких замечаний.

Я изучил и активно использовал Haxe после первых бета-версий и использую его до сих пор. Это был первый язык, который я выучил (в то время я еще учился в колледже), который действительно помог мне понять разницу между языком и API.

Видите ли, в колледже я сначала изучил AS2, затем PHP, а затем немного Javascript. У нас не было формального введения в программирование (и я все равно не изучал информатику). Все эти языки в значительной степени привязаны к платформам, поэтому, как начинающий программист, я автоматически предполагал, что такие вещи, как strlen () - это PHP, MovieClip - это AS2, ...

Используя Haxe, я действительно понял ценность объектно-ориентированного дизайна, поскольку платформа больше не ограничивала мои занятия. Я мог бы повторно использовать код, написанный для Flash-проекта, в моем обычном веб-коде, если бы я достаточно хорошо отделил их от особенностей их платформ.

Благодаря отличным классам удаленного взаимодействия, которые вы можете использовать для взаимодействия между платформами,

8
ответ дан 23 November 2019 в 22:11
поделиться

Haxe - бесценный язык. Многие из его плюсов часто упускаются из виду. Например, у него есть фантастические встроенные библиотеки, которые значительно упрощают разработку приложений, такие как простой, но очень мощный ORM (Neko / PHP), полное межплатформенное удаленное взаимодействие (Flash / JS / PHP / C ++ / Neko), где угодно поддерживаемая платформа может беспрепятственно взаимодействовать с любой другой платформой, надежная библиотека регулярных выражений (поддерживается всеми, кроме Flash <8) и многое другое.

В качестве примечания, я недавно написал приложение, использующее Haxe для PHP / JS / Flash, и обнаружил скорость разработки возросла в геометрической прогрессии.

Конечно, Haxe может и не ориентироваться на дизайнера, но он также не является хардкорным. Haxe очень легко изучить и использовать повторно, и по мере увеличения числа целевых платформ разработчики Haxe могут нацеливаться и на них,

5
ответ дан 23 November 2019 в 22:11
поделиться

Мой взгляд на Haxe,

Предупреждение, следующие абзацы очень философские (практические - ниже):

Как человек, который за мое короткое время был открыт для многих языков программирования программирование и кто-то, кто просто уходит, когда я чувствую, что что-то не работает для меня; Я обнаружил, что Haxe - это то, от чего я просто не могу прогрессировать, я просто не могу «улучшить его».

Я обнаружил в прошлом, что количество времени, которое я трачу на письмо на одном конкретном языке, связано с двумя ключевыми факторами, насколько мне нужно использовать этот язык, чтобы получить результат, и насколько легко я нахожу этот язык для понимания. Но с Haxe период усвоения был намного короче, и я приписываю это моему небольшому накоплению знаний в различных языках. До Haxe я никогда не находил того, что мне действительно подходило, и это казалось мне правильным, они были либо слишком трудными для понимания, либо просто бесполезными; ну, по крайней мере, бесполезно с моей точки зрения.

Haxe позволил мне быть более выразительным в том, как я пишу, я не имею в виду «выразительность», поскольку все говорят о языках, имея в виду способность просто придумайте идею и работайте с ней, чтобы попробовать что-то так, как я считаю правильным. Независимо от того, удастся он или полностью потерпит неудачу.

Haxe был для меня очень легкой кривой обучения, с моим общим опытом работы с языками стиля c и AS2 / 3, и у меня действительно не было никаких проблем с его освоением. Одна вещь, которая всегда мешала моему прогрессу с новым языком, заключалась в понимании концепции, лежащей в основе этого конкретного синтаксиса / фреймворка, но даже после того, как я преодолевал это препятствие, я часто обнаруживал, что язык сам по себе либо ограничен, либо ограничен, либо и то, и другое. С Haxe я не ограничен и не нахожу язык, который бы меня ограничивал. У Haxe нет стеклянного потолка, но есть стеклянный пол, в котором нет предела тому, что вы можете сделать, но вы можете ясно видеть, как вы туда попали.

Взять Haxe - это не то же самое, что подобрать несколько палок и Развести огонь, но это не то же самое, что пойти и купить кислородно-ацетиленовый набор и развести из него огонь. В этом смысле Haxe ближе к матчу, который можно использовать повторно. Он следует почти за всеми преобразованиями того, к чему вы привыкли, но добавляет новые полезные функции. Но для этого он не изобретает велосипед полностью, а просто исправляет гнилые части. (ладно, меньше аналогий в следующем абзаце)

Практические вещи:

Язык простой, легкий и стандартизированный, в то же время позволяя программисту идти сколько угодно далеко. Это какое-то крупное частное предприятие большой (или даже маленькой) компании, чтобы заработать на вас как на разработчике, вместо этого оно создано для всех разработчиков, чтобы использовать, развивать и улучшать. И именно поэтому я чувствую, что Хакс - это то место, где я хочу быть. (теперь вернемся к кодированию)

18
ответ дан 23 November 2019 в 22:11
поделиться

Если вы хотите получить короткий ответ: ДА!

Для людей, использующих Haxe, что делает это полезным для вас?

Большую часть времени я использую Haxe на стороне сервера. (Это означает цель PHP или neko). На мой взгляд, PHP - самый отстойный язык, который я когда-либо использовал, поэтому я начал использовать Haxe: наличие удобного языка.

Еще одним большим преимуществом для меня является то, что Haxe является открытым исходным кодом.

Предоставляет ли он существенные преимущества. переносимость?

Использование одного и того же кода для разных целей! Я и представить себе не мог, как повысить мобильность.

Перенос веб-сайта с PHP на mod_tora , который работает в 40-80 раз быстрее, чем PHP, часто требует всего 5 минут работы ???

] Что такое реальный мир и возможно не оценили преимущества?

  • Самым большим преимуществом является переносимость кода и отличные возможности для взаимодействия между платформами, никогда не было так просто обрабатывать данные между клиентом и сервером. (Взгляните на раздел Удаленное взаимодействие в вики.)
  • Сообщество великое . (Если вам, по крайней мере, нравятся списки рассылки.: -)
  • Еще одна вещь: если вам нужно выполнять очень платформенные операции, которые не поддерживаются Haxe (что случается очень редко), Haxe всегда дает вам возможность настроить их . Это называется Haxe magic . Другими словами: вы могли делать все, что могли делать на родном языке платформы + все то хорошее, что предлагает вам Haxe.

Какие подводные камни или ошибки?

  • Документация, иногда установка не на 100% идеальна.
13
ответ дан 23 November 2019 в 22:11
поделиться

Я кодировал Haxe в личных и профессиональных целях около 2 лет. У него есть определенные преимущества, которых вы не получите от других языков, самым большим из которых является то, что он был разработан почти с самого начала как современный производственный компилятор, который может гибко адаптироваться к новым платформам и использовать их уникальные функции. . Это делает его наиболее близким к высокоуровневой версии C.Если вы пишете код на Haxe, вы можете рассчитывать, что он останется.

Приверженность сообществу была выше, чем вы думаете - я провел небольшой анализ трафика списков с точки зрения сжатых килобайт (из данных на http://lists.motion-twin.com/pipermail/haxe / ), и результат показывает рост на 25-50% с начала года (январь-сентябрь) каждый год с 2006 года. За последние шесть месяцев трафик действительно резко вырос, и я серьезно подумываю о том, чтобы перейти на дайджест, потому что в противном случае мой почтовый ящик будет заполнен сотнями сообщений на Haxe, если я оставлю его более чем на день. Он не такой разрекламированный, как другие языки, но это, в свою очередь, означает, что люди, привязывающие свои фургоны к Haxe, как правило, являются уверенными, хорошо информированными программистами.

Люди экспериментировали с компиляторами языка-языка в других контекстах (Scheme Anywhere , Python или Ruby в JS и т. Д.), Но эти языки были разработаны для другого места и цели, и при переводе теряются многие свои лучшие аспекты, что делает результаты классными, но неудобными для повседневной работы. Хакс так не чувствует; в то время как у него нет удобств, которые дает интеграция языка и среды выполнения,

3
ответ дан 23 November 2019 в 22:11
поделиться

Мое основное использование Haxe все еще ограничивается разработкой Flash. Я только постепенно осознаю, что его можно использовать для других целей. Я до сих пор не вижу преимуществ в этом направлении и использую PHP и JS непосредственно в PHP и JS.

Хотя я не разрабатываю серверную часть Neko, это отличная поддержка, поскольку это означает, что я могу писать тестовые примеры для кода и интегрировать их в сценарий сборки, а не только запускать их во флэш-плеере. Это очень хорошее преимущество.

Открытый характер кода и возможности разработки также являются хорошим преимуществом. Мне действительно был нужен препроцессор, поэтому в Haxe была добавлена ​​поддержка #line . Я не думаю, что Adobe когда-либо серьезно отнесется к моему запросу.

Я считаю, что типизированный язык - это огромное преимущество перед многими новыми современными языками.

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

4
ответ дан 23 November 2019 в 22:11
поделиться

да, полностью

НО для этого нужна лучшая IDE и документация, отсутствие отличной IDE (например, на основе Eclipse) для меня имеет большое значение, и из-за этого я не могу достичь уровня продуктивности, на котором работаю на других языках.

language = great - best by miles среда разработки = плохая (на данный момент и имхо)

2
ответ дан 23 November 2019 в 22:11
поделиться

Haxe был на радаре с самого его запуска. Я согласен, это кажется очень многообещающим, но я заметил, что разработчики не принимают его так быстро, как можно было бы ожидать (по сравнению с RoR и даже Flex).

1
ответ дан 23 November 2019 в 22:11
поделиться

Субъективно я считаю, что я более продуктивен в работе с Haxe, чем с любым другим языком. Я использую Haxe в основном для Neko и JavaScript.

Сам компилятор очень быстр, что позволяет мне использовать Haxe как язык сценариев. Он склоняется к объектной ориентации, но имеет ряд функциональных инструментов; функции первого класса, функциональное соответствие, лямбда-библиотеки.

Я считаю, что скорость Neko достаточна, а ее небольшой размер изображения отлично подходит для стесненных условий. C FFI превосходен - очень просто добавить новые функции.

Я использую Haxe для своего контроллера на стороне клиента JavaScript, запускающего события в стандартное представление jQuery. Это работает очень хорошо, так как вы можете набирать и проверять код клиента и сервера одновременно, сводя нетипизированный необработанный JS к минимуму и сохраняя преимущества обычных библиотек JS. Доступны библиотеки JSON. Кстати, хотя Haxe действительно поставляется с mod_ * для Apache и т.д., я нахожу использование прокси гораздо более гибким, поэтому я могу настроить несколько экземпляров Neko за веб-сервером.

В целом, я думаю, что он очень хорошо продуман и продуман. - и, что особенно важно, он работает так, как рекламируется на всех платформах.

3
ответ дан 23 November 2019 в 22:11
поделиться
Другие вопросы по тегам:

Похожие вопросы: