Один из признаков того, что язык программирования имеет успех, – появление новых языков на его основе. Известным примером является JavaScript.
Имхо, появление транспилеров — это признак того, что на исходном языке писать жутко неудобно/неприятно/etc., но какие-то другие факторы принуждают к этому. И JavaScript — яркий тому пример.
Своеобразный лайфхак — писать на приятном языке, а генерацию кода на неприятном языке поручить транспилеру. Разве есть другие причины писать транспилер?
А можно остывающие данные автоматически по каким-то критериям скидывать в vinyl?
И что в принципе посоветуете почитать на тему совместного использования memtx и vinyl?
К тому же к Nemerle будет сложно в разумные сроки прикрутить поддержу IDE
Интеграция с VisualStudio у Nemerle вполне приличная ещё со времён VS 2008. Так что проблема явно не в этом.
Вообще .NET CLR — весьма авторитарная среда, по сравнению с тем же JVM. Я не знаю ни одного языка, который бы взлетел для неё кроме тех, чью разработку активно курирует Microsoft. Даже из тех разработок, которые они поддерживали, типа IronPython, IronRuby и прочие Iron*, ни одна не взлетела.
Насколько я понял, вопрос был не про то, что на выходе, а про детали процесса компиляции… остаётся ли делегирование самостоятельной сущностью после синтаксического анализа или преобразуется в эквивалент набора методов на уровне AST?
Правда, непонятно, какая разница в плане практического применения? По таким критериям языки можно делить если только из теоретического интереса, тем более что реализация компилятора может меняться от версии к версии.
Так а в чём разница то? В языках, где есть нормальные макросы (если у Вас это слово ассоциируется с C++, то забудьте эту ассоциацию), абсолютное большинство средств языка выражается именно через макросы, включая элементы синтаксиса.
В Kotlin, насколько я понимаю, пока очень урезанная поддержка делегации — либо всё делегировать, либо ничего.
Справедливости ради, чтобы 1 неадекват не создавал негативное мнение о языке в целом, скажу, что Nemerle — весьма интересный язык с хорошим выводом типов, с полноценным pattern matching, макросами аля LISP и ещё кучей полезных фич. В общем по идеологии он гораздо ближе к функциональному программированию, но при этом синтаксис напоминает C#. Этакий гибрид C# и F# + нормальные макросы.
К сожалению, язык этот за 10 лет существования не взлетел, потому что
1) Пиар за пределами RSDN у него был практически на нуле
2) Для многих программистов хватило функциональных возможностей, которые встроили в C#. Ну а для тех, кому хотелось больше функциональщины под .NET, взлетел F#
Будет ли у Nemerle второй шанс? Зависит от JetBrains, именно на них работают основные мейнтейнеры языка.
P.S. На самом деле, даже странно почему популярность Nemerle настолько близка к нулю… Я ожидал, что ситуация получше. Но не видно ни одного активного OpenSource-проекта на этом языке, если не считать проектов того самого Влада.
То, что Вы об их существовании знаете, в этом ничего удивительного нет. А вот то, что Вы пропустили момент, когда о них говорили, как о перспективных (это было лет 8-10 назад) — это странно.
Язык устоялся буквально год-два назад.
Во, теперь понятно… привет из 2009 года.
быдлятник в байтах.
Это Вы видимо про себя. На вопросы по существу отвечать научитесь, потом понтоваться будете.
Ну, полный список я Вам вряд ли предоставлю. Но для примера в Ruby есть def_delegator для этого, некоторые используют delegate из ActiveSupport, хотя это уже ближе к кодогенерации.
Кстати, аналогичную кодогенерацию можно устроить в любом языке где есть compile-time макросы. Rust, Crystal, Nim, etc. к вашим услугам. В Crystal такое есть из коробки, про остальных точно не знаю. Но сделать аналог весьма просто.
В функциональных языках делегация тоже хорошо поддерживается, только там она осуществляется от модуля к модулю, например defdelegate в Elixir.
Вы из какого года к нам прибыли? Я про Nemerle в прошлый раз слышал лет 8 назад. Влад и компания, конечно, молодцы и тогда этот проект выглядел весьма интересно. Но, имхо, после выхода C# 3.0 и включения F# в дефолтную поставку VS 2008 интерес к Nemerle стал стремительно затухать.
Про D я уже выше спрашивал, какой фактор сможет обеспечить рост популярности 15-летнему языку?
Эти споры относились на 90% к разработке десктоп приложений, а не WEB.
Ахах, это да, на тему того, что ASP.NET — неюзабельная хрень, практически все были единодушно согласны. Но спустя годы сделали порт Rails, назвали ASP.NET MVC и ничего, стало можно и под веб на C# комфортно разработку вести. Так что это ещё и исторический пример того, как реальная хрень может быть замещена чем-то путным в рамках одной и той же платформы.
Использовать WPF для десктопных приложений сейчас решаются не многие.
А, кстати, почему? Боятся ограничить себя рамками Windows?
Я как-то давно отошёл от разработки десктопных приложений, поэтому не в курсе. Вообще Qt с .NET — это интересное сочетание, почему тогда не GTK или wxWidgets?
Конкуренты есть у всех. К тому же у массовости есть и обратная сторона: средний уровень сообщества падает от массового притока новичков в программировании. Что, по факту, имеет ряд негативных последствий для профессиональных программистов, начиная от необходимости учить/руководить чуть ли не чаще, чем программировать, и заканчивая замедлением темпов индексации зарплат.
Формулировка то расплывчатая. Но налоговая не расстроится, если вы будете 13%, а не 6% ей отчислять… Так что не волнуйтесь, в суд она на вас из-за этого подавать не будет )))
Вообще если это один заказ на продолжительное время, то физ.лицо тоже может вполне официально работать по договору подряда… Просто это невыгодно, потому что придётся 13% платить, а не 6%. Да ещё и в фонды из этих 13% никаких отчислений не будет.
А разве на PayPal сейчас не принудительная автоматическая конвертация в рубли? Реально лучше налог спокойно заплатить чем примерно такой же процент при конвертации потерять. Тем более, что 1 из 6% идёт напрямую в ПФР.
Имхо, появление транспилеров — это признак того, что на исходном языке писать жутко неудобно/неприятно/etc., но какие-то другие факторы принуждают к этому. И JavaScript — яркий тому пример.
Своеобразный лайфхак — писать на приятном языке, а генерацию кода на неприятном языке поручить транспилеру. Разве есть другие причины писать транспилер?
Хм, интересная позиция… Разве команда разработчиков не в состоянии разработать решение, которое её же и устроит?
А можно остывающие данные автоматически по каким-то критериям скидывать в vinyl?
И что в принципе посоветуете почитать на тему совместного использования memtx и vinyl?
Его 3 раза об этом спрашивали, но он так толком и не ответил… Видимо, в их кейсе не учитывается остывание данных.
Интеграция с VisualStudio у Nemerle вполне приличная ещё со времён VS 2008. Так что проблема явно не в этом.
Вообще .NET CLR — весьма авторитарная среда, по сравнению с тем же JVM. Я не знаю ни одного языка, который бы взлетел для неё кроме тех, чью разработку активно курирует Microsoft. Даже из тех разработок, которые они поддерживали, типа IronPython, IronRuby и прочие Iron*, ни одна не взлетела.
Насколько я понял, вопрос был не про то, что на выходе, а про детали процесса компиляции… остаётся ли делегирование самостоятельной сущностью после синтаксического анализа или преобразуется в эквивалент набора методов на уровне AST?
Правда, непонятно, какая разница в плане практического применения? По таким критериям языки можно делить если только из теоретического интереса, тем более что реализация компилятора может меняться от версии к версии.
Хм, значит всё-таки не будет… Единственный шанс — убедить MS в том, что им могут быть полезны эти наработки.
Так а в чём разница то? В языках, где есть нормальные макросы (если у Вас это слово ассоциируется с C++, то забудьте эту ассоциацию), абсолютное большинство средств языка выражается именно через макросы, включая элементы синтаксиса.
В Kotlin, насколько я понимаю, пока очень урезанная поддержка делегации — либо всё делегировать, либо ничего.
Справедливости ради, чтобы 1 неадекват не создавал негативное мнение о языке в целом, скажу, что Nemerle — весьма интересный язык с хорошим выводом типов, с полноценным pattern matching, макросами аля LISP и ещё кучей полезных фич. В общем по идеологии он гораздо ближе к функциональному программированию, но при этом синтаксис напоминает C#. Этакий гибрид C# и F# + нормальные макросы.
К сожалению, язык этот за 10 лет существования не взлетел, потому что
1) Пиар за пределами RSDN у него был практически на нуле
2) Для многих программистов хватило функциональных возможностей, которые встроили в C#. Ну а для тех, кому хотелось больше функциональщины под .NET, взлетел F#
Будет ли у Nemerle второй шанс? Зависит от JetBrains, именно на них работают основные мейнтейнеры языка.
P.S. На самом деле, даже странно почему популярность Nemerle настолько близка к нулю… Я ожидал, что ситуация получше. Но не видно ни одного активного OpenSource-проекта на этом языке, если не считать проектов того самого Влада.
То, что Вы об их существовании знаете, в этом ничего удивительного нет. А вот то, что Вы пропустили момент, когда о них говорили, как о перспективных (это было лет 8-10 назад) — это странно.
Во, теперь понятно… привет из 2009 года.
Это Вы видимо про себя. На вопросы по существу отвечать научитесь, потом понтоваться будете.
Ну, полный список я Вам вряд ли предоставлю. Но для примера в Ruby есть def_delegator для этого, некоторые используют delegate из ActiveSupport, хотя это уже ближе к кодогенерации.
Кстати, аналогичную кодогенерацию можно устроить в любом языке где есть compile-time макросы. Rust, Crystal, Nim, etc. к вашим услугам. В Crystal такое есть из коробки, про остальных точно не знаю. Но сделать аналог весьма просто.
В функциональных языках делегация тоже хорошо поддерживается, только там она осуществляется от модуля к модулю, например defdelegate в Elixir.
Вы из какого года к нам прибыли? Я про Nemerle в прошлый раз слышал лет 8 назад. Влад и компания, конечно, молодцы и тогда этот проект выглядел весьма интересно. Но, имхо, после выхода C# 3.0 и включения F# в дефолтную поставку VS 2008 интерес к Nemerle стал стремительно затухать.
Про D я уже выше спрашивал, какой фактор сможет обеспечить рост популярности 15-летнему языку?
Ахах, это да, на тему того, что ASP.NET — неюзабельная хрень, практически все были единодушно согласны. Но спустя годы сделали порт Rails, назвали ASP.NET MVC и ничего, стало можно и под веб на C# комфортно разработку вести. Так что это ещё и исторический пример того, как реальная хрень может быть замещена чем-то путным в рамках одной и той же платформы.
А, кстати, почему? Боятся ограничить себя рамками Windows?
Я как-то давно отошёл от разработки десктопных приложений, поэтому не в курсе. Вообще Qt с .NET — это интересное сочетание, почему тогда не GTK или wxWidgets?
Конкуренты есть у всех. К тому же у массовости есть и обратная сторона: средний уровень сообщества падает от массового притока новичков в программировании. Что, по факту, имеет ряд негативных последствий для профессиональных программистов, начиная от необходимости учить/руководить чуть ли не чаще, чем программировать, и заканчивая замедлением темпов индексации зарплат.
Во некоторых языках разработчики позаботились о нормальной поддержке делегирования, и оно делается одной строкой, без какого-либо бойлерплейта.
Формулировка то расплывчатая. Но налоговая не расстроится, если вы будете 13%, а не 6% ей отчислять… Так что не волнуйтесь, в суд она на вас из-за этого подавать не будет )))
Вообще если это один заказ на продолжительное время, то физ.лицо тоже может вполне официально работать по договору подряда… Просто это невыгодно, потому что придётся 13% платить, а не 6%. Да ещё и в фонды из этих 13% никаких отчислений не будет.
А разве на PayPal сейчас не принудительная автоматическая конвертация в рубли? Реально лучше налог спокойно заплатить чем примерно такой же процент при конвертации потерять. Тем более, что 1 из 6% идёт напрямую в ПФР.
С чего бы это? У меня уже 3-й такой.