Это обязательно стоит обучение? [закрытый]


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

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

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

11 144

11 ответов:

это обязательно стоит обучение?

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

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

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

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

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

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

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

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

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

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

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

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

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

  • There aren't any IDEs истинная часть этого заключается в том, что IDE может быть улучшена во многих аспектах, чтобы лучше интегрироваться с Haxe, но уже есть много допустимые варианты.

  • The only book published is already outdated здесь тоже есть доля правды, к сожалению, книга была опубликована всего за несколько месяцев до того, как произошел крупный релиз (от V1 до V2). Что крупные релиз не сильно изменился, но он добавил несколько несовместимостей. Книга по-прежнему остается действительным ресурсом (я не просто говорю это, потому что я ее написал ;) )

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

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

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

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

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

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

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

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

язык просто легкий и унифицированный, пока все еще позволяющ программисту пойти как далеко по мере того как они любят.

вы можете написать очень высокий уровень кусок кода или пойти и возиться с маленькими битами и кусками (в серьезной степени на некоторых платформах)

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

список рассылки полезно и отзывчиво, и форум даже набирает темп сейчас.

язык постоянно меняется (незначительными способами) с новыми вещами, добавленными в каждом выпуске.

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

каждый открыто говорит о языке его направлении и направлении, которое они предлагают для Haxe (и, конечно, почему он должен принять это направление)

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

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

для людей, которые там используют Haxe, что делает его полезным для вас?

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

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

обеспечивает ли он значительную переносимость?

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

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

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

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

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

  • документация, иногда установка не на 100% идеально. Поддержка IDE может быть значительно улучшена.
  • также является объектом JavaScript-это иногда трудно использовать, потому что на Haxe обеспечивает действительно хороший язык, но какая-то структура для наиболее распространенных манипуляций DOM отсутствует, но я думаю, что некоторые люди работают над этим; -)
  • если мне приходится работать с клиентами, им иногда не нравится идея реализовать свой проект на таком неизвестном языке.

P. S.: Я думаю, что это всегда стоит того, чтобы выучить новый язык, так как он улучшает навыки программирования и опыт.

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

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

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

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

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

для кого-то вроде меня, кто только начал программировать, это было довольно большое откровение в то время, когда XML был "крутым" и хорошим для всего; -)

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

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

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

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

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

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

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

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

субъективно я считаю, что я более продуктивен в хаксе, чем любой другой язык. Я использую haxe в основном для таргетинга neko и javascript.

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

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

Я использую haxe для моего JavaScript-контроллера на стороне клиента, запуская события в стандартный вид jQuery. Это работает очень хорошо, так как вы можете одновременно проверять свой клиентский и серверный код, сохраняя при этом нетипизированный raw js до минимума и сохраняя преимущества обычных библиотек js. В JSON библиотеки. Кстати, хотя haxe поставляется с mod_* для apache и т. д., Я нахожу использование прокси гораздо более гибким, поэтому я могу настроить несколько экземпляры neko за веб-сервером.

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

bd

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

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

люди экспериментировали с компиляторами языка к языку в других контекстах(Scheme anywhere, Python или Ruby в JS и т. д.) но эти языки были разработаны для другого места и цели, и в переводе теряют много своих лучших аспектов, что делает результаты прохладными хаки, но не удобными для изо дня в день работа. Haxe не чувствует себя так; хотя у него нет удобств, которые приходят от интеграции языка/времени выполнения, у него есть много других интересных вещей, которые можно предложить прямо сейчас.

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

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

язык = великий-Лучший по милям среда разработки = бедная (на данный момент и ИМХО)

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

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

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

в конце концов, Haxe помогает вам писать на одном языке и ориентироваться на разные платформы (в основном JS и Flash, а теперь NekoVM, PHP и C++) вам это действительно нужно?!