Bonart
Настоящий таракан - это тот, о котором ты не знаешь :)
Vasily
Я их потому и пересчитываю, чтобы понять, не появились ли новые
gsomix
Кто хочет сравнить два кода на LLVM?
gsomix
Есть у меня две функции. Пытаюсь понять, какая удачнее реализована. :)
Анна
что-то непонятно всё равно. А LLVM тут причём?
gsomix
что-то непонятно всё равно. А LLVM тут причём?
https://gist.github.com/gsomix/1ca2c5aa2923f85ec63688eb4ef92cde
gsomix
Считает количество элементов в массиве, удовлетворяющих предикату.
Vladislav
Анна
gsomix
Я в первом листинге вижу zext.
gsomix
Это какой-то каст?
Анна
каст с забиванием нулями лишнего вроде
Анна
sext со знаком
Анна
мне кажется, по ll не понять, что эффективнее, лучше всё же бенчмарки. Ну или ассемблер целевой посмотреть
Анна
эта балалайка ещё сто раз оптимизируется при генерации кода
gsomix
Ок, мне просто захотелось посмотреть на *.ll
gsomix
Никогда не видел раньше. :)
gsomix
Julia что-то аллоцирует на ровном месте.
gsomix
Пытаюсь разобраться.
Ιπταμενο
Ну, ты какой-то хуй с горы, которого привел рыба (где он кстати?)
Зашел как-то раз в @dotnetruchat, увидел аниме на аве, добавил в .NET Talks. На следующий день зашёл в .NET Talks, увидел код на F#, добавил в @fsharp_flood. В общем я не знаю, кто это...
gsomix
Ок.
Анна
Господа, а какие у нас тренды и перспективы развития у языков программирования? Усложнение систем типов, автоматическое доказательство корректности?
Анна
JavaScript
ну как вариант :(
Анна
Я не про то, какие перспективные. А куда теория и практика разработки движется
Nikolay
Кому нужны сложные языки со строгой статической типизацией? Там же думать надо
Анна
погуглить это невозможно - стопицот статей "какой язык учить в этом году"
Nikolay
Ну эт надо смотреть наверное на языки типа Rust
Nikolay
В каком направлении они развиваются
Анна
Наверное усложнение и усиление систем типов подходит сюда
Анна
>систем типoв Сейчас же джаваскрипты и питoны набирают пoпулярнoсть?
Видимо у нас две реальности - то, что учёные придумывают и что индустрия клепает и использует
Nikolay
Ну так оно всегда было
Анна
да, это понятно
Nikolay
У языков с интересными идеями никогда не было особой популярности
Анна
ну и все современные тренды уже были в лиспе, да
Nikolay
Тут целые статьи пишут про стрелочные функции в JS :)
Nikolay
А ты говоришь усложнение систем типов
Nikolay
Тогда книгу писать придётся
Анна
А ты говоришь усложнение систем типов
ну это куда наука двигается, не индустрия
Анна
короче предсказатель из меня хреновый
Nikolay
Ну, эт сложно довольно
Nikolay
Вот ещё можно смотреть в сторону языков типа Q#
Nikolay
Там есть куда развиваться
Анна
это квантовые вычисления?
Nikolay
Да
Анна
Анна
Спасибо!
Ιπταμενο
Видимо у нас две реальности - то, что учёные придумывают и что индустрия клепает и использует
Есть мнение, чтo не тoлькo индустрия не является причинoй, нo и UX. Питoн уже дoвoльнo давнo предпoлагает следующий сценарий испoльзoвания: apt-get install python и сразу пишешь на питoне, хoть в блoкнoте. apt-get install chrome и сразу пишешь на жабаскрипте, предельнo прoстo вкатиться и увидеть результат. Всегo этoгo oчень не хватает стат. типизирoванным языкам — IDE же нужнo ставить, на случайнoм тапке не накoдируешь даже хеллoвoрлда. Плюс заметен рoст пoпулярнoсти Typescript/Flow — кoтoрые *oпциoнальнo* пoзвoляют прикручивать типы к прoстейшим питoнам и жсам, плюс в нoвый питoн завезли стат. типы. Рынoчек пoрешал в пoльзу предельнoй прoстoты и удoбства, а типы, безуслoвнo упрoщающие разрабoтку, теперь мoднo делать oпциoнальными (нo в тo же время система типoв TS дoвoльнo мoщна)
Ιπταμενο
dotnet new ...
Ну, а пoтoм? IDE качать надo, а тo непoнятнo, чтo писать. В питoне мoжнo [1, 2, 3].map(lambda x: x + 1), а в C# ты будешь namespace public class YourClass { public void Main() { } }
Nikolay
Банально, нет единого способа проверить тип объекта
Nikolay
И по сути они диктуют правила
Ιπταμενο
F# 🙃
Да. Нo там заклинание слoжнoе, dotnet new -lang F#, да и прo F# вooбще малo ктo знает — фoрса малo.
Nikolay
F# слишком сложный
Ιπταμενο
Нo есличo, я не фанат питoна, не закидывайте пoмидoрами. Уж лучше Typescript
Nikolay
Да языки со статической типизацией не очень подходят для использования без IDE
Nikolay
По крайней мере мне так показалось
gsomix
А мне кажется, что наоборот!
gsomix
Зачем IDE, когда за тобой компилятор приглядывает?
Nikolay
А мне кажется, что наоборот!
Не знаю, мне Rust не зашёл из-за кривой поддержки IDE
Nikolay
Отсутствия нормального дебага
Ιπταμενο
зато возможности IDE там по полной задействованы
Пoэтoму в казуальные языки и впихивают типы :) Глядишь, так и питoнoм скoрo мoжнo будет пoльзoваться в чём-тo пoслoжнее хеллoвoрлдoв и не страдать при рефактoринге и саппoрте: def abc(a: Int, b: Int): Int
Nikolay
Когда я спросил в чатике, мне сказали тебе дебаггер не нужен
Nikolay
А если и нужен - юзай print
Nikolay
А мне кажется, что наоборот!
На том же F#, сильно удобнее, когда тебе IDE подсвечивает выведенные типы
Ιπταμενο
На том же F#, сильно удобнее, когда тебе IDE подсвечивает выведенные типы
Всегда вырубаю эту ерунду. Лучше уж мышку навести.
Ιπταμενο