URL: https://www.opennet.me/cgi-bin/openforum/vsluhboard.cgi
Форум: vsluhforumID3
Нить номер: 116420
[ Назад ]

Исходное сообщение
"Выпуск языка программирования 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


Содержание

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

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


"Выпуск языка программирования Julia 1.1"
Отправлено Аноним , 30-Янв-19 03:31 
https://venturebeat.com/2019/01/29/hackerrank-developer-skil.../

"Выпуск языка программирования Julia 1.1"
Отправлено Аноним , 28-Янв-19 12:26 
Опять динамическая хренотень. Даже распоследние нпм-лефтпадчики и пихонисты сообразили, что динамическость - зло

"Выпуск языка программирования Julia 1.1"
Отправлено Аноним , 28-Янв-19 12:47 
Статическая типизация не нужна.

"Выпуск языка программирования Julia 1.1"
Отправлено Аноним , 28-Янв-19 13:09 
Здравствуйте, undefined. Согласен с вашей мыслью касательно [object Object].

"Выпуск языка программирования Julia 1.1"
Отправлено Аноним , 28-Янв-19 14:26 
undefined значит что значение никто не присваивал, null значит что я явно присвоил что значения нет. А в вашем статическом C++ не присовенной переменной присваивается случайное значение. Какого размера должна была быть дыра в башке разработчика чтобы придумать такое поведение комилятора.

"Выпуск языка программирования Julia 1.1"
Отправлено Ловил , 28-Янв-19 14:52 
А еще лучше когда андефайнеда и null-значения вообще не предусмотрено.

"Выпуск языка программирования Julia 1.1"
Отправлено Аноним , 28-Янв-19 16:03 
Языки о которых ты говоришь не нужны.

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

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

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


"Выпуск языка программирования Julia 1.1"
Отправлено GentooBoy , 28-Янв-19 21:43 
Ага то то я смотрю все на TypeScript переписывают с динамического JS.

"Выпуск языка программирования Julia 1.1"
Отправлено Урри , 29-Янв-19 18:25 
Исправил, не благодарите.

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


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

Нет.

std::string str;


"Выпуск языка программирования Julia 1.1"
Отправлено Антон , 28-Янв-19 15:37 
предыдущий оратор знаком с javascript и как бы намекает что без типизации в гробу он видал отлавливать дурацкие ошибки с типами в рантайме

"Выпуск языка программирования Julia 1.1"
Отправлено Аноним , 28-Янв-19 16:05 
Судя по тому что он написал ничего он про него не знает. Проверять типы тебе никто не мешает даже в чистом джаваскрипте. Если ваши руки растут не из того места вам вообще к компьютеру лучше не подходить.

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

"Выпуск языка программирования Julia 1.1"
Отправлено Аноним , 28-Янв-19 21:34 
Тайпскрипт - лучшее, что случилось с джаваскриптом за последние десять, если не больше лет.

"Выпуск языка программирования Julia 1.1"
Отправлено GentooBoy , 28-Янв-19 21:49 
Это лучше вам не подходить в компьютеру и уж явно не программировать если вы не понимаете что когда используется динамическая типизация типы не играю роли, проверка идет по интерфейсу. Исли интерфейс совместим то тип нам не важен, а городить костыли с проверкой это совсем васей нужно быть.

"Выпуск языка программирования Julia 1.1"
Отправлено Алког , 30-Янв-19 07:05 
> проверка идет по интерфейсу

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


"Выпуск языка программирования Julia 1.1"
Отправлено YetAnotherOnanym , 28-Янв-19 17:45 
> не присовенной переменной присваивается случайное значение

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


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

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

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


"Выпуск языка программирования Julia 1.1"
Отправлено Аноним , 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



"Выпуск языка программирования Julia 1.1"
Отправлено Аноним , 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


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


"Выпуск языка программирования Julia 1.1"
Отправлено GentooBoy , 28-Янв-19 21:58 
Ну вот а нам рассказывали что обезьяны не могут программы писать.

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

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


"Выпуск языка программирования Julia 1.1"
Отправлено GentooBoy , 28-Янв-19 22:15 
Не обижайся анонимка, просто смени профессию если тебя удивляют ошибки в твоем коде выше, программирование это явно не твое.

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

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


"Выпуск языка программирования Julia 1.1"
Отправлено YetAnotherOnanym , 28-Янв-19 22:49 
Ну... молодец, чо...
И это язык виноват?

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

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


"Выпуск языка программирования 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


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


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

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


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

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

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



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

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


"Выпуск языка программирования Julia 1.1"
Отправлено Клыкастый , 29-Янв-19 10:21 
> то я так понимаю всех поразила в последнее время болезнь создания языков?

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

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

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

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

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


"Выпуск языка программирования Julia 1.1"
Отправлено Анонимчжан , 29-Янв-19 15:38 
разработчик С++ перешел на разработку D, тоже полагая, что сможет создать язык лишенный недостатков прежнего. Но что то мне подсказывает, что наступят на те же грабли. как говорится хороший инструмент  не может быть "всеядным". так и языки должны специализироваться на своей стезе полагаю. тогда можно будет создать язык "идеальный" для своей области.

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

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

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

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

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

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

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


"Выпуск языка программирования Julia 1.1"
Отправлено Andrey Mitrofanov , 30-Янв-19 17:04 
> а тут раз и знакомый тип кода.

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

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

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

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

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

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


"Выпуск языка программирования Julia 1.1"
Отправлено Junior frontend developer , 28-Янв-19 22:52 
C++ далеко не образец статической типизации, он весьма слабоват в этом плане.

"Выпуск языка программирования Julia 1.1"
Отправлено Аноним , 29-Янв-19 00:48 
Вроде ж неопределённое поведение. Т.е. там и случайное значение может быть и зануленное и вообще что угодно - что захочет компилятор, лишь бы ему было эффективнее. Хочешь платить оверхедом каждый раз получая значение переменной, чтобы избежать полтора случая и то по глупости?

"Выпуск языка программирования Julia 1.1"
Отправлено Алког , 30-Янв-19 07:07 
Но там ей ничего не присваивается. Как вам такой поворот головы? >:-)

"Выпуск языка программирования Julia 1.1"
Отправлено Ванёк , 31-Янв-19 14:00 
Самые маленькие кодеры не знают, что у процессорных регистров нет значения null и undef! :)

"Выпуск языка программирования Julia 1.1"
Отправлено Аноним , 28-Янв-19 13:32 
В Julia имеется типизация на аргументы функций и возвращаемые значения. Можно не декларировать, но тогда жалобы на прроизводительность не принимаются

"Выпуск языка программирования Julia 1.1"
Отправлено Имя , 28-Янв-19 15:14 
Числодробилки без статической типизации приводят к всемирному потеплению.

"Выпуск языка программирования Julia 1.1"
Отправлено Аноним , 28-Янв-19 19:33 
Более того динамические интерпретируемые языки особенно, которые много и часто запускают на интерпретацию так же приводят к потеплению. В целом все приводит к потеплению, а это в свою очередь к тепловой смерти всееленной, но вот когда это произойдет?

"Выпуск языка программирования Julia 1.1"
Отправлено Аноним , 28-Янв-19 19:39 
И озеленению Сахары. Так выпьем же за диалектику!

"Выпуск языка программирования Julia 1.1"
Отправлено Аноним , 28-Янв-19 19:42 
> Числодробилки без статической типизации приводят к всемирному потеплению.

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


"Выпуск языка программирования Julia 1.1"
Отправлено Аноним , 28-Янв-19 16:35 
Можно указывать типы, через двоеточие, даже128-битный есть

"Выпуск языка программирования Julia 1.1"
Отправлено Cradle , 28-Янв-19 12:38 
Познакомился недавно - красивая, современная и без лишних заскоков

"Выпуск языка программирования Julia 1.1"
Отправлено Аноним , 28-Янв-19 13:35 
Поковыряв её полгода с момента выпуска версии 1.0, могу сказать, что для ML-щиков она должна стать приоритетом номер один. Альтернативный питоноский вариант в любом случае требует две версии - одну под ML, вторую - под production на непитоне. В Julia можно обходиться одной реализацией. Если в компании много лишних денег - можно писать на питоне. Если нет, лучше на Julia.

"Выпуск языка программирования Julia 1.1"
Отправлено Аноним , 28-Янв-19 19:36 
Как там с привязками к С библиотекам? Асинхронность? Производительность списков?
Производительность обратных вызовов? Наличие GIL?

"Выпуск языка программирования Julia 1.1"
Отправлено Аноним , 28-Янв-19 19:49 
> Как там с привязками к С библиотекам

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

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

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

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

https://julialang.org/benchmarks/

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

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

> Наличие GIL?

отсутствует


"Выпуск языка программирования Julia 1.1"
Отправлено cutlass , 29-Янв-19 05:45 
Зачем привязки к си-либам, когда можно использовать язык, где си - родное?

"Выпуск языка программирования Julia 1.1"
Отправлено funny.falcon , 29-Янв-19 00:09 
Хорошо, если она стала надежной.
Мне рассказывали истории, как попытки применить ее 24/7 обламывались по причине острой течки.

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

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


"Выпуск языка программирования Julia 1.1"
Отправлено Анонимчжан , 29-Янв-19 15:38 
блин ты прям как идеальную девушку описываешь)))

"Выпуск языка программирования Julia 1.1"
Отправлено Аноним , 28-Янв-19 12:46 
Lua можно очень легко использовать прямо в Vala через объект LuaVM, вот бы также было в Julia.

"Выпуск языка программирования Julia 1.1"
Отправлено tupick , 28-Янв-19 13:08 
NA уже научили поддерживать?

"Выпуск языка программирования Julia 1.1"
Отправлено Аноним , 28-Янв-19 13:56 
Есть встраиваемый в код?

"Выпуск языка программирования Julia 1.1"
Отправлено ыы , 28-Янв-19 14:46 
тут тебе и маргинальные begin-end, и победное количество скобок на строчку кода...и матлаб с перлом...и функции через точку...привет от 1С ?

"Выпуск языка программирования Julia 1.1"
Отправлено Аноним84701 , 28-Янв-19 15:37 
> тут тебе и маргинальные begin-end,

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


"Выпуск языка программирования Julia 1.1"
Отправлено vitalif , 28-Янв-19 23:14 
А, ну конечно, кто ж щас на алголе-то не пишет!

"Выпуск языка программирования Julia 1.1"
Отправлено inferrna , 28-Янв-19 15:47 
Насчёт скобок зря, в ней есть композиция функций. Например, округление с приведением к типу вглядит как-то так
(Int32 ∘ round).(some_float);

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

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


"Выпуск языка программирования Julia 1.1"
Отправлено Аноним , 28-Янв-19 16:06 
Функция через точку - это применение функции к каждому элементу (перечислителя). Запомнить довольно просто.

"Выпуск языка программирования Julia 1.1"
Отправлено Junior frontend developer , 28-Янв-19 22:58 
То есть map функция — это просто точка?

"Выпуск языка программирования Julia 1.1"
Отправлено Аноним , 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


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

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

или
> a.map(abs)


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

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


"Выпуск языка программирования Julia 1.1"
Отправлено GentooBoy , 28-Янв-19 22:05 
begin-end маргинальщина, как тогда выделить блоки кода? Давайте свой вариант чтоб прямо ух ))

"Выпуск языка программирования Julia 1.1"
Отправлено inferrna , 28-Янв-19 15:43 
А я качусь с неё на раст, доволен, как слон.

"Выпуск языка программирования Julia 1.1"
Отправлено Аноним , 28-Янв-19 16:03 
Слабо верится, что Rust станет популярен у ML-льщиков.

"Выпуск языка программирования Julia 1.1"
Отправлено диники , 28-Янв-19 17:14 
Вообще Rust -- попытка сделать ML с сишным синтаксисом. Как и другие подобные попытки (BitC) -- не очень удачная

"Выпуск языка программирования Julia 1.1"
Отправлено Аноним , 28-Янв-19 17:30 
В этом смысле, Julia - весьма неплохая реализация языка под ML. Она совсем не C-подобная.

"Выпуск языка программирования Julia 1.1"
Отправлено Иваныч , 29-Янв-19 01:23 
И все равно понятна даже заядлому любителю C, в отличии от Rust.

"BitC"
Отправлено bentall , 28-Янв-19 22:33 
А можно вопрос? Этот самый BitC где-то пощупать можно? А то исхдники совсем уж древнего Cyclone (попытка создать типобезопасный C 2000 года) на GitHub лежит и с помощью такой-то матери даже скомпилировать и запустить можно. А тут вообще не вижу следа открытия исходников, только спецификацию.

"BitC"
Отправлено диники , 28-Янв-19 23:30 
Есть https://github.com/repos-bitc/bitc
Сам проект самоустранился где-то в 2008-м году.

"BitC"
Отправлено bentall , 28-Янв-19 23:57 
> Есть https://github.com/repos-bitc/bitc
> Сам проект самоустранился где-то в 2008-м году.

Спасибо


"Выпуск языка программирования Julia 1.1"
Отправлено Junior frontend developer , 28-Янв-19 23:01 
Первый оратор подразумевал Machine Learning, тогда как второй ML язык Милнера. Лучше уточняйте, пока вообще шизофазия не пошла

"Выпуск языка программирования Julia 1.1"
Отправлено Андрей , 28-Янв-19 18:20 
Если бы они ещё LLVM 6.0 не патчили! Ну и 4+ месяца назад вышел LLVM 7.0.

"Выпуск языка программирования Julia 1.1"
Отправлено Аноним , 28-Янв-19 18:25 
Кто пробовал, голову пытается съесть?

"Выпуск языка программирования Julia 1.1"
Отправлено Аноним , 28-Янв-19 18:39 
Julia - простая до безобразия. Сложности начинаются, когда надо срочно какой-нибудь scikit-learn-код с питона переписать. Тогда приходится рыться в различных библиотеках, а их много....

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

"Выпуск языка программирования Julia 1.1"
Отправлено Аноним , 28-Янв-19 19:10 
Не всё так плохо. К ней надо приноровиться. Но когда работаешь в Atom, он даже индексы хэша может подсказывать, когда начинаешь кавычки набирать. А лишние переменные, во-первых надо объявлять локальные как local. Во-вторых, если ошибся, они начинают светиться в workspace от Atom. Плюс, надо разбивать код на мини-тесты. Тогда прямо из Атома можно выделить один из них и запустить в уже загруженном системном окружении.

"Выпуск языка программирования Julia 1.1"
Отправлено Аноним , 28-Янв-19 19:11 
https://julialang.org/blog/2019/01/fluxdiffeq - см. анимированные картинки с иллюстрацией как в Atom/Julia контролировать процесс обучения нейросети.

"Выпуск языка программирования Julia 1.1"
Отправлено Анонименок , 28-Янв-19 19:20 
Но мой папа не любит эти модные приколы, Только чистый Си, по заветам старой школы.

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

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


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

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


"Выпуск языка программирования Julia 1.1"
Отправлено Аноним , 28-Янв-19 20:44 
https://www.youtube.com/watch?v=cdX8r3ZSzN4 неплохо так.

"Выпуск языка программирования Julia 1.1"
Отправлено Аноним , 28-Янв-19 19:40 
Пока в Велорибо создавали сборку проекта в Велобаджо уже сделали MVP.

"Выпуск языка программирования Julia 1.1"
Отправлено Аноним , 28-Янв-19 21:41 
>Компилятор Julia основан на наработках проекта LLVM и генерирует эффективный нативный машинный код для многих целевых платформ;

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

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


"Выпуск языка программирования Julia 1.1"
Отправлено Аноним , 28-Янв-19 21:46 
Не надо умничать. Там сверху есть кнопка "исправить"

"Выпуск языка программирования Julia 1.1"
Отправлено Анон546 , 28-Янв-19 21:57 
Судя по пунктуации, русский язык вам самому вряд ли родной. А вот код именно что нативный.

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

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

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

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


"Выпуск языка программирования Julia 1.1"
Отправлено Аноним , 29-Янв-19 01:31 
Не вижу стартапов, митапов, конф о саксесс стори на хабре :(

"Выпуск языка программирования Julia 1.1"
Отправлено bentall , 29-Янв-19 07:57 
А почему они там должны быть, если это такая числодробилка для физиков? Собственно одна из первых статией про Юлию на хабре вот https://habr.com/ru/post/210298/ и это перевод вот этого http://www.evanmiller.org/ аспиранта.

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

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


"Выпуск языка программирования Julia 1.1"
Отправлено Alexklonoff , 29-Янв-19 09:21 
Как обстоят дела с отладчиком? Уже завезли в первую версию, или все ещё нужно отлаживать в уме?

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

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

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

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


"Выпуск языка программирования Julia 1.1"
Отправлено Alexklonoff , 29-Янв-19 09:49 
> пошагового нет

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

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

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



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

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

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


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

"Выпуск языка программирования Julia 1.1"
Отправлено Аноним , 29-Янв-19 12:23 
>Что такое COM-консолька я не знаю

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

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

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

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

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

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

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


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

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


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

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


"Выпуск языка программирования Julia 1.1"
Отправлено Alexklonoff , 29-Янв-19 14:47 
Если можно будет объявить глобальную переменную с типом, то это будет не сырая вещь.

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

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


"Выпуск языка программирования Julia 1.1"
Отправлено Alexklonoff , 29-Янв-19 14:02 
Позволит пройти пошагово и посмотреть нужные значения переменных, размерности тензоров, возможно вызвать какие-ни будь функции и таким образом разобраться как работает код.

"Выпуск языка программирования Julia 1.1"
Отправлено Аноним , 29-Янв-19 14:24 
Вот уж где точно не пригодится вызов каких-то абстрактных функций, так это в процессе обучения нейросети. Там, кроме распечаток по эпохам, ничего больше не нужно. См. ссылку выше с примером обучения нейросети.

"Выпуск языка программирования Julia 1.1"
Отправлено Alexklonoff , 29-Янв-19 14:46 
Спасибо, если речь о нейросетях, то я лучше код Кафе посмотрю. Мой заказчик никакую Джулию в продакшен за километр не пустит.

"Выпуск языка программирования Julia 1.1"
Отправлено Аноним , 29-Янв-19 22:10 
На чем пишут ОС?

"Выпуск языка программирования Julia 1.1"
Отправлено Ванёк , 31-Янв-19 14:11 
Молодёжь пишет ОС на JavaScript и пищит от радости, как дети :)

"Выпуск языка программирования Julia 1.1"
Отправлено Аноним , 29-Янв-19 22:13 
И микрокод к процам, дети!