The OpenNET Project / Index page

[ новости /+++ | форум | теги | ]



"Выпуск языка программирования Julia 1.1"
Вариант для распечатки  
Пред. тема | След. тема 
Форум Разговоры, обсуждение новостей
Изначальное сообщение [ Отслеживать ]

"Выпуск языка программирования Julia 1.1"  +/
Сообщение от opennews (??), 28-Янв-19, 12:21 
Опубликован (https://github.com/JuliaLang/julia/releases/tag/v1.1.0) релиз языка программирования Julia 1.1 (https://julialang.org), сочетающего такие качества как высокая производительность, поддержка динамической типизации и встроенные средства для параллельного программирования. Синтаксис Julia близок к MATLAB с заимствованием некоторых элементов из Ruby и Lisp. Метод манипуляции строками напоминает Perl. Код проекта распространяется (https://github.com/JuliaLang/julia) под лицензией MIT.


В новой версии (https://github.com/JuliaLang/julia/blob/v1.1.0/NEWS.md) переработана обработка исключений - отдельный стек исключений теперь предоставляется для каждой задачи и может быть разобран при помощи функции "Base.catch_stack". Добавлен экспериментальный макрос
"Base.@locals" для доступа к параметрам текущей локали. Реализован оператор ".~ (https://github.com/JuliaLang/julia/issues/30341)". Ужесточён разбор списков, заканчивающихся на запятую. В стандартную библиотеку добавлена подборка новых функций и расширены многие существующие функции.


Ключевые особенности языка:

-  Высокая (https://julialang.org/benchmarks/) производительность: одной из ключевых целей проекта является достижение производительности близкой к программам на языке Си. Компилятор Julia основан на наработках проекта LLVM и генерирует эффективный нативный машинный код для многих целевых платформ;


-  Поддержка различных парадигм программирования, включая элементы объектно-ориентированного и функционального программирования. Стандартная библиотека предоставляет в том числе функции для асинхронного ввода/вывода, управления процессами, ведения логов, профилирования и управления пакетами;

-  Динамическая типизация: язык не требует явного определения типов для переменных по аналогии со скриптовыми языками программирования. Поддерживается интерактивный режим работы;

-  Опциональная возможность явного указания типов;

-  Синтаксис, превосходно подходящий для численных вычислений, научных расчётов, систем машинного обучения и визуализации данных. Поддержка многих числовых типов данных и средства для распараллеливания вычислений.


-  Возможность прямого вызова функций из библиотек на языке Си без дополнительных прослоек.


URL: https://github.com/JuliaLang/julia/releases/tag/v1.1.0
Новость: https://www.opennet.me/opennews/art.shtml?num=50039

Ответить | Правка | Cообщить модератору

Оглавление

Сообщения по теме [Сортировка по времени | RSS]


1. "Выпуск языка программирования Julia 1.1"  +7 +/
Сообщение от Аноним (1), 28-Янв-19, 12:21 
> Синтаксис Julia близок к MATLAB с заимствованием некоторых элементов из Ruby и Lisp. Метод манипуляции строками напоминает Perl.

Не зря назвали женским именем

Ответить | Правка | ^ к родителю #0 | Наверх | Cообщить модератору

120. "Выпуск языка программирования Julia 1.1"  +/
Сообщение от Аноним (120), 30-Янв-19, 03:31 
https://venturebeat.com/2019/01/29/hackerrank-developer-skil.../
Ответить | Правка | ^ к родителю #1 | Наверх | Cообщить модератору

2. "Выпуск языка программирования Julia 1.1"  –5 +/
Сообщение от Аноним (2), 28-Янв-19, 12:26 
Опять динамическая хренотень. Даже распоследние нпм-лефтпадчики и пихонисты сообразили, что динамическость - зло
Ответить | Правка | ^ к родителю #0 | Наверх | Cообщить модератору

6. "Выпуск языка программирования Julia 1.1"  –13 +/
Сообщение от Аноним (6), 28-Янв-19, 12:47 
Статическая типизация не нужна.
Ответить | Правка | ^ к родителю #2 | Наверх | Cообщить модератору

8. "Выпуск языка программирования Julia 1.1"  +30 +/
Сообщение от Аноним (2), 28-Янв-19, 13:09 
Здравствуйте, undefined. Согласен с вашей мыслью касательно [object Object].
Ответить | Правка | ^ к родителю #6 | Наверх | Cообщить модератору

14. "Выпуск языка программирования Julia 1.1"  –3 +/
Сообщение от Аноним (6), 28-Янв-19, 14:26 
undefined значит что значение никто не присваивал, null значит что я явно присвоил что значения нет. А в вашем статическом C++ не присовенной переменной присваивается случайное значение. Какого размера должна была быть дыра в башке разработчика чтобы придумать такое поведение комилятора.
Ответить | Правка | ^ к родителю #8 | Наверх | Cообщить модератору

18. "Выпуск языка программирования Julia 1.1"  +2 +/
Сообщение от Ловил (?), 28-Янв-19, 14:52 
А еще лучше когда андефайнеда и null-значения вообще не предусмотрено.
Ответить | Правка | ^ к родителю #14 | Наверх | Cообщить модератору

26. "Выпуск языка программирования Julia 1.1"  +1 +/
Сообщение от Аноним (6), 28-Янв-19, 16:03 
Языки о которых ты говоришь не нужны.
Ответить | Правка | ^ к родителю #18 | Наверх | Cообщить модератору

46. "Выпуск языка программирования Julia 1.1"  +2 +/
Сообщение от Аноним (46), 28-Янв-19, 19:30 
Знаете африканцы различают 1 вид снега, а полярники более 11 видов.
Африканцы различают 7 видов песка, а полярники 1.

Я это к тому, что Вы если полярник так и пишите на своем типизированном языке,
а там где нужно людям быстро навять что-то на JavaScript ну и зачем Вы их обижаете
они умеют прототипировать что-то там себе на своих языках ...

Все нужны и все пригодяться ;)

Ответить | Правка | ^ к родителю #26 | Наверх | Cообщить модератору

59. "Выпуск языка программирования Julia 1.1"  +1 +/
Сообщение от GentooBoy (ok), 28-Янв-19, 21:43 
Ага то то я смотрю все на TypeScript переписывают с динамического JS.
Ответить | Правка | ^ к родителю #46 | Наверх | Cообщить модератору

117. "Выпуск языка программирования Julia 1.1"  +/
Сообщение от Урри (?), 29-Янв-19, 18:25 
Исправил, не благодарите.

> Я это к тому, что Вы если полярник так и пишите на своем типизированном языке, а если африканец - то на своем динамическом. Но если же вам обоим надо поковыряться в гoвне, то JavaScript к вашим услугам.

Ответить | Правка | ^ к родителю #46 | Наверх | Cообщить модератору

19. "Выпуск языка программирования Julia 1.1"  +1 +/
Сообщение от Аноним (19), 28-Янв-19, 14:58 
> в вашем статическом C++ не присовенной переменной
> присваивается случайное значение.

Нет.

std::string str;

Ответить | Правка | ^ к родителю #14 | Наверх | Cообщить модератору

22. "Выпуск языка программирования Julia 1.1"  +/
Сообщение от Антон (??), 28-Янв-19, 15:37 
предыдущий оратор знаком с javascript и как бы намекает что без типизации в гробу он видал отлавливать дурацкие ошибки с типами в рантайме
Ответить | Правка | ^ к родителю #14 | Наверх | Cообщить модератору

28. "Выпуск языка программирования Julia 1.1"  –1 +/
Сообщение от Аноним (6), 28-Янв-19, 16:05 
Судя по тому что он написал ничего он про него не знает. Проверять типы тебе никто не мешает даже в чистом джаваскрипте. Если ваши руки растут не из того места вам вообще к компьютеру лучше не подходить.
Ответить | Правка | ^ к родителю #22 | Наверх | Cообщить модератору

30. "Выпуск языка программирования Julia 1.1"  –1 +/
Сообщение от Попугай Кеша (?), 28-Янв-19, 16:35 
Все правильно. И эти умельцы в кавычках пытаются свои привычки из С++/Java перетащить на JS, не разобравшись в нем и не изучив (скобки-то ведь похожи!). Вот так и появляются поделия а-ля TypeScript ("подарок" от нашей любимой Microsoft"
Ответить | Правка | ^ к родителю #28 | Наверх | Cообщить модератору

57. "Выпуск языка программирования Julia 1.1"  –1 +/
Сообщение от Аноним (57), 28-Янв-19, 21:34 
Тайпскрипт - лучшее, что случилось с джаваскриптом за последние десять, если не больше лет.
Ответить | Правка | ^ к родителю #30 | Наверх | Cообщить модератору

61. "Выпуск языка программирования Julia 1.1"  –1 +/
Сообщение от GentooBoy (ok), 28-Янв-19, 21:49 
Это лучше вам не подходить в компьютеру и уж явно не программировать если вы не понимаете что когда используется динамическая типизация типы не играю роли, проверка идет по интерфейсу. Исли интерфейс совместим то тип нам не важен, а городить костыли с проверкой это совсем васей нужно быть.
Ответить | Правка | ^ к родителю #28 | Наверх | Cообщить модератору

121. "Выпуск языка программирования Julia 1.1"  +/
Сообщение от Алког (?), 30-Янв-19, 07:05 
> проверка идет по интерфейсу

Вы уверены? Что там по интерфейсу идёт какая-то проверка? :-)

Ответить | Правка | ^ к родителю #61 | Наверх | Cообщить модератору

34. "Выпуск языка программирования Julia 1.1"  +/
Сообщение от YetAnotherOnanym (ok), 28-Янв-19, 17:45 
> не присовенной переменной присваивается случайное значение

Ээээ... а вы как-то используете значение переменной до того, как ей что-то присвоили?

Ответить | Правка | ^ к родителю #14 | Наверх | Cообщить модератору

35. "Выпуск языка программирования Julia 1.1"  +/
Сообщение от Andrey Mitrofanov (?), 28-Янв-19, 18:00 
>> не присовенной переменной присваивается случайное значение
> Ээээ... а вы как-то используете значение переменной до того, как ей что-то
> присвоили?

Дебиановский 'return 4;'  openssl fail-о-fix как раз такое "использование"... сломал.

Смотри же -- в каждом твоём компе!

Ответить | Правка | ^ к родителю #34 | Наверх | Cообщить модератору

40. "Выпуск языка программирования Julia 1.1"  +/
Сообщение от Аноним (19), 28-Янв-19, 18:44 
Смотри на букву С++

julia> function test(x,y)
           if x < y
               relation = "less than"
           elseif x == y
               relation = "equal to"
           end
           println("x is ", relation, " y.")
       end
test (generic function with 1 method)

julia> test(1,2)
x is less than y.

julia> test(2,1)
ERROR: UndefVarError: relation not defined
Stacktrace:
[1] test(::Int64, ::Int64) at ./none:7


Ответить | Правка | ^ к родителю #35 | Наверх | Cообщить модератору

42. "Выпуск языка программирования Julia 1.1"  +/
Сообщение от Аноним (42), 28-Янв-19, 19:06 
Опасный код!

function test(x,y)
   local relation::String =
           if x < y
               "less than"
           elseif x == y
               "equal to"
           end
    println("x is ", relation, " y.")
end

julia> test(2,1)
ERROR: LoadError: MethodError: Cannot `convert` an object of type Nothing to an object of type String


Впрочем, в этом случае, сразу видно, что что-то не то происходит. Нехватка альтернативной ветви проявляется в несоответствии типов

Ответить | Правка | ^ к родителю #40 | Наверх | Cообщить модератору

63. "Выпуск языка программирования Julia 1.1"  +/
Сообщение от GentooBoy (ok), 28-Янв-19, 21:58 
Ну вот а нам рассказывали что обезьяны не могут программы писать.
Ответить | Правка | ^ к родителю #42 | Наверх | Cообщить модератору

64. "Выпуск языка программирования Julia 1.1"  +1 +/
Сообщение от Аноним (64), 28-Янв-19, 22:00 
> Ну вот а нам рассказывали что обезьяны не могут программы писать.

Надо полагать, они ещё и комментарии оставлять умеют?

Ответить | Правка | ^ к родителю #63 | Наверх | Cообщить модератору

66. "Выпуск языка программирования Julia 1.1"  –3 +/
Сообщение от GentooBoy (ok), 28-Янв-19, 22:15 
Не обижайся анонимка, просто смени профессию если тебя удивляют ошибки в твоем коде выше, программирование это явно не твое.
Ответить | Правка | ^ к родителю #64 | Наверх | Cообщить модератору

91. "Выпуск языка программирования Julia 1.1"  +/
Сообщение от Аноним (19), 29-Янв-19, 05:59 
> Впрочем, в этом случае, сразу видно, что что-то не то происходит. Нехватка
> альтернативной ветви проявляется в несоответствии типов

Это пример из руководства. Транслятору тоже могло быть "сразу видно".

Ответить | Правка | ^ к родителю #42 | Наверх | Cообщить модератору

70. "Выпуск языка программирования Julia 1.1"  +/
Сообщение от YetAnotherOnanym (ok), 28-Янв-19, 22:49 
Ну... молодец, чо...
И это язык виноват?
Ответить | Правка | ^ к родителю #40 | Наверх | Cообщить модератору

89. "Выпуск языка программирования Julia 1.1"  +/
Сообщение от Аноним (19), 29-Янв-19, 05:42 
> Ну... молодец, чо...
> И это язык виноват?

У написавшего исходное "в ... статическом C++ не присовенной переменной присваивается случайное значение" -- виноват, очевидно, язык.

Ответить | Правка | ^ к родителю #70 | Наверх | Cообщить модератору

74. "Выпуск языка программирования Julia 1.1"  +/
Сообщение от аноним3 (?), 28-Янв-19, 23:13 
julia> function test(x,y)
           if x < y
               relation = "less than"
           elseif x == y
               relation = "equal to"
           end
           println("x is ", relation, " y.")
       end
test (generic function with 1 method)
julia> test(1,2)
x is less than y.

julia> test(2,1)
ERROR: UndefVarError: relation not defined
Stacktrace:
[1] test(::Int64, ::Int64) at ./none:7


этот код чем то на питон смахивает)) или все взялись брать с него пример и готовить свои смеси?))

Ответить | Правка | ^ к родителю #40 | Наверх | Cообщить модератору

76. "Выпуск языка программирования Julia 1.1"  +/
Сообщение от Аноним (42), 28-Янв-19, 23:27 
> этот код чем то на питон смахивает)) или все взялись брать с него пример и готовить свои смеси?))

Одна из задач Julia - перетащить питонистов. Потому, безусловно, там много конструкций, похожих на питон. Но там и от Ruby много чего. Например, map с блоком. А также возврат последней операции без необходимости писать return.

Ответить | Правка | ^ к родителю #74 | Наверх | Cообщить модератору

88. "Выпуск языка программирования Julia 1.1"  +/
Сообщение от аноним3 (?), 29-Янв-19, 03:27 
вот это и удивило. ни разу на julia  внимание не обращал, а тут раз и знакомый тип кода. но и отличий много. даже по этому куску кода. это я так понимаю всех поразила в последнее время болезнь создания языков? их уже столько, что путаешься. хотя мне кажется чистый Си из компилируемых и питон из интерпретируемых уже более чем достаточно. этот смотрю пытается отхватить "широкую" аудиторию.))
разработчик С++ взялся за разработку D. другие rust. развели зверинец))
Ответить | Правка | ^ к родителю #76 | Наверх | Cообщить модератору

92. "Выпуск языка программирования Julia 1.1"  +/
Сообщение от Аноним (19), 29-Янв-19, 06:01 
> чистый Си
> и Lisp
> уже более чем достаточно

Не прижилась идея.


Ответить | Правка | ^ к родителю #88 | Наверх | Cообщить модератору

94. "Выпуск языка программирования Julia 1.1"  +/
Сообщение от Аноним (94), 29-Янв-19, 08:22 
Julia ориентирована на область математики. Питон по синтаксису сильно проще, чем R, который там долго использовался. Но питон ужасен с точки зрения производительности и качества дальнейшей поддержки кода. А, поскольку Julia-сервисы реально получаются быстрыми, нет необходимости использовать ни питон, ни С.

При всём при этом, Julia довольно простой язык с синтаксисом, гораздо прозрачнее, чем питон.

Ответить | Правка | ^ к родителю #88 | Наверх | Cообщить модератору

101. "Выпуск языка программирования Julia 1.1"  +2 +/
Сообщение от Клыкастый (ok), 29-Янв-19, 10:21 
> то я так понимаю всех поразила в последнее время болезнь создания языков?

Угу, как только появилось то, где они нужны.

> хотя мне кажется чистый Си из компилируемых и питон из интерпретируемых уже более чем достаточно

А кому-то кажется что достаточно одного функционального и одного императивного. А кому-то Perl и C. А кому-то Ruby и Rust. А кому-то Haskell и всё. Ну я продолжать не буду, направление улавливаешь? Иногда граждане, которые видят архитектурные просчёты существующих языков считают, что могут их избежать.

> развели зверинец))

как будто что-то плохое. просто корми тех зверушек, что интересны лично тебе - а там будем посмотреть.

Ответить | Правка | ^ к родителю #88 | Наверх | Cообщить модератору

112. "Выпуск языка программирования Julia 1.1"  +/
Сообщение от Анонимчжан (?), 29-Янв-19, 15:38 
разработчик С++ перешел на разработку D, тоже полагая, что сможет создать язык лишенный недостатков прежнего. Но что то мне подсказывает, что наступят на те же грабли. как говорится хороший инструмент  не может быть "всеядным". так и языки должны специализироваться на своей стезе полагаю. тогда можно будет создать язык "идеальный" для своей области.
Ответить | Правка | ^ к родителю #101 | Наверх | Cообщить модератору

115. "Выпуск языка программирования Julia 1.1"  +/
Сообщение от Клыкастый (ok), 29-Янв-19, 16:18 
> разработчик С++ перешел на разработку D, тоже полагая, что сможет создать язык
> лишенный недостатков прежнего. Но что то мне подсказывает, что наступят на
> те же грабли.

Недостатков прежнего он таки лишён. Но понятное дело не лишён их совсем.

> как говорится хороший инструмент  не может быть "всеядным". так и языки должны специализироваться на своей стезе полагаю.

очень может быть. но пока непонятно, куда вы клоните. типа стезя C++ занята?

> тогда можно будет создать язык "идеальный" для своей области.

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

как будем считать - если кому-то нужны плоскогубцы складные, а кому-то оранжевые, плавучие и скреплением к поясу - это уже разные области или ещё нет (это всё же плоскогубцы)? ну и у языков тоже есть разные неожиданные характеристики: скорость обучения, вариативность достижения задачи, навязывание (или нет) "паттернов хорошего программирования", например. и может статься, что нуб, пришедший в язык А и даже в итоге перешедший на язык Б развивался бы медленнее без "промежуточной ступени", а то и вовсе бы бросил это гиблое дело. Так что пусть будет хоть даже и некоторый избыток языков.

Ответить | Правка | ^ к родителю #112 | Наверх | Cообщить модератору

123. "Выпуск языка программирования Julia 1.1"  +/
Сообщение от Andrey Mitrofanov (?), 30-Янв-19, 17:04 
> а тут раз и знакомый тип кода.

И это тоже.  //см.ниже

>это я так понимаю всех поразила
> в последнее время болезнь создания языков? их уже столько, что путаешься.

Это вы путеетесь.

А Настоящие Профессиональне Программисты слушали в вузах своих курс "конструирования компиляторов".  Теперь они _думают_, что их научили писать компиляторы (а не CS-у?~), что они умеют писать компиляторы, и что они могут писать компиляторы.

Поэтому многие из них этим и занимаютя "в свободную минутку".

Причём бОльшая часть не хочет разбираться в чужих, поэтому пишет свои новые-оригинальные.

Ответить | Правка | ^ к родителю #88 | Наверх | Cообщить модератору

71. "Выпуск языка программирования Julia 1.1"  +/
Сообщение от Junior frontend developer (?), 28-Янв-19, 22:52 
C++ далеко не образец статической типизации, он весьма слабоват в этом плане.
Ответить | Правка | ^ к родителю #14 | Наверх | Cообщить модератору

84. "Выпуск языка программирования Julia 1.1"  +/
Сообщение от Аноним (84), 29-Янв-19, 00:48 
Вроде ж неопределённое поведение. Т.е. там и случайное значение может быть и зануленное и вообще что угодно - что захочет компилятор, лишь бы ему было эффективнее. Хочешь платить оверхедом каждый раз получая значение переменной, чтобы избежать полтора случая и то по глупости?
Ответить | Правка | ^ к родителю #14 | Наверх | Cообщить модератору

122. "Выпуск языка программирования Julia 1.1"  +/
Сообщение от Алког (?), 30-Янв-19, 07:07 
Но там ей ничего не присваивается. Как вам такой поворот головы? >:-)
Ответить | Правка | ^ к родителю #14 | Наверх | Cообщить модератору

124. "Выпуск языка программирования Julia 1.1"  +/
Сообщение от Ванёк (?), 31-Янв-19, 14:00 
Самые маленькие кодеры не знают, что у процессорных регистров нет значения null и undef! :)
Ответить | Правка | ^ к родителю #14 | Наверх | Cообщить модератору

9. "Выпуск языка программирования Julia 1.1"  +2 +/
Сообщение от Аноним (42), 28-Янв-19, 13:32 
В Julia имеется типизация на аргументы функций и возвращаемые значения. Можно не декларировать, но тогда жалобы на прроизводительность не принимаются
Ответить | Правка | ^ к родителю #6 | Наверх | Cообщить модератору

20. "Выпуск языка программирования Julia 1.1"  +1 +/
Сообщение от Имя (?), 28-Янв-19, 15:14 
Числодробилки без статической типизации приводят к всемирному потеплению.
Ответить | Правка | ^ к родителю #6 | Наверх | Cообщить модератору

47. "Выпуск языка программирования Julia 1.1"  +/
Сообщение от Аноним (46), 28-Янв-19, 19:33 
Более того динамические интерпретируемые языки особенно, которые много и часто запускают на интерпретацию так же приводят к потеплению. В целом все приводит к потеплению, а это в свою очередь к тепловой смерти всееленной, но вот когда это произойдет?
Ответить | Правка | ^ к родителю #20 | Наверх | Cообщить модератору

51. "Выпуск языка программирования Julia 1.1"  –1 +/
Сообщение от Аноним (51), 28-Янв-19, 19:39 
И озеленению Сахары. Так выпьем же за диалектику!
Ответить | Правка | ^ к родителю #20 | Наверх | Cообщить модератору

53. "Выпуск языка программирования Julia 1.1"  –1 +/
Сообщение от Аноним (53), 28-Янв-19, 19:42 
> Числодробилки без статической типизации приводят к всемирному потеплению.

Ок. А какое отношение к сабжу имеет это высказывание?

Ответить | Правка | ^ к родителю #20 | Наверх | Cообщить модератору

31. "Выпуск языка программирования Julia 1.1"  +/
Сообщение от Аноним (-), 28-Янв-19, 16:35 
Можно указывать типы, через двоеточие, даже128-битный есть
Ответить | Правка | ^ к родителю #2 | Наверх | Cообщить модератору

3. "Выпуск языка программирования Julia 1.1"  +/
Сообщение от Cradle (?), 28-Янв-19, 12:38 
Познакомился недавно - красивая, современная и без лишних заскоков
Ответить | Правка | ^ к родителю #0 | Наверх | Cообщить модератору

10. "Выпуск языка программирования Julia 1.1"  +/
Сообщение от Аноним (42), 28-Янв-19, 13:35 
Поковыряв её полгода с момента выпуска версии 1.0, могу сказать, что для ML-щиков она должна стать приоритетом номер один. Альтернативный питоноский вариант в любом случае требует две версии - одну под ML, вторую - под production на непитоне. В Julia можно обходиться одной реализацией. Если в компании много лишних денег - можно писать на питоне. Если нет, лучше на Julia.
Ответить | Правка | ^ к родителю #3 | Наверх | Cообщить модератору

49. "Выпуск языка программирования Julia 1.1"  –1 +/
Сообщение от Аноним (46), 28-Янв-19, 19:36 
Как там с привязками к С библиотекам? Асинхронность? Производительность списков?
Производительность обратных вызовов? Наличие GIL?
Ответить | Правка | ^ к родителю #10 | Наверх | Cообщить модератору

54. "Выпуск языка программирования Julia 1.1"  +2 +/
Сообщение от Аноним (42), 28-Янв-19, 19:49 
> Как там с привязками к С библиотекам

Замечательно. А также вызов питон, матлаб и R-кода. Впрочем, в случае последних, есть ограничения на их библиотеки, тянущие очередную порцию C/C++ и прочих библиотек.

> Асинхронность?

заложена на уровне языка. Как и управление кластером из Джулий на разных машинах.

> Производительность списков?

https://julialang.org/benchmarks/

> Производительность обратных вызовов?

У неё две сущности. Функция и макрос. И обе максимально оптимизированы.
Лямбды сводятся к обычным функциям. Полиморфизм реализован на уровне функций с разными аргументами.

> Наличие GIL?

отсутствует

Ответить | Правка | ^ к родителю #49 | Наверх | Cообщить модератору

90. "Выпуск языка программирования Julia 1.1"  +/
Сообщение от cutlass (?), 29-Янв-19, 05:45 
Зачем привязки к си-либам, когда можно использовать язык, где си - родное?
Ответить | Правка | ^ к родителю #49 | Наверх | Cообщить модератору

81. "Выпуск языка программирования Julia 1.1"  +/
Сообщение от funny.falcon (?), 29-Янв-19, 00:09 
Хорошо, если она стала надежной.
Мне рассказывали истории, как попытки применить ее 24/7 обламывались по причине острой течки.
Ответить | Правка | ^ к родителю #10 | Наверх | Cообщить модератору

98. "Выпуск языка программирования Julia 1.1"  +/
Сообщение от Аноним (42), 29-Янв-19, 09:39 
> Мне рассказывали истории, как попытки применить ее 24/7 обламывались по причине острой течки.

Это на каких версиях было? У нас веб-сервис крутится под 1.0. Не течет.

Ответить | Правка | ^ к родителю #81 | Наверх | Cообщить модератору

113. "Выпуск языка программирования Julia 1.1"  +/
Сообщение от Анонимчжан (?), 29-Янв-19, 15:38 
блин ты прям как идеальную девушку описываешь)))
Ответить | Правка | ^ к родителю #3 | Наверх | Cообщить модератору

5. "Выпуск языка программирования Julia 1.1"  –3 +/
Сообщение от Анонимemail (5), 28-Янв-19, 12:46 
Lua можно очень легко использовать прямо в Vala через объект LuaVM, вот бы также было в Julia.
Ответить | Правка | ^ к родителю #0 | Наверх | Cообщить модератору

7. "Выпуск языка программирования Julia 1.1"  +/
Сообщение от tupick (?), 28-Янв-19, 13:08 
NA уже научили поддерживать?
Ответить | Правка | ^ к родителю #0 | Наверх | Cообщить модератору

11. "Выпуск языка программирования Julia 1.1"  +/
Сообщение от Аноним (11), 28-Янв-19, 13:56 
Есть встраиваемый в код?
Ответить | Правка | ^ к родителю #0 | Наверх | Cообщить модератору

16. "Выпуск языка программирования Julia 1.1"  +/
Сообщение от ыы (?), 28-Янв-19, 14:46 
тут тебе и маргинальные begin-end, и победное количество скобок на строчку кода...и матлаб с перлом...и функции через точку...привет от 1С ?
Ответить | Правка | ^ к родителю #0 | Наверх | Cообщить модератору

21. "Выпуск языка программирования Julia 1.1"  +6 +/
Сообщение от Аноним84701 (ok), 28-Янв-19, 15:37 
> тут тебе и маргинальные begin-end,

Обзывать (скорее всего) самую узнаваемую часть синтаксиса ISWIM/Algol-like ЯП "маргинальщиной" … довольно инновативно.

Ответить | Правка | ^ к родителю #16 | Наверх | Cообщить модератору

75. "Выпуск языка программирования Julia 1.1"  –1 +/
Сообщение от vitalif (ok), 28-Янв-19, 23:14 
А, ну конечно, кто ж щас на алголе-то не пишет!
Ответить | Правка | ^ к родителю #21 | Наверх | Cообщить модератору

24. "Выпуск языка программирования Julia 1.1"  +/
Сообщение от inferrna (ok), 28-Янв-19, 15:47 
Насчёт скобок зря, в ней есть композиция функций. Например, округление с приведением к типу вглядит как-то так
(Int32 ∘ round).(some_float);
Ответить | Правка | ^ к родителю #16 | Наверх | Cообщить модератору

25. "Выпуск языка программирования Julia 1.1"  +/
Сообщение от Аноним (42), 28-Янв-19, 16:01 
а ещё в ней есть pipe. Например, взять массив, отсортировать и что-нибудь с ним сделать, можно:

[3,1,2] |> sort |> arr -> map(x -> x^2, arr)

Ответить | Правка | ^ к родителю #24 | Наверх | Cообщить модератору

29. "Выпуск языка программирования Julia 1.1"  +/
Сообщение от Аноним (42), 28-Янв-19, 16:06 
Функция через точку - это применение функции к каждому элементу (перечислителя). Запомнить довольно просто.
Ответить | Правка | ^ к родителю #16 | Наверх | Cообщить модератору

72. "Выпуск языка программирования Julia 1.1"  +/
Сообщение от Junior frontend developer (?), 28-Янв-19, 22:58 
То есть map функция — это просто точка?
Ответить | Правка | ^ к родителю #29 | Наверх | Cообщить модератору

95. "Выпуск языка программирования Julia 1.1"  +/
Сообщение от Аноним (94), 29-Янв-19, 08:24 
julia> a = [-1, -2, -4]
3-element Array{Int64,1}:
-1
-2
-4


julia> b = abs(a)
ERROR: MethodError: no method matching abs(::Array{Int64,1})


julia> b = abs.(a)
3-element Array{Int64,1}:
1
2
4

Ответить | Правка | ^ к родителю #72 | Наверх | Cообщить модератору

114. "Выпуск языка программирования Julia 1.1"  +/
Сообщение от Junior frontend developer (?), 29-Янв-19, 15:49 
> julia> b = abs.(a)

Действительно. В любом другом языке это было бы без специального синтаксиса
> map(abs, a)

или
> a.map(abs)

Ответить | Правка | ^ к родителю #95 | Наверх | Cообщить модератору

116. "Выпуск языка программирования Julia 1.1"  +/
Сообщение от Аноним (42), 29-Янв-19, 17:23 
> a.map(abs)

map(abs, a) для Julia. Но можно же и не писать map.

Ответить | Правка | ^ к родителю #114 | Наверх | Cообщить модератору

65. "Выпуск языка программирования Julia 1.1"  +/
Сообщение от GentooBoy (ok), 28-Янв-19, 22:05 
begin-end маргинальщина, как тогда выделить блоки кода? Давайте свой вариант чтоб прямо ух ))
Ответить | Правка | ^ к родителю #16 | Наверх | Cообщить модератору

23. "Выпуск языка программирования Julia 1.1"  +/
Сообщение от inferrna (ok), 28-Янв-19, 15:43 
А я качусь с неё на раст, доволен, как слон.
Ответить | Правка | ^ к родителю #0 | Наверх | Cообщить модератору

27. "Выпуск языка программирования Julia 1.1"  +/
Сообщение от Аноним (42), 28-Янв-19, 16:03 
Слабо верится, что Rust станет популярен у ML-льщиков.
Ответить | Правка | ^ к родителю #23 | Наверх | Cообщить модератору

32. "Выпуск языка программирования Julia 1.1"  –2 +/
Сообщение от диники (?), 28-Янв-19, 17:14 
Вообще Rust -- попытка сделать ML с сишным синтаксисом. Как и другие подобные попытки (BitC) -- не очень удачная
Ответить | Правка | ^ к родителю #27 | Наверх | Cообщить модератору

33. "Выпуск языка программирования Julia 1.1"  +/
Сообщение от Аноним (33), 28-Янв-19, 17:30 
В этом смысле, Julia - весьма неплохая реализация языка под ML. Она совсем не C-подобная.
Ответить | Правка | ^ к родителю #32 | Наверх | Cообщить модератору

86. "Выпуск языка программирования Julia 1.1"  +/
Сообщение от Иваныч (??), 29-Янв-19, 01:23 
И все равно понятна даже заядлому любителю C, в отличии от Rust.
Ответить | Правка | ^ к родителю #33 | Наверх | Cообщить модератору

68. "BitC"  –1 +/
Сообщение от bentallemail (ok), 28-Янв-19, 22:33 
А можно вопрос? Этот самый BitC где-то пощупать можно? А то исхдники совсем уж древнего Cyclone (попытка создать типобезопасный C 2000 года) на GitHub лежит и с помощью такой-то матери даже скомпилировать и запустить можно. А тут вообще не вижу следа открытия исходников, только спецификацию.
Ответить | Правка | ^ к родителю #32 | Наверх | Cообщить модератору

77. "BitC"  +/
Сообщение от диники (?), 28-Янв-19, 23:30 
Есть https://github.com/repos-bitc/bitc
Сам проект самоустранился где-то в 2008-м году.
Ответить | Правка | ^ к родителю #68 | Наверх | Cообщить модератору

80. "BitC"  +/
Сообщение от bentallemail (ok), 28-Янв-19, 23:57 
> Есть https://github.com/repos-bitc/bitc
> Сам проект самоустранился где-то в 2008-м году.

Спасибо

Ответить | Правка | ^ к родителю #77 | Наверх | Cообщить модератору

73. "Выпуск языка программирования Julia 1.1"  +6 +/
Сообщение от Junior frontend developer (?), 28-Янв-19, 23:01 
Первый оратор подразумевал Machine Learning, тогда как второй ML язык Милнера. Лучше уточняйте, пока вообще шизофазия не пошла
Ответить | Правка | ^ к родителю #32 | Наверх | Cообщить модератору

36. "Выпуск языка программирования Julia 1.1"  –1 +/
Сообщение от Андрей (??), 28-Янв-19, 18:20 
Если бы они ещё LLVM 6.0 не патчили! Ну и 4+ месяца назад вышел LLVM 7.0.
Ответить | Правка | ^ к родителю #0 | Наверх | Cообщить модератору

38. "Выпуск языка программирования Julia 1.1"  –1 +/
Сообщение от Аноним (38), 28-Янв-19, 18:25 
Кто пробовал, голову пытается съесть?
Ответить | Правка | ^ к родителю #0 | Наверх | Cообщить модератору

39. "Выпуск языка программирования Julia 1.1"  +/
Сообщение от Аноним (42), 28-Янв-19, 18:39 
Julia - простая до безобразия. Сложности начинаются, когда надо срочно какой-нибудь scikit-learn-код с питона переписать. Тогда приходится рыться в различных библиотеках, а их много....
Ответить | Правка | ^ к родителю #38 | Наверх | Cообщить модератору

41. "Выпуск языка программирования Julia 1.1"  –1 +/
Сообщение от inferrna (ok), 28-Янв-19, 19:03 
Если переносишь готовый проект, то отсчёт индексом массивов с 1 включительно уже съест тебе мозг. Потом его будет подтачивать отсутствие элементарной иде с проверкой синтаксиса и очепяток, которое, вероятно, невозможно из-за невероятно долгой компиляции (в атоме не работает даже "go to declaration"). В расте это всё есть даже в плагине для вима.
В ней есть также то, за что мы так не любим питон - объявление переменной в любом месте в любое время. Если ты опечатался, то это, вуа-ля, новая переменная. И не факт, что при компиляции вывалится ошибка. А если и есть ошибки, то видны они только во время компиляции или выполнения, для чего, опять же, нужно п_о_д_о_ж_д_а_т_ь.
Ответить | Правка | ^ к родителю #38 | Наверх | Cообщить модератору

43. "Выпуск языка программирования Julia 1.1"  +/
Сообщение от Аноним (42), 28-Янв-19, 19:10 
Не всё так плохо. К ней надо приноровиться. Но когда работаешь в Atom, он даже индексы хэша может подсказывать, когда начинаешь кавычки набирать. А лишние переменные, во-первых надо объявлять локальные как local. Во-вторых, если ошибся, они начинают светиться в workspace от Atom. Плюс, надо разбивать код на мини-тесты. Тогда прямо из Атома можно выделить один из них и запустить в уже загруженном системном окружении.
Ответить | Правка | ^ к родителю #41 | Наверх | Cообщить модератору

44. "Выпуск языка программирования Julia 1.1"  +/
Сообщение от Аноним (44), 28-Янв-19, 19:11 
https://julialang.org/blog/2019/01/fluxdiffeq - см. анимированные картинки с иллюстрацией как в Atom/Julia контролировать процесс обучения нейросети.
Ответить | Правка | ^ к родителю #41 | Наверх | Cообщить модератору

45. "Выпуск языка программирования Julia 1.1"  +2 +/
Сообщение от Анонименок (?), 28-Янв-19, 19:20 
Но мой папа не любит эти модные приколы, Только чистый Си, по заветам старой школы.
Ответить | Правка | ^ к родителю #0 | Наверх | Cообщить модератору

48. "Выпуск языка программирования Julia 1.1"  +/
Сообщение от Аноним (42), 28-Янв-19, 19:34 
> Только чистый Си, по заветам старой школы.

Если он действительно старой школы, то должен знать Фортран. А вот с ним у Julia много общего. Включая нумерацию индексов массивов и упаковку памяти в матрицах по колонкам.

Ответить | Правка | ^ к родителю #45 | Наверх | Cообщить модератору

55. "Выпуск языка программирования Julia 1.1"  +1 +/
Сообщение от Аноним84701 (ok), 28-Янв-19, 19:55 
>> Только чистый Си, по заветам старой школы.
> Если он действительно старой школы, то должен знать Фортран.

Да не, это псевдо-ИТшный стишок-песня:
...
C++ или C# - это юнцам по вкусу.
За решёткой есть жизнь, и на кладбище есть плюсы,
Но мой папа не любит эти модные приколы,
Только чистый Си, по заветам старой школы.
...
Поставить в один ряд плюсы (которые существуют еще с начала 80-х) и с-шарп …
Ну и "чистый Си" в "старой школе" (когда до середины 2000х были регулярные эпичные срач^W кидания этим-самым по поводу asm vs c) тоже еще тот перл ;)

Ответить | Правка | ^ к родителю #48 | Наверх | Cообщить модератору

56. "Выпуск языка программирования Julia 1.1"  +/
Сообщение от Аноним (56), 28-Янв-19, 20:44 
https://www.youtube.com/watch?v=cdX8r3ZSzN4 неплохо так.
Ответить | Правка | ^ к родителю #55 | Наверх | Cообщить модератору

52. "Выпуск языка программирования Julia 1.1"  +1 +/
Сообщение от Аноним (46), 28-Янв-19, 19:40 
Пока в Велорибо создавали сборку проекта в Велобаджо уже сделали MVP.
Ответить | Правка | ^ к родителю #45 | Наверх | Cообщить модератору

58. "Выпуск языка программирования Julia 1.1"  –2 +/
Сообщение от Аноним (58), 28-Янв-19, 21:41 
>Компилятор Julia основан на наработках проекта LLVM и генерирует эффективный нативный машинный код для многих целевых платформ;

Компилятор Julia основан на наработках проекта LLVM и генерирует эффективный  машинный код, РОДНОЙ для многих целевых платформ;

Что русский язык в школе не учил?

Ответить | Правка | ^ к родителю #0 | Наверх | Cообщить модератору

60. "Выпуск языка программирования Julia 1.1"  –1 +/
Сообщение от Аноним (60), 28-Янв-19, 21:46 
Не надо умничать. Там сверху есть кнопка "исправить"
Ответить | Правка | ^ к родителю #58 | Наверх | Cообщить модератору

62. "Выпуск языка программирования Julia 1.1"  +1 +/
Сообщение от Анон546 (?), 28-Янв-19, 21:57 
Судя по пунктуации, русский язык вам самому вряд ли родной. А вот код именно что нативный.
Ответить | Правка | ^ к родителю #58 | Наверх | Cообщить модератору

79. "Выпуск языка программирования Julia 1.1"  +/
Сообщение от Аноним (79), 28-Янв-19, 23:52 
> РОДНОЙ для многих целевых платформ;

Учите матчасть и терминологию:

https://ru.wikipedia.org/wiki/%D0%9C%D0%...

"Машинный код иногда называют нативным кодом, когда говорят о платформенно-зависимых частях языка или библиотек"

Ответить | Правка | ^ к родителю #58 | Наверх | Cообщить модератору

87. "Выпуск языка программирования Julia 1.1"  +/
Сообщение от Аноним (87), 29-Янв-19, 01:31 
Не вижу стартапов, митапов, конф о саксесс стори на хабре :(
Ответить | Правка | ^ к родителю #0 | Наверх | Cообщить модератору

93. "Выпуск языка программирования Julia 1.1"  +/
Сообщение от bentallemail (ok), 29-Янв-19, 07:57 
А почему они там должны быть, если это такая числодробилка для физиков? Собственно одна из первых статией про Юлию на хабре вот https://habr.com/ru/post/210298/ и это перевод вот этого http://www.evanmiller.org/ аспиранта.
Ответить | Правка | ^ к родителю #87 | Наверх | Cообщить модератору

96. "Выпуск языка программирования Julia 1.1"  +/
Сообщение от Аноним (94), 29-Янв-19, 08:26 
Для саксесс стори на хабре она слишком молода. Полгода с первого релиза.

Думаю, что к лету появятся.

Ответить | Правка | ^ к родителю #87 | Наверх | Cообщить модератору

97. "Выпуск языка программирования Julia 1.1"  +/
Сообщение от Alexklonoff (?), 29-Янв-19, 09:21 
Как обстоят дела с отладчиком? Уже завезли в первую версию, или все ещё нужно отлаживать в уме?
Ответить | Правка | ^ к родителю #0 | Наверх | Cообщить модератору

99. "Выпуск языка программирования Julia 1.1"  +/
Сообщение от Аноним (99), 29-Янв-19, 09:42 
> Как обстоят дела с отладчиком?

пошагового нет

>  Уже завезли в первую версию, или все ещё нужно отлаживать в уме?

По желанию.
Вообще, есть Atom с возможностью построчно запускать код и видеть результат. Кроме того, отладочный вывод никто не отменял. Классический вариант отладки работает всегда.

Ответить | Правка | ^ к родителю #97 | Наверх | Cообщить модератору

100. "Выпуск языка программирования Julia 1.1"  +/
Сообщение от Alexklonoff (?), 29-Янв-19, 09:49 
> пошагового нет

Это плохо. До Матлаба Джулии еще долго. Даже до такой его инкарнации как Octave.

> Вообще, есть Atom с возможностью построчно запускать код и видеть результат.

Спасибо, не надо. Я лучше продолжу делать прототипы в Октаве и потом переписывать на Си++. И там и там отладчики имеются и причем очень качественные.


Ответить | Правка | ^ к родителю #99 | Наверх | Cообщить модератору

102. "Выпуск языка программирования Julia 1.1"  +/
Сообщение от Аноним (102), 29-Янв-19, 11:16 
>> пошагового нет
> Это плохо. До Матлаба Джулии еще долго. Даже до такой его инкарнации как Octave.

Это, реально, лишь вопрос привычки и предыдущего программистского опыта. После отладки встраиваемых устройств через COM-консольку, мне лично, это совсем проблемой не кажется.

К тому же, они работают в этом направлении. Поэтому, рассматривая выбирая между написанием прототипа на одном и прода на другом языке, и реализацией на одном единственном языке одной единой версии, мне лично, больше подходит второй вариант.

Ответить | Правка | ^ к родителю #100 | Наверх | Cообщить модератору

103. "Выпуск языка программирования Julia 1.1"  +/
Сообщение от Alexklonoff (?), 29-Янв-19, 11:50 
Что такое COM-консолька я не знаю, но для отладки ПО для встраиваемых устройств вполне подойдет GDB, так что мазохизмом с printf-ми там можно и не заниматься. Касаемо Джулии. Допустим нужно разобраться как работает, какая ни-будь сложная рекуррентная нейронная сеть. И как это сделать без отладчика? Там полно многомерных тензоров, матриц. Конечно может какой-то гений от программирования наверное и способен понимать просто глядя на код, но я таковым не являюсь поэтому использую отладчик. Еще момент, где вы видели, чтобы Джулия использовалась в продакшене?
Ответить | Правка | ^ к родителю #102 | Наверх | Cообщить модератору

104. "Выпуск языка программирования Julia 1.1"  –1 +/
Сообщение от Аноним (104), 29-Янв-19, 12:23 
>Что такое COM-консолька я не знаю

RS232. Ничего, кроме вывода и ввода она не поддерживает.

> Допустим нужно разобраться как работает, какая ни-будь сложная рекуррентная нейронная сеть.

https://julialang.org/blog/2019/01/fluxdiffeq

> И как это сделать без отладчика?

"Отладчик" != "пошаговый отладчик" !!!. Отладчик для Julia есть.

> Еще момент, где вы видели, чтобы Джулия использовалась в продакшене?

Сам начал использовать.

Ответить | Правка | ^ к родителю #103 | Наверх | Cообщить модератору

106. "Выпуск языка программирования Julia 1.1"  +/
Сообщение от Alexklonoff (?), 29-Янв-19, 14:00 
> Сам начал использовать.

Поздравляю. Потащили в продакшен недоделанную сырую вещь.

Ответить | Правка | ^ к родителю #104 | Наверх | Cообщить модератору

108. "Выпуск языка программирования Julia 1.1"  +/
Сообщение от Аноним (108), 29-Янв-19, 14:22 
> Поздравляю. Потащили в продакшен недоделанную сырую вещь.

С чего такое заключение? Если я пишу один, то "сырая вещь", а если нас будет тысяча, то ок?

Ответить | Правка | ^ к родителю #106 | Наверх | Cообщить модератору

111. "Выпуск языка программирования Julia 1.1"  +/
Сообщение от Alexklonoff (?), 29-Янв-19, 14:47 
Если можно будет объявить глобальную переменную с типом, то это будет не сырая вещь.
Ответить | Правка | ^ к родителю #108 | Наверх | Cообщить модератору

105. "Выпуск языка программирования Julia 1.1"  +/
Сообщение от Аноним (105), 29-Янв-19, 12:38 
> Допустим нужно разобраться как работает, какая ни-будь сложная рекуррентная нейронная сеть. И как это сделать без отладчика?

А gdb здесь как поможет?

Ответить | Правка | ^ к родителю #103 | Наверх | Cообщить модератору

107. "Выпуск языка программирования Julia 1.1"  +/
Сообщение от Alexklonoff (?), 29-Янв-19, 14:02 
Позволит пройти пошагово и посмотреть нужные значения переменных, размерности тензоров, возможно вызвать какие-ни будь функции и таким образом разобраться как работает код.
Ответить | Правка | ^ к родителю #105 | Наверх | Cообщить модератору

109. "Выпуск языка программирования Julia 1.1"  +/
Сообщение от Аноним (108), 29-Янв-19, 14:24 
Вот уж где точно не пригодится вызов каких-то абстрактных функций, так это в процессе обучения нейросети. Там, кроме распечаток по эпохам, ничего больше не нужно. См. ссылку выше с примером обучения нейросети.
Ответить | Правка | ^ к родителю #107 | Наверх | Cообщить модератору

110. "Выпуск языка программирования Julia 1.1"  +/
Сообщение от Alexklonoff (?), 29-Янв-19, 14:46 
Спасибо, если речь о нейросетях, то я лучше код Кафе посмотрю. Мой заказчик никакую Джулию в продакшен за километр не пустит.
Ответить | Правка | ^ к родителю #109 | Наверх | Cообщить модератору

118. "Выпуск языка программирования Julia 1.1"  +/
Сообщение от Аноним (118), 29-Янв-19, 22:10 
На чем пишут ОС?
Ответить | Правка | ^ к родителю #0 | Наверх | Cообщить модератору

125. "Выпуск языка программирования Julia 1.1"  +/
Сообщение от Ванёк (?), 31-Янв-19, 14:11 
Молодёжь пишет ОС на JavaScript и пищит от радости, как дети :)
Ответить | Правка | ^ к родителю #118 | Наверх | Cообщить модератору

119. "Выпуск языка программирования Julia 1.1"  +/
Сообщение от Аноним (118), 29-Янв-19, 22:13 
И микрокод к процам, дети!
Ответить | Правка | ^ к родителю #0 | Наверх | Cообщить модератору

Архив | Удалить

Рекомендовать для помещения в FAQ | Индекс форумов | Темы | Пред. тема | След. тема




Партнёры:
PostgresPro
Inferno Solutions
Hosting by Hoster.ru
Хостинг:

Закладки на сайте
Проследить за страницей
Created 1996-2024 by Maxim Chirkov
Добавить, Поддержать, Вебмастеру