|
2.39, Подпынявый Швайнокарась (?), 06:30, 11/10/2024 [^] [^^] [^^^] [ответить]
| +9 +/– |
> Жаль только, что на RISC-V не хотят портировать.
Потому что никто не будет делать научные расчёты на одноплатниках с производительностью четвёртого пня.
| |
|
3.61, corvuscor (ok), 10:35, 11/10/2024 [^] [^^] [^^^] [ответить]
| +/– |
Ох, коллега!
Давайте вы мне не будете рассказывать, чем я буду заниматься, а чем нет.
А то как-то неудобно выходит.
| |
|
2.93, Аноним (93), 22:51, 11/10/2024 [^] [^^] [^^^] [ответить]
| +/– |
Да и на расте переписывать никто не спешит. Сразу видно - очередное нинужно эта ваша Julia.
| |
|
|
2.8, Аноним (-), 22:47, 10/10/2024 [^] [^^] [^^^] [ответить]
| +1 +/– |
Как язык Julia очень проста. Синтаксис за вечер можно освоить. Сложности могут быть с написанием макросов, но они начинающим не нужны. И есть очевидные сложности изучения новых библиотек.
| |
|
3.54, Аноним (54), 10:04, 11/10/2024 [^] [^^] [^^^] [ответить]
| +/– |
Джулию не понимает чатгпт, поэтому сложна. И на курсах от скилбрейнс не преподают. Это чтобы её выучить надо книги читать, а не видео смотреть - вкатун такое не выучит.
| |
|
4.60, Аноним (2), 10:32, 11/10/2024 [^] [^^] [^^^] [ответить]
| +/– |
Чатгпт понимает. Могут быть некоторые проблемы, если задача касается библиотек, где сильно меняли API, но в целом, работает. Причём, были даже наблюдения, что генерируемый на Julia код в целом правильнее, чем на Питоне (сказывается, что на Джулии студенты и школьники свои поделки на гитхаб не выкладывают).
| |
|
5.68, Аноним (68), 11:45, 11/10/2024 [^] [^^] [^^^] [ответить]
| +/– |
Он даже питон не понимает и генерирует совершенно случайный булшит, который каким-то чудом может работать (хоть и не так, как предполагает бот). А вы тут хотите от него эзотерические языки.
| |
|
6.86, decaprox (?), 16:37, 11/10/2024 [^] [^^] [^^^] [ответить]
| +/– |
Ну хз, чувак, я регулярно генерирую вспомогательные скрипты в chatgpt и claude.
Периодически использую claude для генерации простых драйверов. Там это крайне удобно: создаешь проект, заливаешь в knowledge base datasheet и всякую сопутствующую инфу а-ля стиль кодирования и т.д. Даешь задачу оно генерит. Это как иметь виртуального джуна, но как и за реальным за ним надо проверять, что оно сделало. Но в целом каких-то радикальных промахов обычно не бывает.
| |
|
7.88, Аноним (68), 18:38, 11/10/2024 [^] [^^] [^^^] [ответить]
| +1 +/– |
Генеративные сети могут экономить время на тривиальщине, но ровно до тех пор, пока не окажется, что они его не экономят, а цена ошибки ощутимо возрастает (как и их количество). И если чатгпт хотя бы генерирует код, который в теории как-то работает (чего может даже оказаться достаточно, хотя обычно надо несколько раз указать на проблемы), то клауде генерирует какую-то дичь, надёрганную непонятно как и откуда, которая выглядит замечательно (по сравнению с тем же чатгпт), но содержит невообразимое количество ошибок, которые ты ещё долго бкдешь искать. Ой, даже не начинай, чувак.
| |
|
|
|
|
|
2.105, Аноним324 (ok), 21:03, 12/10/2024 [^] [^^] [^^^] [ответить]
| –1 +/– |
Обычный матлабообразный фотраносодержащий язык. Все непонятки возникают если ты начинаешь мыслить как программист, а не как инженер или учёный.
| |
|
1.7, Аноним (7), 22:44, 10/10/2024 [ответить] [﹢﹢﹢] [ · · · ]
| +/– |
В принципе, хороший язык с достойно организованной ориентацией на научные вычисления. Дай Дарвин ему ресурсов для развития. Но сам нашёл лучшую замену. Язык, компилируемый в бинарный код, работающий без всяких прослоек. Рекламировать не буду.
| |
|
2.19, Аноним (19), 01:01, 11/10/2024 [^] [^^] [^^^] [ответить]
| +1 +/– |
Если пригоден для научных вычислений, компилируемый сразу в машинный код... С++ !
| |
2.22, OpenEcho (?), 02:05, 11/10/2024 [^] [^^] [^^^] [ответить]
| +/– |
> Язык, компилируемый в бинарный код, работающий без всяких прослоек. Рекламировать не буду.
И как это вы делаете? (Пусть хоть чуть чуть посложнее чем Хелоу Ворлд)
Ну чтоб вот правда, взяла и готовый выполняемый бинарник чтоб сделала, который можно выполнить на другой машине где нет Юлии Петровны.
| |
|
|
4.98, OpenEcho (?), 10:51, 12/10/2024 [^] [^^] [^^^] [ответить]
| +1 +/– |
> Вот за это мне язык и нравится )
> (Аноним 7)
Я не совсем понял, нравится то, что язык хвалится что комилит нативные бинарники под мульти платформы, но в реальности нет тулчэйна по сборке и это или очень большая головная боль чтоб просто компильнуть (привет StaticCompiler, StaticTool) или чаще - это просто не возможно, и это нравится ?
| |
|
|
2.23, Аноним (23), 02:38, 11/10/2024 [^] [^^] [^^^] [ответить]
| +/– |
Я тоже на естественный отбор надеюсь, но в другом смысле.
Julia создали как язык, который решит "проблему двух языков" (прототип приходится делать на одном удобном языке типа питона, релиз на другом быстром типа C++; неудобно, поэтому делаем язык, удобный как питон и быстрый как C++).
В итоге получилось, что Julia не прыгает выше питоновских JIT'ов и математических либ и назначение языка замяли. Зачем он теперь нужен? Просто так.
В сообществе пользуются уникальным термином "time to first plot" (время до первого графика), потому что запуск тормозит. Статические бинарники занимали сотни мегабайт, память не экономит, часть решений продиктована NIH-синдромом (конкатенация строк через оператор умножения).
| |
|
3.28, Аноним (28), 02:59, 11/10/2024 [^] [^^] [^^^] [ответить]
| +/– |
> конкатенация строк через оператор умножения
Оператор + тоже некорректно использовать несмотря на популярность этого в мейнстримных языках.
| |
|
4.32, Аноним (23), 03:32, 11/10/2024 [^] [^^] [^^^] [ответить]
| +7 +/– |
str1 + str2 - узнаваемость, правило наименьшего удивления.
[str1 str2] - математичность, преемственность с MATLAB/Octave
str1 * str2 - "видали как я могу, а!? да я три бутылки залпом могу"
| |
|
5.108, Прохожий (??), 01:56, 13/10/2024 [^] [^^] [^^^] [ответить]
| +/– |
Как уже заметили выше, забыли str1.str2 (Perl).
Добавлю str1 || str2 (PL/SQL).
| |
|
6.111, Аноним (111), 16:16, 13/10/2024 [^] [^^] [^^^] [ответить]
| +/– |
Добавлю тогда уж до кучи Visual Basic: Str1 & Str2 (кстати тоже логичный как и Str1 + Str2)
| |
|
|
4.42, Аноним (2), 07:35, 11/10/2024 [^] [^^] [^^^] [ответить]
| +1 +/– |
Во-первых, для конкатенации есть метод string("abc", "def"), который ещё и типы умеет преобразовывать. А во-вторых, объяснение почему нельзя использовать * как операцию склейки приводится тут - https://docs.julialang.org/en/v1/manual/strings/#man-concatenation
Причина в том, что с математической точки зрения операция + должна гарантировать коммутативность. То есть 1 + 2 == 2 + 1. Но со строками это не проходит. А вот операция матричного умножения не является коммутативной по определению. Поэтому её и взяли для конкатенации.
| |
|
5.46, Аноним (23), 08:04, 11/10/2024 [^] [^^] [^^^] [ответить]
| +/– |
> с математической точки зрения операция + должна гарантировать коммутативность
> In mathematics, + usually denotes a commutative operation (#man-concatenation)
.
> должна гарантировать
> usually denotes
...
Её взяли из-за NIH-синдрома. Так-то и операция умножения над векторами должна умножать вектора.
'abc' * transpose('def') == 29696 % MATLAB
| |
|
6.47, Аноним (23), 08:20, 11/10/2024 [^] [^^] [^^^] [ответить]
| +1 +/– |
Да и если избегать +, в языках программирования для конкатенации уже использовали 5 других операторов:
~ <> ++ . ..
Julia захотела отличиться от всех этих языков (Wolfram Mathematica, Haskell, D, Lua, Perl...).
| |
|
|
6.87, Аноним (2), 16:40, 11/10/2024 [^] [^^] [^^^] [ответить]
| +1 +/– |
> Хм, а операция умножения разве не должна быть коммутативной?
Матричное умножение? Нет, не должна. Матричное сложение может быть коммутативным.
| |
|
5.109, Прохожий (??), 02:00, 13/10/2024 [^] [^^] [^^^] [ответить]
| +/– |
> А вот операция матричного умножения не является коммутативной по определению. Поэтому её и взяли для конкатенации.
Причём здесь матрицы? Речь же о строках. По аналогии? Ну тогда так и говорить надо.
| |
|
|
3.49, ИмяХ (ok), 09:21, 11/10/2024 [^] [^^] [^^^] [ответить]
| +1 +/– |
>>прототип приходится делать на одном удобном языке типа питона, релиз на другом быстром типа C++; неудобно
Как это? Наоборот же, очень удобно сначала накидал тяп-ляп быстренько, чтоб работало, а потом пишешь нормально. Так всегда делается, даже если всё на одном языке. Тем более при переписывании одновременно производится и аудит и рефакторинг в одном флаконе.
| |
|
4.57, Аноним (-), 10:21, 11/10/2024 [^] [^^] [^^^] [ответить]
| +2 +/– |
Если язык прототипа отличается от целевого и не используется автоматическая трансляция кода, это означает, что оба раза будет тяп-ляп. И после переписывания на другой язык придётся отдельно делать рефакторинг и переписывание уже под прод. Джулийный подход с написанием прототипа на ней же всегда будет дешевле, чем связка питон + что-то ещё. Не говоря уже о том, что квалификация одного универсального джулийного программиста будет выше, чем питониста + чеготоещениста. Он и задачу понимать будет, и оптимизацию решения.
| |
4.99, YetAnotherOnanym (ok), 11:09, 12/10/2024 [^] [^^] [^^^] [ответить]
| +/– |
Если тебе удобно так - ну, ок, не вопрос, пожалуйста. Кому-то (в т.ч. мне) удобнее сразу на целевом языке - не надо тратить время на изучение отдельного языка для этапа тяпляпинга, не надо насиловать мозги переключением с одного языка на другой, не надо переделывать внутреннюю логику работы программы под другой язык.
| |
|
3.102, Илья (??), 11:41, 12/10/2024 [^] [^^] [^^^] [ответить]
| –1 +/– |
> прототип на одном удобном языке типа питона
Часто прототипы не переписывают, а живут с ними в мучениях.
Поэтому и нужны языки, которые и удобные, и быстрые, и гибкие. C#, go, rust.
Питон вообще не поддается рефакторингу. Чуть что, - рантайм исключение.
Не повторяйте ошибки
| |
|
|
5.121, Илья (??), 11:05, 17/10/2024 [^] [^^] [^^^] [ответить]
| +/– |
Из практики. Из отсутствия культуры.
У нас была команда пэйфон девелоперов. Так они просто писали код, затем при первой проблеме выкидывали его и переписывали с нуля.
| |
|
|
|
2.35, Аноним (35), 04:17, 11/10/2024 [^] [^^] [^^^] [ответить]
| +1 +/– |
>Но сам нашёл лучшую замену. Язык, компилируемый в бинарный код, работающий без всяких прослоек. Рекламировать не буду.
Fortran?
| |
|
3.36, Аноним (36), 05:46, 11/10/2024 [^] [^^] [^^^] [ответить]
| +1 +/– |
так Фортран быстрее Си на математических вычислениях и сами математики прекрасно это знают, и задел библиотек у них в нем огромный. Поэтому спроса на новинку не будет в принципе.
| |
|
4.82, Аноним (81), 14:36, 11/10/2024 [^] [^^] [^^^] [ответить]
| +/– |
> задел библиотек
кривых. Не стал бы доверять - пишем только сами.
| |
|
|
2.50, Аноним (51), 09:46, 11/10/2024 [^] [^^] [^^^] [ответить]
| +2 +/– |
Никто пока не назвал :) Уже становится забавным. Zig — тепло, но не он.
Ребята, ещё попытка. Компилируемый в нативный код на большинстве известных платформ и ОС. Строгая типизация. Простой как топор синтаксис. Чрезвычайно легко реализовывать научные вычисления, хотя предназначен скорее для системного программирования. Мощная система макросов. Входит в десятку языков, генерирующих наиболее быстрый код. Как уже освоивший этот язык, добавлю пару недостатков: не самая развёрнутая документация. Сравнительно медленная компиляция.
Подпись: Аноним 7 )
| |
|
3.59, Аноним (68), 10:30, 11/10/2024 [^] [^^] [^^^] [ответить]
| +/– |
Ну, явно не си, у сей со всем перечисленным всё в порядке. Видимо, плюсы.
| |
|
|
5.65, Аноним (68), 11:17, 11/10/2024 [^] [^^] [^^^] [ответить]
| +/– |
Твой бот бракованный. У D рантайм, для системного программирования не очень. Согласно чатгпт, существуют определённые способы исключения GC, но, что-то сомнительно, видимо, это задача уровня написать ОС на GO. Nim сомнительно.
| |
5.67, Аноним (51), 11:30, 11/10/2024 [^] [^^] [^^^] [ответить] | +/– | Што это за Claude Спросил у ChatGPT Что это за язык программирования Компил... большой текст свёрнут, показать | |
|
|
|
|
|
|
3.44, Аноним (-), 07:45, 11/10/2024 [^] [^^] [^^^] [ответить]
| +/– |
Слишком коряво по синтаксису. Даже близко нет лаконичности Джулии. И чрезмерный расход вычислительных ресурсов. Несерьёзно.
| |
|
|
1.14, Bottle (?), 00:36, 11/10/2024 [ответить] [﹢﹢﹢] [ · · · ]
| +1 +/– |
У-у-ух, не нужны нам эти ваши питоны и джулии, нам подавай только ANSI C!
| |
1.17, голос из леса (?), 00:48, 11/10/2024 [ответить] [﹢﹢﹢] [ · · · ]
| +/– |
Julia такое же дурацкое название как и Go. Хуже не придумаешь, гуглить что-то себе дороже. Для go уже давно синонимом стало "golang". А здесь? "Julialala"?
| |
|
2.21, Bottle (?), 01:18, 11/10/2024 [^] [^^] [^^^] [ответить]
| +4 +/– |
Нормальные названия, всяко лучше, чем буквы из алфавита брать.
| |
|
3.71, Аноним (71), 12:53, 11/10/2024 [^] [^^] [^^^] [ответить]
| +/– |
Дедам это было не нужно, т.к. руководство по Си шло вместо мануала к игре под названием UNIX OS.
| |
|
4.84, Аноним (81), 14:40, 11/10/2024 [^] [^^] [^^^] [ответить]
| +1 +/– |
C/C++ есть везде помимо UNIX. В этом достоинство - компилируется (адекватным компилятором) в любой системе. Недавно ради смеха взял и сделал тот же код вообще в экзотике.
| |
4.95, Аноним (36), 07:37, 12/10/2024 [^] [^^] [^^^] [ответить]
| +/– |
Изучая эти руководства максимум можно было достичь уррвня джуна, ибо всё описано было поверхностно. Например арифметика указателей максимум простой пример обмена значениями двух переменных. Чтоб научиться серъезно нужны были совсем другие книжки.
| |
|
|
2.103, Аноним (103), 19:11, 12/10/2024 [^] [^^] [^^^] [ответить]
| +/– |
Трое создателей языка во время очередной попойки пошли к Джулии. на утро, чтобы она не подавала в суд, сказали что назовут язык в честь неё. Ведь ночка была та ещё.
| |
|
|
2.43, Аноним (2), 07:40, 11/10/2024 [^] [^^] [^^^] [ответить]
| +/– |
Для разукрашивания текста, выводимого в консоль. И для формирования отчётов. Идея в том, что к частям строки можно навесить атрибуты отображения, для которых прописать стиль. То есть, формируем строку в вычислительной части программы, навешиваем стили на кусочки, из которых её формируем, а потом кидаем на отображение.
https://julialang.github.io/StyledStrings.jl/dev/examples/
| |
|
|
4.48, Аноним (2), 09:20, 11/10/2024 [^] [^^] [^^^] [ответить]
| +/– |
Поскольку оно только что появилось, очевидно, никто реального опыта использования не имеет. Чисто в теории разница с шаблонами в том, что в одном случае код надо кусочками компоновать по частям шаблона (в зависимости от того чем шаблон делаем), во втором - формируем линейную строку и полностью развязываем отображение от кода. Да ещё и можем легко нанизывать разные схемы отображения на одну и ту же строку без перекомпоновки кода.
| |
|
|
|
1.66, Аноним (66), 11:19, 11/10/2024 [ответить] [﹢﹢﹢] [ · · · ]
| –1 +/– |
>Высокая производительность
julia - это скриптота. Поэтому о высокой производительности можно забыть. Чтобы собрать статический бинарник, придется запихивать целый интерпретатор.
| |
|
2.69, Аноним (69), 12:26, 11/10/2024 [^] [^^] [^^^] [ответить]
| +/– |
Перед тем как писать комментарии, стоит хотя бы поверхностно ознакомиться с предметной областью.... Ну или почитать как работает компилятор Julia. Тесты же производительности присутствуют на главной странице сайта языка.
| |
|
3.72, Аноним (68), 12:55, 11/10/2024 [^] [^^] [^^^] [ответить]
| +/– |
Мало ли, что там написано. Вон даже чатгпт утверждает, что жулия язык с динамической типизацией и рантаймом, сиречь питон, и других вариантов использования не подразумевает (т.е. нельзя как жаву скомпилировать без вм при отказе от части функциональности).
| |
|
4.73, Аноним (-), 13:33, 11/10/2024 [^] [^^] [^^^] [ответить]
| +/– |
> Мало ли, что там написано.
А код посмотреть на гитхабе и проверить слабо?
| |
|
5.74, Аноним (68), 14:07, 11/10/2024 [^] [^^] [^^^] [ответить]
| –1 +/– |
Естественно, синтетика позволяет показывать красивые графики для недалёких. Это конкурент жаваскрипта и никому не нужен ещё один жаваскрипт.
| |
|
|
3.76, Аноним (66), 14:13, 11/10/2024 [^] [^^] [^^^] [ответить]
| +/– |
Я-то знаком с этой скриптотой. Даже простой джулиевский хеллоуворлд выжирает 250 мегабайт, потому что интерпретатор запускается.
| |
|
|
1.75, Аноним (75), 14:08, 11/10/2024 [ответить] [﹢﹢﹢] [ · · · ]
| +/– |
'occursin' — наверное смешно было, когда имя функции придумывали ('случись грех'). А у меня сразу же стойкое мнение - "разрабы - придурки".
| |
|
2.77, Аноним (2), 14:19, 11/10/2024 [^] [^^] [^^^] [ответить]
| +/– |
> А у меня сразу же стойкое мнение - "разрабы - придурки".
Нет, это всего лишь незнание английского языка в части использования глаголов с местоимением (первый аргумент) в треьем лице.
| |
|
1.91, Аноним (91), 19:42, 11/10/2024 [ответить] [﹢﹢﹢] [ · · · ]
| +/– |
>поддержка динамической типизации
Но зачем? Из-за динамической типизации куча проблем вылазит в рантайме.
>Высокая производительность: одной из ключевых целей проекта является достижение производительности близкой к программам на языке Си. Компилятор Julia основан на наработках проекта LLVM и генерирует эффективный нативный машинный код для многих целевых платформ;
Управления памятью в нём нет, из-за динамической типизации данные всегда придётся оборачивать и тратить дополнительное время на проверки во время исполнения.
| |
|
2.92, Аноним (2), 20:47, 11/10/2024 [^] [^^] [^^^] [ответить] | +/– | Динамическая типизация позволяет использовать язык в блокнотике и не думать об и... большой текст свёрнут, показать | |
|
3.94, Аноним (91), 23:29, 11/10/2024 [^] [^^] [^^^] [ответить] | +1 +/– | С учётом Хиндли-Милнера, которые используется во многих функциональных языках, н... большой текст свёрнут, показать | |
|
4.97, Аноним (2), 08:28, 12/10/2024 [^] [^^] [^^^] [ответить] | +/– | У вас всё замешано в кучу В Julia декларируется динамическая типизация, и это м... большой текст свёрнут, показать | |
|
5.104, Аноним (91), 20:24, 12/10/2024 [^] [^^] [^^^] [ответить]
| +/– |
>"Динамическая типизация" - это признак синтаксиса языка, а не этапа выполнения программы.
Наоборот. Динамеческая - во премя выполнения, статическая - во время компиляции. А с точки зрения синтаксиса - явная/неявная.
>JSON - это не тип данных, а формат обмена данными
Да, но формат диктует определённые ограничения на типы. В каких-то языках, например Ocaml, json парсится в определённый тип, и особенности формата, например ключи в виде строк явно отображены в самом типе данных. В других языках, система типов недостаточно выразительна, чтобы описать все ограничения в виде типа, и он будет рабираться в нетипизированный объект.
| |
|
6.107, Аноним (2), 21:12, 12/10/2024 [^] [^^] [^^^] [ответить]
| +/– |
> Наоборот. Динамеческая - во премя выполнения, статическая - во время компиляции.
Если хотите, считайте, что в Джулии динамической типизации нет. Поскольку после компиляции методов с выведенными конкретными типами, никаких накладных расходов на их выполнение нет.
> Да, но формат диктует определённые ограничения на типы.
https://quinnj.github.io/JSON3.jl/stable/#Basic-reading-and-writing
https://quinnj.github.io/JSON3.jl/stable/#Read-JSON-into-a-type
https://quinnj.github.io/JSON3.jl/stable/#Parametric-types
разбор в Dict, разбор в структуру, разбор с возможность валидации данных...
| |
|
7.113, Аноним (91), 17:55, 13/10/2024 [^] [^^] [^^^] [ответить]
| +/– |
>Если хотите, считайте, что в Джулии динамической типизации нет
Факты не зависят от желания
>Поскольку после компиляции методов с выведенными конкретными типами, никаких накладных расходов на их выполнение нет
Расходы есть на компиляцию. И в случае изменения типа данных на перекомпиляцию существующего кода. Например, есть функция, которая иногда по недосмотру возвращает string вместо date.
>разбор в Dict, разбор в структуру, разбор с возможность валидации данных...
Вы меня не поняли. В системе типов можно описать, что в качестве ключа может быть только строка, а в качестве значения не может быть, например даты. И если вы работаете с данными без схемы, например как в утилите jq, то джулия вам ничем не поможет
| |
|
|
|
|
|
|
|