Size: a a a

2021 November 08

D

Darya in IT Way
Для меня Julia - это что-то между C++ и  Python. Комп считает быстро, когда ты условно говоришь ему, что делать. С++ сразу говорит, что нужно взять два инта и сложить их, используя сложение целых чисел. Процессор имеет это сложение встроенным, он точно знает, что делать и делает быстро. На интерпретируемом языке а-ля Python, ты говоришь ЦП взять две переменные, но концепт переменных ЦП не знаком, поэтому прежде чем ЦП что-то сделает, Python сначала должен выяснить, что содержат эти переменные. Для каждой операции он условно выясняет, целое это число, с плавающей точкой ли, что существенно его замедляет.

Julia также как и Python не знает, если явно не указать, float у нас или int. Но она умно планирует, когда происходит вызов функции. Julia просматривает каждую операцию функции и вычесояет точные инструкции ЦП, необходимые для этих конкретных аргументов. Поэтому у Julia есть особенность - при первом вызове функции всегда медленнее, чем при повторных вызовах. При первом вызове определяются все переменные и все функции для них, компилирует это все в быстрые и точные инструкции ЦП. Дальше она повторно использует этот код и может работать на скоростях С++.
источник

D

Darya in IT Way
Сорри за много букОв
источник

AP

Alex Panzer in IT Way
в питоне тож есть подобное
при первом вызове функции всегда медленнее, чем при повторных вызовах
но не на таком уровне как Julia

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

далее идут уже PyPy+NumPy
(рантайм-интерпретатор для Python)
CPython+NumPy

и далее чтобы уж полностью был компилируемым код, то это Cython

https://habr.com/ru/company/otus/blog/349230/
источник

D

Darya in IT Way
Мне кажется ещё, что большая часть компаний, которая пилит софт с С++ сейчас, не будет переходить на язык, пока он не станет устрйчиво по популярности, как C++. Я живу в фин столице Германии. Знаете, за какой язык здесь больше всего платят😅? Haskell 😂 Потому что 10 лет назад было круто писать банковские платформы на нем, но потом он сошел на нет в данных фирмах, а платформы все ещё обслуживать надо. А людей, кто хочет и может с чужими выкрутасами хаскеля бодаться, очень мало
источник

AP

Alex Panzer in IT Way
@MaxTalanov помнится вроде были подобные тру стори про Cobol ? :D
источник

D

Darya in IT Way
Ну да, таких языков, думаю, много. После нас, наверное, скала будет 😇
источник

AP

Alex Panzer in IT Way
На интерпретируемом языке а-ля Python, ты говоришь ЦП взять две переменные, но концепт переменных ЦП не знаком, поэтому прежде чем ЦП что-то сделает, Python сначала должен выяснить, что содержат эти переменные

верно подмечено! но если подушнить, то в питоне нет переменных, там есть имена, отчего собстна и медленнее без связок с библиотеками а-ля NumPy :D

https://habr.com/ru/company/vk/blog/454324/
источник

СЧ

Саня Череп in IT Way
А что не так с хаскелем? Хороший язык, мне даже жаль, что он не так популярен как остальные
источник

СЧ

Саня Череп in IT Way
И не сошёл он на нет, а развивается так же как и все
источник

D

Darya in IT Way
Людей, желающих(и способных быстро вникать) разгребать чужой полет фантазии на нем, а не писать свой, очень мало. И найти их сложно. Сейчас все фин платформы, по крайней мере у нас, вернулись к Java+Python+JS. Только старое ПО осталось на нем. Думаю очевидно, что найти людей только как саппорт тяжело, да
источник

AP

Alex Panzer in IT Way
видать мультипарадигменные языки с толикой функциональщины менее болезнены на вход :D

чтобы войти в чисто ФП (хаскель) нужно голову поломать и начать мыслить на новом уровне, а эт тяжко бывате
источник

СЧ

Саня Череп in IT Way
Тут согласен, да
источник

D

Darya in IT Way
Мне нра вот эта статья про Julia https://juliacomputing.com/case-studies/mit-robotics/index.html

Думаю, в AI она надолго задержится. Вытеснит ли она плюсы, посмотрим лет через 10, думаю. Там ближе к концу есть сравнение, почему она, а не плюсы (хотя насколько беспристрастны создатели?🤔)
источник

MT

Max Talanov in IT Way
ого Haskell с Cobolom сравнивать? Это жестко
источник

D

Darya in IT Way
Я их не сравниваю. Я говорю, что много языков, которые когда-то были популярны для задачи, но потом люди, которые задачу писали, ушли, а код мэйнтейнит все ещё надо, а люди на их местах, уже с другим языками играются. А платформа остаётся, переписывать ее не хочется, но люди с хаскелем, которые будут только поддерживать систему, не решая новых проблем... Привет, бешеная текучка
источник

AP

Alex Panzer in IT Way
кажется не на то сообщение Reply
я про тру стори, что тащут ЯП, у которых мало спецов
кажется Cobol и кассовые аппараты
тут Haskell оказался в той ситуации, что мало спецов, хотя язык то мощный
источник

AP

Alex Panzer in IT Way
а теперь вспомним тех, кто учит Eiffel :D
источник

MT

Max Talanov in IT Way
ну когда то я задумался отом почему ЯП так много чем они отличаются и прочитал книжку про ЯП, важно понимать какие идеи закладывали авторы ЯП в него чтоб понять для каких задач лучше подходит, популярность тут вообще не причем
источник

MT

Max Talanov in IT Way
можно еще почитать высказывания Дейкстры про Кобол
источник

MT

Max Talanov in IT Way
точнее о вреде Кобола
источник