The OpenNET Project / Index page

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

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

"Новый открытый динамический язык программирования Julia, исп..."  +/
Сообщение от opennews (??) on 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.ru/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.ru/opennews/art.shtml?num=33315

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

Оглавление

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


1. "Новый открытый динамический язык программирования Julia, исп..."  +2 +/
Сообщение от Аноним (??) on 10-Мрт-12, 20:55 
это эпидемия что-ли такая "новый язык программирования"??
Ответить | Правка | ^ к родителю #0 | Наверх | Cообщить модератору

2. "Новый открытый динамический язык программирования Julia, исп..."  +/
Сообщение от Аноним (??) on 10-Мрт-12, 21:06 
Да я вот тоже не понимаю, вместо того чтобы взять существующии и расширить люди пилят новый. Думаю каждый случай надо рассматривать отдельно, однако, #$!#$T@#!!!
Ответить | Правка | ^ к родителю #1 | Наверх | Cообщить модератору

7. "Новый открытый динамический язык программирования Julia, исп..."  +5 +/
Сообщение от Аноним (??) on 10-Мрт-12, 21:25 
ну куда еще расширять то? взять те же плюсы? не расширять надо а приводить в порядок, да вот только с учетом совместимости, привычек, духа, организации и т.п, это мало реально, проще новый сделать.
Ответить | Правка | ^ к родителю #2 | Наверх | Cообщить модератору

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

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

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

26. "Новый открытый динамический язык программирования Julia, исп..."  +7 +/
Сообщение от тоже Аноним email(ok) on 10-Мрт-12, 23:13 
Для того, чтобы сейчас сколь угодно прекрасный и правильный язык вдруг стал популярнее плюсов, кто-то должен бесплатно потратить несколько сотен человеко-лет на написание к нему библиотек в объеме, хоть сколько-нибудь сравнимом с плюсовыми.
Без критической массы существующего кода никакие теоретически великолепные языки никому нахрен не нужны.
Ответить | Правка | ^ к родителю #18 | Наверх | Cообщить модератору

29. "Новый открытый динамический язык программирования Julia, исп..."  –2 +/
Сообщение от Аноним (??) on 10-Мрт-12, 23:51 
> Для того, чтобы сейчас сколь угодно прекрасный и правильный язык вдруг стал популярнее плюсов, кто-то должен бесплатно потратить несколько сотен человеко-лет на написание к нему библиотек в объеме, хоть сколько-нибудь сравнимом с плюсовыми.

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

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

30. "Новый открытый динамический язык программирования Julia, исп..."  +/
Сообщение от жабабыдлокодер (ok) on 10-Мрт-12, 23:55 
В определенных кругах - там где управляют ракетами и прочими алгоритмоемкими вещами - там фортран очень, очень популярен. А вот гуев к нему, действительно, нет.
Ответить | Правка | ^ к родителю #29 | Наверх | Cообщить модератору

33. "Новый открытый динамический язык программирования Julia, исп..."  +/
Сообщение от Карбофос (ok) on 11-Мрт-12, 00:14 
не совсем. его применяют в основном там, где считают, что фортран - быстрее. очень часто не зная о том, когда фортран быстрее.
Ответить | Правка | ^ к родителю #30 | Наверх | Cообщить модератору

45. "Новый открытый динамический язык программирования Julia, исп..."  +/
Сообщение от жабабыдлокодер (ok) on 11-Мрт-12, 08:20 
Не-а. Фортран - это огромное количество библиотек с реализациями математических методов. Очень хорошо отлаженных. Какой бы из численных методов не взять, он непременно будет реализован на фортране. И реализован без ошибок. Стало быть, если надо рассчитать траекторию спутника...
Ответить | Правка | ^ к родителю #33 | Наверх | Cообщить модератору

63. "Новый открытый динамический язык программирования Julia, исп..."  +/
Сообщение от Карбофос (ok) on 11-Мрт-12, 16:30 
вы никогда не видели обработку матриц от "спецов"? когда матрицы обрабатываются сугубо как в сях, а не как это должно делаться в фортране. там еще других приколов - море, типа "профайлер? а что это?"
Ответить | Правка | ^ к родителю #45 | Наверх | Cообщить модератору

65. "Новый открытый динамический язык программирования Julia, исп..."  +/
Сообщение от Аноним (??) on 11-Мрт-12, 17:37 
Ну допустим, у фортрана обилие прекрасных библиотек. Но он вроде бы вполне нормально компонуется с модулями на других языках - что мешает использовать фортрановские либы с основной программой, скажем, на С? Нафига писать новое на фортране, если его изучают и поддерживают, по существу, ради обратной совместимости?
Ответить | Правка | ^ к родителю #45 | Наверх | Cообщить модератору

83. "Новый открытый динамический язык программирования Julia, исп..."  +/
Сообщение от vvvua (ok) on 13-Мрт-12, 01:17 
В Европе очень популярен язык.
Говорю про авиастроение.
Много мейнфреймов работают как раз с фортраном и MPI.
При получении т.з. - язык фортран или джава с импортом-эскпортом фортран байндиногом.
Ответить | Правка | ^ к родителю #65 | Наверх | Cообщить модератору

41. "Новый открытый динамический язык программирования Julia, исп..."  +1 +/
Сообщение от фтщтньщгы мгдпфкшы on 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.


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

31. "Новый открытый динамический язык программирования Julia, исп..."  +1 +/
Сообщение от FractalizeR email(ok) on 11-Мрт-12, 00:02 
> Фортран — прекрасный и правильный язык, библиотек для которого на несколько порядков
> больше, чем для плюсов. И как, сильно фортран популярен?

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

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

60. "Новый открытый динамический язык программирования Julia, исп..."  –1 +/
Сообщение от Аноним (??) on 11-Мрт-12, 14:55 
Нет, явное преувеличение - "больше". На несколько порядков меньше - ближе к истине.
Ответить | Правка | ^ к родителю #31 | Наверх | Cообщить модератору

3. "Новый открытый динамический язык программирования Julia, исп..."  +1 +/
Сообщение от жабабыдлокодер (ok) on 10-Мрт-12, 21:07 
Просто ни один из существующих языков не является абсолютно оптимальным; у каждого свои недостатки и своя область применения. Вот и пытаются создавать языки предназначенные для конкретных применений.
Ответить | Правка | ^ к родителю #1 | Наверх | Cообщить модератору

4. "Новый открытый динамический язык программирования Julia, исп..."  –3 +/
Сообщение от Аноним (??) on 10-Мрт-12, 21:12 
Этих причин явно недостаточно, т.к. проблема в этом случае решалась бы простым расширением одного языка (ассемблера).
Ответить | Правка | ^ к родителю #3 | Наверх | Cообщить модератору

8. "Новый открытый динамический язык программирования Julia, исп..."  +3 +/
Сообщение от жабабыдлокодер (ok) on 10-Мрт-12, 21:32 
Чушь. Вы на ассемблере писали?
Ответить | Правка | ^ к родителю #4 | Наверх | Cообщить модератору

38. "Новый открытый динамический язык программирования Julia, исп..."  +/
Сообщение от Аноним (??) on 11-Мрт-12, 01:44 
Не чушь. Писал и если надо напишу. Вдумайся что сказано было. Про HiAsm слышал? А теперь развивай мысль и слови баттхерт.
Ответить | Правка | ^ к родителю #8 | Наверх | Cообщить модератору

40. "Новый открытый динамический язык программирования Julia, исп..."  +/
Сообщение от Аноним (??) on 11-Мрт-12, 01:59 
Услышал. Увидел _ещё один_ графический яп.
Ответить | Правка | ^ к родителю #38 | Наверх | Cообщить модератору

44. "Новый открытый динамический язык программирования Julia, исп..."  +/
Сообщение от жабабыдлокодер (ok) on 11-Мрт-12, 07:30 
Чушь. Скорость написания кода и, особенно, его отладки на ассемблере в десятки раз медленнее, чем на любом вменяемом языке.
Ответить | Правка | ^ к родителю #38 | Наверх | Cообщить модератору

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

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

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

50. "Новый открытый динамический язык программирования Julia,..."  –1 +/
Сообщение от жабабыдлокодер (ok) on 11-Мрт-12, 10:01 
Форт... Нас учили этому чудищу в университете. Было прикольно и страшно...
Ответить | Правка | ^ к родителю #48 | Наверх | Cообщить модератору

51. "Новый открытый динамический язык программирования Julia,..."  +2 +/
Сообщение от arisu (ok) on 11-Мрт-12, 10:05 
> Форт... Нас учили этому чудищу в университете. Было прикольно и страшно...

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

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

54. "Новый открытый динамический язык программирования Julia,..."  +/
Сообщение от жабабыдлокодер (ok) on 11-Мрт-12, 10:30 
Он очень прост, особенно если раньше программировал на калькуляторе. Но от этого он не становится менее прикольным и страшным.
Ответить | Правка | ^ к родителю #51 | Наверх | Cообщить модератору

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

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

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

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

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

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

11. "Новый открытый динамический язык программирования Julia, исп..."  +2 +/
Сообщение от Аноним (??) on 10-Мрт-12, 21:41 
Расширение приводит к каше, усложняет реализацию, понимание, специализированный инструмент лучше универсального, да и к тому же многие вещи в основе так или иначе, расширяй не расширяй а икаться будут, в сях например, минимальность ядра и строгая типизация к чему привели? - к куче разрозненных реализаций одного и того же - яркий пример юникодные строки, или скажем костыли для обхода типизации вроде всяких шаблонов и дженериков... расширение расширением а без коренного пересмотра основы не обойтись
Ответить | Правка | ^ к родителю #4 | Наверх | Cообщить модератору

12. "Новый открытый динамический язык программирования Julia, исп..."  +3 +/
Сообщение от Аноним (??) on 10-Мрт-12, 21:47 
> у каждого свои недостатки

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

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

5. "Новый открытый динамический язык программирования Julia, исп..."  +9 +/
Сообщение от Опять on 10-Мрт-12, 21:12 
Зачем так много языков программирования?? Я один еле еле осилил, и тоне до конца! Каждый день новый язык программирования, сколько же можно елы-палы, это же какое-то помешательство!!!
Ответить | Правка | ^ к родителю #0 | Наверх | Cообщить модератору

6. "Новый открытый динамический язык программирования Julia, исп..."  –3 +/
Сообщение от Anonimousss on 10-Мрт-12, 21:22 
Успокойтесь, любезный, и пилите дальше Ваш бейсик. :)
Ответить | Правка | ^ к родителю #5 | Наверх | Cообщить модератору

9. "Новый открытый динамический язык программирования Julia, исп..."  +1 +/
Сообщение от develop7 (ok) on 10-Мрт-12, 21:33 
s/пилите/используйте/
Ответить | Правка | ^ к родителю #6 | Наверх | Cообщить модератору

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

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

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

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

16. "Новый открытый динамический язык программирования Julia, исп..."  –1 +/
Сообщение от Anonimousss on 10-Мрт-12, 21:59 
Тут не языки а либы писать надо.
Ответить | Правка | ^ к родителю #14 | Наверх | Cообщить модератору

75. "Новый открытый динамический язык программирования Julia, исп..."  –2 +/
Сообщение от sergey (??) on 12-Мрт-12, 00:56 
Для либ уже есть python
Ответить | Правка | ^ к родителю #16 | Наверх | Cообщить модератору

77. "Новый открытый динамический язык программирования Julia, исп..."  +1 +/
Сообщение от vasek on 12-Мрт-12, 14:00 
а также перл и руби
Ответить | Правка | ^ к родителю #75 | Наверх | Cообщить модератору

61. "Новый открытый динамический язык программирования Julia, исп..."  +/
Сообщение от Аноним (??) on 11-Мрт-12, 14:57 
> чтобы избавиться от зависимости от Oracle и Microsoft

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

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

22. "Новый открытый динамический язык программирования Julia, исп..."  +1 +/
Сообщение от жабабыдлокодер (ok) on 10-Мрт-12, 22:29 
Языков то полно, а вот чтобы сразу писать - с гуями и вебмордами, с подключением баз и работой с документами odt/M$ - кот наплакал. Куда ни ткнись - всюду только концепции и описания синтаксиса.
Ответить | Правка | ^ к родителю #13 | Наверх | Cообщить модератору

27. "Новый открытый динамический язык программирования Julia, исп..."  +/
Сообщение от тоже Аноним email(ok) on 10-Мрт-12, 23:17 
А если из оставшихся отбросить те, у которых пригодные к использованию библиотеки принадлежат какой-нибудь корпорации - выбора не остается вообще.
Ответить | Правка | ^ к родителю #22 | Наверх | Cообщить модератору

28. "Новый открытый динамический язык программирования Julia, исп..."  +2 +/
Сообщение от жабабыдлокодер (ok) on 10-Мрт-12, 23:25 
А чем Вам не нравятся Qt и OpenJDK?
Ответить | Правка | ^ к родителю #27 | Наверх | Cообщить модератору

36. "Новый открытый динамический язык программирования Julia, исп..."  +1 +/
Сообщение от Аноним (??) on 11-Мрт-12, 00:37 
Не достаточно элитны.
Ответить | Правка | ^ к родителю #28 | Наверх | Cообщить модератору

55. "Новый открытый динамический язык программирования Julia, исп..."  +/
Сообщение от тоже Аноним email(ok) on 11-Мрт-12, 11:31 
Почему - не нравятся?
Просто существует нехилая вероятность, что некую программу, развитие которой для вас критично, внезапно надо будет сильно переписать. И вы на эту вероятность повлиять никак не можете. А ОДИН человек может...
Ответить | Правка | ^ к родителю #28 | Наверх | Cообщить модератору

79. "Новый открытый динамический язык программирования Julia, исп..."  +/
Сообщение от anonimous on 12-Мрт-12, 19:44 
Это вы о чем?
Ответить | Правка | ^ к родителю #55 | Наверх | Cообщить модератору

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

Это пугает.

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

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

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

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

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

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

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

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

66. "Новый открытый динамический язык программирования Julia, исп..."  +/
Сообщение от Аноним (??) on 11-Мрт-12, 17:41 
Синтаксис, по существу, один из наименее важных факторов, несмотря на притягательность этого вопроса для холиваров. Вон, в лиспе вообще с этим не заморачивались )
Ответить | Правка | ^ к родителю #21 | Наверх | Cообщить модератору

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

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

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

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

87. "Новый открытый динамический язык программирования Julia,..."  +/
Сообщение от фтщтньщгы мгдпфкшы on 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

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

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

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

68. "Новый открытый динамический язык программирования Julia, исп..."  +1 +/
Сообщение от myhand (ok) on 11-Мрт-12, 17:55 
> Ну почему же. Синтаксис матлаба не так плох.

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

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

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

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

89. "Новый открытый динамический язык программирования Julia, исп..."  +/
Сообщение от Michael Shigorin email(ok) on 14-Мрт-12, 23:50 
> фиббоначи
> Двойка

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

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

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

17. "Новый открытый динамический язык программирования Julia, исп..."  +1 +/
Сообщение от антоним on 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

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

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

19. "Новый открытый динамический язык программирования Julia, исп..."  +2 +/
Сообщение от антоним on 10-Мрт-12, 22:08 
То есть сравнивали с python а не numpy. И не факт, что корректно.
Ответить | Правка | ^ к родителю #17 | Наверх | Cообщить модератору

24. "Новый открытый динамический язык программирования Julia, исп..."  +/
Сообщение от Deepwalker email(??) on 10-Мрт-12, 22:46 
Да тесты булшит же откровенный. С этого момента весь интерес пропадает к языку.
Ответить | Правка | ^ к родителю #15 | Наверх | Cообщить модератору

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

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

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

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

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

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

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

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

43. "Новый открытый динамический язык программирования Julia, исп..."  +/
Сообщение от антоним on 11-Мрт-12, 03:54 
в следующий раз, пожалуйста, используйте ник К.О.
Ответить | Правка | ^ к родителю #42 | Наверх | Cообщить модератору

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

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

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

56. "Новый открытый динамический язык программирования Julia, исп..."  +/
Сообщение от Аноним (??) on 11-Мрт-12, 11:48 
> что внутри у него не питон, а самый что ни на есть с/с++.

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

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

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

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

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

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

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

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

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

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

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

35. "Новый открытый динамический язык программирования Julia, исп..."  +/
Сообщение от Аноним (??) on 11-Мрт-12, 00:24 
По приведенной ссылке нет ничего, опровергающего мои утверждения. Что сказать-то хотели?
Ответить | Правка | ^ к родителю #34 | Наверх | Cообщить модератору

39. "Новый открытый динамический язык программирования Julia, исп..."  +/
Сообщение от Аноним (??) on 11-Мрт-12, 01:57 
(я другой аноним)

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

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

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

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

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

25. "Новый открытый динамический язык программирования Julia, исп..."  +/
Сообщение от антоним on 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).

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

49. "Новый открытый динамический язык программирования Julia,..."  +/
Сообщение от arisu (ok) on 11-Мрт-12, 09:30 
> C++ compiled by GCC 4.2.1

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

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

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

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

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

46. "Новый открытый динамический язык программирования Julia,..."  +/
Сообщение от arisu (ok) on 11-Мрт-12, 09:25 
ребята увидели Dylan и сразу нашли в нём Фатальный Недостаток. даже два: второй в том, что до конца выучить ниасилили.
Ответить | Правка | ^ к родителю #0 | Наверх | Cообщить модератору

67. "Новый открытый динамический язык программирования Julia,..."  +/
Сообщение от Аноним (??) on 11-Мрт-12, 17:45 
Dylan, afaik, не поддерживается. Куда уж фатальней...
Ответить | Правка | ^ к родителю #46 | Наверх | Cообщить модератору

69. "Новый открытый динамический язык программирования Julia,..."  +/
Сообщение от arisu (ok) on 11-Мрт-12, 20:46 
> Dylan, afaik, не поддерживается.

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

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

58. "Новый открытый динамический язык программирования Julia, исп..."  +1 +/
Сообщение от Аноним (??) on 11-Мрт-12, 12:02 
уважаемые, цены бы не было этой дискуссии, если бы пара-тройка сведущих просчитала бы конкретные примеры и сравнила результаты со всеми нюансами реализации, как это сделано где-то в середине этого обсуждения. многие, в их числе и я, нуждаются просто в выборе инструмента для математических расчетов подобного матлабу, который сегодня де-факто самый распространенный в данной нише. сейчас я пытаюсь использовать питон с библиотеками типа numpy, но вот появляются такие новшества вроде julia и думаешь, глядя на цифры из презентационной таблицы, стоит ли овчинка выделки? в уважением..
Ответить | Правка | ^ к родителю #0 | Наверх | Cообщить модератору

59. "Новый открытый динамический язык программирования Julia, исп..."  +/
Сообщение от myhand (ok) on 11-Мрт-12, 12:51 
> нуждаются просто в выборе инструмента для математических расчетов подобного матлабу

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

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

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

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

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

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

72. "Новый открытый динамический язык программирования Julia, исп..."  +/
Сообщение от аноним тот же самый on 11-Мрт-12, 23:12 
спасибо за рекомендацию придерживаться python, sage конечно пробовал и даже использую. не могу сказать ничего плохого, т.к. для бесплатного софта возможности просто фантастические, но всегда есть навязчивая идея относительно повышения скорости
Ответить | Правка | ^ к родителю #64 | Наверх | Cообщить модератору

88. "Новый открытый динамический язык программирования Julia, исп..."  +/
Сообщение от фтщтньщгы мгдпфкшы on 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.

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

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

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

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

62. "Новый открытый динамический язык программирования Julia, исп..."  +/
Сообщение от EUGENE on 11-Мрт-12, 15:20 
Ну вас всех послушаешь, зачем новый язык, зачем новый язык. А зачем хомячки тогда, ведь мыши есть. Природе наплевать на ваше мнение,она лучше знает что делать. Так что и новые языки будут и будут появляться - вполне закономерные процесс...
Ответить | Правка | ^ к родителю #0 | Наверх | Cообщить модератору

70. "Новый открытый динамический язык программирования Julia,..."  +/
Сообщение от arisu (ok) on 11-Мрт-12, 21:06 
> Природе наплевать на ваше мнение,она лучше знает что делать.

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

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

74. "Новый открытый динамический язык программирования Julia,..."  +/
Сообщение от Аноним (??) on 12-Мрт-12, 00:07 
> возникший не как результат умственной деятельности человека, а эволюционным путём — от стадии простейшего организма и далее

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

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

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

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

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

82. "Новый открытый динамический язык программирования Julia,..."  +/
Сообщение от Аноним (??) on 12-Мрт-12, 21:37 
Не знал, что питону столько :). Я не поклонник его, но, имхо, это только на пользу питону - появиться так давно и уже тогда иметь преимущества перед другими языками, даже появившимися позднее
Ответить | Правка | ^ к родителю #78 | Наверх | Cообщить модератору

84. "Новый открытый динамический язык программирования Julia,..."  –1 +/
Сообщение от kshetragia (ok) on 13-Мрт-12, 05:35 
Только его почему-то зарулили и Java и Perl. :-D Да и сейчас он как-то не блещет.
Ответить | Правка | ^ к родителю #82 | Наверх | Cообщить модератору

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

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




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

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