1.1, Аноним (1), 22:02, 03/08/2020 [ответить] [﹢﹢﹢] [ · · · ] [↓] [к модератору]
| +2 +/– |
> Динамическая типизация: язык не требует явного определения типов для переменных по аналогии со скриптовыми языками программирования.
Так уже определитесь - динамическая типизация, или type inference. Динамическая типизация и высокая производительность несовместимы.
| |
|
2.45, funny.falcon (?), 09:42, 04/08/2020 [^] [^^] [^^^] [ответить] [к модератору]
| +1 +/– |
Там все сразу: базовое динамическое типизирование. Если jit компилятор видит, что переменная/аргумент функции всегда одного типа, он делает специализацию функции. Плюс, можно явно указывать типы. В сочетании с mutiple dispatching (не помню, как точно называется: поиск перегруженной функции по всем аргументам) получаетсямощный инструмент.
Если я правильно понимаю, в отличие от многих других языков с JIT, в Julia компилятор скорее "обычный", т.е. хотя он и запускается just in time, но больше опирается на имеюшиеся описания типов (как в классических компилируемых языках программирования) с частичным inferring типов (как в ML языках), чем на рантайм-статистику.
| |
|
1.2, Аноним (2), 22:07, 03/08/2020 [ответить] [﹢﹢﹢] [ · · · ] [↓] [↑] [к модератору]
| –9 +/– |
Кто-нибудь может мне объяснить, зачем придумывают новые ЯП? Неужели не придумали всё что нужно? Как это происходит, просыпается с утра а напишу ка я новыя ЯП. Или ка это бывает?
| |
|
2.3, Аноним (1), 22:09, 03/08/2020 [^] [^^] [^^^] [ответить] [↓] [к модератору]
| +8 +/– |
Потому что находят фатальные недостатки в других языках программирования. Галактика в опасности, нужно срочно спасать.
| |
|
|
4.9, Аноним (9), 22:34, 03/08/2020 [^] [^^] [^^^] [ответить] [к модератору]
| +11 +/– |
Как же здорово, что есть такие "шизофреники", из-за которых нам не нужно тратить время на написание программ в байт-коде.
П.С. Шизофреники обычно задают крайне тупые вопросы в стиле "а зачем писать новые япы?"(академический интерес, новая архитектура, новые задачи и еще десятки возможных причин для написания нового япа).
| |
|
|
|
|
4.13, Аноним (9), 22:48, 03/08/2020 [^] [^^] [^^^] [ответить] [к модератору]
| +3 +/– |
Ну да, 11 лет - это же абсолютно ничтожное количество времени для человека, который живет в среднем аж целые 72 года, всего ничего ведь. А твое начальство, если ты конечно не школьник, знает, что тебе можно платить месячную зарплату раз в 11 лет? Ведь даже этого будет много, для человека, у которого 11 лет словно одно мгновение.
| |
|
|
2.12, an0nymous (?), 22:39, 03/08/2020 [^] [^^] [^^^] [ответить] [↑] [к модератору]
| +1 +/– |
Потому что эволюция. Она во всем и ее не остановить. Придумают новые концепции для решения каких-то задач и решают наболевшие проблемы в текущих языках(в том числе и надуманные типа NIH)
| |
|
3.80, Аноним (80), 21:59, 05/08/2020 [^] [^^] [^^^] [ответить] [к модератору]
| +/– |
Это не так. Знаю как минимум несколько комании, которые ведут переговоры с разработчиками
как минимум двух интерпретаторов и готовы оплатить им работы или даже сами разработать решение,
но компании не хотят идти на сделку. Сегмент DSL и разработчик какой-то институт.
Так что если язык станет популярным (будет использован в нужном проекте), то инвестиции пойдут.
Вопрос в том как убедить акул ИТ сегмента убедить в том, что вот этот Julia дейсвтитльно стоит
внимания, а не использовать какой-то Java или C#, который как говно пристает к каждому
разработчику в университете.
| |
|
2.31, Ями (?), 00:58, 04/08/2020 [^] [^^] [^^^] [ответить] [↓] [к модератору]
| +8 +/– |
> Неужели не придумали всё что нужно?
Насколько же невежественным нужно быть чтобы допускать хоть малейшую возможность того что может быть придумано "всё".
| |
2.42, б.б. (?), 08:38, 04/08/2020 [^] [^^] [^^^] [ответить] [↑] [к модератору]
| +6 +/– |
Язык Наскальный v. 2.0
- теперь копьё стачивается на 15% меньше
- произдведены оптимизации при работе с хрупкой породой
- можно рисовать коз
| |
|
|
4.72, funny.falcon (?), 10:02, 05/08/2020 [^] [^^] [^^^] [ответить] [к модератору]
| +1 +/– |
В том, что его не боятся использовать на суперкомпьютерах, например. Там время разработки и запуска стоят очень дорого, и раз julia был допущен, значит он доказал своë удобство при разработке прототипа.
Вообще, об использовании julia информация просачивается из разных источников. Конечно, Python сейчас более популярен для "науки на скорую руку", но Julia явно откусила свой кусок рынка, и отдавать не намеренна.
| |
|
|
2.71, СССР (?), 03:03, 05/08/2020 [^] [^^] [^^^] [ответить] [к модератору]
| +/– |
1. либо ктото в рамках изучения яп yacc ии др. попробовал слепить поделку.
2. либо (мое мнение) , крупным корпорациям не нужны программисты, им нужны контентщики что бы развивать свои платформы. для этого создается ЯП с динамич. типизацией идр. модными штучками. там типа все удобно, сборщик мусора, в интернете вбрасывают страшные истории про отстреленные ноги и яйца. по результату имеем стадо покемонов которые спорят срутся по вопросам какой ЯП моднее, на каком проще написать программу для подтирания клоаки, ибо самому взять бумагу это долго и не безопасно, можно рукав запачкать в дерьме, это будет вообще фиаско. А вот в это же время другие, адекватные ребята, на нормальном ЯП, создают эти современные тенденции, и ноги и голова, все у них на месте.
| |
|
1.4, Аноним (2), 22:09, 03/08/2020 [ответить] [﹢﹢﹢] [ · · · ] [↓] [↑] [к модератору]
| –11 +/– |
> Код проекта распространяется под лицензией MIT.
Вот если бы код написанный на этом, был бы обязан быть под под лицензией MIT, вот тогда было бы кошерно.
| |
|
2.14, Аноним (9), 22:53, 03/08/2020 [^] [^^] [^^^] [ответить] [↓] [к модератору]
| +1 +/– |
>Кто-нибудь может мне объяснить, зачем придумывают новые ЯП?
>Вот если бы кто-то придумал еще одну GPL, но с другими буковками в названии.
Дед, иди проверь голову, у тебя уже деменция походу начинается.
| |
|
3.34, Аноним (34), 02:56, 04/08/2020 [^] [^^] [^^^] [ответить] [к модератору]
| +/– |
С каких пор GPL накладывает подобные ограничения на результаты работы подпадающего под её действие ПО? На license exception в GCC кивать не надо, там особый случай под названием libgcc.
| |
|
2.32, Аноним (32), 01:00, 04/08/2020 [^] [^^] [^^^] [ответить] [к модератору]
| +3 +/– |
Если бы он был обязан быть под лицензией MIT, то он был бы уже не под лицензией MIT. И тет, жадная капиталистическая жаба, код выпускался и будет выпускаться под GPL, чтобы ты лососнул, а не использовал его на халяву.
| |
|
3.35, Аноним (35), 04:15, 04/08/2020 [^] [^^] [^^^] [ответить] [к модератору]
| –1 +/– |
> чтобы ты лососнул, а не использовал его на халяву.
То есть несвободный код. Лишает меня свободы пользования
| |
|
|
|
|
3.81, Аноним (80), 22:01, 05/08/2020 [^] [^^] [^^^] [ответить] [к модератору]
| +/– |
Почему кормить? Мне вот тоже интересно посмотреть, что уже написано и на сколько оно сложно в интерпретации. Скажем код на Rust для меня вообще не читаемый и использовать в следующем небольшом проекте я опасаюсь, а вот например новый Python 3.9 можно попробовать, так как там ничего страшного нет.
| |
|
|
|
|
|
4.50, iZEN (ok), 10:59, 04/08/2020 [^] [^^] [^^^] [ответить] [к модератору]
| +1 +/– |
> как это ни странно, но некоторые вещи на фортране быстрее чем на
> си
Типа матрицы под углом 90 градусов в памяти расположены и доступ к элементу столбца не загораживает следующий?
| |
|
5.57, dikiy_f90 (?), 11:24, 04/08/2020 [^] [^^] [^^^] [ответить] [к модератору]
| +/– |
У Фортрана по дефолту доступ к аргументам подпрограммы по ссылке *для скорости*, не то что в С дурак (непременно) будет огромные структуры копировать. И Сишный рестрикт Там тоже по дефолту у этих ссылкоподобных параметров, не дай тебе бог пересекающиеся данные передать в субрутину, никто же и не проверит, Фортран всё оптимизирует!
| |
|
6.78, Аноним (78), 16:50, 05/08/2020 [^] [^^] [^^^] [ответить] [к модератору]
| +/– |
Сишное ABI обязует передавать числа и маленькие структуры через регистры, а большие структуры - через указатель на стек. Насколько именно большие - зависит от конкретного ABI, коих десятки.
| |
|
|
|
|
|
1.37, mos87 (ok), 06:42, 04/08/2020 [ответить] [﹢﹢﹢] [ · · · ] [↓] [↑] [к модератору]
| –2 +/– |
>одной из ключевых целей проекта является достижение производительности близкой к программам на языке Си.
что только ни делают лишь бы не учить Perl/Raku
| |
|
|
3.70, Аноним (34), 18:24, 04/08/2020 [^] [^^] [^^^] [ответить] [к модератору]
| +/– |
Чистой математикой, наверное, действительно не очень удобно. А вот обрабатывать тонны снятых не пойми где не пойми как экспериментальных данных на Perl, внезапно, удобно.
| |
|
|
1.44, borbacuca (ok), 09:24, 04/08/2020 [ответить] [﹢﹢﹢] [ · · · ] [↓] [↑] [к модератору]
| +/– |
Джулия опирается на линию языков математического программирования, но также многое заимствует из популярных динамических языков, включая Lisp , Perl , Python , Lua и Ruby .
и ВСЁ
| |
1.49, Hck3r (?), 10:51, 04/08/2020 [ответить] [﹢﹢﹢] [ · · · ] [↓] [↑] [к модератору]
| +2 +/– |
Сейчас Julia в основном про сложную математику, где надо много считать. Численные вещи решались на фортране, какое-нибудь решение PDE было хорошо в матлабе, всё это уже хорошо делает Julia. Она к слову один из 3х языков, которая выбивала петафлопные вычисления на HPC машинах.
Но ещё она хочет залезть в область Data Science/Machine Learning. Там где сейчас Python/R правят баллом. И даже скорее PyTorch/Tensorflow вот тут у Julia есть Gen, с встроенным в язык автодифференцированием так необходимым для градиентов, на которых это всё основывается.
Но кто идёт часто работать в DS после академической области? Правильно математики и физики. И если у них Julia станет стандартом де факто (пока она продвигается сильно только в штатах и особенно в MIT), то потом она же теоретически сможет занять место Python. Думаю у них план такой :)
| |
|
|
3.61, Hck3r (?), 12:05, 04/08/2020 [^] [^^] [^^^] [ответить] [↓] [к модератору]
| +/– |
В том числе и на Си, но существует огромные области, где исторически всё делается на фортране. Работа с матрицами и тензорами (срезы) там сделаны гораздо удобнее, например.
Навье-Стокса, CFD и кучу других вещей с использованием Coarrays, OpenMP, MPI, Blas, PETSC,Lapack и иже с ними библиотеками.
| |
|
4.62, Аноним (52), 13:33, 04/08/2020 [^] [^^] [^^^] [ответить] [к модератору]
| +/– |
> гораздо удобнее
Чем в Си? Откройте исходники SSP/ESSL на Фортране и исходники нормального пакета на Си и убедитесь, что принципиальной разницы нет - основной принцип заключается в одномерном хранении массивов любой размерности. Чем, собственно, и достигается примерно одинаковое быстродействие аналогичных алгоритмов.
| |
|
5.64, Hck3r (?), 15:16, 04/08/2020 [^] [^^] [^^^] [ответить] [к модератору]
| +/– |
Внутри пакета, который жестко заточен на оптимизацию возможно (если честно в исходниках мат пакетов особо не копался). Но я же говорю, что до вызова пакета с данными как-то ещё работает исследователь. И тратить время на просчёт корректности индексов при развёртке своих н-мерных тензоровьто ещё удовольствие. Да и понятность логики и читаемость кода теряется.
А когда я говорил про срезы имел в виду этот пример https://en.m.wikipedia.org/wiki/Array_slicing
Гугл подсказал, что некоторые компиляторы (Sun) и возможно новые стандарты плюсов что-то вводили, но я никогда такого не встречал.
| |
|
|
3.77, Аноним (77), 15:48, 05/08/2020 [^] [^^] [^^^] [ответить] [↑] [к модератору]
| +1 +/– |
Забавно, как на опеннете любят постоянно кричать про фанбоев раста. При этом в топике про ЯП для математиков, которым небольшой профит от скорости C по сравнению с Julia в 99% случаев как собаке пятая нога для бега, набежали сишники и рассказывают о том что кроме великого и неподражаемого С языки не нужны. Действительно, зачем нужна кувалда когда есть ювелирные молоточки? Зачем все эти глупые люди используют инструменты которые им удобны для решения задач?
| |
|
4.85, nelson (??), 13:14, 06/08/2020 [^] [^^] [^^^] [ответить] [к модератору]
| +/– |
> ЯП для математиков
А нужен ли вообще этот специальный ЯП для математиков? Математикам удобнее готовый софт юзать в ряде случаев (но не всегда). Mathlab, Octave, Maxima и т.д. - вот что реально будет юзать математик. Попытки создания "ЯП'ов для пользователей" - так себе идея. Один только пистон чего стоит. Julia - это, по сути, ЯП для пользователей. В любом случае что-то нетривиальное придётся делать на том же C++ и функциональных ЯП. Математику выгоднее какой-нибудь OCaml освоить, нежели Julia. На чём там фронтэнд Julia написан? С, C++ и, внезапно - Scheme. Maxima написана на Common Lisp. Функциональные ЯП вполне себе годны как для создания математического софта, так и для вычислений. Непонятно, в какую нишу метит эта Julia. Разве что как замена математическим питоно-библиотекам.
| |
|
5.87, Анонолекс (?), 19:42, 08/08/2020 [^] [^^] [^^^] [ответить] [к модератору]
| +/– |
Ну вот, Юля уже есть, осталось для математиков написать свой Mathlab с фракталами и 3D-визуализацией функций. И назвать его Scilab, FreeMat, GNU Octave или Genius. Ой, блин такое уже есть. Осталось только их спарить с Юлькой.
П.С. Последним двум упомянутым надо ещё интерфейс немного поправить...
| |
|
|
|
|
1.51, Аноним (52), 10:59, 04/08/2020 [ответить] [﹢﹢﹢] [ · · · ] [↓] [↑] [к модератору]
| –2 +/– |
> Возможность прямого вызова функций из библиотек на языке Си без дополнительных прослоек.
Это свойство любого достойного языка программирования. И это же аргумент, почему иные языки программирования, кроме С, не нужны.
| |
|
2.53, iZEN (ok), 11:03, 04/08/2020 [^] [^^] [^^^] [ответить] [↓] [к модератору]
| +/– |
>> Возможность прямого вызова функций из библиотек на языке Си без дополнительных прослоек.
> Это свойство любого достойного языка программирования. И это же аргумент, почему иные языки программирования, кроме С, не нужны.
Ну бред же пишешь. На TurboPascal легко внедрял модуль EGAVGA в исполняемый файл — отдельная подгрузка кода времени выполнения из модуля для работы с графикой не требовалась.
Из Java получал доступ к динамическим библиотекам, откомпилированным в Delphi. Где тут Си? Что я делал не так?
| |
|
|
4.63, iZEN (ok), 14:06, 04/08/2020 [^] [^^] [^^^] [ответить] [к модератору]
| +1 +/– |
> Да, и погугли "На чем написан Delphi". Удивишься.
Turbo Pascal кроме библиотеки TurboVision написан на Turbo Pascal!
Delphi среда и библиотека VCL написаны на Object Pascal/Delphi Pascal. Библиотека визуальных компонентов (VCL) также используется в C++Builder (в сишной среде очень тормозной компилятор — раз в десять тормознее дельфового на простых проектах).
Для OCX/ActiveX компонентов в среде Delphi есть специальный компилятор для внедрения компонентов в виде "обёрток" этих объектов в саму среду, на палитру компонентов и работы с ними в режиме визуального проектирования в среде дизайнера форм. Также есть "обратный" процесс — любой компонент VCL можно преобразовать в OCX/ActiveX-компонент и использовать уже бинарную библиотеку (в формате файла .OCX или .DLL) в других средах разработки.
Borland JBuilder был написан на C++, но впоследствии к четвёртой версии, кажется, переписан на Java с Look&Feel Metal Swing, а затем перешёл на платформу NetBeans и отвязался от нативного кода вообще.
| |
|
|
|
3.74, RomanCh (ok), 12:33, 05/08/2020 [^] [^^] [^^^] [ответить] [к модератору]
| +/– |
Нет, вы видимо просто не знаете что Go даёт возможность не только делать вызовы функций C без всяких прослоек, но даже позволяет писать на С внутри файла с Go кодом:
package main
/*
#include <stdio.h>
void hello(void) {
printf("Hello from C function!\n");
}
*/
import "C"
func main() {
C.hello()
}
$ go run test.go
Hello from C function!
| |
|
4.82, Аноним (80), 22:02, 05/08/2020 [^] [^^] [^^^] [ответить] [к модератору]
| +/– |
Там одна только беда с интеграцией в Си рантайм это ThreadPool на стороне Golang,
который расхреначивает весь не tread-safe код.
| |
|
|
|
1.65, OpenEcho (?), 15:58, 04/08/2020 [ответить] [﹢﹢﹢] [ · · · ] [↓] [↑] [к модератору]
| +/– |
> и генерирует эффективный нативный машинный код для многих целевых платформ;
s/эффективный/огромные файлы размером в 10-ки мегабайт даже для Hello World/g
s/нативный машинный код/только при очень сильном желании может быть получится сгенерировать нативный машинный код/g
| |
|
2.75, Аноним (77), 15:06, 05/08/2020 [^] [^^] [^^^] [ответить] [к модератору]
| +/– |
Да, математики очень страдают от бинарников в 10 мегабайт и не до конца нативного машинного кода. Отправляют их на сервера вычислительных центров с сотнями гигабайт RAM на каждой ноде чтобы крутить расчеты неделями и рыдают просто от того что файл грузился не секунду, а две.
Серьезно, я понимаю, что у ретроградов есть фетиш на С, но люди которые работают предпочитают все-таки использовать удобные инструменты для решения задач которые повышают их продуктивность. Людям все-таки обычно платят за результат а не за фанбойство.
| |
|
3.76, OpenEcho (?), 15:38, 05/08/2020 [^] [^^] [^^^] [ответить] [к модератору]
| +1 +/– |
> Людям все-таки обычно платят за результат а
> не за фанбойство.
Да причем здесь фанбойство ?
Вы попробуйте скомпилировать что нибудь и поймете о чем речь.
Маркетить язык фичами которыми он не обладает - это как политик, который наобещал и не сделал
| |
|
4.79, Аноним (77), 17:48, 05/08/2020 [^] [^^] [^^^] [ответить] [к модератору]
| +1 +/– |
А, сорри, я затупил и не понял что это был наезд на их действительно спорный маркетинг компиляции в нативный код. Просто пролистав кучу сообщений вида "кроме C больше ничего не нужно" я подумал что это очередной наезд на то что язык не С. Ты прав а я не прав.
| |
|
|
|
1.83, Аноним (80), 22:04, 05/08/2020 [ответить] [﹢﹢﹢] [ · · · ] [↑] [к модератору]
| +/– |
Вопрос как всегда не в языке, а в развитии экосистемы. Сколько библиотек реализуют: графику, чтение документов Word/Excel, работу с базами данных, работу с сетью, работу с принтером, работу с GUI, работу с PDF и т.д.
Просто обычно нужно решить вполне прикладные задачи, а для математики и прочей автоматизации уже столько дерьма написано, что даже лень говорить ...
| |
|
2.86, Аноним (86), 13:45, 06/08/2020 [^] [^^] [^^^] [ответить] [к модератору]
| +/– |
> Сколько библиотек реализуют: ....
Достаточно одной хорошей библиотеки. Исследовать россыпь разной степени готовности - мало кого заинтересует....
У Julia с перечисленными выше задачами уже всё в порядке.
| |
|
|