Pull to refresh
-12
0.1
Алексей @murkin-kot

Программист

Send message

Альтернатива:

Не встретился им огонёк в лесу и пришлось искать заказы в голом поле. Но ребята славные, напряглись, каждый работал с огоньком, ну и удача улыбнулась, и вот - сложился у них стартап, конечно же - музыкальный. Ура, мы самые классные стартаперы! И принцесса к ним заглянула. А как же, такой известный стартап, как не заглянуть? Инвестиции, опять же, полились. Зажили счастливо и богато.

Прошло время. Богатство росло. А вот счастье куда-то подевалось. Отовсюду родственники принцессы кричат - больше денег, больше прибыль! Работники все поголовно бездельничают, да ещё в суд подают на невыносимые условия труда. Юристы трудятся над исками не прикладая рук (ведь тоже бездельники). А тут ещё откуда ни возьмись - конкуренты. Ох и страшные они люди! Чуть не доглядишь и всю прибыль уведут. Да ещё и должен останешься.

Пришлось музыкантам думу думать. Что же делать? Надо разбойников-конкурентов наказать! Втереться в доверие, войти в ближний круг, и как слить все секреты! Вот радости-то будет. Но что делать с ленивыми работниками? А надо их голодом заморить, что бы на суды денег не осталось! Правильно придумали, говорят инвесторы (родственники принцессы, то есть), так держать! И полились инвестиции в стратегическую инициативу по работе с персоналом, ведь выгодно - сокращение издержек и повышение лояльности в обмен на улучшение KPI - любой инвестор сразу за такое схватится.

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

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

Зачем Николай Парлог завлекает читателей кликбейтным заголовком? Оказывается, он спешит нам сообщить, что теперь Java (наконец) научилась понимать, что такое корневая директория.

И для чего было бы полезным такое умение? Вот что пишут в JEP:

This will make the transition from small programs to larger ones more
gradual, enabling developers to choose whether and when to go to the
trouble of configuring a build tool.

Нужно ли понимать данный пассаж как существовавшую ранее необходимость "to go to the
trouble of configuring a build tool" всего лишь после добавления второго Java-файла? И если нет, то как же по другому можно понять смысл сказанного?

Для справки: все сегодня пишут в IDE. Те, кто там не пишет - не занимаются серьёзными проектами. IDE выполняет компиляцию и запускает программы уже давно, примерно с версии Java 1.0, хотя некоторые утверждают, что замечали подобное поведение и раньше. Поэтому непонятно, при чём же здесь build tool?

Давайте скажем проще - Java потихоньку движется в сторону скриптовых языков. И с учётом этого направления сразу становится ясным предназначение очередного JEP. А вот заманушный заголовок Николая Парлог лишь вводит нас в заблуждение.

Хотя кто его знает, может разработчики Java и вправду не используют IDE? Тогда текст Николая тоже становится понятным, но уже несколько по другому.

Не сочинены, а выведены из определённых предпосылок

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

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

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

Хотя, как исторический пример одной из множества попыток объяснения явлений в обществе, марксизм вполне заслуживает некоторого внимания. В частности, отношения финансовой эксплуатации масс впервые вроде как были выделены именно в марксизме, хотя за отсутствие более ранних, но менее проработанных идей, послуживших основой для марксизма, не поручусь.

Понятия "добрый/злой" ортогональны понятиям "моральный/аморальный"

Похоже, что вы не понимаете смысл слова "ортогональны". Нельзя быть добрым и аморальным.

Философия не должна заменять собой другие науки

И не должна лезть в те области, которые не умеет объяснять.

Утверждения про мораль и пигмеев ортогональны

Утверждения про ортогональность безосновательно.

Смысл прикручивать, если они о разном?

Смысл в полноте. А если полноты нет - нечего неполной теории руководить процессом, к большей части которого теория никакого отношения не имеет.

Задача

Математики любят строгость, но вот в ШАД, где много математики, не любят строгость в отношении своих собственных задач.

Условия задачи составлены так, что ответ очевиден сразу, без матриц и прочего накручивания мозгов.

А как решать без матриц — непонятно

Вспомнив, что минимальное нечётное есть единица, а минимальное чётное есть ноль, получаем при 10-ти участниках 10 курсов с нулевым пересечением по участникам. В математике это называется "тривиальное решение", но почему-то тривиальные вещи не приходят в голову авторам задач ШАД.

О чём нам говорит такое упущение?

Заявление про ущербность любого догматизма есть догматизм.

Не формула выхолащивает всё человеческое из поведения бизнесменов, а инвесторы. Им реально нужны только деньги (ROI).

Такие статьи никак не популяризируют поведение инвесторов, а значит они лишь подсказывают большинству нечто важное, что те же инвесторы (если они крупные, то есть понимают о чём речь) предпочитают скрывать от общества.

Ну и вам никто не мешает написать статью-опровержение. Но есть подозрения в том, что статья будет не менее догматической, примерно как и комментарий.

Хотя можно обсудить тему "что есть догматизм".

Зачем себя ограничивать пятью осями? Потом что так сказала математика?

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

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

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

Ну и про математику. Симметрия есть набор элементов и операций над элементами. И что же нам мешает расширить набор операций? Вот набор элементов расширить сложно - у нас есть только заданные атомы, а других нет. Но операций-то мы можем насочинять сколько душе угодно. И именно таким переходом к новой структуре (всё ещё вполне математической) с тем же набором элементов, но с расширенным набором операций, мы получаем прекрасное математическое описание квазикристаллов.

Так почему же гражданин Лайнус Поллинг всё ещё недоволен?

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

Как ещё один математичный вариант можно рассмотреть марковский алгоритм (ссылка в комментарии ниже). Хотя и этот подход можно встретить в некоторых учебниках по мат.логике.

Собственно программирование заменой частей программы при помощи алгоритма, адаптированного именно к подстановкам, похожего на ваши предложения, реализована где-то в 60-х в языке Рефал. Но этот язык не нашёл массового применения. Хотя сам принцип преобразования входной строки повторяющимися заменами в нём отражён очень наглядно.

Можно для разнообразия познакомиться с фортом. Но это тоже редко используемый язык, хотя в качестве тренировки стоит освоить его алгоритм работы - расширите творческие горизонты.

Лисп сегодня довольно развит, а потому не рекомендуется для знакомства с интересующей вас областью, ведь большинство учебников по лиспу будут долго и нудно знакомить вас с кучей вспомогательного материала, вроде реализации простых алгоритмов, знакомства с возможностями конкретных реализаций, погружения в историю и тому подобного. Хотя если немного пофильтровать, то вполне можно выделить именно часть, ориентированную на возможность самомодификации. Только на этой части руководства концентрируются очень слабо.

Як с бизоном - это про парсеры. Парсеры - это конечные автоматы, преобразующие текст в структуру данных (абстрактное синтаксическое дерево). Не уверен, что вас интересует разбор текстов при помощи таких автоматов. Плюс конкретно эти два компонента направлены на генерацию программ-автоматов на Си. То есть вам придётся изучить сначала немало материала про разбор текстов, потом про устройство указанных компонентов с их специфической грамматикой, потом сам язык Си, ну и лишь после этого вы сможете генерировать автоматы, которые на выходе дадут вам структуру данных, которую вы сможете использовать из языка Си.

Ценность самоизменяемых программ очень мала. Ранее, когда человечество не имело достаточного опыта разработки, действительно многие, при мерно как и вы сейчас, грезили самопрограммируемыми автоматами, которые можно как-то хитро на лету менять простым языком, выглядящим как человеческий. Но реальность отсеяла подобные грёзы, показала их бесперспективность.

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

Общий смысл такой - в программе должна быть зашита некая логика, которая универсальным образом обработает любые входные данные. Но в результате применения такой логики мы получаем условный brainfuck, то есть среду, которая враждебна к человеку, потому что заставляет его тратить огромные усилия на борьбу с заложенной логикой. Не меняя логику программы человеку приходится втискивать в неё свой алгоритм, который чаще всего очень плохо совместим с ранее заложенной универсальной логикой. Поэтому все и давно отказались от пришедшей и к вам в голову (правда с некоторым запозданием) идеи универсального языка.

Ну и второй момент - компьютер не знает человеческого языка. Если вы видите чат жпт и думаете, что он вас понимает, что это ошибка. Вокруг нейросети есть обвязка, часть которой вы воспринимаете как возможность ввести произвольный текст. Но на самом деле это очередная программа, выполняющая очень много функций перед тем, как ваш текст попадает к нейросети. Но если вас устраивает такой подход, то вы должны понимать, что написав такую обвязку, хоть на том же прологе, вам могут предоставить всё то же поле ввода, куда вы введёте произвольный текст, например "мама мыла раму", а в ответ получите "рама мыла маму", только это лишь видимость, ведь за кадром остались все остальные преобразования.

Если же вы добавите к "мама мыла раму" ещё и инструкции о дополнительной обработке, то вы вернётесь к тому, о чём я написал чуть выше - к бесполезной игрушке. Хотя реализовать такую игрушку можно давно. Возьмите форт, лисп, пролог, и создайте для них обвязку, которая передаёт ваш текст программе. А в программу введите возможность вычленять из вашего текста новые правила и добавлять их в базу знаний - вот и получится ваша мечта. Но ещё раз повторю - она бесполезна. Люди уже много десятков лет назад наигрались с такими игрушками и вынесли свой вердикт.

Как ни жаль, но вы сильно отстали от своего времени. Если не наверстаете упущенные десятилетия, то будете выглядеть просто смешно, повторно изобретая всё новые и новые велосипеды.

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

Ниже пример на прологе (кавычки опущены ради краткости):

нет_требований_к_синтаксису([м,а,м,а|input],[р,а,м,а|result]):-нет_требований_к_синтаксису(input,result).
нет_требований_к_синтаксису([р,а,м,у|input],[м,а,м,у|result]):-нет_требований_к_синтаксису(input,result).
нет_требований_к_синтаксису([],[]).

Пример меняет фразу "мама мыла раму" на "рама мыла маму". В произвольном множестве. Без требований к синтаксису.

Очередной раз наблюдаю карго культ. Автор проникся принципами логического программирования и теперь, как настоящий молоток, во всём видит только гвозди. В результате пропагандирует применение математической логики (а ранее - алгебры) в тех областях, где они заведомо обречены на провал.

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

Начинайте гуглёж с фразы "инжененрия знаний", и не забывайте добавлять ключевые слова вроде "ошибки", "провалы", "неудачи".

Хотя можно и от обратного - где в мире хоть одна контора смогла хоть чего-то достичь при массовом внедрении предлагаемой математики?

Ну и если автор вдруг не в курсе, замечу, что пока в реальной жизни все формализмы ограничиваются весьма произвольно трактуемыми простенькими диаграммами. А большей частью - имеем просто текст. Введение математики в это суп сделает его неперевариваемым для большинства потребителей.

Зачем парировать усилие на штурвале? Нужно встать в круг и на крене спокойно расслабиться, установив тягу, равную максимальной бесфорсажной. Далее травим анекдоты и лениво разглядываем пейзажи в течении того времени, пока масса топлива не уменьшится до допустимого для посадки уровня.

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

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

А вот предыдущая статья о компактной нотации, в том числе позволяющей записать программу интерпретатора машины Тьюринга, ближе к чему-то актуальному, и, соответственно, полезному. Так можно сильно сблизить программистов и математиков, которые пока что очень далеки друг от друга.

Нет смысла.

Вот, например, что-то произошло, и что будет дальше? Нужны инициативные и ответственные люди, что бы это "что-то" расследовать. У людей, к тому же, должен быть доступ к актуальной информации. Кто им даст актуальную информацию? Да никто, потому что что она намеренно скрывается. И что будут делать инициативные и ответственные люди? Правильно, они будут выдавливать из себя гипотезы, самые страшные, очень хорошо согласующиеся с их точкой зрения. Отъявленные либералы во всём обвинят Путина. Отъявленные коммунисты во всём обвинят капитализм. Ну и так далее. Но вместо капитализма и Путина обычно есть вполне земной Вася Пупкин, который и является непосредственным виновником, и который всячески будет скрывать так нужную актуальную информацию. И что вы найдёте в итоге? Ничего.

Другой вариант - вас информацией снабжает ЦРУ. Ну тогда понятно, вы что-то найдёте. Но задумаемся, а для чего ЦРУ вас снабжает информацией? Цель одна - влиять на политику в интересах начальства из этого самого ЦРУ. И вы - просто инструмент в руках сильных мира сего. Вам нравится ходить у них в шестёрках? Хотя если вы отъявленный либерал, то да, здесь споров быть не может.

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

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

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

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

А почему максимум 100 пользователей? Это не более 10 примитивных операций в секунду. Нормальные системы могут в 100 и более раз больше.

То есть 1С в 100 и более раз медленнее нормальных систем? Вместо одного сервера потребуется содержать не только парк из сотни железяк, но к ним ещё и кучу совсем недешёвой обслуги. И всё исключительно ради постижения радости работы с 1С. Правильно?

Ходьба на полусогнутых - самый неэффективный способ передвижения. В большинстве мест сложного рельефа нет, значит ноги вообще не нужны. В итоге хоть у одной модели ноги наконец оторвали и заменили колёсами. Осталось оторвать ненужное украшение в виде чего-то, напоминающего голову. Тело тоже "человекоподобным" делать совершенно нет нужды, к тому же ещё и негнущимся.

Итог - единственное применение - игрушки. Полезные роботы будут на колёсах, без глупо выглядящих человекоморфизмов, но с парой, а то и больше, специализированных манипуляторов с навесными приспособлениями. То есть обычный погрузчик, который давно ездит по складам, но легче и с более адаптивными манипуляторами. Хотя "легче" - необязательно. Скорее будут модульные манипуляторы, навешиваемые на любую подвижную платформу, включая двуногих приматов. А всё остальное - оставьте детям, но даже им быстро надоест.

Добавлю жару.

Следствием перехода к бесконечным множествам с подходами, применяемыми к конечным, является проблема ликвидации противоречий по всему дереву вывода, опирающемуся на способы работы, заимствованные от конечных множеств при указанном переходе.

Это общая формулировка, но есть и конкретика.

Как известно, бесконечные множества делят на множества разной мощности, обозначаемые кардинальными числами. Начало деления положил Кантор, предложив теорему, показывающую отличия счётных множеств от несчётных. Напомню, что теорема Кантора была им показана до выявления известного парадокса "множества всех множеств", приведшего к корректировке аксиоматической теории ZF. Соответственно, Кантору простительно не обращать внимание на некоторые тонкости, которые приводят к противоречиям вида "если в множество всех множеств включаем самоё себя, то это уже другое множество, которого нет в множестве всех множеств". Но после уточнения аксиоматики ZF математикам стоило обратить внимание на дерево вывода с участием бесконечностей.

Конкретно по теореме Кантора. В ней указывается способ конструирования бесконечных последовательностей нулей и единиц, не принадлежащих некому множеству всех множеств (ничего не напоминает?) бесконечных последовательностей нулей и единиц. Там каждой двоичной строке ставится в соответствие целое число. А потом показывается, что можно создать ещё одну строку, которой в множестве нет. Но давайте вспомним, что в множестве присутствуют целые числа. Одно число к одной строке. И невозможность добавить в множество новое число (через добавление новой строки) говорит нам о противоречии - целых ведь бесконечное количество, почему их нельзя добавить? Или с самого начала не стоило говорить о "всех" множествах? То есть о всех целых, по сути. Ведь имея сразу все целые, их можно, например, сложить и получить новое целое, которого нет в множестве "все целые".

Это такое следствие отсутствия конца у бесконечностей. Корень проблемы там во фразе "множество всех множеств". Вот этот вот "всех" сразу включает туда бесконечность, у которой нет конца. И мы чуть выше уже поняли, что если работать со словом "все", то и биекция бесконечностей становится недоказуемой. Но в теореме Кантора именно слово "всех" присутствует в полный рост.

Зайдём с другой стороны. Если найдётся способ нумерации вещественных чисел (которые один к одному соответствуют возможно бесконечным двоичным строкам), то мы получим счётное множество, которое по теореме Кантора считается несчётным, то есть противоречие.

Способ такой: возьмём произвольное вещественное число, сопоставим ему целое, например 1. После любого количества таких операций, при соблюдении условия уникальности сопоставляемых целых чисел, мы получим пронумерованное (счётное) множество вещественных чисел. И ничто нам не мешает так нумеровать любое другое вещественное число. То есть для любого вещественного мы можем указать целую пару. Не для всех, а для любого - это важно, как мы поняли выше. Обратно: возьмём произвольное целое. Проверим, есть ли это целое в составленном ранее множестве пар. Если нет - добавим, присоединив к нему произвольное вещественное, а если есть - мы нашли точное отображение. В случае добавления вещественного мы тоже нашли однозначное отображение, поскольку эта пара так же добавляется в множество пар и не даст нам сопоставить уже выбранным вещественным новое целое, или новому целому другое вещественное. Опять получаем ситуацию, когда любому произвольному целому можно однозначно сопоставить вещественное. Работает в обе стороны. Значит множество вещественных - счётно.

Как теперь быть с противоречиями?

Information

Rating
3,055-th
Registered
Activity