[Ответить в тред] Ответить в тред

03/04/16 - Набор в модераторы 03.04 по 8.04
26/03/16 - Конкурс: Помоги гомункулу обрести семью!
15/10/15 - Набор в модераторы 15.10 по 17.10



[Назад][Обновить тред][Вниз][Каталог] [ Автообновление ] 89 | 7 | 31
Назад Вниз Каталог Обновить

Matlab, Octave, Freemat и прочее говно достали. Нужна замена. Аноним 09/02/16 Втр 18:27:36  337086  
14550316570630.png (5Кб, 90x40)
Не понимаю, что все так дрочат на матлаб. ИМХО : полнейший пиздец. Скачал реализацию языка матлаб (почти все, кроме дорогущей математики, косят под матлаб) по имени Octave, поставил, попробовал накодить функцию для импорта данных из текстового файла (ёбанная смесь TSV и ини-файла). Встала проблема сконвертить строку в число. Строку в число конвертирует функция base2dec(ans,10) . Есть ещё str2num, которая ... просто eval, в инструкции предупреждено её не юзать. Пиздец лютый, это даже хуже чем питон. Такое впечатление, что язык не программисты разрабатывали, а гуманитарии-наркоманы (что противоречит данным из википедии). И такой пиздец на каждом шагу здесь.

Нужна бесплатная замена. Питон не предлагать - из-за Гвидо питон - на редкость изувеченный язык. Julia?
Аноним 09/02/16 Втр 18:31:28  337090
Кресты, сука.
Аноним 09/02/16 Втр 18:31:33  337091
julia тоже косит под матлаб. не нужна.
Аноним 09/02/16 Втр 18:32:16  337092
>>337090
>Кресты, сука.
there is no batteries included
Аноним 09/02/16 Втр 19:18:16  337104
14550346962250.png (1292Кб, 2000x1517)
Оп, пикрелейтед же. Как по мне - идеал. Матлаб - сладкий хлебушек, октава и пистон тем более.
Аноним 09/02/16 Втр 20:35:35  337124
> Строку в число конвертирует функция base2dec

а что тебе не нравится?
Аноним 09/02/16 Втр 21:08:32  337134
14550413129220.png (2Кб, 700x116)
>>337086 (OP)
>кроме дорогущей математики, косят под матлаб
>Питон не предлагать - из-за Гвидо питон - на редкость изувеченный язык
Ну тогда переводи строку в число евалами, раз твои предубеждения тебе важнее
Аноним 09/02/16 Втр 21:18:23  337135
Какого профиля задачи ты решаешь? В смысле, какие инструменты тебе нужны из среды? Я думаю, я смогу аргументированно пояснить, что ты хуй, и маешься дурью.
Аноним 09/02/16 Втр 21:19:07  337136
>>337104
Это убогее пистона.

>>337124
То, что число в виде числа считается десятичным. Это не верно, чисто не бывает десятичным или двоичным. Двоичная, десятичная 64я и римская системы счисления - это способ записи.

>>337134
Mathematica платная, стоит дорого, выебут за неё как следует. Как язык не очень хорошая (нет ООП, ассоциативных контейнеров и со спискамы выебон), но сойдёт, так как имеет "батарейки", руководство и символьный движок. Пробовал Mathics как свободую альтернативу - он плохо работает.
Аноним 09/02/16 Втр 21:25:30  337140
>>337136
>Mathematica платная, стоит дорого, выебут за неё как следует.
Кто выебет?
>нет ООП
Это да, но зачем оно тебе? Выгружай результаты в ООПшный язык и возись с ними дальше там.
>ассоциативных контейнеров
Это сойдет http://reference.wolfram.com/language/ref/Dataset.html ?
>и со спискамы выебон
Поподробнее, пожалуйста

И ответь на >>337135
Аноним 09/02/16 Втр 22:02:19  337145
>>337140
мусора и начальство, так как на лицензию денег нет и не будет. Поэтому ничего нелицензионного, только СПО.

>Это да, но зачем оно тебе? Выгружай результаты в ООПшный язык и возись с ними дальше там.

Тогда фичи математики потеряются. Возиться же с подключением математики к реализациям языков а после возиться с подключенным не хочется.

>Поподробнее, пожалуйста
Приходится arr=Append[arr, ] , что плохо сказывается на читаемости и наверное на производительности.

>Это сойдет http://reference.wolfram.com/language/ref/Dataset.html ?
Возможно. Но это наверное на новой версии, которая на хрюше не идёт. Хрюшу на семёрку или линукс менять нельзя по многим причинам, одна из которых - комп поставлялся с дровами и софтом, внутрь вставлена проприетарная PCI карта, которая управляет оборудованием.

>>337135
на данный момент - базовая матобработка вроде fittingа модели к данным, в будущем - метод конечных элементов. Программируемость желательна. Уверен, что в пистоне всё это есть. Но мне тут недавно пришлось немного покодить на пистоне, после чего я его возненавидел за самодурство Гвидо, который недопустил в язык совершенно необходимые в нём элементы и похерил interoperability 2 с 3.
Аноним 09/02/16 Втр 22:07:28  337147
>>337086 (OP)
А с питоном что не так?
Аноним 09/02/16 Втр 22:13:48  337148
>>337086 (OP)
А на сколько серьезные симуляции можно в матлаб делать?
Аноним 09/02/16 Втр 22:29:02  337151
>>337148
Матлаб - основная среда для многих, на ней делают нейронные сети, численное моделирование, компьютерное зрение и т.д. К диссерам нередко идут куски матлаб-кода (код на других языках в диссерах пока не видел). Лично до меня не доходит, как на таком говняном языке с такой говняной стандартной библиотекой можно вообще хоть что-то сделать.
Аноним 09/02/16 Втр 23:02:48  337154
>>337148
Антенные решетки с подавлением помех например.. Делать-то можно много чего.
Но на говне с отсчетом элементов массива от 1 и прочими приколами делать это бывает наприятно
>>337151
> нейронные сети
как что-то сложное в плане математики..

мимокрок
Аноним 09/02/16 Втр 23:17:31  337160
>>337148
А с визуализацией помимо графиков там как?
Аноним 09/02/16 Втр 23:23:05  337165
>>337086 (OP)
Очевидный Maple.
Аноним 09/02/16 Втр 23:48:55  337180
>>337086 (OP)
>Maple 2015 Academic
>$1,560.00

Тыща баксов, Карл!
Аноним 09/02/16 Втр 23:49:32  337181
>>337180 -> >>337165
Аноним 10/02/16 Срд 03:24:41  337233
>>337145
>мусора и начальство, так как на лицензию денег нет и не будет.
Виртуалка от мусоров не поможет? Можно еще в облаке хуячить, наверное, подешевле выйдет. Вообще странное у вас начальство. У нас популярно объяснили, что математика нужна, потому что там все удобно и там все нужное есть, а со своим матлабом и прочей дротой можете ебаться сами. Как-то начальство обычно соображает, что работающий человек полезнее тупящего и переизобретающего велосипеды.
>Тогда фичи математики потеряются.
У меня обычно ООПшная мура нужна для структурирования, а не для вычисления чего-нибудь. Поэтому ООП отделить от алгоритмики обычно несложно. Я потому и спросил, зачем конкретно тебе ООП на одном уровне с математикой.
>Возиться же с подключением математики к реализациям языков а после возиться с подключенным не хочется.
Веб-макаки с десятком технологий управляются, а ты с двумя не осиливаешь? Как минимум, математику удобно подключить к С-шному компилятору, дабы создавать С-скомпилированные функции, которые работают в десятки раз быстрее скомпилированных через саму математику.
>Приходится arr=Append[arr, ] , что плохо сказывается на читаемости и наверное на производительности.
AppendTo[arr, ]
>Возможно. Но это наверное на новой версии, которая на хрюше не идёт. Хрюшу на семёрку или линукс менять нельзя по многим причинам, одна из которых - комп поставлялся с дровами и софтом, внутрь вставлена проприетарная PCI карта, которая управляет оборудованием.
Какой ужас. Нахер вы вообще живете? Виртуалку ваше некрожелезо в состоянии выдержать? Если нет, нахер вы вообще живете (2)
>на данный момент - базовая матобработка вроде fittingа модели к данным, в будущем - метод конечных элементов. Программируемость желательна. Уверен, что в пистоне всё это есть.
И я уверен, что есть.
>Но мне тут недавно пришлось немного покодить на пистоне, после чего я его возненавидел за самодурство Гвидо, который недопустил в язык совершенно необходимые в нём элементы и похерил interoperability 2 с 3.
Какое тебе дело до того, кто там что недопустил или похерил? Есть инструмент, удобный для твоих задач? Бери и пользуй. Твои баттхерты уместны, скажем, для выбора любимого языка для хобби, но никак не для решения рабочих задач. Ты вон вообще на XP сидишь, у тебя стул уже давно сгореть должен был.
Аноним 10/02/16 Срд 03:30:11  337235
>>337233
>Какой ужас.
Это очень частый случай, когда с оборудованием идёт анальный пентиум 2 с виндой в нагрузку. По цене нового компьютера. Для тебя это новость?
Аноним 10/02/16 Срд 03:32:49  337236
>>337154
>Но на говне с отсчетом элементов массива от 1 и прочими приколами делать это бывает наприятно
Это бывает неприятно коннектить к говну с отсчетом элементов массива от 0, а так это здорово. И вообще, если речь про математику, то если ты в ней бегаешь по индексам массива - значит, ты не умеешь ею пользоваться. https://en.wikipedia.org/wiki/Array_programming
Аноним 10/02/16 Срд 03:34:09  337237
>>337235
Для меня это ужас. Какой прок от говна, которое мало-мальски нетривиальную задачу будет пару часов считать?
Аноним 10/02/16 Срд 06:31:10  337242
>>337237
Но себя же ты не выгоняешь из команды.
Аноним 10/02/16 Срд 08:10:19  337246
>>337236
Векторное погромирование - фишка матлаба еще в большей мере чем фишка математики.

>>337237
Фит модели пару часов? Это надо постараться.
Аноним 10/02/16 Срд 08:35:16  337252
>>337236
Да, бегаю, особенно когда нужно один массив свернуть с другим, поменьше или вынуть данные из текстовика (составленного мудаками, но это отдельная история). Или при имитации работы банка памяти (например ПЛИС) с таблицей какой-нибудь внутри..
Ну и вообще я не понимаю зачем было делать с 1, просто повыёбываться?
Аноним 10/02/16 Срд 09:59:16  337257
>>337252
КО: потому что все переменые в матлабе - это вектора, матрицы и тензоры. Отсчет индексов в них идет с 1.
Аноним 10/02/16 Срд 11:37:19  337269
>>337233
>Виртуалка от мусоров не поможет?
Нет, мусора не дураки. Да и комп без аппаратной виртуализации.

>Можно еще в облаке хуячить, наверное, подешевле выйдет.
М.б.

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

Денег у нас нет даже на расходники и оборудование, а ты говоришь о покупке софта.

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

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

>AppendTo[arr, ]
OK, спасибо.

>Виртуалку ваше некрожелезо в состоянии выдержать? Если нет, нахер вы вообще живете.
Celeron 3.06 GHz, 1Gb RAM. VT-x - нет, VT-d и nested paging - подавно. Так что никакой виртуалки, на нём даже firefox лагает.


>Какое тебе дело до того, кто там что недопустил или похерил? Есть инструмент, удобный для твоих задач?
Неудобный: поставил один пробел и всё, интерпретатор ругается, причём ругается не совсем понятно.


>Бери и пользуй.
Приходится.

>Ты вон вообще на XP сидишь, у тебя стул уже давно сгореть должен был.
Ну я его обновил по максимуму, так что многие современные проги работают. Больше всего бесит отсутствие поиска как в семёрке, DocFetcher - замена неполноценная.
Аноним 10/02/16 Срд 11:40:14  337270
>>337086 (OP)
> И такой пиздец на каждом шагу здесь.
Просто ты не можешь понять чужой способ мышления и отвергаешь всё что не соответствует твоему.
Почему бы тебе просто не разобраться в инструменте, понять почему сделали именно так, а не иначе?
Аноним 10/02/16 Срд 11:45:24  337271
>>337269
Посмотри на wolframcloud.com
Я там что-то считал бесплатно и без смс. Но для вычислений, которые долго выполняются, нужно купить подписку, которая не слишком дорогая.
> Неудобный: поставил один пробел и всё, интерпретатор ругается, причём ругается не совсем понятно.
Лол.
Аноним 10/02/16 Срд 11:53:45  337272
>>337271
>> Неудобный: поставил один пробел и всё, интерпретатор ругается, причём ругается не совсем понятно.
Есть ещё один момент: данные утекают в облако.
Аноним 10/02/16 Срд 12:44:35  337286
>>337272
Ты скорее всего не то процитировал.
Но да, в этом минус. И судя по тому какое говённое у тебя оборудование, то велика вероятность что ты работаешь в каком-нибудь НИИ, где без сотни печатей даже туалетную бумагу не выбросишь.
Но если фирма частная, то начальник может понять, что такие Джо как вы нафиг вольфраму не нужны.
Аноним 10/02/16 Срд 13:37:04  337302
>ты работаешь в каком-нибудь НИИ
this
>где без сотни печатей даже туалетную бумагу не выбросишь.
С бумагой проблем нет, но вот закупить относительно дорогое оборудование/реактивы - целая проблема.

Нии не закрытый, и не секретный, но всё-таки не хочется, чтобы магическим образом появилась статья с нашими результатами от имени какого-нибудь джона.
Аноним 10/02/16 Срд 14:12:29  337305
14551027496820.jpg (48Кб, 604x555)
>Встала проблема сконвертить строку в число.
>весь софт плохой, оп-хуй хороший
>ты работаешь в каком-нибудь НИИ
>this
Итого - криворучка-оп, не могущий в то, что первоклассникам на информатике преподают, "с подружками в НИИ проектирует хуи". Вся суть т.н. "российской науки". И вы что-то хотите от таких "ученых"?
Аноним 10/02/16 Срд 14:25:15  337306
Советую maxima - аналитическая система компьютерной алгебры.
Написана на лишпике. Не матлаб - считает аналитически, умеет интегрировать/упрощать - да дохуя чего.

В вузике через нее все лабы и все что можно делал. По сути - язык программирования, синтаксис на пашкалевский похож.
Аноним 10/02/16 Срд 15:56:08  337351
>>337306
> считает аналитически
Так матлаб может это.

> maxima
> For input, Maxima doesn't recognize numbers in bases greater than 10.
> there are the ibase and obase global variables which control the base for input and output, respectively.
ОПу может не понравиться
Аноним 10/02/16 Срд 16:02:08  337360
>>337351
Не знал, что матлаб умеет в символьные вычисления.
Впрочем, сабж, насколько я понял, платный.
А максима - свободная да бесплатная.
Аноним 10/02/16 Срд 16:23:46  337367
>>337360
бесплатный, опирается на sympy
Аноним 10/02/16 Срд 16:25:04  337368
>>337360
Много кто может. Вот только тут важно качество. Я пробовал несколько бесплатных и там они работают, но плохо и не всегда.
Да и опу они нужны:
> Какого профиля задачи ты решаешь?
> базовая матобработка вроде fittingа модели к данным, в будущем - метод конечных элементов
Аноним 10/02/16 Срд 16:28:50  337369
>>337367
> опирается на sympy
Значит не очень.

>>337368
* не нужны
Аноним 10/02/16 Срд 18:15:24  337387
14551173242150.png (51Кб, 736x736)
>>337147
Делаю повторный запрос, что, сука, не так с пайтоном?
Аноним 10/02/16 Срд 20:51:22  337441
>>337246
>Векторное погромирование - фишка матлаба еще в большей мере чем фишка математики.
И снова, какое мне должно быть дело до того, чья это фишка? Выбираешь тот инструмент, который лучше: удобнее / быстрее / больше умеет / дешевле / что-либо еще. Я говорю про то, что индексация массивов с 1 является таким огромным минусом в математике чаще всего для тех, кто работать в ней нормально не научился - например, наворачивает свою си-подобную императивную дрисню вместо простого и красивого кода. Математика вообще такой язык, в котором половину функций можно записать в одну строчку. Кому интересно, простейший тест на си-положительность: дан двумерный числовой массив A произвольного размера, вывести на экран массив из средних арифметических его строк. Вычислять среднее арифметическое втупую, путем деления суммы всех элементов столбца на их количество (т.е. всякие читы типа Mean[] не использовать). Критерии оценивания: программа занимает больше одной строчки - у вас си, объявлена хотя бы одна переменная - у вас си, использовано хотя бы одно присваивание - у вас си, использован хотя бы один цикл - у вас си.
Аноним 10/02/16 Срд 21:11:19  337443
>>337441
У меня пайтон головного мозга:
[sum(a) / len(a) for a in arr]
Аноним 10/02/16 Срд 21:21:16  337446
>>337252
>Ну и вообще я не понимаю зачем было делать с 1, просто повыёбываться?
Например затем, чтобы набор чисел от a до b генерился командой Range[a, b], а не range(a, b+1), как в питоне. Самый мощный аргумент в пользу последнего (где в range включается левая граница и исключается правая) заключается в том, что это удобнее для вещественнозначных интервалов, например, временных интервалов, потому что тогда их можно без всякого пердолинга складывать, просто конкатенируя. Но непонятно, с какого хуя нужно иметь одну функцию для целозначных интервалов и вещественнозначных, если: а) в быту эти вещи используются в сильно разных областях и сильно по-разному, б) любая статически типизированная параша все равно воспринимает эти две функции как разные, ибо разные типы аргументов. Что касается нумерации индексов массива с нуля, то это ни что иное как легаси байтоебских языков, ибо там удобнее работать в битовой записи, т.к. первый по порядку адрес, естественно, 00...00. Зачем это говно нужно в 2016м, в высокоуровневой среде для математических вычислений, когда в математике и матрицы, и последовательности обычно нумеруются с 1? Незачем. Всякие другие аргументы, типа с индексацией с нуля удобнее хранить в массиве дерево, и вовсе смешны, поскольку ни один нормальный человек подобный дженерик не будет переизобретать.
Аноним 10/02/16 Срд 21:23:36  337448
>>337443
Пайтон выправил половину твоего зараженного сями мозга, теперь почитай про функцию Map в доках математики и выправь вторую.
Аноним 10/02/16 Срд 21:32:18  337454
>>337448
Вот правильный ответ:
(Total[#]/Length[#] &) /@ A
/@ - инфиксная форма записи функции Map[f, A], которая применяет функцию f к каждому элементу первого уровня A и выдает массив из всего этого.
(...&) - лямбда-функция, в которой аргумент стандартно обозначается # (если аргументов несколько, то первый - #1, второй - #2, и т.д.).
Функции Total и Length понятно что делают.
Аноним 10/02/16 Срд 21:37:57  337457
>>337448
У меня нет математики. На пайтоне с мапом будет так: map(lambda a: sum(a)/len(a), arr) возможно можно лучше
>>337454
> (Total[#]/Length[#] &) /@ A
Возможно с непривычки, но мне это кажется плохочитабельным пиздецом.
Аноним 10/02/16 Срд 21:59:37  337465
>>337454
С функцией Mean все становится абсурдно просто: Mean /@ A. Если надо применить ко второму уровню (что-то сделать с каждым элементом массива), придется пользоваться полной записью функции Map: Map[f, A, 2]. Никаких циклов, итераторов, и прочей хуиты, ты обрабатываешь массив целиком, ебаша его функцией.
>>337457
Да, с непривычки нечитабельно, зато питон, хоть и читабелен, гораздо более многословен:
1) тебе обязательно нужно писать шесть букв киворда lambda, когда в математике & сразу и является односимвольным кивордом, и ограничивает выражение.
2) тебе обязательно нужно дать имя аргументам лямбда-функции (то есть написать больше буковок), хотя в 99% случаев это нахер не надо
2) ты не можешь записать функцию map инфиксно, а значит то, что я в математике напишу как f10 /@ f9 /@ ... /@ f1 /@ A, в питоне будет выглядеть как map(f10, map(f9, map(..., map(f1, arr))...)) уже пока писал эту херню, я успел немного запутаться, а там еще lambda a: надо повтыкать. То есть питон получается нечитабельнее, и потому в таком стиле (взять массив данных и последовательно обмазывать его функциями до полной готовности) в питоне писать неудобно, хотя этот стиль для многих задач оптимален.
Аноним 10/02/16 Срд 22:41:20  337478
>>337465
> гораздо более многословен
А почему это проблема?
Большую часть времени я либо на бумажке проектирую/рассчитываю, либо доки со статьями читаю. Непосредственно нажимание кнопочек на клавиатуре занимает достаточно мало времени. Поэтому глупо экономить на читабельности. Тем более потом тебе и твоим коллегам этот код ещё читать и поддерживать.
Я не знаю специфику людей использующих mathematica. Возможно там пишут код один раз, запускают и больше к нему не возвращаются. В этом случае на читабельность плевать, да. А возможно привыкают к этим символам и это не влияет на читабельность.
В общем я не вижу проблем в 1) и 2).
> f10 /@ f9 /@ ... /@ f1 /@ A
Даже если бы в пайтоне можно было так делать, то это бы, скорее всего, признали говнокодом. Гораздо лучше записывать промежуточные результаты в осмысленно именованные переменные. Что-то типа этого:
sorted = sort(list)
f_res = map(f, sorted)
res = zip(list, f_res)
Думаю идея понятна, хотя у меня проблемы с неймингом.
Аноним 11/02/16 Чтв 01:24:49  337507
>>337478
>А почему это проблема?
Потому что офигенно читабельный код на 1000 строк все же гораздо сложнее осилить, чем нормально читаемый на 100.
Читабельность у математики, конечно, куда хуже, чем у питона, но ее и прилизывать можно как угодно. В общем, все зависит от рук кодящего.
>Гораздо лучше записывать промежуточные результаты в осмысленно именованные переменные
Не всегда промежуточные результаты имеют какое-то осмысленное название - на то они и промежуточные.
Вот тебе пример (чисто декоративный) кода на математике. Переведи его в питон, оцени, насколько много лишней, очевидной работы ты делаешь в процессе, поскольку и так уже было все понятно при чтении:
ExampleTransform[V_] := V //
RotationTransform[Pi/4] //
TranslationTransform[{-1, 1}] //
RotationTransform[-Pi/4] //
TranslationTransform[{1, -1}]

// - постфикс, т.е. x//f === f[x]
Аноним 11/02/16 Чтв 02:42:22  337519
>>337441
Все может быть гораздо проще. Индексация с 1 может вызывать жопоболь только у тех кто с индексами впервые встретился в погромировании, а не в каком-нибудь матричном или тензорном исчислении и теперь считает что изначально все индексы от 0 считались, а тут вдруг какие-то охуевшие матлабы математики решили нарушить нерушимые каноны!

Про векторность - мне она кажется важней в той среде которая пользуется для численной обработки большого количества данных. От того что я всуну For в свой маленький nb, который делает фит нескольких кривулин и рисует красивые картинки ничего плохого не произойдет. Если же матлаб код, который выплевывает мне эти кривулины после обработки 15 гигов файлов не будет векторизирован - то эт уже пиздец настоящий, я проебу очень много времени.
Аноним 11/02/16 Чтв 09:03:25  337561
>>337507
> офигенно читабельный код на 1000 строк
> нормально читаемый на 100
1000 vs 100? Ну это ГИПЕРБОЛА! Скорее 100 vs 200 или 300.

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

> От того что я всуну For в свой маленький nb, который делает фит нескольких кривулин и рисует красивые картинки ничего плохого не произойдет.
Ты напишешь неидематичный код для mathematica, что пиздец как плохо, если этот код будет читать кто-нибудь кроме тебя.
Аноним 11/02/16 Чтв 09:04:22  337562
>>337561
Последний абзац для >>337519
Аноним 11/02/16 Чтв 10:26:26  337575
>>337443
>всякие читы типа Mean[] не использовать
Аноним 11/02/16 Чтв 11:27:46  337590
>>337562
Математика в 99% - это расчеты (в том числе требующие программный подход). Это в первую очередь CAS -- продвинутый такой удобный калькулятор. Выводить формулки и строить аналитические модели, грубо говоря. Рисовать красивые графики (тут уже нюансы наступают). На ней конечно можно и численный счет делать и 3D мультки рисовать, но это извращения. Удобно векторизировать и приятно глазу - вперед.
Идиоматичность в данном случае, это не пиздец как плохо, а абсолютно похуй. Не разорвется жопа у студента если он увидит for. Читабельность от этого не испортится (50% все равно комментарии не пишет, что гораздо хуже). За исключением крупных аналитических симуляций, написания вычислительных пакетов (и то тут спорно, конечный пользователь-студент за кулисы не заглядывает) или масштабных (не числнных) расчетов где оптимизация имеет смысл, все это дрочево на идиоматичность - не более чем дрочево.

Тем более что брать чужие расчеты = брать соавтора. Практика показывает, что выгоднее его напрячь и сбросить на него релевантную часть задачи полностью, чем ковыряться в чужих выкладках, какие бы красивые они не были.
Аноним 11/02/16 Чтв 12:13:40  337599
>>337590
>Математика в 99% - это расчеты
лел
Аноним 11/02/16 Чтв 13:30:37  337611
>>337599
объясни дураку что не верно?
Аноним 11/02/16 Чтв 13:53:22  337617
>>337590
> Идиоматичность в данном случае, это не пиздец как плохо, а абсолютно похуй
Нет, не похуй. Делать ошибки в рассказах, криво выставлять горизонт в фото и писать неидеоматичный код можно, но только если ты этим не занимаешь профессионально.
Но в нищем нии, наверное, профессионалы не работают => можешь писать как хочешь.
Аноним 11/02/16 Чтв 14:58:32  337637
>>337617
Он - не я.
Аноним 11/02/16 Чтв 21:53:52  337879
>>337507
Ни для кого не секрет, что функциональный подход в питоне сделан через большую задницу и не рекомендован к использованию.

V.translate([1,-1])
.rotate(-pi/4)
.translate([-1,1])
.rotate(pi/4)
Аноним 11/02/16 Чтв 23:16:58  337901
>>337561
>1000 vs 100? Ну это ГИПЕРБОЛА! Скорее 100 vs 200 или 300.
Да нет, я как-то демонстрировал в маттреде вот этот код в 106 строк https://github.com/mkotov/tropical/blob/master/tropical_algebra.g , приведенный авторами в качестве демонстрации вот этой работы http://eprint.iacr.org/2015/852.pdf , и аналогичный код в математике в 14 строк, который, если уж начистоту, может раза в два больше: позволяет складывать и умножать произвольное количество чисел и матриц, а не только две, возводить в степень не только матрицу, но и число, писать операции в инфиксном виде, без лишних скобок и с нужным приоритетом операций, т.е. многократно более удобное для ввода и чтения A + B х C + D^2 , нежели plus(plus(A, times(B, C)), power(D, 2)) - в общем, полноценный фреймворк вместо десятка функций. И да, все это выглядит нечитабельно и неочевидно пока не начнешь читать - например, как возвести элемент в степень n, когда уже умеешь умножать? Взять этот элемент и умножить на себя n-1 раз. А в математике есть функция Nest[f, expr, n], которая применяет f к expr n раз. Очевидно, как ею тут воспользоваться? По-моему, да. Ну и так везде.

>Не зная зачем он нужен трудно подобрать правильные названия.
Так а зачем их вообще подбирать, если они нужны только для читаемости, а читаемость есть и так? Ты ведь в код лезешь для того, чтобы увидеть, что он делает. Ну так ты это и видишь. Если маленькие шаги писать вот так, а большие оборачивать в функции, все будет прекрасно читаемо и без лишних украшательств.
>Но если это просто преобразование координат, которое вызывается из разных мест, то вынести в отдельную функцию с осмысленным названием и в докстринге объяснить зачем оно и откуда взялась эта формула.
Это понятно, я этого не писал, потому что пример чисто декоративный, но вообще у тебя будут проблемы с тем, чтобы пояснять отдельные шаги, ну т.е. их тебе вообще придется пояснять, потому что кусок кода, создающий такое-то действие, будет обернут хуевой горой скобок, записан в префиксном виде, который часто нарушает мысленный порядок действий алгоритма ПотомПрименить[ПотомПрименить[x, y], z] вместо x ПотомПрименить y ПотомПрименить z, и всяким прочим образом засран, а мне - нет, потому что все видно и так, что происходит. Кстати, другой хороший пример подобного стиля возникает при работе с символьными данными: генеришь многочлен от двух переменных, подставляешь вместо одной некоторое выражение, раскрываешь скобки, группируешь слагаемые, берешь коэффициент при такой-то степени, возводишь его в квадрат, ... . В математике я это так и напишу: СгенеритьМногочлен[] // Подставить[#, переменная, выражение]& // РаскрытьСкобки // СгруппироватьСлагаемые // ВзятьКоэффициент[#, степень]& // (#^2 &) // ... . В других языках ты будешь заводить бессмысленные переменные СгенеренноеГовно, ПодставленноеГовно, РаскрытоеГовно, СгруппированноеГовно, тонуть в скобках, укладывать код лесенкой, писать комменты, а если сипидор, то еще и наворачивать циклы, обращаться к элементам массива и творить прочую никому не нужную хуйню. Выбирай.
Аноним 11/02/16 Чтв 23:17:15  337902
14552218356120.png (92Кб, 1065x1099)
>>337901
Пик забыл.
Аноним 11/02/16 Чтв 23:26:07  337905
14552223674900.png (69Кб, 725x775)
>>337879
ООП - это, конечно, хорошо, но не всегда. RotationTransform в том случае - просто функция, а не метод класса, и потому ей в принципе похеру, кто ее будет использовать, лишь бы она могла поданное ей прожевать. Например, этим же кодом я смогу вертеть на хую корову, а тебе либо придется писать тот же код для коровы, либо сделать класс вектор потомком класса корова, чтобы спиздить у нее этот метод, либо что-то еще в том же духе.
Аноним 12/02/16 Птн 05:54:29  337970
>>337617
Мою статью не примут в Мурзилку, если я неидиоматично буду выкладки писать?
А тем кто руками аналитику считает (таких тысячи вокруг) тоже надо переменные идиоматично называть?
Аноним 12/02/16 Птн 17:32:51  338292
>>337905
ващето ооп и нужно для разграничения данных для ф-й/аля методов. Такой способ структурирования программы.
Аноним 12/02/16 Птн 19:41:03  338313
>>338292
Это понятно. Но само структурирование и разграничение данных нужно не всегда. Например, потому, что это усложняет разработку - нельзя просто писать, нужно сначала выстроить иерархию, потом все в нее уложить. Тут надо понимать, что одна из основных ниш математики - это прототипирование (ака "хуяк хуяк и в продакшн готово"). Математика - не быстрый язык в силу своего устройства, у нее далеко не самый читаемый синтаксис, в математике плохо писать большие программы, потому что нет ООП, да и вообще концепция рабочего листа не особо соответствует разработке программ, которые должны будут где-то денно и нощно работать. Зато она достаточно богата возможностями и готовыми инструментами "из коробки", чтобы очень быстро сделать что-то, похожее на желаемое. Для исследователя это чаще всего и надо - некий продвинутый "калькулятор", чтобы что-то быстренько в нем вычислять, чтобы на основании вычисленного сделать какие-то выводы и двинуться дальше. То есть тут в принципе не нужен супер-быстрый код или супер-надежный или супер-структурированный или супер-читаемый - нужен супер-быстро-создаваемый, чтобы то, что тебе нужно, уже было под рукой. Для такого подхода ООП - скорее вред, чем польза. Вот как здесь: я вдруг захотел покрутить корову - я взял ее и покрутил. А с ООП мне придется допиливать мир напильником, чтобы это сделать.
Аноним 12/02/16 Птн 21:14:49  338329
Как вообще можно доверять проприетарному дерьму без открытого кода? Что если завтра Господин решит закрыть лавочку? Все вложенные труды можно умножать на 0. Что если хочется немного доработать воон тот алгоритм? Только если разрешит Господин! Как вообще понять как был получен результат? Почему вообще статьи с выблевами из черных ящиков не посылают к хуям?
Аноним 12/02/16 Птн 22:33:19  338346
Питон + scipy + numpy - все охуенно

Пользую. Данные молотит - только вьет! Плюс куча профильных библиотек на их основе.

Или решается уникальная в мировом масштабе задача? В 99.9% случаев это не так.
Аноним 13/02/16 Суб 00:13:39  338372
>>338329
> Как вообще можно доверять опенсорсному дерьму со свободной лицензией? Что если завтра разработчик решит закрыть лавочку, а все остальные скажут "да ну это на хуй, себе дороже этот говнокод поддерживать"? Все вложенные труды можно умножать на 0. Что если хочется немного доработать воон тот алгоритм, вечно поддерживать форк что ли? Только если Диктатор сольёт в апстрим! Как вообще понять, как был получен результат, ведь исходники никто не читает? Почему вообще статьи с выблевами из былых ящиков, не прошедших аудита и не подкреплённых ответственностью разработчика за баги, не посылают к хуям?
Аноним 13/02/16 Суб 00:15:11  338374
>>338346
>Питон + scipy + numpy - все охуенно

Зачем нампи, если есть сайпи?

>Пользую. Данные молотит - только вьет! Плюс куча профильных библиотек на их основе.
Тормознуто, не?

>Или решается уникальная в мировом масштабе задача? В 99.9% случаев это не так.
Тогда научная новизна и актуальность вашей работы под сомнением.
Аноним 13/02/16 Суб 00:16:59  338375
>>338372
>подкреплённых ответственностью
Самая смешная часть высера.
Аноним 13/02/16 Суб 01:18:21  338377
>>338374
Сайпи не пробовал. Пока нумпи вполне нравится.

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

Что быстрее пашет?

На счет уникальности: нет работ на голом месте. Не то время уже. А значит большая часть инструментов подходит. А новизны в реальности и есть 0.1% как правило. И даже это уже хорошо.
Аноним 13/02/16 Суб 02:21:10  338395
>>338313
Да вы охуели! Что тут происходит? Я ни хуя ни одного поста не понял? Как тралить то вас мрази?
мимо из /b
Аноним 17/02/16 Срд 22:18:33  339781
>>338377
Сайпи это нумпи, симпай, матплотлиб, пандас и ещё куча библиотек.
А насчет быстрее, нумпи, как и большинство числодробительных библиотек, и так написан на С. Поэтому разница в производительности, если и будет то не over9000%.
Аноним 24/02/16 Срд 19:24:15  341396
>>339781
>А насчет быстрее, нумпи, как и большинство числодробительных библиотек, и так написан на С. Поэтому разница в производительности, если и будет то не over9000%.

А доки говорят, что scipy использует реализацию на си, а numpy - на питоне в целях совместимости.
Аноним 24/02/16 Срд 19:57:23  341413
>>337090
>язык не программисты разрабатывали
Дык ясный хуй. Видел когда-нибудь код, писанных математиками/физиками и прочим ученым говном? Не даг бой с этими уебанами в команде работать. Ничего практическиого они сделать не могут, зато блять столько гонора - мы ебта ученые! Они только в наукаче сраться могут на абстрактные темы.
Аноним 24/02/16 Срд 21:46:38  341463
А от чего зависит, приедут ли за мной за купленную на торренте Mathematica или нет?
Аноним 26/02/16 Птн 05:00:12  341859
>>337180
Купи старую версию, делов-то.
Аноним 26/02/16 Птн 12:17:30  341937
Cern'овский Root, например.
Аноним 26/02/16 Птн 19:09:40  342038
>>337086 (OP)
perl?
Аноним 28/02/16 Вск 16:26:23  342565
>>341937
Не то что мне нужно (не на сишке же писать), но явно годнота и когда-нибудь пригодится. Добавил в закладки.
Аноним 01/03/16 Втр 11:39:44  343156
Как в этом сраном питоне графики строить? pyplot - сраное тормознутое дерьмо, vispy нихуя не работает вообще
Аноним 01/03/16 Втр 12:40:32  343175
попробовал visvis - заброшенное говно. не работает.
Аноним 01/03/16 Втр 12:44:16  343178
glumpy - просто библиотека для рендеринга полигональных моделей, не подходит.
Аноним 01/03/16 Втр 12:45:39  343180
PyQtGraph - QT4 - на хуй
Аноним 01/03/16 Втр 12:49:56  343182
galry - заброшена, не работает
Аноним 01/03/16 Втр 12:57:32  343184
>>343180
а вообще в нём реализовали поддержку pyqt5
вроде работает для 2d
Аноним 01/03/16 Втр 13:05:59  343186
>>343184
а для 3d какое-то дерьмо
Аноним 01/03/16 Втр 13:44:56  343192
есть ещё какой-то gr, но ... он требует visual c++ 2010 (нахуя он мне), а колёса есть только для x64 (потому что 32х битное некрожелезо (на котором я сижу) с менее чем 16 гигами оперативы не нужно)
Аноним 02/03/16 Срд 18:25:56  343544
бамп

[Назад][Обновить тред][Вверх][Каталог] [Реквест разбана] [Подписаться на тред] [ ] 89 | 7 | 31
Назад Вверх Каталог Обновить

Топ тредов