LINUX.ORG.RU

The Julia Language — ещё один ЯП?

 , ,


0

2

Тихой сапой без особых скандалов и новостей зарелизился (очередной?) язык программирования, на этот раз с приятным женским именем Julia.

Зачем еще один? Разработчики заявляют, что хотели взять лучшее из существующих языков, как то: скорость Си, динамизм Ruby, систему макросов Lisp, чтобы создать язык, удобный для статистических (R), математических (Matlab/Octave) задач, естественной обработки строк (Perl), а также использования в качестве шелла для запуска других утилит. Короче, счастья для всех и даром, пусть никто не уйдет обиженным.

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

В наличии JIT-компиляция с бекендом LLVM.

И хотя не всё ещё реализовано, уже сейчас можно скачать первый релиз — версию 1.0 и попробовать.

Код доступен на гитхабе: https://github.com/JuliaLang/julia.
Лицензия MIT/GPLv2

Оф. сайт: http://julialang.org/.
Там же можно увидеть кое-какие бенчмарки (сравнение с С, Python, Matlab, R и др.)

★★★

Проверено: anonymous_incognito ()
Последнее исправление: CYB3R (всего исправлений: 6)

Ответ на: комментарий от basp

похоже люди не знают о существовании Матлаба. А синтаксис Julia - это фактически Matlab с блекджеком и т.д.

Знают и он им не нравится.

А вот про октаву не скажу - может и не знают.

ForwardToMars
()
Ответ на: комментарий от marvin_yorke

да ладно, я бы попробовал вместо Octave - тут хотя бы JIT есть

Толку с него на нужных задачах немного. С многопоточности толку было бы больше.

ForwardToMars
()

Ребят, ну квадратные колеса на велосипеде уже сколько раз были, давай те уже изобретем треугольные.....

anonymous
()

ух ты, даже JIT компилятор прикрутили, ух ты да они же его Юлечькой назвали, ух ты да они же гребанные перфекционисты! Нафиг не нужно.

mkeee
()
Ответ на: комментарий от ForwardToMars

Октава - не замена матлабу:
* среды разработки типа матлабовской(с профилировщиком и отладчиком) - нет.
* Jit - нет (и не будет в ближайшие годы, судя по ответам разработчиков).
* поддержки ООП - нет (как и других более/менее современных синтаксических фич).
* настоящей многопоточности - нет.
* полной совместимости с базовыми функциями матлаба - нет.
* аналогов мощнейшим тулкитам матлаба - нет (и не будет, судя по трудозатратам на их разработку).
* интерактивного плотера (с рисованием 3д) - нет.

Октава - это так, калькулятор для работы с массивами. Хороший, впрочем, калькулятор.
А вот Julia, как будто, собирается переплюнуть октаву по многим пунктам

basp
()
Ответ на: комментарий от le_legioner

почему в Испании внедорожник Mitsubishi Pajero окрестили не Паджеро, а Montero?

Вроде как, «паджеро» - типа шустрый педик, жиголого.

anonymous
()
Ответ на: комментарий от yvv

C++ это конечно быстрее питона, но не быстрее фортрана

Гонево. Я умею числа фибаначе в компилетайм считать и интегрировать, на темплайтах. А в фортране даже замыканий нет.

anonymous
()
Ответ на: комментарий от basp

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

Napilnik ★★★★★
()

скорость Си

JIT-компиляция

Дальше не читал.

anonymous
()

RIP

RIP at birth Julia! horray

umren ★★★★★
()

С Python ничего не взяли, нет пути!

anonymous
()
Ответ на: комментарий от yvv

А хочется, чтобы все проблемы решались с помощью одного.

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

anonymous
()

$ julia script.j arg1 arg
.j

От скромности не умрут :)



Всё, сайт умер. Не выдержал ЛОР-эффекта. По тому, что успел заметить, авторы языка любили Паскаль.

KRoN73 ★★★★★
()
Ответ на: комментарий от dib2

мне показалось, или в языке используются табы, как и в питоне?

Нет. Блоки закрываются ключевым словом end

KRoN73 ★★★★★
()
Ответ на: комментарий от buddhist

но и уродливее фортрана

починено!

Разве бывает уродливее Фортрана? (понятно, я про классический). Даже Focal, по-моему, лучше :)

KRoN73 ★★★★★
()

Нафиг эта жуля нужна, когда есть специализированные решения, а для универсальных есть python?

Quasar ★★★★★
()
Ответ на: комментарий от buddhist

С++11 в исполнении профессиональных быдлокодеров :)

В исполнении быдлокодеров уродливым становится любой язык :)

KRoN73 ★★★★★
()

взять лучшее из существующих языков, как то: скорость Си, динамизм Ruby...

Уже на этой фразе пробивает на ржач - думаешь, ну что за дилетант вылез с очередным решением всего и вся? Люди уже лет 30 «берут всё самое лучшее из существующего» и .... никак не возьмут - рот маловат! :) Тем более, из взаимоисключающих качеств. И только потом начинаешь догадываться, откуда вылез Кулибин: "...тобы создать язык, удобный для статистических (R), математических (Matlab/Octave) задач...". Т.е. тупо МОТЕМАТЕГ!! :))) Сидит в своих формулах и думает, что все остальные - «клепатели морд к базам», а он один тут в теориях подкованный, ща напишет супиризыг и все жахнутся в обморок!
Эх, молодёжь! Покорители гранита «пилочкой»! :)

matumba ★★★★★
()
Ответ на: комментарий от deadman

строго говоря, в том же C индексации вообще нет, а есть сдвиг от начала массива выраженный в числе элементов

Не надо нести ахинею. Индекс - это и есть «сдвиг», зачем понтоваться бессмысленными мозгозасираниями?
То, что в каких-то языках можно писать отрицательные индексы, не делает Си безындексным.

matumba ★★★★★
()

Там же можно увидеть кое-какие бенчмарки

посмотрел код, кроме перлов вроде:

for (unsigned int i=0; i<strlen(s); ++i)

автор протестировал v8 на предмет кеширования статичного результата, оказался не знаком со стандартными функциями и контейнерами С++( писал бы уже на С ), забил на оптимизации, которые просто просятся в коде, так что пусть пишет/пишут свой ЯП дальше, больше пользы будет

anonymous
()

Да, бенчи - вообще пыпэц!

pi_sum 53.524 0.74 18.77 1.09 356.08 269.19 0.74

Первая цифра - С++, вторая - Джуля. Вам самим не смешно? :))) ЛЮБОЙ тест, где С++ проигрывает всяким рубепестонам (третья цифра) - это читерство и афёра!

matumba ★★★★★
()
Ответ на: комментарий от matumba

ну что за дилетант вылез с очередным решением всего и вся?

Некоторые — приживаются. Только на моей памяти так родились или прижились Java, Python, Ruby, .NET… Помню, как 15 лет назад Java мешали с говном и говорили, что никому нафиг не нужна :) А на Python сколько желчи изливали? Как Ruby вылезал даже из нынешних ЛОРовцев многие должны помнить…

KRoN73 ★★★★★
()

Короче, счастья для всех и даром, пусть никто не уйдет обиженным.

Только про штангистов забыли, функционального программирования я там вообще не увидел. Дальше всяких питонов и руби не уйдет.

loz ★★★★★
()
Ответ на: комментарий от matumba

это читерство и афёра!

тупо скопировал их код:

int main() {
    double sum = 0.0;
    for (int j=0; j<500; ++j) {
        sum = 0.0;
        for (int k=1; k<=10000; ++k) {
            sum += 1.0/(k*k);
        }
    }
    return sum;
}

скомпилировал, запустил - 0.017s, каким местом они тестировали - вопрос

anonymous
()
Ответ на: комментарий от x-code

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

anonymous
()
Ответ на: комментарий от Quasar

Давно питон стал универсальным? Может и гуй на нем писать уже можно, юез привычных тормозов?

anonymous
()
Ответ на: комментарий от Eddy_Em

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

marvin_yorke ★★★
() автор топика
Ответ на: комментарий от marvin_yorke

Есть такое. Особенно если циклами пользуешься (а не все можно векторизовать - иногда нужны и рекурсивные алгоритмы).

Eddy_Em ☆☆☆☆☆
()
Ответ на: комментарий от matumba

читайте. там сказано, что для C++ указано абсолютное время в секундах, а для всего остального - относительно С++

marvin_yorke ★★★
() автор топика
Ответ на: комментарий от marvin_yorke

в секундах

в миллисекундах, если быть точным

anonymous
()

Я знаю для чего еще язык программирования JULIA! Его специально разработали, что бы делать приложения для работы с базами данных MariaDB и ValentinaDB! )))

anonymous
()

Лицензия MIT/GPLv2

Какая им нафиг разница какой версии GPL? Заядлые BSDшники?

los_nikos ★★★★★
()

Время в тесте дано в миллисекундах, я правильно понимаю?

A-234 ★★★★★
()

скорость Си, динамизм Ruby, систему макросов Lisp

хм, интересно будет глянуть на этот си-рубиобразный-лисп.

Komintern ★★★★★
()
Ответ на: комментарий от matumba

Не надо нести ахинею. Индекс - это и есть «сдвиг»,

Охренеть. А я то думал, что сдвиг = индекс * размер записи.

AVL2 ★★★★★
()
Ответ на: комментарий от AVL2

А я то думал, что сдвиг = индекс * размер записи

Уточнять надо, сдвиг адреса или сдвиг указателя

KRoN73 ★★★★★
()
Ответ на: комментарий от trex6

Суть та же ;-)

Не совсем. На Бейсике ниже вероятность не заметить ошибку до компиляции :)

KRoN73 ★★★★★
()

Там же можно увидеть кое-какие бенчмарки (сравнение с С, Python, Matlab, R и др.)

попробовал С++ и Python. не совсем такие цифры: С++ (gcc-4.5.3)

c,fib,0.046015

c,parse_int,0.161886

c,mandel,0.591040

c,quicksort,0.422955

c,pi_sum,26.027203

c,rand_mat_stat,5.750895

c,rand_mat_mul,45.248032

c,printfd,20.172119

numpy-1.6.0

python,fib,3.63111495972

python,parse_int,2.67696380615

python,mandel,7.42197036743

python,quicksort,19.6521282196

python,pi_sum,986.71913147

python,rand_mat_stat,192.233085632

python,rand_mat_mul,11426.8500805

octave и v8 не съели их тест.

что-то качать и пробовать новых язык неохота.

samy_volosaty ★★★★★
()
Ответ на: комментарий от unsigned

Почему?

Оф. сайт: http://julialang.org/.
Там же можно увидеть кое-какие бенчмарки (сравнение с С, Python, Matlab, R и др.)

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

segfault ★★★★★
()
Вы не можете добавлять комментарии в эту тему. Тема перемещена в архив.