Size: a a a

Compiler Development

2020 May 10

AT

Alexander Tchitchigi... in Compiler Development
polunin.ai
Для этого существуют бизнес-аналитики и прочие менеджеры которые переводят требования клиента "на язык программистов"
Ну, вот когда мы в картину разработки включаем не только программистов (и дизанеров), а ещё и бизнес- и системных аналитиков, архитекторов и менеджеров чтобы весь этот зоопарк не разбежался кто в лес, кто по дрова — может оказаться, что быстрее и дешевле девочке-дизанеру-одежды научиться говнокодить на Go (JS/RoR/Python), чем искать, нанимать и взаимодествовать с целой аутсорсинговой компанией.
источник

МБ

Михаил Бахтерев... in Compiler Development
polunin.ai
Для этого существуют бизнес-аналитики и прочие менеджеры которые переводят требования клиента "на язык программистов"
Это стартап. Откуда у студентки из провинции (из Первоуральска она, что ли была, или из Ревды) на это всё ресурсы?
источник

p

polunin.ai in Compiler Development
Михаил Бахтерев
Не проще. Программисту платить надо. И ещё надо найти такого, которого будет интересовать примерка платьев, а не построение оптимальной архитектуры на линзах. А так, девочка пишет прототип, симпатичный, получает финансирование и у нескольких программистов на Go появляется работа. Так оно всё и развивается.
Всем платить надо. Никто не захочет просто так выполнять работу.
Построение оптимальной архитектуры на линзах волнует наверное пару людей в мире.
Если девочка смогла написать прототип который понравился инвесторам (в чем я сильно сомневаюсь), то она либо потратила уйму времени, что значит что проще всё-таки было нанять программиста, либо же она не успела написать слишком много и поэтому код можно выкинуть и взять нормальный язык в качестве основы.
Ну и напомню что гошечку берут всё-таки не стартаперы, а в основном большие компании, всякие гуглы, и т.д. когда им необходимо поднять скорость работы своих сервисов. А стартаперам  гораздо проще взять php/python/js. Там и стартаперам и людей побольше, и зарплаты людям поменьше, и экосистема развитей.
источник

M

MaxGraey in Compiler Development
Что я слышу в этом чате защищают Go, Python и JS? Куда подевались все функциональщики и сторонники что все должны учить теорию категорий?)
источник

МБ

Михаил Бахтерев... in Compiler Development
Вот. Го - это от слова говнокод. Но это рабочий говнокод. Вот говнокод на Си работать не будет. На JS тоже, а на Go - будет. И это ценная фишка
источник

p

polunin.ai in Compiler Development
На жс будет) у нас вон в Украине на этом говнокоде государственные приложения работают.
источник

МБ

Михаил Бахтерев... in Compiler Development
MaxGraey
Что я слышу в этом чате защищают Go, Python и JS? Куда подевались все функциональщики и сторонники что все должны учить теорию категорий?)
Ну, лично я за их изучение. Но реальность с популярностью языков отрицать тоже не нужно.
источник

p

polunin.ai in Compiler Development
MaxGraey
Что я слышу в этом чате защищают Go, Python и JS? Куда подевались все функциональщики и сторонники что все должны учить теорию категорий?)
Они хорошие если нужно написать код который через полчаса выбросишь, ну или код довольно маленький, и не планируется его расширение. Там да, проще написать что-то на го/питоне, чем выстраивать правильное отношение типов между компонентами системы. Во всех остальных случаях с ними будет много боли.
источник

AY

Anton Yudintsev in Compiler Development
MaxGraey
Просто до этого рассказывается что все как в Rust и Kappa только лучше, а потом раз и сравнивается с Java =)

> Если JVM предварительно прогреть и не учитывать время на прогрев, то с ней соревноваться очень непросто...

На самом деле просто: https://benchmarksgame-team.pages.debian.net/benchmarksgame/performance/nbody.html

Rust: 5.98 сек
Java: 21.85 сек
Я рекомендую всем сравнивателям этого бенчмарка посмотреть на исходный код этого раста в горячем цикле и сравнить с остальными, хоть с срр.

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

AY

Anton Yudintsev in Compiler Development
MaxGraey
Это работает с любыми типами выделенными в куче через operator new
Не обязательно в куче, placement new с любым указателем работает
источник

МБ

Михаил Бахтерев... in Compiler Development
Anton Yudintsev
Я рекомендую всем сравнивателям этого бенчмарка посмотреть на исходный код этого раста в горячем цикле и сравнить с остальными, хоть с срр.

Мне кажется, что если язык, грубо говоря, разрешает писать на ассемблере, то этой информации достаточно, не надо на основе этого делать «бенчмарки»
Ну, другим языкам не запрещается писать на ассемблере. В Си тоже так сделано. Скоро в Java завезут векторные расширения (возможно), тоже можно будет подправить.
источник

M

MaxGraey in Compiler Development
Anton Yudintsev
Я рекомендую всем сравнивателям этого бенчмарка посмотреть на исходный код этого раста в горячем цикле и сравнить с остальными, хоть с срр.

Мне кажется, что если язык, грубо говоря, разрешает писать на ассемблере, то этой информации достаточно, не надо на основе этого делать «бенчмарки»
Во первых не ассемблер а интринсики
C gcc #4 без них и все равно быстрее в 2.5 раза
источник

AY

Anton Yudintsev in Compiler Development
Михаил Бахтерев
Ну, другим языкам не запрещается писать на ассемблере. В Си тоже так сделано. Скоро в Java завезут векторные расширения (возможно), тоже можно будет подправить.
Именно. Такой код на расте выглядит даже хуже, чем просто ассемблер, много бойлерплейт кода, и к собственно языку и его целям отношения не имеет.
Всей информации «на расте тоже можно делать unsafe intrinsics”
источник

AY

Anton Yudintsev in Compiler Development
MaxGraey
Во первых не ассемблер а интринсики
C gcc #4 без них и все равно быстрее в 2.5 раза
Да, было «грубо говоря».
Понятно, что интринсики
источник

AY

Anton Yudintsev in Compiler Development
MaxGraey
Во первых не ассемблер а интринсики
C gcc #4 без них и все равно быстрее в 2.5 раза
У меня нет претензий к бенчмарку.
Но сравнивать 1е место (раст на unsafe с ручным разворачиванием цикла и платформозависимыми интринсиками) и джаву/чистый Си - методологически неверно
источник

AY

Anton Yudintsev in Compiler Development
Раст все равно победит джаву
источник

AY

Anton Yudintsev in Compiler Development
И нормальным сравнением
источник

AY

Anton Yudintsev in Compiler Development
Просто не в безумные разы, а чуть меньше чем в два.
источник

M

MaxGraey in Compiler Development
Anton Yudintsev
У меня нет претензий к бенчмарку.
Но сравнивать 1е место (раст на unsafe с ручным разворачиванием цикла и платформозависимыми интринсиками) и джаву/чистый Си - методологически неверно
GCC C вариант без интринсик и развертываний всего в 1.4 раза медленее, так что это все не так уж и важно
источник

M

MaxGraey in Compiler Development
там просто C/C++ и Rust меряются сами знаете чем. А на войне все средства хороши.
источник