juan_gandhi: (Default)
[personal profile] juan_gandhi
"В своё время Питер Нортон сказал, что в СССР была очень сильная математика, поэтому нас ждут очень хорошие успехи в области программирования.

Но если оглядеться, то российских программных продуктов на мировом рынке очень немного. А те, которые вынужденно становятся массовыми (как 1с), восторга не вызывают.

Так в чем здесь проблема? Уровень математики всё же оказался недостаточно высоким?"
 

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

Date: 2018-08-04 09:49 pm (UTC)
From: [personal profile] sassa_nf
Start giving relevant answers. Then the repeating questions will stop.

Date: 2018-08-05 01:08 am (UTC)
snowps: (Default)
From: [personal profile] snowps
Вы понимаете под релевантностью соответствие Вашему дискурсу, это тупиковое требование. Пока мы не выясним, чем в Вашем представлении отличается инструмент математики от прочих вспомогательных инструментов программирования и почему он якобы важнее, мы никуда дальше не двинемся.

Date: 2018-08-05 08:12 am (UTC)
From: [personal profile] sassa_nf
The difference is what type of improvement you can make.

Intuitionistic logic enabled me invent three queues: one scales concurrency with the size of the queue; one unbounded blocking queue with mostly constant memory footprint; one priority queue that stops having logarithmic complexity under contention. I can guarantee you no amount of assembly language experience can help make such a qualitative improvement.

HPC expert will know some cool tricks. But then the cache layout changes, and you've got to learn new tricks. That's exciting and all. But to invent Barrett reduction you need something else.

You can bang on about the equality of cool tricks and the stuff like Barrett reduction. But they are not; they are qualitatively different.


Knowing how caches work guided me with assigning NUMA affinity. Knowing assembly enabled me implement the said Barrett reduction. But to devise such an application of Barrett reduction I had to know something else.

Date: 2018-08-05 10:14 am (UTC)
snowps: (Default)
From: [personal profile] snowps
That difference can be evaluated only with respect to the task type you try to solve. Sometimes intuitionistic logic can help, but in most usecases - cannot. That's why IP is far more popular than FP and this trend is no way related to the lazy coders stupidity or smth similar.

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

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

Если б функциональщики каждый день изобретали Barrett reduction в различных областях программирования, то тут хотя бы было бы о чём говорить, но увы - Барретт это как раз под TMS писал, с еретическим императивным подходом, а то, что Вы громко называете "invent" в приложении к своему творчеству, в итоге приводит к коду, который в среднем во много раз медленнее обычного. От того, что Вы будете по сто раз повторять мантру "на ассемблере серьёзно быстрее не получится", статистика никак не изменится - можно, конечно, найти задачи и их реализации, в которых разница с Си будет невелика, но они единичны по сравеннию с подавляющим большинством традиционных юзкейзов, где ФП проигрывает в производительности и ресурсоёмкости везде. Этой статистикой доверху полон инет, зачем в сорок пятый раз спорить, - надеетесь количеством тезисов скомпенсировать их низкое качество?

Date: 2018-08-05 11:15 am (UTC)
From: [personal profile] sassa_nf
"в приложении к своему творчеству"

Are you judging something you know nothing about again?


"функциональщики каждый день изобретали"

Why this requirement? Do you invent something every day? Congratulations!



"Вы громко называете"

You just don't like that I found a hole in your reasoning by demonstrating a tangible achievement. Now no amount of boasting on your part can help you recover, and you know that. Hence all the spiteful talk.

Date: 2018-08-05 11:27 am (UTC)
snowps: (Default)
From: [personal profile] snowps
Не я назвал банальный ремесленный процесс производства кода термином "invent", так что вопрос не ко мне.

За тем же, зачем теория категорий среднестатистическому программисту, - т.е. незачем. Если не согласны - не приводите впредь столь неудачные примеры.

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

Date: 2018-08-05 11:34 am (UTC)
From: [personal profile] sassa_nf
"банальный ремесленный процесс производства кода"

"где их развенчание"

Here. "Banal" question: what outcomes (r1, r2, r3, r4) are not possible:

volatile int x = 0;
volatile int y = 0;

Thread 1: x = 1;
Thread 2: y = 1;
Thread 3: r1 = x; r2 = y;
Thread 4: r3 = y; r4 = x;

"Banal" answer for the queue I am talking about requires trillions of years of computer time to give an answer about just 4 threads, not any number of threads.

Or intuitionistic logic.

Other than that - yes, my inventions are banal.
Edited Date: 2018-08-05 11:44 am (UTC)

Date: 2018-08-05 12:15 pm (UTC)
snowps: (Default)
From: [personal profile] snowps
Нет, это не развенчание, а пример того, как не надо писать многопоточные приложения. Всё ещё жду конкретную статистику, опровергающую хотя бы те четыре тезиса, которые я озвучил выше.

Date: 2018-08-05 05:30 pm (UTC)
From: [personal profile] sassa_nf
Your response is inability to answer even "banal" questions. What is the importance of anything else you say about software engineering?


"четыре тезиса"

We could get to them once we dealt with this one thesis of yours that the invention which you did not see is banal.
Edited Date: 2018-08-05 05:34 pm (UTC)

Date: 2018-08-05 07:08 pm (UTC)
snowps: (Default)
From: [personal profile] snowps
Ещё раз повторяю: либо Вы предъявляете данные, доказывающие несостоятельность моих тезисов, либо наш разговор завершится. Мне не интересны Ваши субъективные оценки моих комментариев - мне интересно предъявление конкретной информации, которая в реальности, а не декларативно показывает неверность моих выкладок.

Date: 2018-08-06 07:33 am (UTC)
From: [personal profile] sassa_nf
So, here in reality you are unable to cope with a simple memory model test with two writes and four reads. In reality you called everything banal without looking at it - just because it came from the mouth of a person you identified as an "FP adept".

In reality I told you numerous times no one is saying anything about two or three of your theses. In reality you shrugged off those statements, and demand something else again.

In reality you are unable to see the woods for the trees. In reality you are a proselyte.

Date: 2018-08-06 08:56 am (UTC)
snowps: (Default)
From: [personal profile] snowps
- Раз ты хороший слесарь, ты должен уметь открутить гайку кусачками!
- Именно потому, что я хороший слесарь, я таким идиотизмом заниматься не буду.

(эпиграф к нашему диалогу)

Сначала напишите пример, который не похож на первое многопоточное приложение "как не надо" студента-первокурсника, и тогда можно будет что-то обсуждать. Для Вас серверное оборудование - абстракция, а для меня абстракцией является попытка представить серверное оборудование абстракцией. Если Вам без надобности материальный аспект, то зачем Вы вообще занимаетесь программированием? Занимайтесь математикой, доказывайте абстрактные теоремы с неработающим double negation elimination (при том, что всё железо базируется на классической логике) и не плюйте в колодец, откуда неизбежно приходится черпать воду практических реализаций.

Где доказательство неверности моих тезисов? Я жду.

Date: 2018-08-06 04:13 pm (UTC)
snowps: (Default)
From: [personal profile] snowps
Можно по пунктам, что из сказанного выше не соответствует специфике интуиционистской логики? Ответы вроде "всё" или "прочитаете библию - поймёте суть веры", понятное дело, давать незачем, поскольку ответами они являтся не будут. :)

Date: 2018-08-06 05:21 pm (UTC)
snowps: (Default)
From: [personal profile] snowps
Что и требовалось доказать. :) Больше вопросов к верующему не имею.

(no subject)

From: [personal profile] snowps - Date: 2018-08-06 06:52 pm (UTC) - Expand

(no subject)

From: [personal profile] snowps - Date: 2018-08-06 07:03 pm (UTC) - Expand

Date: 2018-08-06 03:11 pm (UTC)
From: [personal profile] sassa_nf
"студента-первокурсника"

Tell Hans Boehm that, maybe? Or maybe you need to google first who that is? Maybe you shouldn't be spitting into the well that you drink from?


"Где доказательство неверности моих тезисов?"

Right there, in the attempt to talk grandly about stuff you have absolutely no clue about.
Edited Date: 2018-08-06 03:15 pm (UTC)

Date: 2018-08-06 04:28 pm (UTC)
snowps: (Default)
From: [personal profile] snowps
Если Ханс Боэм где-то пишет подобный бред, то он либо таки пишет его для первокурсников, в качестве примера "как не надо", либо таков печальный уровень разработчиков в Гугле, что они concurrent multithreaded programming мешают в одну кучу с методами однопоточных вычислений.

Ну да, ну да... я 20 лет назад в аспирантуре анализом производительности разных систем DSM занимался (IVY, Munin, Mirage etc), - куда уж мне про мультипоточные/мультинодовые вычисления знать, недоумку.

Date: 2018-08-06 05:12 pm (UTC)
From: [personal profile] sassa_nf
"как не надо"

So you aren't even critically analysing what's being said to you. That's a symptom - a symptom that you aren't being rational; just spiteful.

Because I've mentioned what that example is about. The example is interesting not because of what it is, but how one arrives at the answer for the question posed.


"знать"

You still have three options: wait for trillions of years, apply intuitionistic logic, or who-yuck into production. I don't know which one of these you do, but the only banal ones are the first and the last option. Or you have the fourth option that nobody else knows about, although it should be banal. It's really unobvious what is hidden behind your "знать".

But you prefer to be non-constructive.
Edited Date: 2018-08-06 05:12 pm (UTC)

Date: 2018-08-06 05:19 pm (UTC)
snowps: (Default)
From: [personal profile] snowps
Я не поленился найти восхитительный документ, откуда, вероятно, Вы черпаете свои примеры. Кратко сформулировать общий его смысл можно цитатой из него же:

"Moving forward, we believe a critical research agenda to enable “parallelism for the masses” is to develop and promote disciplined shared-memory models that:
- are simple enough to be easily teachable to undergraduates; i.e., minimally provide sequential consistency to programs that obey the required discipline;"


Там есть и иные пункты (более здравые), но первый в списке именно этот, что более чем показательно. :)

(no subject)

From: [personal profile] sassa_nf - Date: 2018-08-07 06:24 am (UTC) - Expand

(no subject)

From: [personal profile] sassa_nf - Date: 2018-08-07 03:46 pm (UTC) - Expand

(no subject)

From: [personal profile] yussouf - Date: 2018-08-06 09:08 pm (UTC) - Expand

(no subject)

From: [personal profile] bamalip - Date: 2018-08-07 12:42 pm (UTC) - Expand

Date: 2018-08-05 04:06 pm (UTC)
snowps: (Default)
From: [personal profile] snowps
Предлагаю задать этот вопрос sassa_nf, ибо это он там "банальности" любит "изобретать". :)

Date: 2018-08-05 05:36 pm (UTC)
From: [personal profile] sassa_nf
What did you use it for?

Date: 2018-08-05 06:43 pm (UTC)
From: [personal profile] sassa_nf
Right. Now, applying to GF(256) allows certain things to be done in parallel.

Profile

juan_gandhi: (Default)
Juan-Carlos Gandhi

June 2025

S M T W T F S
1 234567
891011121314
15161718192021
22232425262728
2930     

Most Popular Tags

Page Summary

Style Credit

Expand Cut Tags

No cut tags
Page generated Jun. 5th, 2025 08:11 am
Powered by Dreamwidth Studios