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

Исходное сообщение
"Новый открытый динамический язык программирования Julia, исп..."

Отправлено opennews , 10-Мрт-12 20:55 
На предстоящей (http://llvm.org/devmtg/2012-04-12/) европейской конференции проекта LLVM (http://llvm.org/) в Лондоне будет (http://permalink.gmane.org/gmane.comp.compilers.llvm.devel/4... официально представлен новый язык программирования Julia (http://julialang.org/), использующий JIT-компилятор на базе наработок проекта LLVM (http://llvm.org/). Julia является динамическим языком высокого уровня с открытым исходным кодом (https://github.com/JuliaLang/julia) (лицензия MIT), нацеленный прежде всего на техническое программирование в статистико-математических областях, с областью применения аналогичной таким известным решениям, как Matlab, язык R и связка из Python и NumPy.


Julia мультипарадигменный язык, который может комбинировать разные стили программирования, такие как императивный, объектно-ориентированный и функциональный. Синтаксис Julia очень близок к синтаксису MATLAB. По мнению создателей этого языка, к его достоинствам также следует отнести множество заимствований из синтаксиса Ruby и Lisp, удобная работа со строками в стиле Perl, кроме того обеспечена очень гибкая встроенная поддержка Hadoop (http://hadoop.apache.org/). Уже идет работа по реализации полиморфных функций, поддержки задействования GPU для ускорения вычислений, автовектаризации  и прочего.


Отдельно следует подчеркнуть, что язык Julia изначально спроектирован с учетом поддержки параллельного программирования (http://julialang.org/manual/parallel-computing/) (например, реализованы так называемые Coroutines (http://en.wikipedia.org/wiki/Coroutine)), поэтому эта среда очень хорошо подходит для таких актуальных сегодня областей, как виртуализация и облачные вычисления, практическая работа со стороны разработчиков языка по экспериментированию в этих  областях уже начата.

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


<center><img src="http://www.opennet.me/opennews/pics_base/0_1331397508.png" style="border-style: solid; border-color: #000000; border-width: 1px;" title="" border=0></center>

Ещё одна важная особенность Julia - язык  исповедует (http://julialang.org/manual/calling-c-and-fortran-code/) "безшаблонную" философию: внешние функции могут вызываться из Julia напрямую без какого-либо "кода для сопряжения" параметров вызова и библиотеки, и это можно делать не только из скомпилированного кода программы на Julia, но даже из  интерактивной командной строки. Единственное ограничение для такого подхода - библиотеки с вызываемыми функциями должны быть представлены в виде "
"разделяемой библиотеки". Впрочем, большинство библиотек для C или Fortran'a распространяются как раз именно в таком виде. Машинные инструкции, которые генерирует JIT-компилятор (http://en.wikipedia.org/wiki/Just-in-time_compilation) Julia в этом вызове - полностью аналогичны тому коду, который сгенерировал бы C-компилятор, поэтому накладные расходы от вызова внешней функции из Julia здесь почти такие же, как и в C. В этой области возможно ещё множество оптимизаций, которые будут реализованы в этом языке в ближайшем будущем.

Другие интересные особенности этого нового динамического языка:

-  Ядро языка очень невелико, его стандартная библиотека включает минимальный набор примитивных операций, такие как например арифметические операции, т.е. гибкая масштабируемость языка;
-  Богатый язык типов для описания и конструирования объектов;
-  Возможность определять поведение функции при передачи разного количества аргументов через multiple dispatch (http://en.wikipedia.org/wiki/Multiple_dispatch);
-  Автоматическая генерация максимально эффективного кода для разных типов аргументов и переменных;
-  Полная поддержка Unicode;
-  Мощные шелл-подобные функции для запуска и управления внешними  программами и процессами.

URL: http://permalink.gmane.org/gmane.comp.compilers.llvm.devel/4...
Новость: http://www.opennet.me/opennews/art.shtml?num=33315


Содержание

Сообщения в этом обсуждении
"Новый открытый динамический язык программирования Julia, исп..."
Отправлено Аноним , 10-Мрт-12 20:55 
это эпидемия что-ли такая "новый язык программирования"??

"Новый открытый динамический язык программирования Julia, исп..."
Отправлено Аноним , 10-Мрт-12 21:06 
Да я вот тоже не понимаю, вместо того чтобы взять существующии и расширить люди пилят новый. Думаю каждый случай надо рассматривать отдельно, однако, #$!#$T@#!!!

"Новый открытый динамический язык программирования Julia, исп..."
Отправлено Аноним , 10-Мрт-12 21:25 
ну куда еще расширять то? взять те же плюсы? не расширять надо а приводить в порядок, да вот только с учетом совместимости, привычек, духа, организации и т.п, это мало реально, проще новый сделать.

"Новый открытый динамический язык программирования Julia, исп..."
Отправлено Аноним , 10-Мрт-12 22:08 
> ну куда еще расширять то? взять те же плюсы? не расширять надо
> а приводить в порядок, да вот только с учетом совместимости, привычек,
> духа, организации и т.п, это мало реально, проще новый сделать.

Привели плюсы в порядок, получился D, красивый, простой и мощный. Много им народу пользуется? Нет же, жрут всё те же кактусы, гуи пишут на плюсах, а то и на сях.
Пропаганда нужна и сообщество типа RoRовского.


"Новый открытый динамический язык программирования Julia, исп..."
Отправлено тоже Аноним , 10-Мрт-12 23:13 
Для того, чтобы сейчас сколь угодно прекрасный и правильный язык вдруг стал популярнее плюсов, кто-то должен бесплатно потратить несколько сотен человеко-лет на написание к нему библиотек в объеме, хоть сколько-нибудь сравнимом с плюсовыми.
Без критической массы существующего кода никакие теоретически великолепные языки никому нахрен не нужны.

"Новый открытый динамический язык программирования Julia, исп..."
Отправлено Аноним , 10-Мрт-12 23:51 
> Для того, чтобы сейчас сколь угодно прекрасный и правильный язык вдруг стал популярнее плюсов, кто-то должен бесплатно потратить несколько сотен человеко-лет на написание к нему библиотек в объеме, хоть сколько-нибудь сравнимом с плюсовыми.

Фортран — прекрасный и правильный язык, библиотек для которого на несколько порядков больше, чем для плюсов. И как, сильно фортран популярен?


"Новый открытый динамический язык программирования Julia, исп..."
Отправлено жабабыдлокодер , 10-Мрт-12 23:55 
В определенных кругах - там где управляют ракетами и прочими алгоритмоемкими вещами - там фортран очень, очень популярен. А вот гуев к нему, действительно, нет.

"Новый открытый динамический язык программирования Julia, исп..."
Отправлено Карбофос , 11-Мрт-12 00:14 
не совсем. его применяют в основном там, где считают, что фортран - быстрее. очень часто не зная о том, когда фортран быстрее.

"Новый открытый динамический язык программирования Julia, исп..."
Отправлено жабабыдлокодер , 11-Мрт-12 08:20 
Не-а. Фортран - это огромное количество библиотек с реализациями математических методов. Очень хорошо отлаженных. Какой бы из численных методов не взять, он непременно будет реализован на фортране. И реализован без ошибок. Стало быть, если надо рассчитать траекторию спутника...

"Новый открытый динамический язык программирования Julia, исп..."
Отправлено Карбофос , 11-Мрт-12 16:30 
вы никогда не видели обработку матриц от "спецов"? когда матрицы обрабатываются сугубо как в сях, а не как это должно делаться в фортране. там еще других приколов - море, типа "профайлер? а что это?"

"Новый открытый динамический язык программирования Julia, исп..."
Отправлено Аноним , 11-Мрт-12 17:37 
Ну допустим, у фортрана обилие прекрасных библиотек. Но он вроде бы вполне нормально компонуется с модулями на других языках - что мешает использовать фортрановские либы с основной программой, скажем, на С? Нафига писать новое на фортране, если его изучают и поддерживают, по существу, ради обратной совместимости?

"Новый открытый динамический язык программирования Julia, исп..."
Отправлено vvvua , 13-Мрт-12 01:17 
В Европе очень популярен язык.
Говорю про авиастроение.
Много мейнфреймов работают как раз с фортраном и MPI.
При получении т.з. - язык фортран или джава с импортом-эскпортом фортран байндиногом.

"Новый открытый динамический язык программирования Julia, исп..."
Отправлено фтщтньщгы мгдпфкшы , 11-Мрт-12 03:39 
> - там фортран очень, очень популярен. А вот гуев к нему, действительно, нет.

The gtk-fortran project aims to offer scientists programming in Fortran a cross-platform library to build Graphical User Interfaces (GUI). Gtk-fortran is a partial GTK+ / Fortran binding 100% written in Fortran, thanks to the ISO_C_BINDING module for interoperability between C and Fortran, which is a part of the Fortran 2003 standard. GTK+ is a free software cross-platform graphical library available for Linux, Unix, Windows and Mac OS X.



"Новый открытый динамический язык программирования Julia, исп..."
Отправлено FractalizeR , 11-Мрт-12 00:02 
> Фортран — прекрасный и правильный язык, библиотек для которого на несколько порядков
> больше, чем для плюсов. И как, сильно фортран популярен?

На несколько порядков - явное преувеличение.


"Новый открытый динамический язык программирования Julia, исп..."
Отправлено Аноним , 11-Мрт-12 14:55 
Нет, явное преувеличение - "больше". На несколько порядков меньше - ближе к истине.

"Новый открытый динамический язык программирования Julia, исп..."
Отправлено жабабыдлокодер , 10-Мрт-12 21:07 
Просто ни один из существующих языков не является абсолютно оптимальным; у каждого свои недостатки и своя область применения. Вот и пытаются создавать языки предназначенные для конкретных применений.

"Новый открытый динамический язык программирования Julia, исп..."
Отправлено Аноним , 10-Мрт-12 21:12 
Этих причин явно недостаточно, т.к. проблема в этом случае решалась бы простым расширением одного языка (ассемблера).

"Новый открытый динамический язык программирования Julia, исп..."
Отправлено жабабыдлокодер , 10-Мрт-12 21:32 
Чушь. Вы на ассемблере писали?

"Новый открытый динамический язык программирования Julia, исп..."
Отправлено Аноним , 11-Мрт-12 01:44 
Не чушь. Писал и если надо напишу. Вдумайся что сказано было. Про HiAsm слышал? А теперь развивай мысль и слови баттхерт.

"Новый открытый динамический язык программирования Julia, исп..."
Отправлено Аноним , 11-Мрт-12 01:59 
Услышал. Увидел _ещё один_ графический яп.

"Новый открытый динамический язык программирования Julia, исп..."
Отправлено жабабыдлокодер , 11-Мрт-12 07:30 
Чушь. Скорость написания кода и, особенно, его отладки на ассемблере в десятки раз медленнее, чем на любом вменяемом языке.

"Новый открытый динамический язык программирования Julia,..."
Отправлено arisu , 11-Мрт-12 09:27 
> Чушь. Скорость написания кода и, особенно, его отладки на ассемблере в десятки
> раз медленнее, чем на любом вменяемом языке.

фигня. на самом деле на ассемблере достаточно написать Forth, на нём — Scheme, а дальше уже на Scheme писать всё, что надо.


"Новый открытый динамический язык программирования Julia,..."
Отправлено жабабыдлокодер , 11-Мрт-12 10:01 
Форт... Нас учили этому чудищу в университете. Было прикольно и страшно...

"Новый открытый динамический язык программирования Julia,..."
Отправлено arisu , 11-Мрт-12 10:05 
> Форт... Нас учили этому чудищу в университете. Было прикольно и страшно...

да ну, форт простой как обухом по черепу. проще ассемблера даже, пожалуй.


"Новый открытый динамический язык программирования Julia,..."
Отправлено жабабыдлокодер , 11-Мрт-12 10:30 
Он очень прост, особенно если раньше программировал на калькуляторе. Но от этого он не становится менее прикольным и страшным.

"Новый открытый динамический язык программирования Julia,..."
Отправлено FractalizeR , 11-Мрт-12 10:17 
>> Чушь. Скорость написания кода и, особенно, его отладки на ассемблере в десятки
>> раз медленнее, чем на любом вменяемом языке.
> фигня. на самом деле на ассемблере достаточно написать Forth, на нём —
> Scheme, а дальше уже на Scheme писать всё, что надо.

А потом на Scheme написать Яву? :) И дальше писать все, что надо уже на ней? Это гарантия скорости, ведь в самом начале был асм :)


"Новый открытый динамический язык программирования Julia, исп..."
Отправлено FractalizeR , 11-Мрт-12 10:22 
> Не чушь. Писал и если надо напишу. Вдумайся что сказано было. Про
> HiAsm слышал? А теперь развивай мысль и слови баттхерт.

А причем тут HiASM? Он к ассемблеру, как языку программирования, имеет весьма условное отношение.


"Новый открытый динамический язык программирования Julia, исп..."
Отправлено Аноним , 10-Мрт-12 21:41 
Расширение приводит к каше, усложняет реализацию, понимание, специализированный инструмент лучше универсального, да и к тому же многие вещи в основе так или иначе, расширяй не расширяй а икаться будут, в сях например, минимальность ядра и строгая типизация к чему привели? - к куче разрозненных реализаций одного и того же - яркий пример юникодные строки, или скажем костыли для обхода типизации вроде всяких шаблонов и дженериков... расширение расширением а без коренного пересмотра основы не обойтись

"Новый открытый динамический язык программирования Julia, исп..."
Отправлено Аноним , 10-Мрт-12 21:47 
> у каждого свои недостатки

При том как правило - фатальные, и называются NIH :)


"Новый открытый динамический язык программирования Julia, исп..."
Отправлено Опять , 10-Мрт-12 21:12 
Зачем так много языков программирования?? Я один еле еле осилил, и тоне до конца! Каждый день новый язык программирования, сколько же можно елы-палы, это же какое-то помешательство!!!

"Новый открытый динамический язык программирования Julia, исп..."
Отправлено Anonimousss , 10-Мрт-12 21:22 
Успокойтесь, любезный, и пилите дальше Ваш бейсик. :)

"Новый открытый динамический язык программирования Julia, исп..."
Отправлено develop7 , 10-Мрт-12 21:33 
s/пилите/используйте/

"Новый открытый динамический язык программирования Julia, исп..."
Отправлено Адольф , 10-Мрт-12 21:49 
Это поиск идеала и заполнение ниш. Думаю в ближайшее время будет много языков которые постараются заменить Java и C#,

"Новый открытый динамический язык программирования Julia, исп..."
Отправлено Адольф , 10-Мрт-12 21:51 
> Это поиск идеала и заполнение ниш. Думаю в ближайшее время будет много
> языков которые постараются заменить Java и C#,

чтобы избавиться от зависимости от Oracle и Microsoft


"Новый открытый динамический язык программирования Julia, исп..."
Отправлено Anonimousss , 10-Мрт-12 21:59 
Тут не языки а либы писать надо.

"Новый открытый динамический язык программирования Julia, исп..."
Отправлено sergey , 12-Мрт-12 00:56 
Для либ уже есть python

"Новый открытый динамический язык программирования Julia, исп..."
Отправлено vasek , 12-Мрт-12 14:00 
а также перл и руби

"Новый открытый динамический язык программирования Julia, исп..."
Отправлено Аноним , 11-Мрт-12 14:57 
> чтобы избавиться от зависимости от Oracle и Microsoft

И от тормозной и жрущей память виртуальной машины.


"Новый открытый динамический язык программирования Julia, исп..."
Отправлено жабабыдлокодер , 10-Мрт-12 22:29 
Языков то полно, а вот чтобы сразу писать - с гуями и вебмордами, с подключением баз и работой с документами odt/M$ - кот наплакал. Куда ни ткнись - всюду только концепции и описания синтаксиса.

"Новый открытый динамический язык программирования Julia, исп..."
Отправлено тоже Аноним , 10-Мрт-12 23:17 
А если из оставшихся отбросить те, у которых пригодные к использованию библиотеки принадлежат какой-нибудь корпорации - выбора не остается вообще.

"Новый открытый динамический язык программирования Julia, исп..."
Отправлено жабабыдлокодер , 10-Мрт-12 23:25 
А чем Вам не нравятся Qt и OpenJDK?

"Новый открытый динамический язык программирования Julia, исп..."
Отправлено Аноним , 11-Мрт-12 00:37 
Не достаточно элитны.

"Новый открытый динамический язык программирования Julia, исп..."
Отправлено тоже Аноним , 11-Мрт-12 11:31 
Почему - не нравятся?
Просто существует нехилая вероятность, что некую программу, развитие которой для вас критично, внезапно надо будет сильно переписать. И вы на эту вероятность повлиять никак не можете. А ОДИН человек может...

"Новый открытый динамический язык программирования Julia, исп..."
Отправлено anonimous , 12-Мрт-12 19:44 
Это вы о чем?

"Новый открытый динамический язык программирования Julia, исп..."
Отправлено myhand , 10-Мрт-12 21:41 
> Синтаксис Julia очень близок к синтаксису MATLAB.

Это пугает.

> следует отметить его сильный акцент на производительности

О...  Сравнение с Matlab/Octave действительно внушаитЪ.  Смотрим.  Ага!  Они радостно запилили фиббоначи с использованием рекурсии.  Двойка "тестерам" за знание матчасти.  Занавес.

> полная открытость технологии для сообщества

Закрытые Octave, R и NumPy - ну такие закрытые.  Бот что-ли новость писал?


"Новый открытый динамический язык программирования Julia, исп..."
Отправлено Аноним , 10-Мрт-12 22:16 
> > Синтаксис Julia очень близок к синтаксису MATLAB.
> Это пугает.

Ну почему же. Синтаксис матлаба не так плох. Даже не смотря на использование круглых скобок для обращения к элементам массива. Или на использование специальных переменных для возврата значения функции вместо человеческого оператора return. Или на контринтуитивные списки аргументов в стандартных функциях. Или на отдельные ключевые слова endfor/endif/endfunction и т.д. для разных блоков. Вот, к примеру, поэлементные операторы в матлабе очень удобны.


"Новый открытый динамический язык программирования Julia, исп..."
Отправлено Аноним , 11-Мрт-12 17:41 
Синтаксис, по существу, один из наименее важных факторов, несмотря на притягательность этого вопроса для холиваров. Вон, в лиспе вообще с этим не заморачивались )

"Новый открытый динамический язык программирования Julia,..."
Отправлено arisu , 11-Мрт-12 21:10 
> Вон, в лиспе вообще с этим не заморачивались )

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


"Новый открытый динамический язык программирования Julia,..."
Отправлено Аноним , 11-Мрт-12 23:45 
Это синтаксис более высокого уровня - конструкции, а базовый синтаксис (типа скобок) в лиспе обычно не меняют, хотя тоже можно. А срачи возникают обычно именно вокруг полной ерунды типа формы скобок или, например, написания оператора присваивания = vs :=, что, по большому счету, дело привычки и ни разу не влияет мощность языка

"Новый открытый динамический язык программирования Julia,..."
Отправлено фтщтньщгы мгдпфкшы , 13-Мрт-12 21:25 
> оператора присваивания = vs :=, что, по большому счету, дело привычки и ни разу не влияет мощность языка

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

кстати в языке вообще не обязательно иметь только 1 оператор присваивания, вот например в этом довольно известном языке их 5 штук

Assignment Operators
Description - Assign a value to a name.
Usage
x <- value
x <<- value
value -> x
value ->> x
x = value

что до скобочек то скажем разделение () и [] позволяет сразу отличить вызов функции от индексирования массива, ну и т.д.

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


"Новый открытый динамический язык программирования Julia, исп..."
Отправлено myhand , 11-Мрт-12 17:55 
> Ну почему же. Синтаксис матлаба не так плох.

Для 80-х - да.  А сегодня там "не плохо" - только все что связано с линейной алгеброй.

> Или на отдельные ключевые слова endfor/endif/endfunction и т.д. для разных блоков.

Это вы matlab с octave перепутали.  Там ублюдочные end переделали в не менее ублюдочные end<shit>.


"Новый открытый динамический язык программирования Julia, исп..."
Отправлено Michael Shigorin , 14-Мрт-12 23:50 
> фиббоначи
> Двойка

Ай-яй-яй-яй-яй.


"Новый открытый динамический язык программирования Julia, исп..."
Отправлено антоним , 10-Мрт-12 21:52 
Имеются огромные сомнения насчет того что и как они сравнивали с NumPy. В среднем на порядок быстрее говорите? И яваскрипт тоже также быстрее NumPy на порядок? То есть в разы быстрее чем С/С++. Ага, щас.

"Новый открытый динамический язык программирования Julia, исп..."
Отправлено антоним , 10-Мрт-12 22:06 
https://github.com/JuliaLang/julia/blob/master/test/perf/per...

я так и думал - от NumPy там только фактически import numpy да создание массивов. вот примерчик:

def mandel(z):
    n = 0
    c = z
    for n in xrange(0,79):
        if abs(z) > 2:
            n -= 1
            break
        z = z**2 + c
    return n + 1

def mandelperf():
    r1 = numpy.arange(-2.0, 0.5, 0.1)
    r2 = numpy.arange(-1.0, 1.0, 0.1)
    M = numpy.zeros((len(r1)*len(r2)))
    count = 0
    for r in r1:
        for i in r2:
            M[count] = mandel(complex(r,i))
            count += 1
    return M


Единственная тестовая функция, действительно задействующая NumPy для вычислений:

def randmatmul(n):
    A = matrix(numpy.random.rand(n,n))
    B = matrix(numpy.random.rand(n,n))
    return A*B

смотрим в таблицу - так и есть, для этого теста разница практически незаметная.


"Новый открытый динамический язык программирования Julia, исп..."
Отправлено антоним , 10-Мрт-12 22:08 
То есть сравнивали с python а не numpy. И не факт, что корректно.

"Новый открытый динамический язык программирования Julia, исп..."
Отправлено Deepwalker , 10-Мрт-12 22:46 
Да тесты булшит же откровенный. С этого момента весь интерес пропадает к языку.

"Новый открытый динамический язык программирования Julia, исп..."
Отправлено FractalizeR , 11-Мрт-12 00:10 
> Имеются огромные сомнения насчет того что и как они сравнивали с NumPy.
> В среднем на порядок быстрее говорите? И яваскрипт тоже также быстрее
> NumPy на порядок? То есть в разы быстрее чем С/С++. Ага,
> щас.

Исходники же есть. Возьмите и проверьте.


"Новый открытый динамический язык программирования Julia, исп..."
Отправлено антоним , 11-Мрт-12 00:50 
numpy вычисляет со скоростью близкой к предельной - для заданного алгоритма и железа, поэтому обогнать его даже в 2 раза практически нереально. Потому что внутри у него не питон, а самый что ни на есть с/с++.  А тут нам внезапно про десятки раз быстрее втуляют. Чистый питон ради бога пусть обгоняют - но и писать надо при этом про питон, а не numpy, это как бы 2 очень большие разницы (на порядки) по скорострельности. при чем тут сырцы?

"Новый открытый динамический язык программирования Julia, исп..."
Отправлено фтщтньщгы мгдпфкшы , 11-Мрт-12 03:47 
> numpy вычисляет со скоростью близкой к предельной - для заданного алгоритма и  железа, поэтому обогнать его даже в 2 раза практически нереально. Потому  что внутри у него не питон, а самый что ни на есть с/с++.

NumPy это вообще то не язык, а библиотека для Питона, о чем легко узнать заглянув на сайт проекта

http://numpy.scipy.org/
NumPy is the fundamental package for scientific computing with Python.


"Новый открытый динамический язык программирования Julia, исп..."
Отправлено антоним , 11-Мрт-12 03:54 
в следующий раз, пожалуйста, используйте ник К.О.

"Новый открытый динамический язык программирования Julia, исп..."
Отправлено фтщтньщгы мгдпфкшы , 13-Мрт-12 21:02 
> в следующий раз, пожалуйста, используйте ник К.О.

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


"Новый открытый динамический язык программирования Julia, исп..."
Отправлено Аноним , 11-Мрт-12 11:48 
> что внутри у него не питон, а самый что ни на есть с/с++.

Угу. Остается вопрос зачем пользоваться тормознутым питоном. Наверное чтобы при нужде дописать чего-то чего нет в numpy словить тормоза и героически бороться с ними :)


"Новый открытый динамический язык программирования Julia, исп..."
Отправлено sergey , 12-Мрт-12 00:59 
>> что внутри у него не питон, а самый что ни на есть с/с++.
> Угу. Остается вопрос зачем пользоваться тормознутым питоном. Наверное чтобы при нужде дописать
> чего-то чего нет в numpy словить тормоза и героически бороться с
> ними :)

Может потому что это удобно?)


"Новый открытый динамический язык программирования Julia, исп..."
Отправлено Аноним , 10-Мрт-12 22:09 
> язык Julia изначально спроектирован с учетом поддержки параллельного программирования (например, реализованы так называемые Coroutines)

При чем тут coroutines к параллельному программированию? Они же не могут выполняться одновременно. Это не параллельность получается, а банальная многозадачность, при чем невытесняющая.


"Новый открытый динамический язык программирования Julia, исп..."
Отправлено FractalizeR , 11-Мрт-12 00:14 
> При чем тут coroutines к параллельному программированию? Они же не могут выполняться
> одновременно. Это не параллельность получается, а банальная многозадачность, при чем невытесняющая.

http://ru.wikipedia.org/wiki/Сопрограмма


"Новый открытый динамический язык программирования Julia, исп..."
Отправлено Аноним , 11-Мрт-12 00:24 
По приведенной ссылке нет ничего, опровергающего мои утверждения. Что сказать-то хотели?

"Новый открытый динамический язык программирования Julia, исп..."
Отправлено Аноним , 11-Мрт-12 01:57 
(я другой аноним)

Верно, не параллельность по отношению к кванту времени. Сопрограммы связаны с параллельным исполнением ровно так же как и параллельное исполнение процессов/потоков связано с одноядерной, однопроцессорной системой. Но параллельность появляется тут уже не по отношению к кванту времени а по отношению к собственному исполнению сопрограммы.


"Новый открытый динамический язык программирования Julia, исп..."
Отправлено зачем имя анониму , 10-Мрт-12 22:41 
> сильный акцент на производительности, больше сопоставимой по своим характеристикам с языком С

А почему тогда в представленной таблице нет Си? Судя по ней, этот язык сопоставим по производительности с JS.


"Новый открытый динамический язык программирования Julia, исп..."
Отправлено антоним , 10-Мрт-12 22:56 
benchmark times relative to C++ (smaller is better).

C++ compiled by GCC 4.2.1, taking best timing from all optimization levels (-O0 through -O3).


"Новый открытый динамический язык программирования Julia,..."
Отправлено arisu , 11-Мрт-12 09:30 
> C++ compiled by GCC 4.2.1

маководы или бсдоиды, что ли? тут уже 4.7 на подходе, а у них всё пятилетней давности ископаемые.


"Новый открытый динамический язык программирования Julia, исп..."
Отправлено Аноним , 11-Мрт-12 11:48 
> А почему тогда в представленной таблице нет Си? Судя по ней, этот
> язык сопоставим по производительности с JS.

Да, сопостовим. Раза в три-четыре натянет - такая вот сопоставимость :)


"Новый открытый динамический язык программирования Julia,..."
Отправлено arisu , 11-Мрт-12 09:25 
ребята увидели Dylan и сразу нашли в нём Фатальный Недостаток. даже два: второй в том, что до конца выучить ниасилили.

"Новый открытый динамический язык программирования Julia,..."
Отправлено Аноним , 11-Мрт-12 17:45 
Dylan, afaik, не поддерживается. Куда уж фатальней...

"Новый открытый динамический язык программирования Julia,..."
Отправлено arisu , 11-Мрт-12 20:46 
> Dylan, afaik, не поддерживается.

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


"Новый открытый динамический язык программирования Julia, исп..."
Отправлено Аноним , 11-Мрт-12 12:02 
уважаемые, цены бы не было этой дискуссии, если бы пара-тройка сведущих просчитала бы конкретные примеры и сравнила результаты со всеми нюансами реализации, как это сделано где-то в середине этого обсуждения. многие, в их числе и я, нуждаются просто в выборе инструмента для математических расчетов подобного матлабу, который сегодня де-факто самый распространенный в данной нише. сейчас я пытаюсь использовать питон с библиотеками типа numpy, но вот появляются такие новшества вроде julia и думаешь, глядя на цифры из презентационной таблицы, стоит ли овчинка выделки? в уважением..

"Новый открытый динамический язык программирования Julia, исп..."
Отправлено myhand , 11-Мрт-12 12:51 
> нуждаются просто в выборе инструмента для математических расчетов подобного матлабу

Если вам так нужен матлаб - ну и возьмите матлаб (octave, scilab, еще что-то - открытые).

> но вот появляются такие новшества вроде julia и думаешь, глядя на цифры из презентационной таблицы, стоит ли овчинка выделки?

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

В любом приличном месте за "код на Matlab" там представленный - убъют.  Рекурсивные вызовы функций, for-циклы в самых неприличных местах.  Не думаю, что там что-то от матлаба вообще осталось.


"Новый открытый динамический язык программирования Julia, исп..."
Отправлено антоним , 11-Мрт-12 16:32 
Прежде чем это можно будет реально использовать для мат.расчетов на замену матлабу пройдет лет 5 минимум. А пока это не более чем proof of concept. Если вы уж начали баловаться питоном, то смотрите в первую очередь на Sage как на замену матлабу. Поглядывайте временами в сторону pypy - как только там допилят numpy (утверждается что одна из основных задач на  этот год), pypy+numpy станет убойной комбинацией по скорострельности и удобству. Кстати, numpy наконец то прикрутили и к Google App Engine.

"Новый открытый динамический язык программирования Julia, исп..."
Отправлено аноним тот же самый , 11-Мрт-12 23:12 
спасибо за рекомендацию придерживаться python, sage конечно пробовал и даже использую. не могу сказать ничего плохого, т.к. для бесплатного софта возможности просто фантастические, но всегда есть навязчивая идея относительно повышения скорости

"Новый открытый динамический язык программирования Julia, исп..."
Отправлено фтщтньщгы мгдпфкшы , 13-Мрт-12 21:43 
> фантастические, но всегда есть навязчивая идея относительно повышения скорости

ну вот к фримату в прошлом году без особого шума приделали jit компиляцию

Latest News - 2011-11-28 - FreeMat 4.1 Released

We are pleased to annouce the release of FreeMat 4.1. This version provides some significant performance improvements over FreeMat 4.0

New Just In Time (JIT) compiler -- the new version uses C++ as a backend for code generation, which means a much more substantial set of FreeMat code can now be JIT compiled. FreeMat uses CLANG-LLVM to provide run time compilation of the generated C++ code.


"Новый открытый динамический язык программирования Julia, исп..."
Отправлено Аноним , 12-Мрт-12 21:36 
> ... многие, в их числе
> и я, нуждаются просто в выборе инструмента для математических расчетов подобного
> матлабу, который сегодня де-факто самый распространенный в данной нише. сейчас я
> пытаюсь использовать питон с библиотеками типа numpy, но вот появляются такие
> новшества вроде julia и думаешь, глядя на цифры из презентационной таблицы,
> стоит ли овчинка выделки? в уважением..

Тебя какие расчёты и в какой области математики интересуют? В определённых областях есть хорошие альтернативы матлабу.


"Новый открытый динамический язык программирования Julia, исп..."
Отправлено EUGENE , 11-Мрт-12 15:20 
Ну вас всех послушаешь, зачем новый язык, зачем новый язык. А зачем хомячки тогда, ведь мыши есть. Природе наплевать на ваше мнение,она лучше знает что делать. Так что и новые языки будут и будут появляться - вполне закономерные процесс...

"Новый открытый динамический язык программирования Julia,..."
Отправлено arisu , 11-Мрт-12 21:06 
> Природе наплевать на ваше мнение,она лучше знает что делать.

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


"Новый открытый динамический язык программирования Julia,..."
Отправлено Аноним , 12-Мрт-12 00:07 
> возникший не как результат умственной деятельности человека, а эволюционным путём — от стадии простейшего организма и далее

Одно другому не мешает. Любой относительно молодой и популярный язык: python, ruby, их можно сравнить с более старыми perl, java, c и fortran, и с lisp, откуда понемногу тырятся ништяки, хотя прямого родства нет. Эволюция идет на уровне идей: удачные идеи заимствуются и распространяются в новых языках; биологическая эволюция протекает похожим образом. Беда в том, что на распространение идей сильно влияет коммерция, пиар/недостаток рекламы и всякие случайные факторы, так что не стоит думать, будто "волшебная эволюция" отсеет все недостатки существующих языков за обозримый период


"Новый открытый динамический язык программирования Julia,..."
Отправлено Аноним , 12-Мрт-12 17:11 
>> возникший не как результат умственной деятельности человека, а эволюционным путём — от стадии простейшего организма и далее
> Одно другому не мешает. Любой относительно молодой и популярный язык: python, ruby,
> их можно сравнить с более старыми perl, java, c и fortran,

Python появился в 90-м году, а Java 95-м. Учи матчасть!


"Новый открытый динамический язык программирования Julia,..."
Отправлено Аноним , 12-Мрт-12 21:37 
Не знал, что питону столько :). Я не поклонник его, но, имхо, это только на пользу питону - появиться так давно и уже тогда иметь преимущества перед другими языками, даже появившимися позднее

"Новый открытый динамический язык программирования Julia,..."
Отправлено kshetragia , 13-Мрт-12 05:35 
Только его почему-то зарулили и Java и Perl. :-D Да и сейчас он как-то не блещет.