juan_gandhi: (VP)
Juan-Carlos Gandhi ([personal profile] juan_gandhi) wrote2015-05-31 05:33 pm

и еще о компьютерных науках вспомнил

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

Я вот так вот в аспирантуру запилился было. На экзамене спросили про "автоматную и структурную интерпретацию языков программирования". В процессе сдачи я понял, что экзаменаторы не в курсе ни иерархии языков, ни того, как оно работает в конкретном случае. Паника паникой, но это ж советский вуз, и я был как бы блатной или там плановый, хз.

А погорел я так. Приехала с Новосиба какая-то чуча, и стала на "семинаре" рассказывать про какую-то особую логику. А истина, спрашиваю, у вас есть? Есть, и не одна. А их конъюнкция, спрашиваю, чему равна? А зависит, говорит, от того, чего с чем. А я такой "это ж ахинея!" Ну так вот и не вписался в систему, да. Не то чтобы больно хотелось, конечно. Просто раньше не сталкивался, так и удивился, что это у них там такое, собственно?

[identity profile] vit-r.livejournal.com 2015-06-02 06:37 pm (UTC)(link)
Ну вот нафиг не нужно "углубление в железо", если алгоритмы опережают рост производительности процессоров.

[identity profile] snowps.livejournal.com 2015-06-02 07:46 pm (UTC)(link)
Фраза про алгоритмы, опережающие рост производительности процессоров является обычной мантрой и не имеет никакого смысла, - примерно как "распространение Макдональдсов опережает потребности населения в еде", - and so what? Алгоритмы - это не семантика языка, а наоборот - семантика является одним из вспомогательных инструментов описания алгоритма. Когда программист оперирует абстракциями упорядоченого списка, мап-редьюса или иммутабельности, он должен понимать, что это абстракции для его удобства, в реальности всё работает совершенно иначе. Нет необходимости знать все тонкости - это и невозможно - но ни математика, ни конкретная парадигма программирования не является конечным алгоритмом, а только языком его описания. Оценку работы алгоритма можно проводить только на стыке абстракций и real world. Именно поэтому в HPC пока нигде нет функциональных языков в значимых масштабах - они неэффективны для высокопроизводительных систем. Это не означает, что они плохие - ряд задач можно и на скрипте Экселя решить при желании и это решение вполне может оказаться приемлемым, - но упорная фиксация на "разбор моих грехов оставьте до поры - вы оцените красоту игры" уже начинает несколько пугать.

[identity profile] vit-r.livejournal.com 2015-06-02 08:50 pm (UTC)(link)
Фраза про алгоритмы, опережающие рост производительности процессоров является обычной мантрой и не имеет никакого смысла,

Щазз.

Не, это уже ни в какие ворота не лезет. Хотел бы я посмотреть расчёт той же аэродинамики "на скрипте Экселя"

[identity profile] juan-gandhi.livejournal.com 2015-06-02 11:38 pm (UTC)(link)
А правда интересно, когда теоретики прикидываются практиками, а практики теоретиками? Есть в этом какая-то особая прелесть.

[identity profile] snowps.livejournal.com 2015-06-03 05:16 am (UTC)(link)
А это вообще весьма полезно, посмотреть на свою деятельность под непривычным углом, обычно ускользающим за постоянной генерацией софта в стиле, который уже сросся с собственными представлениями о рациональности. :) Это не специфичная для программистов проблема - железячники болеют теми же болезнями, к примеру разработчики встраиваемых контроллеров обычно выбирают себе какую-то любимую линейку архитектур (PIC, STM32, ARM, 8051, MIPS и т.д.) и, как в колее, лупят на ней всё, что приходится разрабатывать. С точки зрения бизнеса это часто вполне оправдано: во-первых под любимую архитектуру пишется быстрее, есть наработанная codebase, на складе "уже лежит несколько рулонов нужной элементной базы по оптовым ценам" и прочие полезные обстоятельства, однако периодически подобный подход рождает совершенно "выдающиеся" решения, где вместо оптимального используется привычное, превращая иженерию в полнейший фарс. Вон ниже [livejournal.com profile] anonim_legion сокрушается относительно Кумаров, а ведь такая публика ломанула в индустрию именно потому, что глубина колейности там очень высока. [livejournal.com profile] sassa_nf мне выше заявил, что вопрос выбора алгоритмической базы под задачу с точки зрения производительности вообще не имеет смысла - фантастика, а мужики-то и не знают! :)

[identity profile] vit-r.livejournal.com 2015-06-04 06:58 am (UTC)(link)
Теоретиков в математике видел только в страховках. Но это были практически юристы с математическим образованием.

Все виденные математики и физики, занимавшиеся расчётами, писали программы лучше всяких программистов. Когда на R, а когда и на голом C

[identity profile] snowps.livejournal.com 2015-06-04 09:07 am (UTC)(link)
Без критериев оценки "лучше" или "хуже" это сложно считать подтверждением чего-либо. :) Все известные мне нормальные учёные-теоретики вообще считают своё участие в программировании или работе с хардвером не барским делом и, несмотря на наличие отличного понимания задачи, практические реализации у них часто бываю феерически кривыми, поэтому в нормальных научных группах программированием занимаются отдельные люди, которые это умеют делать лучше, чем теоретики (которые, в свою очередь, ставят им задачи).

[identity profile] snowps.livejournal.com 2015-06-03 05:01 am (UTC)(link)
Вы опять читаете какой-то совсем иной текст, а не то, что я пишу - "ряд задач можно и на скрипте Экселя решить при желании и это решение вполне может оказаться приемлемым" - Вым понятен смысл словосочетаний "ряд задач" и "вполне может оказаться приемлемым"? :) Как Вы думаете - почему MS Office так популярен в малом бизнесе?

[identity profile] vit-r.livejournal.com 2015-06-03 05:56 am (UTC)(link)
Ну при чём тут MS Office, если оспаривается приоритет прикладной математики?

[identity profile] snowps.livejournal.com 2015-06-03 06:57 am (UTC)(link)
Приоритет в чём? Это обычный инструмент, не хуже и не лучше прочих. Да - её аппаратом можно многое описать, при добавлении теории вероятности - даже с достаточной точностью можно предсказывать развитие физических процессов, но практические задачи среднестатистического обывателя не уходят дальше арифметики. Вот есть квантовая хромодинамика, она присутствует везде вокруг нас и все физические макропроцессы являются её частными случаями, - может и о её приоритете поговорим? :) Вы упорно пытаетесь мне объяснить, что спектроскоп - это круто; да, соглашаюсь я, и что с ним делать человеку, который пробует, посолен ли суп? На что Вы мне - ну как же, нужно же точно знать, правильно ли соблюдены пропорции до микрограмм! Тут я показываю сотни миллионов домохозяек и поваров, которые вообще ничего не знают про спектральный анализ и готовят дивный борщ, после чего Вы, видимо, с возмущением хотите причислить меня к хунвейбинам. :) Сойдите уже на причал, почувствуйте нормальную, твёрдую землю - ей-богу.
Edited 2015-06-03 07:19 (UTC)

[identity profile] vit-r.livejournal.com 2015-06-03 07:27 am (UTC)(link)
Домохозяйки тут вообще ни при чём. Это не "доказываю", а "описываю дядьку в Киеве"

[identity profile] snowps.livejournal.com 2015-06-03 07:34 am (UTC)(link)
Про бузину и дядек - это как раз сравнение скорости алгоритмов и производительности железа. Объясните мне, неразумному, - почему ФЯ не используются в серьёзном HPC (приводить мне в качестве примера эрзац HPC в энтерпрайзе на какой-нить джаве и ряд софта к нему для бэкофиса на ФЯ не надо)? (Хинт: как были Фортран и Си основными языками в вычислительном софте академических кластеров - так до сих пор и остались.)
Edited 2015-06-03 07:41 (UTC)

[identity profile] vit-r.livejournal.com 2015-06-03 07:48 am (UTC)(link)
Параллельный Фортран

[identity profile] snowps.livejournal.com 2015-06-03 08:01 am (UTC)(link)
О, уже прогресс, - хотя бы по упомянутому мной в предыдущем посте фортраном у нас согласие. Однако вернёмся к вопросу - с pure функциональными языками у нас в HPC как, а?

[identity profile] vit-r.livejournal.com 2015-06-03 08:06 am (UTC)(link)
Любое "pure" это извращение для "профессоров компьютерных наук.

[identity profile] snowps.livejournal.com 2015-06-03 08:26 am (UTC)(link)
Ой, как замечательно, - а что же, pure математика имеет на этом фоне индульгенцию? :) Но ладно - давайте про impure. Вот есть прекрасный пример панегирика про джаву в HPC, написанный видимо авторами Ateji PX. Основные две мысли: 1) "на джаве можно быстро налабать и мэйнтэбилити такой, что можно нанять кого угодно и все они умеют писать на джаве!" и 2) "не верьте ортодоксам, джава не тормоз!.. ну почти..." А вот существенно более разумная статья, где вообще не про языки говориться, а про сам процесс. Почитайте на досуге. :)

[identity profile] vit-r.livejournal.com 2015-06-03 08:30 am (UTC)(link)
а что же, pure математика имеет

Кто-то меня не читал. Примат - это "прикладная".

А это уже не дядя из Киева. Это внучатая тётя из Одессы.

[identity profile] snowps.livejournal.com 2015-06-03 08:44 am (UTC)(link)
То есть прикладная математика не может быть pure? You made my day! :) Со статьями-то ознакомились?