Dr. Friedrich
Но ведь хромиум сейчас везде
Dr. Friedrich
Даже в ionide
Dr. Friedrich
Значит, чтобы разрабатывать на F#, тебе нужен хромиум, правильно?
Dr. Friedrich
Значит, и 10 гигов рамы!
Ayrat
Значит, и 10 гигов рамы!
я потерялся в твоимх импликациях где-то в середине
Dr. Friedrich
Ayrat
Ну, если кратко, то мы в дерьме
Это да. Вся надежда что найдутся энтузиасты, оденут костюмы ассенизаторов, выпрут by-design старпёров из репки F# и захуярят его на Roslyn
Dr. Friedrich
Мне непонятно, почему вы так топите за Roslyn 🤷‍♂️
Dr. Friedrich
Это компилятор для языков типа C# и VB
Dr. Friedrich
Наш F# туда будет экстремально сложно привинтить
Ayrat
Мне непонятно, почему вы так топите за Roslyn 🤷‍♂️
Это платформа, в которую сейчас встроено два компилятора. C# и VB.Net но можно встроить и многие другие
Ayrat
Ты уверен, что можно?
ну мы ж программисты
Dr. Friedrich
Ну, в смысле, у нас подход к компиляции сильно отличается от рослиновского
Dr. Friedrich
Вполне может статься, что рослин придётся переписать, чтобы туда можно было добавить F#.
Dr. Friedrich
Нет
Dr. Friedrich
Это как раз ерунда
Dr. Friedrich
Проблема в том, что компиляторы на Roslyn практически не занимаются оптимизациями и инлайнингом кода.
Dr. Friedrich
Скорее всего, в них очень слабые facility для этих целей.
Dr. Friedrich
А нам нужно очень дофига оптимизаций (в том числе кросс-процедурных), инлайнинг (как по слову inline, так и автоматический в ряде случаев), ну и вишенкой на торте тайп-провайдеры ещё.
Dr. Friedrich
Алсо поддержка вот этих вот магических блобов с метаданными, которые хранятся в F#-сборках.
Dr. Friedrich
В общем, там целый ворох компонентов и особенностей, которых вообще нету ни в одном поддерживаемом Roslyn языке.
Dr. Friedrich
И у тебя получится просто сборка Roslyn, которая для fsproj заворачивает в совершенно другие уголки кода и работает как FCS.
Karen
я бы тайп провайдеры нууу.. убрал бы)))
это наверное первое, что узнаешь при первом знакомстве с шарпами!
Karen
я так и заинтересовался ф-шарпом
Ayrat
да лан
Ну как замануха работает. На практике такое себе. Недоделано
Vladislav
ну типо писать их это пиздец боль, а использовать можно некоторые
Vladislav
мне кажется склпровайдер как еф можно для крудов юзать
Vladislav
точно
Dr. Friedrich
Ты можешь уже щас такой «рослин» написать. Референсишь пакеты Roslyn и FCS, а потом if (fsproj) FCS.Main(args); else Roslyn.Main(args);
Dr. Friedrich
когда вы уже в JB свой компилятор напишете?
Но мы уже написали. Называется kotlinc
Ayrat
Но мы уже написали. Называется kotlinc
это понятно. Я для дотнета имел в виду
Dr. Friedrich
это понятно. Я для дотнета имел в виду
Мне было бы интересно заняться кркосстаргетингом котлина в дотнет, например.
Dr. Friedrich
но зачем?
Как зачем?
Dr. Friedrich
( ._. )
Анна
Ну, кроме того, что это возможно прикольно
Dr. Friedrich
Ну, кроме того, что это возможно прикольно
Кроме того, что это «возможно» прикольно, какой-то ещё повод нужен? :)
Pavel
чет не верю я в то что жб чтото типа фшарпа напишет
Анна
Просто кажется что линия партии такова, что в дотнет котлин не надо
Pavel
их както за решарпер для f# спрашивали. всего 10 лет понадобилось что б он появился в каком то виде
Fail
В дотнете уже есть сишарп
x
В дотнете уже есть сишарп
ну так а в джаве есть джава )
Fail
ну так а в джаве есть джава )
Ну жава не имеет столько фич
Анна
ну так а в джаве есть джава )
C# не настолько плох, как Джава, поэтому с ним толкаться нет смысла
Dr. Friedrich
Dr. Friedrich
Смотри, в дотнете есть сишарп
Dr. Friedrich
Но сишарпа нету на JVM, например
Dr. Friedrich
А вот если я хочу напилить либу, чтоб она работала и в дотнете, и на JVM, и в нативе — то пока что такой опции, строго говоря, нету.
Pavel
есть. обычная С либа
Fail
CLR и JVM все таки очень разные
Анна
А вот если я хочу напилить либу, чтоб она работала и в дотнете, и на JVM, и в нативе — то пока что такой опции, строго говоря, нету.
Ну это конечно всё хорошо, но пока существующие платформы бы допилить, а на это уже рук еле-еле хватает, насколько я понимаю. Поэтому даже если захотят в дотнет, то это вообще далёкое будущее с невысоким приоритетом
Dr. Friedrich
есть. обычная С либа
Имхо это страх
Dr. Friedrich
Накладные расходы на использование C чудовищны.
Dr. Friedrich
Если из managed — то тебе придётся везде пинить/анпинить/бодаться с unsafe
Vladislav
Dr. Friedrich
Oracle, например, вообще игнорирует любые проблемы, которые связаны с unsafe. Если видят unsafe в багрепорте — то сразу быстренько сматывают удочки.
Vladislav
Но сишарпа нету на JVM, например
но жвм есть в сишорпе!!1
Vladislav
ikvm
Pavel
Накладные расходы на использование C чудовищны.
чудовищны будут расходы переписать тот же openCV.
Dr. Friedrich
но жвм есть в сишорпе!!1
Да, прекрасно поддерживается, например
Dr. Friedrich
написать на плюсах либу
См. выше: накладные расходы очень стрёмные
Dr. Friedrich
Быстродействие не очень, инфраструктурные расходы тоже большие
Vladislav
да я тролил, плюсы это пардон одна ебля
Vladislav
если что-то тяжелое
Dr. Friedrich
У плюсов быстродействие не очень?
Быстродействие самих плюсов, безусловно, отличное. А вот интероп — это ужас.
Dr. Friedrich
Или ты страдаешь от тормозов, или долбишь маршал ансейф по кд
Pavel
См. выше: накладные расходы очень стрёмные
если память не шаришь расходов нет