>> Существует ли у человечества программа (проект) выстраивания системы безопасности в целом и информационной безопасности в частности?
Человечества нет, есть куча групп и группочек. Какая у них может быть программа? Вот разве что — поубивать всех не своих.
>> Что следует делать конкретно уже сегодня?
Начинать надо с понимания мира и своего места в мире.
>> Кто эту конкретику должен и будет делать?
Понимать за вас никто не будет, поэтому делать должны вы.
>> Спросите себя, хочу ли я принимать в этом участие?
Я участвую в улучшении, (скромно) надеюсь — мира. Остальные не хотят об это мараться.
>> Для себя разработал программу создания новой теории, включающую
По систематизации предметной области — это пожалуйста, здесь много чего можно добавить. А вот дальше — уже сложнее. Нужно понимать, какие закономерности и как могут помочь. А для такого понимания нужна та самая классификация, которая сводит разрозненные знания в стройную систему. Вы предложили классификацию? Нет. Но поспешили дальше. И что получилось? Набор непонятно для чего полезных слов и немного формул. В них нет системы. Той самой классификации.
>> Закон распределения делителей нечетного составного натурального числа
Если бы вы выделили именно эту часть во всей длинной статье, то на подобную закономерность наверняка обратили бы внимание. Но вы ведь не выделили. Вы спрятали закономерность в череде примитивов вроде «контур длиннее другого на 8». И кто будет фильтровать примитивы от важного? Вы это всё перекладываете на читателей?
Попробуйте так — вот есть закономерность, которую я (то есть вы) считаю самой важной (ведь вы выделили её в плане будущих побед), она важна тем-то и тем-то. Далее можно сделать заголовок — доказательство. По завершению доказательства должен быть новый заголовок (что бы те, кому доказательство не интересно, могли его пропустить). И этот новый заголовок не должен уводить в сторону ещё каких-то мелочей, но либо вводить новое и важное, либо быть заголовком эпилога. Просто подать материал чуть более выпукло, подчёркивая важное — разве это сложно? Хотя есть одна сложность — что считать важным. На мой взгляд, пока не достигнут какой-то результат, который многие согласятся считать важным — писать о своих изобретениях вообще не стоит. А уж если написали — будьте готовы доказывать важность выделенного вами. Например — как конкретно закономерность помогает в разложении числа на множители? Как до вас решались подобные задачи? В чём новизна вашего подхода? Какие плюсы и какие минусы имеет ваш подход по сравнению с ранее предложенными? И естественно, плюсы (и минусы) нельзя прятать в размазанном по всему тексту материале, их, так же как и главное, нужно выделять. Например — после доказательства можно добавить заголовок «Почему это важно», после которого перечислить плюсы, не забыв и о минусах (это критерий честности автора, без которого автору доверия нет). А далее было бы чудесно предложить какое-нибудь практическое применение закономерности.
Можно попробовать переписать ваши статьи с использованием такого подхода. Для этого не нужно что-то выдумывать, но нужно заняться именно задачей классификации, которая (в том числе) подскажет вам, как выделить главное. Но задачу классификации вы не решили, а сразу бросились изливать формулы. Это неправильно. И хотя так строятся учебники математики, но они-то описывают уже классифицированные области, то есть предполагают, что классификацию «знают, кому надо». И действительно, ряд математиков этой классификацией владеет. Но вы-то не для математиков статью пишете. И даже если ожидаете, что её прочтут математики, то почему вы думаете, что они отнесутся к статье как к ценному ресурсу, который нужно читать вдумчиво и долго? Ну а если вы здесь просто что бы застолбить некие свои небольшие находки, то тогда да — можете продолжать в том же духе, только было бы честно по отношению к читателям всё же уведомить их — это не для вас, это для других целей.
Как раз алгоритм здесь не должен участвовать. Как минимум так я понимаю работу аналогичного инструмента Alloy, который автор показывал ранее в других своих статьях, а так же добавил в виде ссылки и в этой статье. Скорее всего показанный здесь инструмент делает то же самое, но я с ним не разбирался (ибо этих инструментов очень много, все не разберёшь).
И если я прав (а само это сомнение уже явный признак недостаточности информации в статье), то и вы неправильно поняли посыл автора. Точнее, если автор вообще хотел пояснять суть, то это у него не получилось, ну а если не хотел, то ваш результат полностью соответствует отсутствию желания автора.
В других инструментах используются так называемые SAT-solver-ы, которые находят подстановку для логической формулы, при которой формула становится истинной. При этом саму формулу генерируют на основе описания, аналогичного примеру из статьи. То есть все отличия подобных инструментов лишь в обвязке вокруг сольвера, некоторые рисуют диаграммы, другие представляют всё в виде текста. Но ни один из них, естественно, никакие алгоритмы не проверяет. Все они проверяют (при помощи сольвера) можно ли подобрать состояние (а не алгоритм или его ветвь), при котором вылезут противоречия. Поэтому предполагать, что там как-то участвует алгоритм — неправильно, потому что это усложняет (до бесконечности, то есть делает недостижимым) моделирование. Без понимания сути придётся осваивать инструмент методом тыка, примерно как осваивают магию — вот такое заклинание действует вот так, а если изменить в заклинании одно слово — оно перестанет действовать. Почему перестанет? Потому что магия!
Статья написана качественно, но оставляет читателя в некотором недоумении.
Сначала подробно описывается проблема, алгоритм её решения (с картинками), а потом факир объявляет — теперь нажимаете вот эту красную кнопку, и вуаля — чудо само нашло все ваши ошибки! Вам нужно лишь умело нарисовать некий текст, а далее — просто магия, и вы в шоколаде!
То есть по другому — имея качественное описание проблемы, было бы совсем неплохо дать близкое по качеству описание способа решения. Но вот как раз в этой части автор отсылает читателей в интернет-магазины, где они когда-нибудь смогут купить, дождаться доставки, прочитать, и возможно, что-то понять из того, что автор скрыл за нажатием большой красной кнопки «Сделайте мне красиво!».
На самом деле предложенный подход к решению проблемы вполне известный, базовые принципы довольно простые, поэтому и непонятно — почему эти принципы не озвучены?
Выше уже обозначены основные проблемы, поэтому пока их игнорирую и добавлю по теме.
Представление в виде спирали нечитаемое. Да, там видны диагонали, но найти какое-либо другое число — очень сложно. Измените представление. Например — вертикальная последовательность «контуров» (в вашей терминологии), то есть треугольник, каждая строка в котором — контур. Тогда наглядность не потеряется, но и оперировать содержимым будет много проще.
Выделяйте главное. В бесконечной череде описаний случайных свойств нет ничего интересного. А вот в выводах, следующих из того, что вам кажется важным в этой бесконечной череде случайных свойств, может присутствовать что-то интересное. Вы же выводы прячете, размываете их бесконечной чередой случайных свойств. Зачем? Совершенно незачем. И вы сами это понимаете. Но просто повторяете стиль учебника по математике, что в данном случае совершенно неуместно. Даже в научных статьях используется подход на основе введения, где кратко освещаются полученные результаты, а уж в популярных блогах прятать суть где-то в середине сухого текста — это совершенно неприемлемо.
Как выше указано — выделите основные формулы. Формулы для длины строки треугольника, для номера строки треугольника, для числа по индексу в строке треугольника. И забейте на остальные формулы. То есть не пускайтесь в их вывод и прочее использование, не имея главного — структуры закономерностей системы, которую вы пытаетесь изобразить. Основной вопрос (и, видимо, не только у меня) — где структура? Покажите её. Проанализируйте формулы, описывающие структуру системы (строки, длины, числа по индексу). Что дал анализ? Всё то же утверждение, что если разложить число на множители при помощи формулы для разности квадратов, то из этого «что-то может вырасти»? Так об этом вы писали ещё в 14-м году (судя по ссылкам в статье). Зачем повторять одно и то же? Или есть желание показать, что вы нашли ряд дополнительных несущественных формул? Но они же несущественные, ведь так? Или существенные? А в чём тогда их существенность? Вы этого не показали.
По ходу чтения вспомнилось — есть такая последовательность Люка, вот она (похоже) хорошо ляжет на выбранное треугольное представление. Погуглите про неё, может её смысл станет яснее, если вы её серьёзно поизучаете. Но только именно в таком виде — вот главное, вот выводы, вот суть, а всё промежуточное — ну не место этому в блоге. Учебник по вашим математическим мыслям изучать никто не будет. Ведь есть более общепризнанные теории, трата времени на которые вполне окупается получением общепризнанных знаний, а вот трата времени на изучение тонкостей вашего подхода — ну вы сами понимаете, будет интересна лишь тогда, когда будет интересная суть.
По решениям на вашем языке — нужна систематизация. Просто убогий интерфейс гитхаба — это ужас. Как там понять, о чём вообще речь? Это же надо лазить в адские дебри и выковыривать непонятно что непонятно где. То есть ваша ссылка на гитхаб в данном случае — отписка. Хотя я понимаю, что возиться неохота и всё такое, но как бы суть рекламы — доступность. И не просто доступность, а лезущая в каждый дом. А вы предлагаете энтузиастам залазить непонятно куда и искать непонятно что (типа там «есть ряд вещей»). Посмотрите гугловые аналогичные проекты. Из них всякие пикассы выросли и много чего ещё. И вы думаете, они вот так без описания кидали всё в общую помойку и предлагали — ну вы там сами разбирайтесь?
По названию. Это опять маркетинг, который вы опять мимо ушей и мозга пропускаете. Заменить все ссылки не так сложно, повесить ссылки на новый ресурс на странице старого — тоже элементарно. Всё легко и ненапряжно исправимо, но для этого нужно желание.
В целом у вас подход программиста, что понятно, но слона программисты продавать не умеют, а потому — либо отдайте маркетинг грамотным людям, либо забейте на программирование и начинайте изучать маркетинг сами. Второй вариант обычно заканчивается просто — не хочу. Поэтому нужен маркетолог. Ну а я здесь на паре примеров вам (надеюсь) показал, что без него у вас получается уг вместо конфетки.
В принципе, уг тоже можно впарить, оплачивая его использование и тому подобными методами, но как бы снова повторю — слона вы так не продадите.
А вы давали своим программистам возможность за деньги наполнять github разного рода полезным софтом, написанным на вашем языке? Гуглы когда-то вменяли это программистам в обязанность, не знаю как сейчас. Ну и оплачивали, разумеется. В итоге — выбор идей с реализацией плюс продвижение выбранных технологий.
И да, я бы предложил конкурс на лучшее название нового языка. Участники, разумеется, должны включать в основном сторонних разработчиков (в т.ч. потенциальных). Плюс обсуждение и прочая социальная активность. А то сегодняшнее название — это скорее название прототипа, а не чего-то массового. Попробуйте произнести быстро Java и LsFusion.
Контроль по типам в функции есть (для типизированных языков). Реализацию, так же как и для эффектов, компилятор предсказать не сможет, потому что есть перегрузка и виртуальные функции, чему можно придумать аналог в виде эффектов, а если не придумывать, то получаются обычные неполиморфные функции. Прозрачность контроля равна возможности написать в теле функции/эффекта контролирующий код — опять аналогично. Статистический анализ опять полностью идентичен.
Я бы зашёл на тему с другой стороны — от математики. Раз уж назвали груздем, то и разговаривать надо про грибы. То есть где те алгебраические преобразования, которые даёт нам алгебра? Наличие или отсутствие преобразований — это вменяемый аргумент за эффекты. Но я пока не вижу отличий от функции, которые дали бы именно алгебраические эффекты.
Я не помню, в каком классе сегодня изучают алгебру, но без её понимания результатом использования метода будет именно калькулятор, который непонятно как считает. Поэтому либо нужно давать алгебру ранее школьной программы, либо допускать создание недоучек, которые знают, что калькулятор им всё решит, а сами же решить не смогут. Точнее, если они даже выучат метод и будут решать аналогичные задачи, то чуть влево или вправо — всё, дальше понадобится понимание, а его-то без алгебры и понимания уравнений (и тем более — систем уравнений) и не будет.
С методической точки зрения, наверное, будет правильнее предлагать подобные задачи учащимся, прошедшим начальный курс алгебры, понимающим, что такое уравнение. Сайт им помог бы связать понимание уравнений с множеством примеров, которые не нужно сочинять и решать самому. Точно так же, на более высоком уровне понимания алгебры, когда учащийся уже познакомился с системами уравнений, ему можно предлагать закрепить знания по системам на сайте. То есть сайт, по сути, не для начальной школы, а для средней.
Хотя да, дети способны понять как решать проблемы «по быстрому», и вполне умеют нажимать кнопки и раздвигать пальцами картинку для её увеличения, но это всё обезьяний навык, в этом всём отсутствует понимание сути происходящего, остаётся одна лишь магия. Я против обучения детей исключительно обезьяньим навыкам. Я за понимание, которое можно закреплять примерами (по сути — игрой с уравнениями) на сайте.
Отсутствие понимания привело всю страну в задницу (простите за мой французский) и вы хотите ещё усугубить ситуацию?
>> Очевидно же — для человека, которому в ответ был написан комментарий
Хорошо, я несколько недостаточно уделил внимание контексту. Признаюсь — ожидал пояснения фразы «техника, которую уже лет 10+ назад на волне хайпа ФП все обсосали», но так и не заметил сути.
>> Если у вас есть конкретные вопросы — я тоже могу пояснить.
Лично мне интересно понять, как могли бы выглядеть алгебраические эффекты в императивном языке.
Вообще, если говорить методически, сразу напирать на системы уравнений, может действительно неправильно. Обучаемый должен понимать, что происходит, а для понимания, нужна база, которая задаётся на предыдущих уроках. Если на предыдущих уроках не было базы для систем уравнений, то вся нагрузка по созданию базы ляжет на предложенный сайт, но это увеличит необходимое время, которое учащийся обязан будет потратить на сайте, при чём — увеличит на порядки. Одно дело просто воспользоваться калькулятором, и другое — понять, как калькулятор работает, да ещё самостоятельно изучить то, что пока ещё в школе не проходили. Ведь нужно понять, что такое алгебра, потом понять, что такое уравнение, потом — что такое система уравнений, а кроме того — понять методы решения как уравнений, так и систем, ну и всё это поверх методов преобразования алгебраических выражений. И всё это — абстракции, которые для школьника, оперирующего конкретикой на уровне «у бабушки был дедушка», превращаются в нечто совершенно непонятное, типа «имеем объект Х, вступающий в бинарное отношение 'замужество' (а возможно и просто 'сожительство') с объектом У». И вот эта вся абстракция должна быть понятна первокласснику, пытающемуся решить задачи на сайте. Реально? Ответ очевиден. А без понимания — это просто магический калькулятор, непонятно как что-то там внутри считающий (да ещё и ошибающийся, что тоже привносит свою «магию»).
По сути нужна некая рассуждалка, которая подталкивает ученика к правильному решению, но сама за него ничего не решает, как это делает калькулятор.
Вообще, это старая, давно известная в узких кругах лиспо-коммунити (scheme конечно в основном) техника, которую уже лет 10+ назад на волне хайпа ФП все обсосали, а теперь вот фронтендеры, как водится, в силу своих скромных (в плане знания CS) возможностей пытаются как-то вписать в свой дискурс.
Это классно. Но далее крайне опытный аффтор, видимо в силу своих нескромных (в плане знания CS) возможностей, вместо простого и понятного пояснения для писателей фронта, выдаёт текст в духе:
но если монада one entrance, то только в той, в которой фунарг фмапа применяется не больше раза
Поэтому возникает вопрос — а зачем это всё написано? Сторонники ФП и без дополнительных пояснений всегда будут фанатеть по своему ФП, а вот писатели с фронта никогда и ничего в подобном тексте не поймут. Так для кого это?
Скромный совет — уж если разбирать некие смыслы, выдаваемые императивно ориентированными джунами, то и излагать стоит именно с использованием императивного подхода. Иначе получается, что зазнавшийся сторонник ФП хихикает над абсолютно стандартной для любого джуна (которым он и сам был) ситуацией, и при этом задирает нос до небес, не опускаясь (или просто не умея?) до объяснений, понятных джунам.
Я же написал выше — это решается стандартными средствами, встроенными во множество языков. Чаще всего это абстрактные методы или интерфейсы. Ну а конкретно в JS можно в прототип засунуть этот log() и далее подменять прототип, если есть желание.
То есть коротко — всё давно решено. Зачем усложнять?
Получается, как говорится — Оккамом, да по тому, что между ног.
Вы, наверное, несколько неправильно восприняли фразу «понимание смысла текста». Смысл ведь не означает ничего супер-сложного, это просто информация. Это не универсальный ИИ или что-то в этом духе. Для понимания смысла некоего запроса пользователя программе достаточно заполнить некие пустые места в её модели, например — в семантическом графе. Вот вам и весь смысл. Точно так же и человек заполняет свой семантический граф, но в этом случае граф много сложнее и, разумеется, я не ожидаю, что вы реализуете что-то подобное. А вот простой граф типа «значение Х минус значение У равно Z» — ну что в этом сложного? То есть сам граф примитивный, а вся сложность интерфейса именно в конвертации фразы «я хочу сложить 3 и минус пять» в предложенный выше граф. Но вы как раз и занимаетесь такой конвертацией, и это как раз многим будет интересно, поскольку примерно так строятся все эти чат-боты.
То есть всё проще, и вы это знаете и умеете. Ну а ошибки, безусловно, будут, только ведь главное не в ошибках, а в передаче возможностей по расширению в том числе ваших знаний другим людям. Вы пока ограничены простыми графами, а другие могут расширить ваш подход и показать, как работать с более сложными графами. Так, в общем-то, и строится наука.
Из статьи не понял — зачем это всё? Очередная дань моде?
А если вместо perform log(«aaa»); написать log(«aaa»); то что изменится? Ах да, мы сможем написать функцию log() лог где-то рядом, а не в месиве кода, с кучей if-ов, имитирующих switch и в рамках дополнительно усложняющей язык конструкции по обработке эффектов. А что же ещё «улучшилось» в предлагаемом в статье варианте? Обработка эффектов «позднее», да ещё и кем-то другим? Ну есть в мире понятия интерфейс или абстрактный метод, это не подходит? В скриптовом языке нет полных аналогов? А не до конца полный аналог что мешает использовать? Асинхронность нужна? Так а в функции её никак? Всё равно она будет, так или иначе, но тогда — зачем иначе, если и так всё работает?
В общем — посыл автора статьи не понят. Может кто просветит меня, недалёкого? Зачем это всё? В чём профит?
>> Конечно, если есть репетитор или хороший педагог, да или просто родитель с математическим образованием, то проблем нет. Ну а другим что делать? Вот не объясняют, и всё тут
Ориентируйтесь в продвижении на родителей. Если родителю плевать на обучение чада, то сам ребёнок, к сожалению, в подавляющем большинстве случаев не сможет разумно распорядиться временем и выбрать правильный сайт/программу или более абстрактно — метод. Но родители, если интересуются своим ребёнком и не могут умело объяснять математику, вполне могут заинтересоваться и вашим сайтом. А следом — научат ребёнка.
>> Проект закрытый в том смысле, что код никуда не выкладывается по причине бесполезности — он настолько сложный, что мало кому пригодится
Здесь тоже нужно менять подход. То есть код сам по себе действительно мало кому нужен, потому что людям нужно понимание. Тупо копипастить сложный код чаще всего бессмысленно, а вот при наличии понимания, можно быстрее написать самому, чем разбираться в сложном чужом коде. Поэтому было бы чудесно, если бы вы написали здесь же статью на тему «как обеспечить человеко-машинный интерфейс на основе упрощённого понимания смысла текста». Эта тема зашла бы весьма легко, ведь сейчас мода на разного рода чат-ботов и прочий ИИ, вот под это дело и стоит подавать свои знания, ибо они быстро найдут благодарных учеников. Надеюсь, что если вы всё хорошо понимаете, то сложностей с объяснение не будет, а значит и востребованность темы будет большая.
>> Имея наблюдаемый пример, в котором мы позволяем себе поделить на ноль какое-то слагаемое, мы просто избавляем пример от этого слагаемого
Не совсем понятно. Умножая на ноль, мы действительно избавляемся от чего-нибудь. А вот когда делим…
Деление даёт соотношение, то есть чистое число, без меры, но это если мы делим на такую же сущность. Так же мы можем делить на число, то есть на меру, и тогда опять получаем сущность, а не число. Умножение даёт новую сущность с той же мерой, что и у старой, хотя и здесь можно вспомнить, например, возведение в квадрат, когда мы сущность умножаем на сущность и получаем… непонятно что.
Но деление на ноль должно давать некое число, если 0 — сущность, и давать некую сущность, если 0 — число, но оно никак не может приводить к избавлению от числа либо сущности.
Так же стоит заметить, что математика часто избавляется от полезной информации (то есть не только при умножении на ноль). При целочисленном делении получаем a/b=c+r, то есть результат содержит два числа — частное и остаток. Точно так же могло бы быть при умножении на ноль — a*0=0\a, где \a есть указание на информацию о начальном состоянии данного нуля (до умножения). Ещё пример — при возведении -1 в степень мы теряем количество умножений, а вместе с ним и знак после выполнения обратной операции, хотя если бы информацию сохраняли, то могло бы быть что-то вроде такого: -1^2=1\-2, где минус и двойка показывают знак перед возведением и количество умножений. Аналогично синус от x+360 стирает информацию о начальном угле, которая так же могла бы помочь при вычислении арксинусов. То есть проблема потери информации повсеместна в математике, а отсюда следует множество усложнений, вроде комплексных чисел, которые призваны устранять неопределённость, цепляя к результату все возможные состояния числа до выполнения операции. Хотя с другой стороны, часто просто нет возможности получить информацию о начальном состоянии, например принимая некий сигнал от звёзд, мы вряд ли сможем слетать и проверить, сколько раз ихний синус был обёрнут вокруг 360 градусов. Но в некоторых случаях информация всё же есть, а потому есть и смысл в её сохранении с целью устранения неоднозначности после выполнения обратных операций. К сожалению, эту тему (по полноте сохранения информации) в математике полностью игнорируют. Хотя в приложениях математики вполне можно встретить что-то вроде «здесь была минус единица, значит после такого преобразования будет не плюс-минус, а строго один знак». Но это всё несистемно, без теоретической базы, чисто на глаз, кому как взбредёт в голову.
Проблема здесь двойная. Во первых — наше государство. А во вторых — ставший правилом обман во всех крупных конторах (естественно, включая западные).
В целом получается, что для контор действительно есть некоторые сложности с разгребанием и объяснением каждому огромного количества правил, но если государство (в т.ч. западные) не напрягает контору, то зачем ей возиться со всеми этими правилами? Вот они и не возятся, а тупо заявляют — есть договор, в нём указано, что вы должны нам всё, а мы вам ничего не должны, а потому можете забыть о своих деньгах, и говорите спасибо, что мы вас за терроризм не посадили.
Были бы правила попроще, может некоторые конторы и реализовали бы что-то понятное, без обмана (хоть и прикрываемого заявлениями — а ты сам дурак, не разобрался в том, в чём мы сами не разобрались, и полез), но правил нагородили уже столько, что разбираться там нужно годами, и при этом ещё каждый день отслеживать появление новых правил. Ну а в ситуации, когда государство само городит большую часть из этих правил, оно конечно же тоже становится в одной банде с крупными конторами, ведь что-то упростить — не для безумных депутатов задача. В итоге все крупные игроки скидывают проблему с себя на нас, микробов под их ногами.
В общем, без серьёзного изменения государства здесь никак. Дальше будет только хуже.
>> Необъятные орды конкурируют да все выиграть никак не могут, хаскельные проекты как были, так и есть.
Они давно выиграли — 99% софта написано ими.
Ну а ниша для угрюмых и агрессивных любителей ФП, понятное дело, всегда найдётся, ведь вся наука — как раз для них, там ценят агрессивных аутистов, повышают по службе умелых интриганов и т.д. и т.п.
На том мои комментарии на сегодня закончены, ибо угрюмые аутисты опустили мне карму ниже плинтуса и теперь могу только раз в час что-то отвечать. Но зато я рад, что получил очередное доказательство угрюмости и агрессивности ФП сообщества — вот так они давят любую критику, ну и потому выживают лишь в тепличных условиях, типа разного рода «научных» заведений, где общепринятым тоном ко всем посторонним является что-то вроде «да эти мудаки даже близко не способны понять всё то, что понимаем мы, а потому — в топку их всех».
>> данные потока, не внятно отвечают на вопросы почему так происходит
Общая схема такая — читают ежедневно, но в основном постоянные читатели. После первого дня основная масса постоянных удаляется, ибо прочитали. Второй день дочитывают те, кто был в отгуле в первый день. Третий и далее — случайные читатели, посещающие сайт нерегулярно.
Но есть явное влияние комментариев. Если тема набрала много комментариев или высокий рейтинг — её замечают (в том числе сайт поднимает её в списке, возможно это главный фактор). Поэтому получается «струна», то есть основная масса прочитала, а потом смотрит на комментарии, если комментарии интересные — снова комментируют, чем реализуют положительную обратную связь, струна из прогиба выходит на новый подъём.
Это что такое?
>> Существует ли у человечества программа (проект) выстраивания системы безопасности в целом и информационной безопасности в частности?
Человечества нет, есть куча групп и группочек. Какая у них может быть программа? Вот разве что — поубивать всех не своих.
>> Что следует делать конкретно уже сегодня?
Начинать надо с понимания мира и своего места в мире.
>> Кто эту конкретику должен и будет делать?
Понимать за вас никто не будет, поэтому делать должны вы.
>> Спросите себя, хочу ли я принимать в этом участие?
Я участвую в улучшении, (скромно) надеюсь — мира. Остальные не хотят об это мараться.
>> Для себя разработал программу создания новой теории, включающую
По систематизации предметной области — это пожалуйста, здесь много чего можно добавить. А вот дальше — уже сложнее. Нужно понимать, какие закономерности и как могут помочь. А для такого понимания нужна та самая классификация, которая сводит разрозненные знания в стройную систему. Вы предложили классификацию? Нет. Но поспешили дальше. И что получилось? Набор непонятно для чего полезных слов и немного формул. В них нет системы. Той самой классификации.
>> Закон распределения делителей нечетного составного натурального числа
Если бы вы выделили именно эту часть во всей длинной статье, то на подобную закономерность наверняка обратили бы внимание. Но вы ведь не выделили. Вы спрятали закономерность в череде примитивов вроде «контур длиннее другого на 8». И кто будет фильтровать примитивы от важного? Вы это всё перекладываете на читателей?
Попробуйте так — вот есть закономерность, которую я (то есть вы) считаю самой важной (ведь вы выделили её в плане будущих побед), она важна тем-то и тем-то. Далее можно сделать заголовок — доказательство. По завершению доказательства должен быть новый заголовок (что бы те, кому доказательство не интересно, могли его пропустить). И этот новый заголовок не должен уводить в сторону ещё каких-то мелочей, но либо вводить новое и важное, либо быть заголовком эпилога. Просто подать материал чуть более выпукло, подчёркивая важное — разве это сложно? Хотя есть одна сложность — что считать важным. На мой взгляд, пока не достигнут какой-то результат, который многие согласятся считать важным — писать о своих изобретениях вообще не стоит. А уж если написали — будьте готовы доказывать важность выделенного вами. Например — как конкретно закономерность помогает в разложении числа на множители? Как до вас решались подобные задачи? В чём новизна вашего подхода? Какие плюсы и какие минусы имеет ваш подход по сравнению с ранее предложенными? И естественно, плюсы (и минусы) нельзя прятать в размазанном по всему тексту материале, их, так же как и главное, нужно выделять. Например — после доказательства можно добавить заголовок «Почему это важно», после которого перечислить плюсы, не забыв и о минусах (это критерий честности автора, без которого автору доверия нет). А далее было бы чудесно предложить какое-нибудь практическое применение закономерности.
Можно попробовать переписать ваши статьи с использованием такого подхода. Для этого не нужно что-то выдумывать, но нужно заняться именно задачей классификации, которая (в том числе) подскажет вам, как выделить главное. Но задачу классификации вы не решили, а сразу бросились изливать формулы. Это неправильно. И хотя так строятся учебники математики, но они-то описывают уже классифицированные области, то есть предполагают, что классификацию «знают, кому надо». И действительно, ряд математиков этой классификацией владеет. Но вы-то не для математиков статью пишете. И даже если ожидаете, что её прочтут математики, то почему вы думаете, что они отнесутся к статье как к ценному ресурсу, который нужно читать вдумчиво и долго? Ну а если вы здесь просто что бы застолбить некие свои небольшие находки, то тогда да — можете продолжать в том же духе, только было бы честно по отношению к читателям всё же уведомить их — это не для вас, это для других целей.
И если я прав (а само это сомнение уже явный признак недостаточности информации в статье), то и вы неправильно поняли посыл автора. Точнее, если автор вообще хотел пояснять суть, то это у него не получилось, ну а если не хотел, то ваш результат полностью соответствует отсутствию желания автора.
В других инструментах используются так называемые SAT-solver-ы, которые находят подстановку для логической формулы, при которой формула становится истинной. При этом саму формулу генерируют на основе описания, аналогичного примеру из статьи. То есть все отличия подобных инструментов лишь в обвязке вокруг сольвера, некоторые рисуют диаграммы, другие представляют всё в виде текста. Но ни один из них, естественно, никакие алгоритмы не проверяет. Все они проверяют (при помощи сольвера) можно ли подобрать состояние (а не алгоритм или его ветвь), при котором вылезут противоречия. Поэтому предполагать, что там как-то участвует алгоритм — неправильно, потому что это усложняет (до бесконечности, то есть делает недостижимым) моделирование. Без понимания сути придётся осваивать инструмент методом тыка, примерно как осваивают магию — вот такое заклинание действует вот так, а если изменить в заклинании одно слово — оно перестанет действовать. Почему перестанет? Потому что магия!
Сначала подробно описывается проблема, алгоритм её решения (с картинками), а потом факир объявляет — теперь нажимаете вот эту красную кнопку, и вуаля — чудо само нашло все ваши ошибки! Вам нужно лишь умело нарисовать некий текст, а далее — просто магия, и вы в шоколаде!
То есть по другому — имея качественное описание проблемы, было бы совсем неплохо дать близкое по качеству описание способа решения. Но вот как раз в этой части автор отсылает читателей в интернет-магазины, где они когда-нибудь смогут купить, дождаться доставки, прочитать, и возможно, что-то понять из того, что автор скрыл за нажатием большой красной кнопки «Сделайте мне красиво!».
На самом деле предложенный подход к решению проблемы вполне известный, базовые принципы довольно простые, поэтому и непонятно — почему эти принципы не озвучены?
Представление в виде спирали нечитаемое. Да, там видны диагонали, но найти какое-либо другое число — очень сложно. Измените представление. Например — вертикальная последовательность «контуров» (в вашей терминологии), то есть треугольник, каждая строка в котором — контур. Тогда наглядность не потеряется, но и оперировать содержимым будет много проще.
Выделяйте главное. В бесконечной череде описаний случайных свойств нет ничего интересного. А вот в выводах, следующих из того, что вам кажется важным в этой бесконечной череде случайных свойств, может присутствовать что-то интересное. Вы же выводы прячете, размываете их бесконечной чередой случайных свойств. Зачем? Совершенно незачем. И вы сами это понимаете. Но просто повторяете стиль учебника по математике, что в данном случае совершенно неуместно. Даже в научных статьях используется подход на основе введения, где кратко освещаются полученные результаты, а уж в популярных блогах прятать суть где-то в середине сухого текста — это совершенно неприемлемо.
Как выше указано — выделите основные формулы. Формулы для длины строки треугольника, для номера строки треугольника, для числа по индексу в строке треугольника. И забейте на остальные формулы. То есть не пускайтесь в их вывод и прочее использование, не имея главного — структуры закономерностей системы, которую вы пытаетесь изобразить. Основной вопрос (и, видимо, не только у меня) — где структура? Покажите её. Проанализируйте формулы, описывающие структуру системы (строки, длины, числа по индексу). Что дал анализ? Всё то же утверждение, что если разложить число на множители при помощи формулы для разности квадратов, то из этого «что-то может вырасти»? Так об этом вы писали ещё в 14-м году (судя по ссылкам в статье). Зачем повторять одно и то же? Или есть желание показать, что вы нашли ряд дополнительных несущественных формул? Но они же несущественные, ведь так? Или существенные? А в чём тогда их существенность? Вы этого не показали.
По ходу чтения вспомнилось — есть такая последовательность Люка, вот она (похоже) хорошо ляжет на выбранное треугольное представление. Погуглите про неё, может её смысл станет яснее, если вы её серьёзно поизучаете. Но только именно в таком виде — вот главное, вот выводы, вот суть, а всё промежуточное — ну не место этому в блоге. Учебник по вашим математическим мыслям изучать никто не будет. Ведь есть более общепризнанные теории, трата времени на которые вполне окупается получением общепризнанных знаний, а вот трата времени на изучение тонкостей вашего подхода — ну вы сами понимаете, будет интересна лишь тогда, когда будет интересная суть.
По названию. Это опять маркетинг, который вы опять мимо ушей и мозга пропускаете. Заменить все ссылки не так сложно, повесить ссылки на новый ресурс на странице старого — тоже элементарно. Всё легко и ненапряжно исправимо, но для этого нужно желание.
В целом у вас подход программиста, что понятно, но слона программисты продавать не умеют, а потому — либо отдайте маркетинг грамотным людям, либо забейте на программирование и начинайте изучать маркетинг сами. Второй вариант обычно заканчивается просто — не хочу. Поэтому нужен маркетолог. Ну а я здесь на паре примеров вам (надеюсь) показал, что без него у вас получается уг вместо конфетки.
В принципе, уг тоже можно впарить, оплачивая его использование и тому подобными методами, но как бы снова повторю — слона вы так не продадите.
И да, я бы предложил конкурс на лучшее название нового языка. Участники, разумеется, должны включать в основном сторонних разработчиков (в т.ч. потенциальных). Плюс обсуждение и прочая социальная активность. А то сегодняшнее название — это скорее название прототипа, а не чего-то массового. Попробуйте произнести быстро Java и LsFusion.
Контроль по типам в функции есть (для типизированных языков). Реализацию, так же как и для эффектов, компилятор предсказать не сможет, потому что есть перегрузка и виртуальные функции, чему можно придумать аналог в виде эффектов, а если не придумывать, то получаются обычные неполиморфные функции. Прозрачность контроля равна возможности написать в теле функции/эффекта контролирующий код — опять аналогично. Статистический анализ опять полностью идентичен.
Я бы зашёл на тему с другой стороны — от математики. Раз уж назвали груздем, то и разговаривать надо про грибы. То есть где те алгебраические преобразования, которые даёт нам алгебра? Наличие или отсутствие преобразований — это вменяемый аргумент за эффекты. Но я пока не вижу отличий от функции, которые дали бы именно алгебраические эффекты.
С методической точки зрения, наверное, будет правильнее предлагать подобные задачи учащимся, прошедшим начальный курс алгебры, понимающим, что такое уравнение. Сайт им помог бы связать понимание уравнений с множеством примеров, которые не нужно сочинять и решать самому. Точно так же, на более высоком уровне понимания алгебры, когда учащийся уже познакомился с системами уравнений, ему можно предлагать закрепить знания по системам на сайте. То есть сайт, по сути, не для начальной школы, а для средней.
Хотя да, дети способны понять как решать проблемы «по быстрому», и вполне умеют нажимать кнопки и раздвигать пальцами картинку для её увеличения, но это всё обезьяний навык, в этом всём отсутствует понимание сути происходящего, остаётся одна лишь магия. Я против обучения детей исключительно обезьяньим навыкам. Я за понимание, которое можно закреплять примерами (по сути — игрой с уравнениями) на сайте.
Отсутствие понимания привело всю страну в задницу (простите за мой французский) и вы хотите ещё усугубить ситуацию?
Хорошо, я несколько недостаточно уделил внимание контексту. Признаюсь — ожидал пояснения фразы «техника, которую уже лет 10+ назад на волне хайпа ФП все обсосали», но так и не заметил сути.
>> Если у вас есть конкретные вопросы — я тоже могу пояснить.
Лично мне интересно понять, как могли бы выглядеть алгебраические эффекты в императивном языке.
По сути нужна некая рассуждалка, которая подталкивает ученика к правильному решению, но сама за него ничего не решает, как это делает калькулятор.
Это классно. Но далее крайне опытный аффтор, видимо в силу своих нескромных (в плане знания CS) возможностей, вместо простого и понятного пояснения для писателей фронта, выдаёт текст в духе:
Поэтому возникает вопрос — а зачем это всё написано? Сторонники ФП и без дополнительных пояснений всегда будут фанатеть по своему ФП, а вот писатели с фронта никогда и ничего в подобном тексте не поймут. Так для кого это?
Скромный совет — уж если разбирать некие смыслы, выдаваемые императивно ориентированными джунами, то и излагать стоит именно с использованием императивного подхода. Иначе получается, что зазнавшийся сторонник ФП хихикает над абсолютно стандартной для любого джуна (которым он и сам был) ситуацией, и при этом задирает нос до небес, не опускаясь (или просто не умея?) до объяснений, понятных джунам.
То есть коротко — всё давно решено. Зачем усложнять?
Получается, как говорится — Оккамом, да по тому, что между ног.
То есть всё проще, и вы это знаете и умеете. Ну а ошибки, безусловно, будут, только ведь главное не в ошибках, а в передаче возможностей по расширению в том числе ваших знаний другим людям. Вы пока ограничены простыми графами, а другие могут расширить ваш подход и показать, как работать с более сложными графами. Так, в общем-то, и строится наука.
А если вместо perform log(«aaa»); написать log(«aaa»); то что изменится? Ах да, мы сможем написать функцию log() лог где-то рядом, а не в месиве кода, с кучей if-ов, имитирующих switch и в рамках дополнительно усложняющей язык конструкции по обработке эффектов. А что же ещё «улучшилось» в предлагаемом в статье варианте? Обработка эффектов «позднее», да ещё и кем-то другим? Ну есть в мире понятия интерфейс или абстрактный метод, это не подходит? В скриптовом языке нет полных аналогов? А не до конца полный аналог что мешает использовать? Асинхронность нужна? Так а в функции её никак? Всё равно она будет, так или иначе, но тогда — зачем иначе, если и так всё работает?
В общем — посыл автора статьи не понят. Может кто просветит меня, недалёкого? Зачем это всё? В чём профит?
Ориентируйтесь в продвижении на родителей. Если родителю плевать на обучение чада, то сам ребёнок, к сожалению, в подавляющем большинстве случаев не сможет разумно распорядиться временем и выбрать правильный сайт/программу или более абстрактно — метод. Но родители, если интересуются своим ребёнком и не могут умело объяснять математику, вполне могут заинтересоваться и вашим сайтом. А следом — научат ребёнка.
>> Проект закрытый в том смысле, что код никуда не выкладывается по причине бесполезности — он настолько сложный, что мало кому пригодится
Здесь тоже нужно менять подход. То есть код сам по себе действительно мало кому нужен, потому что людям нужно понимание. Тупо копипастить сложный код чаще всего бессмысленно, а вот при наличии понимания, можно быстрее написать самому, чем разбираться в сложном чужом коде. Поэтому было бы чудесно, если бы вы написали здесь же статью на тему «как обеспечить человеко-машинный интерфейс на основе упрощённого понимания смысла текста». Эта тема зашла бы весьма легко, ведь сейчас мода на разного рода чат-ботов и прочий ИИ, вот под это дело и стоит подавать свои знания, ибо они быстро найдут благодарных учеников. Надеюсь, что если вы всё хорошо понимаете, то сложностей с объяснение не будет, а значит и востребованность темы будет большая.
Не совсем понятно. Умножая на ноль, мы действительно избавляемся от чего-нибудь. А вот когда делим…
Деление даёт соотношение, то есть чистое число, без меры, но это если мы делим на такую же сущность. Так же мы можем делить на число, то есть на меру, и тогда опять получаем сущность, а не число. Умножение даёт новую сущность с той же мерой, что и у старой, хотя и здесь можно вспомнить, например, возведение в квадрат, когда мы сущность умножаем на сущность и получаем… непонятно что.
Но деление на ноль должно давать некое число, если 0 — сущность, и давать некую сущность, если 0 — число, но оно никак не может приводить к избавлению от числа либо сущности.
Так же стоит заметить, что математика часто избавляется от полезной информации (то есть не только при умножении на ноль). При целочисленном делении получаем a/b=c+r, то есть результат содержит два числа — частное и остаток. Точно так же могло бы быть при умножении на ноль — a*0=0\a, где \a есть указание на информацию о начальном состоянии данного нуля (до умножения). Ещё пример — при возведении -1 в степень мы теряем количество умножений, а вместе с ним и знак после выполнения обратной операции, хотя если бы информацию сохраняли, то могло бы быть что-то вроде такого: -1^2=1\-2, где минус и двойка показывают знак перед возведением и количество умножений. Аналогично синус от x+360 стирает информацию о начальном угле, которая так же могла бы помочь при вычислении арксинусов. То есть проблема потери информации повсеместна в математике, а отсюда следует множество усложнений, вроде комплексных чисел, которые призваны устранять неопределённость, цепляя к результату все возможные состояния числа до выполнения операции. Хотя с другой стороны, часто просто нет возможности получить информацию о начальном состоянии, например принимая некий сигнал от звёзд, мы вряд ли сможем слетать и проверить, сколько раз ихний синус был обёрнут вокруг 360 градусов. Но в некоторых случаях информация всё же есть, а потому есть и смысл в её сохранении с целью устранения неоднозначности после выполнения обратных операций. К сожалению, эту тему (по полноте сохранения информации) в математике полностью игнорируют. Хотя в приложениях математики вполне можно встретить что-то вроде «здесь была минус единица, значит после такого преобразования будет не плюс-минус, а строго один знак». Но это всё несистемно, без теоретической базы, чисто на глаз, кому как взбредёт в голову.
В целом получается, что для контор действительно есть некоторые сложности с разгребанием и объяснением каждому огромного количества правил, но если государство (в т.ч. западные) не напрягает контору, то зачем ей возиться со всеми этими правилами? Вот они и не возятся, а тупо заявляют — есть договор, в нём указано, что вы должны нам всё, а мы вам ничего не должны, а потому можете забыть о своих деньгах, и говорите спасибо, что мы вас за терроризм не посадили.
Были бы правила попроще, может некоторые конторы и реализовали бы что-то понятное, без обмана (хоть и прикрываемого заявлениями — а ты сам дурак, не разобрался в том, в чём мы сами не разобрались, и полез), но правил нагородили уже столько, что разбираться там нужно годами, и при этом ещё каждый день отслеживать появление новых правил. Ну а в ситуации, когда государство само городит большую часть из этих правил, оно конечно же тоже становится в одной банде с крупными конторами, ведь что-то упростить — не для безумных депутатов задача. В итоге все крупные игроки скидывают проблему с себя на нас, микробов под их ногами.
В общем, без серьёзного изменения государства здесь никак. Дальше будет только хуже.
Они давно выиграли — 99% софта написано ими.
Ну а ниша для угрюмых и агрессивных любителей ФП, понятное дело, всегда найдётся, ведь вся наука — как раз для них, там ценят агрессивных аутистов, повышают по службе умелых интриганов и т.д. и т.п.
На том мои комментарии на сегодня закончены, ибо угрюмые аутисты опустили мне карму ниже плинтуса и теперь могу только раз в час что-то отвечать. Но зато я рад, что получил очередное доказательство угрюмости и агрессивности ФП сообщества — вот так они давят любую критику, ну и потому выживают лишь в тепличных условиях, типа разного рода «научных» заведений, где общепринятым тоном ко всем посторонним является что-то вроде «да эти мудаки даже близко не способны понять всё то, что понимаем мы, а потому — в топку их всех».
Общая схема такая — читают ежедневно, но в основном постоянные читатели. После первого дня основная масса постоянных удаляется, ибо прочитали. Второй день дочитывают те, кто был в отгуле в первый день. Третий и далее — случайные читатели, посещающие сайт нерегулярно.
Но есть явное влияние комментариев. Если тема набрала много комментариев или высокий рейтинг — её замечают (в том числе сайт поднимает её в списке, возможно это главный фактор). Поэтому получается «струна», то есть основная масса прочитала, а потом смотрит на комментарии, если комментарии интересные — снова комментируют, чем реализуют положительную обратную связь, струна из прогиба выходит на новый подъём.