The OpenNET Project / Index page

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

Увидел свет язык программирования Julia 1.0

09.08.2018 20:38

Спустя шесть лет с момента первого анонса сформирован первый стабильный релиз языка программирования Julia 1.0, сочетающего такие качества как высокая производительность, поддержка динамической типизации и встроенные средства для параллельного программирования. Синтаксис Julia близок к MATLAB с заимствованием некоторых элементов из Ruby и Lisp. Метод манипуляции строками напоминает Perl. Код проекта распространяется под лицензией MIT.

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

  • Высокая производительность: одной из ключевых целей проекта является достижение производительности близкой к программам на языке Си. Компилятор Julia основан на наработках проекта LLVM и генерирует эффективный нативный машинный код для многих целевых платформ;
  • Поддержка различных парадигм программирования, включая элементы объектно-ориентированного и функционального программирования. Стандартная библиотека предоставляет в том числе функции для асинхронного ввода/вывода, управления процессами, ведения логов, профилирования и управления пакетами;
  • Динамическая типизация: язык не требует явного определения типов для переменных по аналогии со скриптовыми языками программирования. Поддерживается интерактивный режим работы;
  • Опциональная возможность явного указания типов;
  • Синтаксис, превосходно подходящий для численных вычислений, научных расчётов, систем машинного обучения и визуализации данных. Поддержка многих числовых типов данных и средства для распараллеливания вычислений.
  • Возможность прямого вызова функций из библиотек на языке Си без дополнительных прослоек.

Кроме стабилизации языка в Julia 1.0 также представлено несколько новшеств, среди которых новый встроенный пакетный менеджер Pkg, позволяющий не только манипулировать репозиториями и устанавливать пакеты и связанные с ними зависимости, но и создавать привязанные к проектам окружения пакетов, записывать и воссоздавать состояние работающего приложения, использовать приватные пакеты. Для переменных добавлено новое значение "missing", определяющее отсутствующее значение. Встроенный тип String адаптирован для хранения произвольных данных. Добавлена поддержка именованных кортежей (похожи на хэши в Perl). Добавлена возможность переопределения оператора "точка". Расширены возможности оптимизатора.

  1. Главная ссылка к новости (https://julialang.org/blog/201...)
  2. OpenNews: Новый открытый динамический язык программирования Julia, использующий наработки проекта LLVM
  3. OpenNews: Компания Apple выпустила язык программирования Swift 4.1
  4. OpenNews: Новая версия языка программирования Nim 0.18.0
  5. OpenNews: Релиз динамического языка программирования Groovy 2.5
  6. OpenNews: Выпуск языка программирования Dart 2.0
Лицензия: CC-BY
Тип: Программы
Ключевые слова: lang, julia
При перепечатке указание ссылки на opennet.ru обязательно
Обсуждение (162) Ajax | 1 уровень | Линейный | Раскрыть всё | RSS
  • 1.1, snyan (?), 20:44, 09/08/2018 [ответить] [﹢﹢﹢] [ · · · ]  
  • +2 +/
    Назвал null missing'ом — все проблемы моментально исчезли.
     
     
  • 2.3, Аноним (3), 20:49, 09/08/2018 [^] [^^] [^^^] [ответить]  
  • +/
    в функциональном мире это слово запрещено произносить вслух
     
  • 2.8, topin89 (?), 21:28, 09/08/2018 [^] [^^] [^^^] [ответить]  
  • +1 +/
    Нет, это далеко не null и даже питоновский None или плюсовой std::optional. Тут повеселее

    julia> missing + 1
    missing

    julia> "a" * missing
    missing

    julia> abs(missing)
    missing

    julia> missing == 1
    missing

    julia> missing == missing
    missing

    julia> missing < 1
    missing

    julia> 2 >= missing
    missing

     
     
  • 3.12, Аноним (12), 22:15, 09/08/2018 [^] [^^] [^^^] [ответить]  
  • +1 +/
    А самое главное, как будет реагировать на if !missing ? :)
     
     
  • 4.28, Аноним (28), 02:48, 10/08/2018 [^] [^^] [^^^] [ответить]  
  • +3 +/
    Вот так:
    -> if !missing
    -> missing
     
  • 3.13, Имя (?), 22:17, 09/08/2018 [^] [^^] [^^^] [ответить]  
  • +9 +/
    В SQL (по крайней мере, постгрес) NULL себя точно так же ведёт
     
  • 3.27, Аноним (27), 01:30, 10/08/2018 [^] [^^] [^^^] [ответить]  
  • +5 +/
    Типичный null. Непонятен смысл обзывания по другомц.
     
  • 3.30, Аноним (30), 04:16, 10/08/2018 [^] [^^] [^^^] [ответить]  
  • –2 +/
    Это же обычный NaN
     
     
  • 4.31, Аноним (31), 07:05, 10/08/2018 [^] [^^] [^^^] [ответить]  
  • +1 +/
    Нет.
    >missing == missing

    missing

    >NaN == NaN

    false

     
  • 4.38, Аноним (38), 08:14, 10/08/2018 [^] [^^] [^^^] [ответить]  
  • +/
    Здесь акцент на то, что данные бывают разряженными. То есть, если их нет, то нет. Сравнивать что-то с отсутствующими данными - это ошибка. Впрочем, описать логику преобразования к чему-то другому, в Julia можно.
     
     
  • 5.48, Аноним (30), 09:15, 10/08/2018 [^] [^^] [^^^] [ответить]  
  • +/
    Значит это просто пустой массив, как в матлабе [] и тест isempty?
     
     
  • 6.52, Аноним (38), 09:26, 10/08/2018 [^] [^^] [^^^] [ответить]  
  • +/
    https://julialang.org/blog/2018/06/missing
     
  • 4.81, Аноним (81), 10:35, 10/08/2018 [^] [^^] [^^^] [ответить]  
  • +1 +/
    Нет "не число" это не число, а null - это ОТСУТСВИЕ ЧЕГО БЫ ТО НИБЫЛО
     
     
  • 5.91, Аноним (31), 11:05, 10/08/2018 [^] [^^] [^^^] [ответить]  
  • +2 +/
    >ОТСУТСВИЕ ЧЕГО БЫ ТО НИБЫЛО

    Давай ты мне накачаешь воздушный шарик вакуумом.
    Не получилось? А вот набить таблицу в 9000 строк в SQL базе NULL-ами получается.
    Задумайся над этим.

     
     
  • 6.111, Аноним (111), 13:56, 10/08/2018 [^] [^^] [^^^] [ответить]  
  • +2 +/
    Да без проблем. 9000 шариков, из которых откачан воздух. Какой газ содержится в этих шариках? NULL.
     
  • 3.50, nobody (??), 09:16, 10/08/2018 [^] [^^] [^^^] [ответить]  
  • +3 +/
    > Нет, это далеко не null

    В точности SQL-ный NULL, судя по приведённым примерам

     
  • 3.79, Аноним (81), 10:34, 10/08/2018 [^] [^^] [^^^] [ответить]  
  • +/
    Так это и есть null
     
  • 3.85, ползкрокодил (?), 10:49, 10/08/2018 [^] [^^] [^^^] [ответить]  
  • +1 +/
    Выглядит крипово. Как шелл после патча Бармина: что ни выполняй, результат один и тот же.
     
  • 3.145, Аноним (145), 23:49, 10/08/2018 [^] [^^] [^^^] [ответить]  
  • +/
    Наконец-то правильная реализация null
     

  • 1.4, Аноним (4), 21:00, 09/08/2018 [ответить] [﹢﹢﹢] [ · · · ]  
  • +5 +/
    Динамическая типизация = язык "для накидать чего-нибудь по-быстрому на коленке". В больших проектах от этого сплошной геморрой. Питонам и жабоскриптам оно простительно - языки из 90-х. Но стоило же посмотреть хотя-бы на опыт Typescript и Dart 2.
     
     
  • 2.6, ms (??), 21:08, 09/08/2018 [^] [^^] [^^^] [ответить]  
  • –5 +/
    typescript вроде годная штука, чего ты?
     
     
  • 3.7, Аноним (4), 21:14, 09/08/2018 [^] [^^] [^^^] [ответить]  
  • +7 +/
    Она годная именно тем, что строго статически типизирована, как и вторая версия дарта.
     
     
  • 4.18, Аноним (18), 23:00, 09/08/2018 [^] [^^] [^^^] [ответить]  
  • +2 +/
    Корявая она там. Даже в строгом режиме можно суметь выстрелить себе в ногу.
     
     
  • 5.19, Аноним (38), 23:03, 09/08/2018 [^] [^^] [^^^] [ответить]  
  • +/
    Примеры есть? К тому же, за последние пару лет Julia сильно поменялась. Даже в рамках 0.6 были существенные изменения.
     
     
  • 6.32, Аноним (31), 07:08, 10/08/2018 [^] [^^] [^^^] [ответить]  
  • +/
    >К тому же, за последние пару лет Julia сильно поменялась

    Язык программирования это не меню в столовой. Часто менять язык вредно.

     
     
  • 7.39, Аноним (38), 08:16, 10/08/2018 [^] [^^] [^^^] [ответить]  
  • +/
    Ей 6 лет от роду. И первый стабильный релиз с зафиксированным API.
     
     
  • 8.53, Аноним (31), 09:30, 10/08/2018 [^] [^^] [^^^] [ответить]  
  • +/
    Еще одна причина держаться от языка подальше ... текст свёрнут, показать
     
     
  • 9.60, Аноним (38), 09:44, 10/08/2018 [^] [^^] [^^^] [ответить]  
  • +1 +/
    В отношении Julia утверждение неверное К ней слишком ответственно отнеслись за ... текст свёрнут, показать
     
     
  • 10.72, Аноним (31), 10:15, 10/08/2018 [^] [^^] [^^^] [ответить]  
  • –5 +/
    Перевожу на понятный язык положили болт Неуловимый Джо, не имеющий конкурентов... текст свёрнут, показать
     
  • 10.156, Аноним (156), 16:52, 11/08/2018 [^] [^^] [^^^] [ответить]  
  • +/
    В ЖЖ можно поискать про R И там найти многое про не имеющего конкурентов А т... текст свёрнут, показать
     
  • 7.56, Вадик (??), 09:38, 10/08/2018 [^] [^^] [^^^] [ответить]  
  • +/
    Что за бред ты несешь. ЯП это просто инструмент. Есть конечно любимые, но выбор в 90% случаев зависит от задачи и ее условий.
     
     
  • 8.70, Аноним (31), 10:06, 10/08/2018 [^] [^^] [^^^] [ответить]  
  • +/
    Представьте что дрели делали как языки программирования Сегодня ваша дрель свер... текст свёрнут, показать
     
  • 7.138, Аноним (138), 17:44, 10/08/2018 [^] [^^] [^^^] [ответить]  
  • +/
    Пока языком пользуется полтора анонимуса, то это вполне нормальная практика (если используется для устранения косяков, а не просто набахать побольше рандомного сахара)
     
  • 6.44, Аноним (44), 08:48, 10/08/2018 [^] [^^] [^^^] [ответить]  
  • +/
    Я TS имел в виду.
     
  • 4.41, Аноним (41), 08:41, 10/08/2018 [^] [^^] [^^^] [ответить]  
  • +2 +/
    Проблема с TypeScript и Dart в том, что всё-равно приходится взаимодействовать с JS-библиотеками. И в местах подобного взаимодействия код неумолимо превращается в гoвнo т.к. эти библиотеки навязывают принятый в JS стиль написания приложений, где колбэк сидит на колбэке и колбэком погоняет, причём принимают эти колбэки параметры, тип которых может меняться в зависимости от положения звёзд.
     
     
  • 5.69, Аноним (31), 10:03, 10/08/2018 [^] [^^] [^^^] [ответить]  
  • +/
    >Проблема с TypeScript и Dart в том, что всё-равно приходится взаимодействовать с JS-библиотеками.

    Это не проблема. Проблема это написание велосипедов по любому поводу. Где баг на баге и багом погоняет.
    Если бы вместо миллионного нового языка и миллиардного переписывая элементарных библиотек на этот новый язык, занялись бы полировкой существующего кода. Эх.

     
  • 2.9, topin89 (?), 21:36, 09/08/2018 [^] [^^] [^^^] [ответить]  
  • +1 +/
    Допустимы оба варианта. Чаще всего явные типы нужны для аргументов функций, их в Julia легко задать. Остальное почти всегда выводится из контекста (аля auto в C++).
     
  • 2.10, Аноним (10), 21:41, 09/08/2018 [^] [^^] [^^^] [ответить]  
  • –1 +/
    Для фанатов БДСМ давно хаскель придумали.
     
     
  • 3.21, Аноним (38), 23:05, 09/08/2018 [^] [^^] [^^^] [ответить]  
  • +/
    Julia очень простой язык. Её модель гораздо прозрачнее питона.
     
     
  • 4.33, Аноним (31), 07:09, 10/08/2018 [^] [^^] [^^^] [ответить]  
  • –2 +/
    Обожаю когда беспомощность языка оправдывают "простотой"
     
     
  • 5.62, Аноним (31), 09:47, 10/08/2018 [^] [^^] [^^^] [ответить]  
  • +/
    >Обожаю когда беспомощность языка оправдывают "простотой"

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

     
  • 5.110, др. Аноним (?), 13:54, 10/08/2018 [^] [^^] [^^^] [ответить]  
  • +/
    > Обожаю когда беспомощность языка оправдывают "простотой"

    Итнересно, что уважаемый Эксперт Опеннета понимает под "беспомощностью" и "простотой"?
    И ASM по этой классификации, ЯП сложный или беспомощный?

     
  • 2.11, Crazy Alex (ok), 22:09, 09/08/2018 [^] [^^] [^^^] [ответить]  
  • +/
    А так же php, где нынче type hints стали хорошим тоном
     
     
  • 3.34, Аноним (31), 07:11, 10/08/2018 [^] [^^] [^^^] [ответить]  
  • –1 +/
    Много вы в продакшене видели хорошего кода?
    Пока язык не заставляет ставить типы никто из практикующих программистов ставить их и не будет.
     
  • 3.55, Аноним (55), 09:37, 10/08/2018 [^] [^^] [^^^] [ответить]  
  • +1 +/
    А в PHP есть generic-типы?
     
  • 2.14, Аноним (38), 22:21, 09/08/2018 [^] [^^] [^^^] [ответить]  
  • +2 +/
    У Julia есть явная декларация типа. Можно полностью динамически использовать, можно декларировать. Собственно, хочешь скорость - надо декларировать.

    arr = Float64[]


    function test(arr::Array{Float64,1})
    ...
    end

     
  • 2.24, Аноним (111), 23:18, 09/08/2018 [^] [^^] [^^^] [ответить]  
  • +2 +/
    > Динамическая типизация = язык "для накидать чего-нибудь по-быстрому на коленке".

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

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

     
     
  • 3.73, Аноним (31), 10:17, 10/08/2018 [^] [^^] [^^^] [ответить]  
  • +/
    >Язык для технических вычислений - это и есть язык "для накидать чего-нибудь по-быстрому на коленке".

    Вы ракеты Союз проектируете?

     
     
  • 4.92, Аноним (111), 11:09, 10/08/2018 [^] [^^] [^^^] [ответить]  
  • +/
    Нет, боинги. Это имеет какое-то отношение к теме?
     
     
  • 5.152, _ (??), 03:16, 11/08/2018 [^] [^^] [^^^] [ответить]  
  • –2 +/
    Это труселя такие?
     
  • 2.29, freehck (ok), 03:30, 10/08/2018 [^] [^^] [^^^] [ответить]  
  • –2 +/
    > Динамическая типизация = язык "для накидать чего-нибудь по-быстрому на коленке".

    Динамическая типизация = возможность строить ветвление в зависимости от типа пришедшего на вход параметра.
    Динамическая типизация = ускорение разработки на порядки за счёт отсутствия необходимости слежения за типами (функцию не надо переопределять для других типов, она будет съедена интерпретатором и так).

    Динамическая типизация -- это вопрос выбора. Это вундервафля такая. Если обращаться с ней неаккуратно, можете ногу себе оттяпать. Но если ваши конкуренты большие, сильные и уже давно на рынке -- то почему бы и нет? Иначе-то вы в пролёте.

     
     
  • 3.35, Аноним (31), 07:24, 10/08/2018 [^] [^^] [^^^] [ответить]  
  • –4 +/
    Эпический бред Обработку того же JSON-а поддерживают как статические так и дина... текст свёрнут, показать
     
     
  • 4.45, freehck (ok), 09:00, 10/08/2018 [^] [^^] [^^^] [ответить]  
  • +/
    Наверное потому, что в вопросе парсинга JSON-а типизация непричём Зато очень к ... текст свёрнут, показать
     
  • 2.90, Аноним (90), 11:02, 10/08/2018 [^] [^^] [^^^] [ответить]  
  • +3 +/
    2018 год, это когда в качестве примеров статически типизированных языков приводят Typescript и Dart 2.
     
  • 2.98, dq0s4y71 (ok), 12:53, 10/08/2018 [^] [^^] [^^^] [ответить]  
  • +2 +/
    В больших проектах не от этого сплошной геморрой, а от того, что большие проекты часто строят методом костылей и подпорок, без хорошо продуманной идеологии и интерфейсов. Или в процессе разработки идеологию ломают. В результате, если типизированные языки ещё как-то сдерживают лавинообразное нарастание хаоса в большом проекте, то динамические для этого предоставляют благодатную почву.
     
     
  • 3.113, GreyFox (ok), 14:05, 10/08/2018 [^] [^^] [^^^] [ответить]  
  • +/
    Соглашусь, лишь с тем замечанием, что есть как работать с проблемой "предоставляют благодатную почву".
    В компилируемых языках с проблемами такого рода борются компиляторы. К сожалению и компиляторы не совершенны, и так же постоянно совершенствуются как и статические анализаторы для динамический типизированных языков. Проблемы высокого уровня к сожалению стабильно не умеют отлавливать ни на каком уровне (race condition, ошибки логики(нужны тесты) и т.д.).

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

     
     
  • 4.161, 0xd34df00d (??), 04:50, 12/08/2018 [^] [^^] [^^^] [ответить]  
  • +/
    Race condition нужно ещё постараться сделать при использовании STM, ошибки логики отлаживаются статически в языках с зависимыми типами.

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

     
  • 2.109, GreyFox (ok), 13:53, 10/08/2018 [^] [^^] [^^^] [ответить]  
  • +/
    Не справедливое замечание Python давно обзавелся аннотированием типов, ровно та... текст свёрнут, показать
     
  • 2.146, Аноним (145), 23:54, 10/08/2018 [^] [^^] [^^^] [ответить]  
  • +/
    Я тоже так думал, но существование Clojure и Erlang просто ставит в тупик с такой точкой зрения. Поэтому я уже неделю как погрузился в Clojure и не уйду пока не получу ответы на самый главный вопрос в программировании.
     

     ....нить свёрнута, показать (39)

  • 1.5, forsimen (ok), 21:01, 09/08/2018 [ответить] [﹢﹢﹢] [ · · · ]  
  • +/
    Сегодня вроде не первое апреля, но только вчера 0.6 ветка была стабильной, как сегодня 1.0 уже стабильная версия, а 0.7 предыдущий стабильны
     
     
  • 2.15, Аноним (38), 22:22, 09/08/2018 [^] [^^] [^^^] [ответить]  
  • +/
    Ну конференция же сейчас проходит :)

    0.7 была доступна уже как минимум месяц

     
     
  • 3.36, Аноним (31), 07:26, 10/08/2018 [^] [^^] [^^^] [ответить]  
  • +/
    >Ну конференция же сейчас проходит :)

    Смузи поят?

     
     
  • 4.42, Аноним (38), 08:41, 10/08/2018 [^] [^^] [^^^] [ответить]  
  • +/
    К сожалению, нет возможности проверить лично.

    http://juliacon.org/2018/all_talks.html
    https://www.youtube.com/user/JuliaLanguage/featured

     
  • 3.74, forsimen (ok), 10:20, 10/08/2018 [^] [^^] [^^^] [ответить]  
  • +/
    Ну я в курсе про конференцию, если внимательно следить за материалами, то ничего сверхнового не было там представлено. В основном обновления по проектам, которые уже существуют. Ветка 0.7, строго говоря, для скачивания доступна была давным-давно. Вот только она была нестабильной веткой до вчерашнего дня, когда внезапно зарелизили версию 1.0.
     
     
  • 4.80, Аноним (38), 10:34, 10/08/2018 [^] [^^] [^^^] [ответить]  
  • +1 +/
    0.7 давно была заявлена как отличающаяся от 1.0 только поддержкой deprecated API. Ну и, RC-0.7 уже тоже больше месяца. Видимо, решили ускорить процесс миграции. Впрочем, себе 1.0 поставлю где-нибудь через месяц, когда основные библиотеки причешут. Чувствую, что конкретно сейчас, будут некоторые проблемы совместимости.
     
     
  • 5.82, forsimen (ok), 10:45, 10/08/2018 [^] [^^] [^^^] [ответить]  
  • –1 +/
    Спасибо за ответ! Тоже посижу пока на 0.6.
     

  • 1.16, Аноним (38), 22:24, 09/08/2018 [ответить] [﹢﹢﹢] [ · · · ]  
  • +/
    Пожалуй, самый ожидаемый язык для машинного обучения. Сейчас, после стабилизации API, можно говорить о массовом начале использования.
     
     
  • 2.20, Аноним (20), 23:03, 09/08/2018 [^] [^^] [^^^] [ответить]  
  • +/
    А зачем для МО какой-то особый язык? В том то и соль, что там меньше времени уходит на программирование и больше - на подготовку данных и обучение.
     
     
  • 3.23, Аноним (38), 23:12, 09/08/2018 [^] [^^] [^^^] [ответить]  
  • +/
    Сейчас в MO чаще всего используют несколько языков. Суть Julia - пишешь на ней и не пишешь на C, C++ и пр. То есть она удобна как для интеграционных вещей, типа данные подготовить, таблички прочитать, строки преобразовать. Так и для реальной математики.
     
     
  • 4.67, Аноним (31), 09:57, 10/08/2018 [^] [^^] [^^^] [ответить]  
  • +/
    >Сейчас в MO чаще всего используют несколько языков.

    Из которых 99% - питон.
    >Суть Julia - пишешь на ней и не пишешь на C, C++ и пр.

    Никто переписывать tensirflow/kerras/pytorch и тд на хулию не будет, поезд давно ушел.
    >То есть она удобна как для интеграционных вещей, типа данные подготовить, таблички прочитать, строки преобразовать.

    Знаете что еще более удобно? Более 9000 готовых библиотек на питоне любого уровня, отлаженных и поддерживаемых.

     
     
  • 5.75, Аноним (38), 10:22, 10/08/2018 [^] [^^] [^^^] [ответить]  
  • +/
    Если проводить опрос среди питонистов - да А так - R и C, на котором все библио... текст свёрнут, показать
     
     
  • 6.83, Аноним (31), 10:48, 10/08/2018 [^] [^^] [^^^] [ответить]  
  • –1 +/
    >Если проводить опрос среди питонистов - да. А так - R и C, на котором все библиотеки для питона и написаны.
    >в разрезе MO ака машинного обучения

    Отсутствие CUDA в списке говорит, что пациент вообще не в теме.
    >Предусмотрено. https://github.com/JuliaPy/PyCall.jl

    Закопайте ЭТО обратно.
    >Библиотеки нужны только конкретные. Они на Julia уже есть. Плюс совместимость для сторого кода. То есть смысла писать на питоне больше нет вообще.

    Прилетайте в нашу вселенную. Хотя лучше, нет.
    >Хочешь новый алгоритм - пиши на C. В случае Julia это делать не надо.

    Вот тут согласен. Писать на хулии не надо.
    И опять же "алгоритм" на "С" ... дай угадаю, 2 курс максимум?
    Никто из практикующих программистом так коряво не выражается.
    Опять же в разрезе ML "алгоритмы"... Kernell-ы? Они на CUDA.

     
     
  • 7.89, Аноним (38), 11:02, 10/08/2018 [^] [^^] [^^^] [ответить]  
  • +/
    Уважаемый аноним 31 с 1-го курса, не знающий, что такое алгоритм и программи... текст свёрнут, показать
     
     
  • 8.151, _ (??), 02:19, 11/08/2018 [^] [^^] [^^^] [ответить]  
  • +1 +/
    Лучшая шутка трэда А в реальность нет ни одного высокопроизводительных сер... текст свёрнут, показать
     
  • 8.153, ALex_hha (ok), 11:30, 11/08/2018 [^] [^^] [^^^] [ответить]  
  • +/
    а мужики то и не в курсе... текст свёрнут, показать
     
  • 6.99, myhand (ok), 12:59, 10/08/2018 [^] [^^] [^^^] [ответить]  
  • +3 +/
    Т е так бы сделали вы, задавшись вопросом о положении дел в отрасли R использу... текст свёрнут, показать
     
     
  • 7.106, Аноним (106), 13:13, 10/08/2018 [^] [^^] [^^^] [ответить]  
  • +1 +/
    Вот не лень ли рассуждать о проблемах, которые Вы не знаете Хотя бы взглянули б... текст свёрнут, показать
     
     
  • 8.116, myhand (ok), 15:07, 10/08/2018 [^] [^^] [^^^] [ответить]  
  • +/
    Вьюнош, Вы серьезно Вы бы хоть в ихний ридми с требованиями к зависимостям загл... текст свёрнут, показать
     
     
  • 9.118, Аноним (106), 15:12, 10/08/2018 [^] [^^] [^^^] [ответить]  
  • –1 +/
    Абсолютно Если они не будут его дёргать, то обеспечить совместимость с унаследов... текст свёрнут, показать
     
     
  • 10.121, myhand (ok), 15:36, 10/08/2018 [^] [^^] [^^^] [ответить]  
  • –5 +/
    Ну, значит вы настолько глупы как кажетесь Это просто прекрасно Вот у нас пр... текст свёрнут, показать
     
  • 8.158, Аноним (156), 20:54, 11/08/2018 [^] [^^] [^^^] [ответить]  
  • +/
    Хотелось бы услышать мнение по поводу обсуждений тестов Вот хдесь есть коротень... текст свёрнут, показать
     
     
  • 9.159, myhand (ok), 21:14, 11/08/2018 [^] [^^] [^^^] [ответить]  
  • +/
    Это как играть в шахматы с голубем К тому же, данный гражданин вроде уже улет... текст свёрнут, показать
     
     
  • 10.160, Аноним (156), 21:33, 11/08/2018 [^] [^^] [^^^] [ответить]  
  • +/
    Какая-то прямо новая религия начала по всем распространяться Верую в бенчмарки ... текст свёрнут, показать
     

     ....нить свёрнута, показать (16)

  • 1.17, Аноним (17), 22:40, 09/08/2018 [ответить] [﹢﹢﹢] [ · · · ]  
  • +9 +/
    > Динамическая типизация

    Повбывав бы!

     
  • 1.22, Аноним (22), 23:08, 09/08/2018 [ответить] [﹢﹢﹢] [ · · · ]  
  • –2 +/
    матлаб непригоден для какого-либо использования.
     
     
  • 2.25, Retrosharer (?), 23:27, 09/08/2018 [^] [^^] [^^^] [ответить]  
  • +1 +/
    Ну не скажи. Если надобно быстро проверить работоспособность сложного алгоритма, самое то.
     
     
  • 3.76, forsimen (ok), 10:23, 10/08/2018 [^] [^^] [^^^] [ответить]  
  • –1 +/
    "Быстро" и matlab - не часто эти два слова встретишь в таком контексте :) Однопоточный интерпретатор априрои небыстр, к сожалению :(
     
     
  • 4.96, Аноним (22), 12:05, 10/08/2018 [^] [^^] [^^^] [ответить]  
  • –1 +/
    1 во-первых gnu octave is blazing fast, так как не интерпретатор.
    2 во-вторых с "быстро" действительно проблемы, так как некоторые вещи, встроенные во все нормальные яп, напр конвертация числа в различные системы счисления и обратно, в octave начисто отсутствуют, и приходится писать свои. в r кстати тоже. Язык высокого уровня без таких элементарных вещей в стандартной библиотеке - не язык, а говно.
    3 в третьих многое делается через жопу и вас ждут долгие часы отладки и непонимания, почему ваша векторизованная запись операции не работает, хотя вроде бы абсол
    тно корректная.
    4 octave постоянно крешится.
    5 нет батареек

    результат - надо юзать питон.

     
  • 4.103, Аноним (111), 13:08, 10/08/2018 [^] [^^] [^^^] [ответить]  
  • +1 +/
    Не надо путать 171 быстро разработал 187 и 171 быстро выполнил 187 Вот ... текст свёрнут, показать
     

  • 1.26, анон (?), 23:38, 09/08/2018 [ответить] [﹢﹢﹢] [ · · · ]  
  • +/
    такое впечатление что каждый новичок пытается отхватить кусок пирога и штампует языки как раньше штамповали ветки линуксов.
     
     
  • 2.47, Аноним (38), 09:14, 10/08/2018 [^] [^^] [^^^] [ответить]  
  • +1 +/
    Julia создана под вполне конкретную нишу - математика. В этой нише из opensource наработок был только R. Octave оказался мертворожденным. Питон не пригоден в силу медленности и ограниченности синтаксиса. Поэтому сделали новый язык. Matlab и Wolfram вряд ли сейчас готовы бесплатно выложить свои наработки. Бесплатных и открытых конкурентов в этой области ей сейчас нет.
     
     
  • 3.49, Аноним (30), 09:16, 10/08/2018 [^] [^^] [^^^] [ответить]  
  • +1 +/
    Octave это не отдельный язык, это свободный клон матлаба.
     
     
  • 4.51, Аноним (38), 09:24, 10/08/2018 [^] [^^] [^^^] [ответить]  
  • +/
    Это не клон, а попытка реализовать матлаб. Но она провалилась.

    А вот в Julia проблемы скорости и надёжности решены. В то же время, нет проблем с полнотой математических библиотек. За 6 лет, как минимум, типовой набор уже реализовали

     
     
  • 5.86, Аноним (31), 10:52, 10/08/2018 [^] [^^] [^^^] [ответить]  
  • –4 +/
    > надёжности
    > говорит о надежности в языке который используют три с половиной тела.

    Надежная Хулия - надежна. Неуловимы Джо - неуловим.
    > надёжности
    > динамическая типизация

    Не смешите мой копчик.

     
  • 3.66, Аноним (31), 09:53, 10/08/2018 [^] [^^] [^^^] [ответить]  
  • +/
    >Julia создана под вполне конкретную нишу - математика.

    R уже давно создан, велосипеды и троллейбусы из буханок не нужны.

     
     
  • 4.68, Аноним (38), 09:58, 10/08/2018 [^] [^^] [^^^] [ответить]  
  • +/
    ничего, что у R скорость на пару порядков ниже?
     
     
  • 5.71, Аноним (31), 10:09, 10/08/2018 [^] [^^] [^^^] [ответить]  
  • –2 +/
    >ничего, что у R скорость на пару порядков ниже?

    Маня пытаются блеснуть словцом "порядок" в качестве числительноно.

     
     
  • 6.77, Аноним (38), 10:25, 10/08/2018 [^] [^^] [^^^] [ответить]  
  • +/
    >> Маня пытаются блеснуть словцом "порядок" в качестве числительноно.

    тесты посмотрите. Может быть, местами, ошибся. Не пару, а тройку порядков.

    https://modelingguru.nasa.gov/docs/DOC-2676

     
     
  • 7.94, Аноним (31), 11:20, 10/08/2018 [^] [^^] [^^^] [ответить]  
  • +/
    Последний тест
    Python 2.2921 37.4429 224.4362
    Julia 2.769 44.333 345.069
    Закапывайте.
     
  • 7.97, Аноним (-), 12:46, 10/08/2018 [^] [^^] [^^^] [ответить]  
  • +1 +/
    Такое сравнение надо в помойку отправить. Problem 3 - перемножение матриц. Julia выигрывает на порядок у C (как GCC, так и Intel Compiler). Сказано, в предисловии что все зависит от библиотек. По умолчанию в Julia используется OpenBlas. Кто мешал в примере вызвать эти же функции в сишном коде? Либо во всех случаях применять самую оптимизированную библиотеку -  Intel MKL, - которую использует MATLAB, чтобы провести корректное сравнение. А так пишем, что сравниваем языки, а в итоге библиотеки, которые к тому же частично на Фортране написаны. Ну абсурд же.
     
  • 3.101, Аноним (101), 13:04, 10/08/2018 [^] [^^] [^^^] [ответить]  
  • +/
    Scilab забыли. А мне его синтакис показался удобнее, чем у матлаба. Правда его тоже еще допиливать надо((
     
  • 3.105, myhand (ok), 13:10, 10/08/2018 [^] [^^] [^^^] [ответить]  
  • +/
    > Julia создана под вполне конкретную нишу - математика.

    Численные методы.  Это, мягко говоря, не вся математика, даже близко.

    > В этой нише из opensource наработок был только R. Octave оказался мертворожденным.

    В этой нише opensource наработок - хоть обмазывайся.  И R, и пара клонов matlab'а, и python+numpy&co, про зиллионы строк открытого кода на C/Fortran я даже не заикаюсь.

    > Питон не пригоден в силу медленности и ограниченности синтаксиса.

    Что, у очередного гуру отступы чешутся?

    > Бесплатных и открытых конкурентов в этой области ей сейчас нет.

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

     
     
  • 4.108, Аноним (106), 13:40, 10/08/2018 [^] [^^] [^^^] [ответить]  
  • +/
    > Детки прячутся от других людей, закрывая собственные глазки - лет до трех.  Дальше творить подобное, даже в подростковом возрасте - это уже явные проблемы с задержкой развития...

    Ну так выйдите из 3-х летнего возраста, выделите объективные критерии и сравните технологии. Что только писать об абстрактных альтернативах и проблемах развития, если альтернатив реально не видно? Естественно, если мы говорим не о средствах для школьников/студентов, а о реальных production ready продуктах.

    Если чего-то не знаете, то это не недостаток того самого "чего-то". А лишь ваша проблема, что "не знаете". Эту проблему можно устранить, а можно продолжать рассказы про подростков, детей с развитием и пр. Выход прост - возьмите и посмотрите. А ещё лучше - проверьте.

     
     
  • 5.115, myhand (ok), 15:04, 10/08/2018 [^] [^^] [^^^] [ответить]  
  • +1 +/
    > Что только писать об абстрактных альтернативах и проблемах развития, если
    > альтернатив реально не видно?

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

     
     
  • 6.119, Аноним (106), 15:16, 10/08/2018 [^] [^^] [^^^] [ответить]  
  • +/
    > Вам пальцем показали на конкретные проекты, существование которых вы просто проигнорировали.  Причем тут какие-то абстрахтные проблемы развития?

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

     
     
  • 7.122, myhand (ok), 15:39, 10/08/2018 [^] [^^] [^^^] [ответить]  
  • +1 +/
    >> Вам пальцем показали на конкретные проекты, существование которых вы просто проигнорировали.  Причем тут какие-то абстрахтные проблемы развития?
    > Вот когда научитесь аргументы приводить в виде конкретных критериев и циферок, а
    > не пальцем показывать, тогда и продолжим.

    Что-то не увидел у вас никаких циферок.  Полагал, что учусь у лучшего.  Таки нет, вы просто балабол?)

     

  • 1.37, Blind Vic (ok), 08:03, 10/08/2018 [ответить] [﹢﹢﹢] [ · · · ]  
  • +1 +/
    > Динамическая типизация: язык не требует явного определения типов для переменных по аналогии со скриптовыми языками программирования.

    Насколько мне известно, смысл динамической типизации в том, что переменная имеет всегда один тип. А явное определение типа не признак статической типизации.

    Похоже на трудности перевода и напридумывание, потому что на главной странице сайта:

    > Julia has a rich language of descriptive datatypes, and type declarations can be used to clarify and solidify programs.

     
     
  • 2.40, Аноним (38), 08:22, 10/08/2018 [^] [^^] [^^^] [ответить]  
  • +1 +/
    > Насколько мне известно, смысл динамической типизации в том, что переменная имеет всегда один тип. А явное определение типа не признак статической типизации.

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

    В Julia объектная модель, хоть и простая, но есть. Есть универсальный тип Any. Однако можно указать значение какого типа должна принимать переменная (или потомка этого типа). Впрочем, сейчас это сделано для аргументов функций и при инициализации. Глобальные переменные типизировать нельзя.

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

     
     
  • 3.43, Blind Vic (ok), 08:46, 10/08/2018 [^] [^^] [^^^] [ответить]  
  • +/
    > Смысл динамической типизации в том, что переменная вообще не имеет типа. Тип есть у

    значения переменной.

    Откуда вы такое взяли? Можно источник? Потому что не вижу смысла в этих словах.

    По вашей логике у всех переменных в динамических языках всегда один тип -- ссылка на объект.
    А "тип значения переменной" для меня эквивалентно "тип переменной".

     
     
  • 4.46, Аноним (38), 09:00, 10/08/2018 [^] [^^] [^^^] [ответить]  
  • +1 +/
    > По вашей логике у всех переменных в динамических языках всегда один тип -- ссылка на объект.

    Обычно так и есть. В противном случае будут проблемы с выделением памяти под значение

     
  • 4.54, nobody (??), 09:31, 10/08/2018 [^] [^^] [^^^] [ответить]  
  • +/
    И какой размер в памяти занимает переменная, если она не ссылка и хранит любой объект внутри себя? Тоже "любой"?
    В динамических языках переменные это именно что ссылки на объекты
     
     
  • 5.58, Blind Vic (ok), 09:41, 10/08/2018 [^] [^^] [^^^] [ответить]  
  • +/
    > И какой размер в памяти занимает переменная, если она не ссылка и
    > хранит любой объект внутри себя? Тоже "любой"?
    > В динамических языках переменные это именно что ссылки на объекты

    Вы с кем разговариваете / кому отвечаете?

     
     
  • 6.59, nobody (??), 09:42, 10/08/2018 [^] [^^] [^^^] [ответить]  
  • +/
    Вам. По ветке не очевидно?
     
     
  • 7.61, Blind Vic (ok), 09:46, 10/08/2018 [^] [^^] [^^^] [ответить]  
  • +/
    Просто вы сказали то же самое, что и я.

    > В динамических языках переменные это именно что ссылки на объекты
    > По вашей логике у всех переменных в динамических языках всегда один тип -- ссылка на объект.

    Это был мой ответ на

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

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

     
     
  • 8.64, nobody (??), 09:51, 10/08/2018 [^] [^^] [^^^] [ответить]  
  • +/
    Я, в свою очередь, отвечал на Вашу реплику По вашей логике у всех переменных в... текст свёрнут, показать
     
  • 8.65, Аноним (38), 09:53, 10/08/2018 [^] [^^] [^^^] [ответить]  
  • +/
    Если переменная имеет тип, конторый не определён в пространстве языка программир... текст свёрнут, показать
     
  • 4.78, forsimen (ok), 10:29, 10/08/2018 [^] [^^] [^^^] [ответить]  
  • +/
    Не знаю, где это взял аноним, но у меня такие сведения отсюда: https://books.google.hu/books?id=4pgQfXQvekcC&pg=PT248&lpg=PT248&dq=python+var
     
     
  • 5.84, Blind Vic (ok), 10:49, 10/08/2018 [^] [^^] [^^^] [ответить]  
  • –1 +/
    Я считаю, что это для более легкого понимания так написали https en wikipedia... текст свёрнут, показать
     
     
  • 6.88, forsimen (ok), 11:01, 10/08/2018 [^] [^^] [^^^] [ответить]  
  • +/
    Ну мы же про динамическую типизацию.
     
  • 6.155, freehck (ok), 13:10, 11/08/2018 [^] [^^] [^^^] [ответить]  
  • +/
    Сильно зависит от того, что понималось под variable в том контексте Да, Вы пр... текст свёрнут, показать
     
     
  • 7.163, Blind Vic (ok), 08:39, 12/08/2018 [^] [^^] [^^^] [ответить]  
  • +/
    > Да, разница между статической и динамической типизациями заключена как раз в том, может ли связывание имени и типа меняться вместе с контекстом выполнения.

    Рад , что в этом мы согласны. И жаль, что столько сообщений ушло в другом направлении.

    Возвращаясь к моему первому комментарию.

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

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

    Но это неправда. Похоже, что автор решил "помочь" своими объяснениями, хотя в оригинале этого нет.

    > Although one sometimes speaks of dynamic languages as being "typeless", they are definitely not: every object, whether primitive or user-defined, has a type. The lack of type declarations in most dynamic languages, however, means that one cannot instruct the compiler about the types of values, and often cannot explicitly talk about types at all. In static languages, on the other hand, while one can – and usually must – annotate types for the compiler, types exist only at compile time and cannot be manipulated or expressed at run time. In Julia, types are themselves run-time objects, and can also be used to convey information to the compiler.

    https://docs.julialang.org/en/stable/

     
     
  • 8.164, freehck (ok), 12:57, 12/08/2018 [^] [^^] [^^^] [ответить]  
  • +/
    Ну там много чего наложилось Опечатки вон те же Но суть-то, конечно, была прав... текст свёрнут, показать
     
     
  • 9.166, Blind Vic (ok), 19:37, 12/08/2018 [^] [^^] [^^^] [ответить]  
  • +/
    Интересно Особенно интересно узнать мотивацию такого, если такое есть ... текст свёрнут, показать
     
  • 3.162, Blind Vic (ok), 08:31, 12/08/2018 [^] [^^] [^^^] [ответить]  
  • +/
    > Although one sometimes speaks of dynamic languages as being "typeless", they are definitely not: every object, whether primitive or user-defined, has a type.

    https://docs.julialang.org/en/stable/

     
  • 2.87, Blind Vic (ok), 10:57, 10/08/2018 [^] [^^] [^^^] [ответить]  
  • +/
    Кажется, я опечатался.

    Надо было

    > смысл статической типизации в том, что переменная имеет всегда один тип.

    Либо

    > смысл динамической типизации в том, что переменная может менять тип.

     
     
  • 3.100, freehck (ok), 13:01, 10/08/2018 [^] [^^] [^^^] [ответить]  
  • +/
    > Кажется, я опечатался.

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

    Мыслите, отталкиваясь от понятия связывания. Это упростит размышления:
    - статически типизированные языки запрещают изменение типа связывания
    - динамически типизированные языки разрешают его смену

     
     
  • 4.102, Blind Vic (ok), 13:04, 10/08/2018 [^] [^^] [^^^] [ответить]  
  • +/
    Что значит тип связывания?
     
     
  • 5.154, freehck (ok), 12:54, 11/08/2018 [^] [^^] [^^^] [ответить]  
  • +1 +/
    > Что значит тип связывания?

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

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

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

    Есть задачи, где гибкость более важна. Например символьные вычисления (Wolfram Mathematica и Maxima). Например, когда скорость разработки важнее гарантированного отсутствия багов, которые могут возникнуть в результате ошибок проектирования -- в этом случае проектировать систему надо очень осторожно, поэтому крупные компании стараются с этим не связываться, но для стартапа, который хочет конкурировать с гигантами, это если не единственно разумный, то как минимум вполне уместный вариант (Viaweb).

     
  • 2.147, Аноним (145), 00:15, 11/08/2018 [^] [^^] [^^^] [ответить]  
  • +/
    Вы путаете динамическую типизацию и вывод типов. Вывод типов = статическая типизация.
     
     
  • 3.165, freehck (ok), 13:11, 12/08/2018 [^] [^^] [^^^] [ответить]  
  • +/
    > Вы путаете динамическую типизацию и вывод типов.

    Я думаю, что и Вы тоже путаете вывод типов и необходимость указывать тип.

    > Вывод типов = статическая типизация.

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

    Тем не менее, ну вот берёте Вы скриптовый язык типа php. И вот допустим Вы пишете 'a=1' или 'a="1"'. Он же определит, что 'a' в первом случае имеет тип int, а во втором -- string. Это тоже ведь в некотором смысле вывод типов, как-никак.

    PS: Вон в Scala, говорят, тоже есть "вывод типов". Почитайте, в каком виде, посмеётесь. Тем не менее это -- вывод типов. ))

     

     ....нить свёрнута, показать (23)

  • 1.63, Аноним (63), 09:50, 10/08/2018 [ответить] [﹢﹢﹢] [ · · · ]  
  • –3 +/
    >Компилятор Julia основан на наработках проекта LLVM

    Лучше бы он не видел свет.

     
  • 1.104, yet another anonymous (?), 13:09, 10/08/2018 [ответить] [﹢﹢﹢] [ · · · ]  
  • +1 +/
    > Кроме стабилизации языка в Julia 1.0 также представлено несколько новшеств, среди которых новый встроенный пакетный менеджер Pkg, позволяющий не только манипулировать репозиториями и устанавливать пакеты и связанные с ними зависимости, но и создавать привязанные к проектам окружения пакетов, записывать и воссоздавать состояние работающего приложения,

    О боги! Зачем это в язык-то?

     
     
  • 2.107, myhand (ok), 13:19, 10/08/2018 [^] [^^] [^^^] [ответить]  
  • +1 +/
    А это "all batteries included", как в питон.  Бег по граблям, надцатая версия.
     
  • 2.112, Аноним (106), 13:58, 10/08/2018 [^] [^^] [^^^] [ответить]  
  • +1 +/
    rubygem или Module Dependency in Java 9 не смущают? Именно здесь пакетный менеджер вызывает вопросы?
     
     
  • 3.168, yet another anonymous (?), 15:45, 13/08/2018 [^] [^^] [^^^] [ответить]  
  • +/
    Не смущают, а вызывают тот же вопрос: к языку это зачем пристёгивать?
     
     
  • 4.170, Аноним (38), 18:49, 13/08/2018 [^] [^^] [^^^] [ответить]  
  • +/
    позволяет избежать анархии в развитии языка
     
     
  • 5.171, anonymous yet another (?), 10:00, 14/08/2018 [^] [^^] [^^^] [ответить]  
  • +/
    Похоже, у Вас незамутнённыое знанием интуитивное понимание "анархии".

    В предлагаемой парадигме "развития языка" это ведёт к неконторолируемому
    автором проекта X внешнему (по отношению к X) воздействию на проект.

     

  • 1.114, Аноним (114), 14:51, 10/08/2018 [ответить] [﹢﹢﹢] [ · · · ]  
  • +/
    Джулия всем была бы хороша, но без отладчика её полезность стремится к бесконечно малой величине.
     
     
  • 2.123, Аноним (38), 16:06, 10/08/2018 [^] [^^] [^^^] [ответить]  
  • +/
    Консольные - есть. Встроены.

    Для отладки автономных скриптов, конечно, полезно иметь интегрированный в редактор отладчик, но не смертельно и без него. А в Юпитере это не столь важно.

     
     
  • 3.124, myhand (ok), 16:42, 10/08/2018 [^] [^^] [^^^] [ответить]  
  • +/
    > Консольные - есть. Встроены.

    Родная документация о них молчит.  Или вы тут подразумевали gdb?

    > Для отладки автономных скриптов, конечно, полезно иметь интегрированный в редактор отладчик,
    > но не смертельно и без него.

    И без теплого клозета в квартире тоже не смертельно.

     
     
  • 4.126, Анон00000 (?), 16:43, 10/08/2018 [^] [^^] [^^^] [ответить]  
  • +/
    >> Консольные - есть. Встроены.
    > Родная документация о них молчит.  Или вы тут подразумевали gdb?

    Наш любимый gdb с Джулией не работает.

     
     
  • 5.131, myhand (ok), 17:07, 10/08/2018 [^] [^^] [^^^] [ответить]  
  • +/
    Почему?  Работает, ежели вы C код собрались отлаживать.

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

     
     
  • 6.134, Анон00000 (?), 17:11, 10/08/2018 [^] [^^] [^^^] [ответить]  
  • +/
    > Почему?  Работает, ежели вы C код собрались отлаживать.

    Уж, С то и Фортран мы отладим, не переживайте. Вот как код Джулии отлаживать? Неужто как один написал на тематическом форуме в уме представлять как работает код и отладчик становится не нужен?


     
     
  • 7.140, myhand (ok), 18:35, 10/08/2018 [^] [^^] [^^^] [ответить]  
  • +/
    Ну да, а в другом уме - изобразить виртуальную машину, на которой ваш код работает.  И компьютер тоже будет не нужен!
     
     
  • 8.141, Анон00000 (?), 20:04, 10/08/2018 [^] [^^] [^^^] [ответить]  
  • +1 +/
    Скорее Джулия будет не нужна По крайней мере без отладчика В общем пока будем ... текст свёрнут, показать
     
  • 5.135, Аноним (106), 17:12, 10/08/2018 [^] [^^] [^^^] [ответить]  
  • +/
    > Наш любимый gdb с Джулией не работает.

    Как раз он и использовался - https://docs.julialang.org/en/release-0.7/devdocs/debuggingtips/#Inserting-bre

     
     
  • 6.136, Анон00000 (?), 17:15, 10/08/2018 [^] [^^] [^^^] [ответить]  
  • +/
    >> Наш любимый gdb с Джулией не работает.
    > Как раз он и использовался - https://docs.julialang.org/en/release-0.7/devdocs/debuggingtips/#Inserting-bre

    Не из той оперы. Это для отладки вызываемого С кода.

    debugging Julia's C code название подраздела об этом говорит.

     
  • 3.125, Анон00000 (?), 16:42, 10/08/2018 [^] [^^] [^^^] [ответить]  
  • +/
    > Консольные - есть. Встроены.

    Ссылку в студию. Галлиум не в счет, ибо давно почил в бозе.


     
     
  • 4.127, Аноним (38), 16:47, 10/08/2018 [^] [^^] [^^^] [ответить]  
  • +/
    https://www.youtube.com/watch?v=UuABHGlDj5o
     
     
  • 5.129, Анон00000 (?), 16:52, 10/08/2018 [^] [^^] [^^^] [ответить]  
  • +/
    > https://www.youtube.com/watch?v=UuABHGlDj5o

    Delete Gallium 9 months ago Это последний коммит в галлиум на гитхабе.
    Отладчик в атоме не поддерживает точек останова. По факту дебаггера для Джулии нет. Так, что используем вечный Фортран с переменным первым индексом массива и отладкой в гдб.

     
  • 4.128, Аноним (38), 16:52, 10/08/2018 [^] [^^] [^^^] [ответить]  
  • +/
    https://www.youtube.com/watch?v=KuM0AGaN09s
     
     
  • 5.130, Анон00000 (?), 16:55, 10/08/2018 [^] [^^] [^^^] [ответить]  
  • +/
    > https://www.youtube.com/watch?v=KuM0AGaN09s

    А это что-то новенькое. Точки останова поддерживает?

     
     
  • 6.132, myhand (ok), 17:09, 10/08/2018 [^] [^^] [^^^] [ответить]  
  • +/
    Да уш.  Модно-молодежно.  Ссылка сразу на кину на ютубчике.
     
  • 2.133, Аноним (106), 17:09, 10/08/2018 [^] [^^] [^^^] [ответить]  
  • +/
    В 1.0 рекомендовано использовать https://github.com/jrevels/Cassette.jl
     
  • 2.137, Аноним (137), 17:30, 10/08/2018 [^] [^^] [^^^] [ответить]  
  • +/
    Я, например, использую простую отладочную печать. Не сказал бы, чтобы приходилось что-то монструозное на Julia отлаживать. Впрочем, подобный метод я использую и для многих других скриптовых языков. Просто привычка.
     
     
  • 3.139, myhand (ok), 18:33, 10/08/2018 [^] [^^] [^^^] [ответить]  
  • +/
    И эти люди говорят, что Julia - наше все, а Питон устарел?!
     
     
  • 4.142, Аноним (38), 20:31, 10/08/2018 [^] [^^] [^^^] [ответить]  
  • +/
    > И эти люди говорят, что Julia - наше все, а Питон устарел?!

    А какая связь между устареванием питона и пошаговым отладчиком в Julia?

     
     
  • 5.143, myhand (ok), 21:52, 10/08/2018 [^] [^^] [^^^] [ответить]  
  • +/
    Питон (и R) - устарели, за Julia - будущее.  Причем тут связь?  Никакой связи нету - настоящим пацанам отладчики не нужны!
     
     
  • 6.144, Аноним (106), 22:12, 10/08/2018 [^] [^^] [^^^] [ответить]  
  • +/
    > Никакой связи нету - настоящим пацанам отладчики не нужны!

    зависит от задач. Во многих случаях, действительно, отладочной печати достаточно.

    > Питон (и R) - устарели, за Julia - будущее

    ок

     

  • 1.117, dq0s4y71 (ok), 15:11, 10/08/2018 [ответить] [﹢﹢﹢] [ · · · ]  
  • +3 +/
    > одной из ключевых целей проекта является достижение производительности близкой к программам на языке Си.

    А чо, джава уже догнала и перегнала ;)

     
     
  • 2.167, КО (?), 09:17, 13/08/2018 [^] [^^] [^^^] [ответить]  
  • +/
    Это да, они в свое время на ассемблер замахивались. :)
     
     
  • 3.169, Аноним (38), 18:45, 13/08/2018 [^] [^^] [^^^] [ответить]  
  • +/
    хороший компилятор уже давно делает код лучше, чем то, что может написать руками средний ассемблист. Слишком много особенностей в современных процессорах.
     

     Добавить комментарий
    Имя:
    E-Mail:
    Текст:



    Спонсоры:
    Слёрм
    Inferno Solutions
    Hosting by Ihor
    Хостинг:

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