Опубликован релиз языка программирования Julia 1.3, сочетающего такие качества как высокая производительность, поддержка динамической типизации и встроенные средства для параллельного программирования. Синтаксис Julia близок к MATLAB с заимствованием некоторых элементов из Ruby и Lisp. Метод манипуляции строками напоминает Perl. Код проекта распространяется под лицензией MIT...Подробнее: https://www.opennet.me/opennews/art.shtml?num=51933
Отличный язык, без кривого ООП. Множественная диспетчеризация рулит. Скоро заменит помойный Питон.
Надо будет пощупать девушку Юльку за прелести, смотрится очень даже симпатично...
У кого нибудь есть реальный опыт с ней больше чем пощупать?
Есть какие-то негативы от нее?
Главный негатив в том, что язык стабилизировался без году неделя как. Имхо обязательно надо подергпть, если сфера интересов лежит или лежала в области матлаба, нампай и тп, имхо скоро будет и работа. Синтаксис забавный, как пайтоноида бесят энды, но это наверняка фанаты есть, можно привыкнуть. Шустр.
>> Синтаксис забавный, как пайтоноида бесят энды, но это наверняка фанаты есть, можно привыкнуть. Шустр.Ну потому что это лиспо-подобный Ruby. Совершенно открытым заимствованием конструкции блока.
Да я понимаю откуда они, я не понимаю зачем они :)
Код позволяют писать по-человечески с хорошо читаемой структурой. Вместо лапши.
julia> open("myfile.txt", "w") do io
write(io, "Hello world!")
end;
Все хорошо, но энд можно выкинуть, вместе с точкозапятой, они не нужны. Конец блока и так прекрасно виден
это кусок кода из документации. С их точкой с запятой.`end` - это то, что очень хорошо помогает принудительно структурировать (вы не можете прилепить следующую строку к предыдущей, что возможно в питоне). В питоне, обычно, ставят пустую строку. А если не ставят, то читать код становится крайне сложно.
Кроме того, чётко размеченные границы сильно упрощают автоматический анализ кода.
Давайте не будем в полемику вдаваться, надо остановиться :) имхо это вкусовщина, пайтон тоже когда-то был для меня культурным шоком, ничего - пережил. Замечу лишь что машинная обработка с кодом Пайтона справляется и пустыми строками блоки кода все равно почти везде выделяют, даже самые заядлые любители закорючек и тзп
Отступы в питоне - это действительно вкусовщина. Так скажем вкусовщина на любителя
>Замечу лишь что машинная обработка с кодом Пайтона справляетсяЕсли она справляется, почему существует IndentationError?
Ну не всем дано от природы видеть одинаковые ли у него отступы, кому не дано вот интерпретатор подсказывает, для того и существует. Не редкость среди форумных воинов такая проблема, но мне непонятная
Вот реально, где может быть полезен энд это всякие кривенькие форумы, где невозможно нормально отрендерить код, а соответственно и копипаста с них :) что самое забавное среди таких чертяк попадаются вполне серьезные пайтон разработчики, у которых на форуме вкопипащенный код выглядит как мочалка. Тут энд и придет на помощь :)
> Кроме того, чётко размеченные границы сильно упрощают автоматический анализ кода.Хватит бредить. Язык детерминирован, "чётко размеченные границы" есть всегда независимо от того как это выражено в синтаксисе.
Короче, пощупал Юльку...Попытка скомпилировать (julia juliac.jl -vae hello.jl) статически исполняемый файл из сырца:
println("hello, world")
return 0обернулась жужанием компа аж целых 3 минуты и файлом размером... в 152 мегабайта...
Или я девушку не так танцую или это одна из самых толстых и ленивых...
ld кстати показывает что это не "статически" скомпилированый файл
Надеюсь, что это мой косяк, a не Юлькин...
Буду очень благодарен, если кто знает подход к строптивой даме лучше чем я и подскажет как компильнуть быстрее и самое главное не в 152 мега и именно статически, не зря ж наверное на сайте написано что она это может...
> обернулась жужанием компа аж целых 3 минуты и файлом размером... в 152 мегабайта...Долго - первый раз. Потом будет инкрементальная компиляция действовать. На счёт размера, скорее всего, столько и должно быть. Код её библиотек остаётся в LLVM, на сколько я этот процесс понимаю. Потому тащит всё для его выполнения.
О! Вот вы и почувствовали "убийцу R" :)Интерактивная работа в Юлии невозможна.
> Интерактивная работа в Юлии невозможна.juliac и Jupyter Notebook - "несколько" принципиально разные варианты использования Julia. При использование Notebook, код, обычно, в бинарник не компилируют.
ты не поверишь, я в юлькином репле пробовал прежде чем писать
Действительно, не поверю. У меня на ней вполне конкретный практический опыт есть.
Если скатываться к анекдоту "Дневник онаниста", то ответ "жалкое подобие левой руки"?Это я спрашиваю, а кроме юлии во что умеете? в R например?
Идет 15 минута попытки нарисовать график чисел от 1 до 10 в юле "установленной" :)
чтоб я еще когда повелся на фанбоев юли?
Степень криворукости у каждого своя. Ясное дело, в отсутствии кода, очень удобно обсуждать проблемы рук. Будут конкретные вопросы - обращайтесь.
далее написано капслоком -- спасибо, но мне не интересно при каждом старте сессии компилить plotps вполне понимаю фанбоя никогда не работавшего в языке, где не надо припевать "ай лайк ту компилерен"
> мне не интересно при каждом старте сессии компилить plotДостаточно хотя бы раз запустить свою программу от начала до конца или сразу после установки пакетов сказать precompile.
мы говорим о интерактивной сессии
Никто в здравом уме в интерактивной сессии не пишет свои модули, пакеты и не занимается их спонтанной установкой. В интерактивной сессии обычно работают в устойчивом окружении. Это относится абсолютно ко всем технологиям и Julia здесь не исключение. Особенность Julia лишь в том, что пакеты компилируются достаточно долго. И это происходит либо явно по запросу precompile, либо при первой активации.
какие то сексуальные фантазии в стиле "порнографии написанной девственником"
пайтон. бесят закрытия блока.
яснопонятно.
Очень симпатичный язык с, надеюсь, отличными перспективами. Но до питона там пока топать и топать, скоро будет явно не скоро
> Но до питона там пока топать и топать, скоро будет явно не скороЕсли понимать под этим популярность, то да. Если реальные проектые в проде, то, боюсь, что питон уже не догонит.
Я пока что вижу скорей словесные войны на форумах, которые все скатываются к спору что лучше матлаб или пайтон, чем реальные проекты в проде. А язык мне очень симпатичен, давно за ним наблюдаю. При всей моей любви к пайтону я, как человек разумный, вполне способен на предательство ;) но боюсь это случится не в ближайшее время
А какие проблемы? Ей уже год в релизе. Детские болезни вылечены. Что, собственно, останавливает от проектов в проде?
Ну да, действительно. Изготовить поделие, назвать стабильным, сесть и ждать проектов в проде - sounds like a plan.
Если действовать строго, то просто надо посадить питонистов на Жулия-проект, который по-умолчанию планируется переписывать на C++ или Java. И проблему решат, и, может быть, если программировать научатся, сделают проект, который не придётся переписывать второй команде. В любом случае, не больше работы чем с питон-проектом. В лучшем варианте - экономия на C++/Java.
Да, но пока никто не действует, года мало и необходимость переписывания всего подряд написанного на питоне сильно преувеличивается форумными воинами. А так да, одна из главных фич этого языка в том, что он не вызывает рвотных порывов у пайтоноидов, хороший рынок. Ещё чуток правильного позиционирования и времени на обрастание мясцом и стрельнет.
вроде Julia - это конкурент языка R, а не python
в области машинного обучения она оставляет питон без работы. Потому и конкурент.
голословное утверждение, впрочем для для опеннета - это норма
Состав библиотек откройте да посмотрите, прежде чем о нормах рассуждать.
Про состав написанного на заборе напомнить? Сделать вид что под язычок есть пара модулей ML ещё не значит что он для этого пригоден.
> есть пара модулей ML ещё не значит что он для этого пригоден.Нечно подобное можно сказать в отношении чего угодно далеко за пределами своей компетенции. Судя по лексике, тема для вас чуждая.
судя по раздутым щекам, отсутствию внятных обоснований и статистики использования, для вас любая тема, подкрепленная доводами - чуждая
> судя по раздутым щекам, отсутствию внятных обоснований и статистики использованияВы не в состоянии открыть ссылки, приведённые в новости, приведённые на сайте juliacomputing и посмотреть? Но требуете от некоего анонима железных доказательств того, что оно вам нужно?....
> Current stable release: v1.2.0 (Aug 20, 2019)Верните машину времени, пожалуйста.
> достижение производительности близкой к программам на языке СиНу, по крайней мере, яву обогнала: https://benchmarksgame-team.pages.debian.net/benchmarksgame/...
Глянул доки - ничего интересного.
Синтаксис на Lua похож
А в Lua на Pascal.
>Синтаксис на Lua похожСинтаксис там исходно от матлаба. Но питон головного мозга в него кое-где просочился, увы.
>высокая производительность
>поддержка динамической типизации/0
что, кроме жыэса ничего больше в глаза не видели из динамических языков?
а вот представь себе - и динамика может быть быстрой.
> /0
>>performance, achieved using type inference and just-in-time (JIT) compilation,https://docs.julialang.org/en/v1/devdocs/inference/
> Type inference refers to the process of deducing the types of later values from the types of input values.
>высокая производительность
>поддержка динамической типизацииЕсли не типизировать, то может работать существенно медленнее. Но работать.
>Компилятор Julia основан на наработках проекта LLVMУносите, не нужно.