Просмотр полной версии : Инвариантное представление сложности систем
illusion
31.08.2011, 14:55
Предлагаю подумать на тему, а не существует ли такое универсальное представление - описание любых сложных систем? Нельзя ли разработать такой универсальный язык описания любых систем?
Ну например вот есть русский язык, на нем один человек может другому объяснить принципы работы любой системы, НО этот язык не понимают микропроцессоры и иностранцы.
Идея в том что бы разработать некое инвариантное необходимое и достаточное описание сложности для которого можно было бы создать отображения на любой естественный язык или язык программирования.
Я меня уже есть наработки в этом направлении, но один в поле не воин.
У кого какие мысли? что бы могло стать элементарным кирпичиком для построения концепций?
Тезис первый. Из элементов "2и-не" можно собрать любую схему. Смысл универсального языка, если на что-либо конкретное описывать не практично... Теоретически доказать, что все сделать возможно, и ничего на нем не делать...
Тезис второй. Человек - существо не логичное и не детерминированное. И человеческие языки отражают эти свойства. Современные машины не смогут общаться с людьми, не в языке тут дело.
illusion
31.08.2011, 17:51
1. да можно собрать, но это сложный элемент, и не единственно возможный. Вопрос в чем описывать сложность или представление данного элемента, и в чём описывать взаимосвязи данных элементов. + так же необходимо предусмотреть иерархичность и повторное использование концепций (как модули в VHDL)
Вообще любую логическую схему можно эквивалентно представить программой для микропроцессора, так же верно обратное, более того можно варьировать границу между аппаратной и програмной реализацией.
Но всё это является реализацией, я же пока хочу разработать язык описания, из которого например генерировать аппаратную или програмную реализацию
2. Не важной какой человек, как только требуется строгость в описании то появляются четкие спецификации. Да и потом если запустить процесс в цикле: ввод информации от человека -> сообщение об ошибках компиляции, то в конечном итоге получится чёткое описание работы системы на русском языке например понятное и компьютеру и человеку.
Мы общаемся совсем не четкими описаниями, нам они не нужны. Зато они нужны машинам.
illusion
31.08.2011, 19:04
Да вобщем то вопрос не в том что бы научить компьютер понимать русский язык, а в неком инвариантном представлении описания сложных систем, это представление например мог бы исполнять какой нибудь микропроцессор или виртуальная машина напрямую, либо конвертировать его в исходники на любом языке программирования, либо в естественные языки, не факт конечно что это будет красивым описанием но чётким и понятным.
illusion
31.08.2011, 19:04
Либо в логическую схему для аппаратной реализации...
уже фиг зна сколько тысяч придумали.
НО этот язык не понимают микропроцессоры и иностранцы.
Т.Е. пока не заставили выучить. Решение: заставить.
это представление например мог бы исполнять какой нибудь микропроцессор или виртуальная машина напрямую,
что исполнять то? как можно исполнять описание системы?
Естественные языки, они не для описания рождались и плохо к описанию приспособлены. Это языки обмена сигналами. Сигнал и не должен содержать в себе полной информации об обстановке.
Так мы и общаемся, только сигналы стали сложней, по сравнению с первобытным человеком. Чтобы обрисовать полную картину, надо свои мозги вывихнуть, без необходимости этого никто не делает.
Невозможно вынуть спецификацию из текста для людей, в этом тексте ее нет. Текст + весь жизненный опыт читающего нужны для получения информации. Машина не живет в нашем мире, у нее нет необходимого опыта, не поймет она описания, для людей предназначенного.
Предлагаю подумать на тему, а не существует ли такое универсальное представление - описание любых сложных систем?
Завтра появятся новые принципиально системы.
Что делать будем?
ОБЬЯВИМ НЬЮ КИБЕРНЕТИКУ ЛОЖНОЙ НАУКОЙ7
Технолог
01.09.2011, 08:38
Предлагаю подумать на тему, а не существует ли такое универсальное представление - описание любых сложных систем?
Любое описание сложной системы - это модель, некая карта, которая по определению не равна описываемой системе. Модель создается для определенных целей, и точность описания задается этими целями.
Следовательно, универсального представления для описания любых сложных систем не существует - в рамках познаваемого человеком.
Языки тоже создаются для управления поведением субъектов языка в определенных условиях для определенного класса объектов. Абсолютно универсального (сиречь идеального) языка "для всех и каждого" не существует.
ИМХО :D
Любое описание сложной системы - это модель, некая карта, которая по определению не равна описываемой системе. Модель создается для определенных целей, и точность описания задается этими целями.
точно: "карта не территория" - просто классика - из психологии(NLP).
Нахождение прямых аналогий компьютерных дел в психологии на мысли не наводит? ;)
Следовательно, универсального представления для описания любых сложных систем не существует - в рамках познаваемого человеком.
а может быть наоборот - просто их существует великое множество, ну например как человеческих или компьютерных языков?
(заглянем чуть дальше - должна существовать еще и какая-то "общая база" для них, но это уже след этап. Кстати тот-же gcc так и построен как универсальный - один кодогенератор и разные синтаксические анализаторы на разные языки)
Языки тоже создаются для управления поведением субъектов языка в определенных условиях для определенного класса объектов. Абсолютно универсального (сиречь идеального) языка "для всех и каждого" не существует.
на практике большинство языков сильно урезаны до уровня потребностей практических задач для которых они применяются, однако не вижу никаких проблем включить в язык все виды описаний и методы... (главное тут не получить еще одного уродца вроде PHP или Ц - все-же главное в языке его удобство и понятность для человека, а компьютеру все равно)
Естественные языки, они не для описания рождались и плохо к описанию приспособлены. Это языки обмена сигналами. Сигнал и не должен содержать в себе полной информации об обстановке.
а может быть на человеческие языки просто влияет особенность "аппаратуры"(нейрофизиологии) того "компьютера"(человека), на котором они выполняются?..
Например - из языка очень быстро вымирают и изменяются не удобные для произношения или понимания в текущей системе(языке, культуре) слова, даже если они заимствованны готовыми из другого языка(где их форма обычна и удобна для носителей этого языка).
То есть, имеем влияние(через удобство) как "аппаратуры"(некоторые звуки не удобны к произношению человеком в любой культуре - из-за физиологических особенностей речевого аппарата), так и "операционной системы" и среды(язык и семантический уровень) - то что не удобно или не понятно отбрасывается, остальное может прижиться.
В остальном человек мало отличается от информационных систем вроде компьютеров - просто немного другая форма и элементная база для реализации, чем полупроводники.
Так мы и общаемся, только сигналы стали сложней, по сравнению с первобытным человеком. Чтобы обрисовать полную картину, надо свои мозги вывихнуть, без необходимости этого никто не делает.
скорее это влияние элементарных ограничений вроде 7+-2 и низкой скорости работы нейронов, по сравнению с полупроводниками.
(кстати, ограничение объема кр памяти похоже имеет глубокий смысл - но об этом потом - это не только аппаратно "намекает" на определенные оптимальные стратегии решения задач, но и ограничивает возможности на других задачах как побочный эффект, но это вопрос выживания и есст отбора)
Невозможно вынуть спецификацию из текста для людей, в этом тексте ее нет. Текст + весь жизненный опыт читающего нужны для получения информации. Машина не живет в нашем мире, у нее нет необходимого опыта, не поймет она описания, для людей предназначенного.
Дак и в машинных языках все точно так-же - если например нет библиотеки с описанием функций, то вызов этих функций машина точно так-же не поймет, как и человек не известное ему слово...
А вообще, принципиальных проблем для имитации любых реакций человека нет - в конце концов мощностей современных вычислительных систем уже начинает хватать даже для тупой полной эмуляции человека, так что теорему можно считать доказанной. (другое дело что имитировать человека с его глюками большого смысла нет - компьютеры методы делают ту-же работу и быстрее и без ошибок)
Т.Е. пока не заставили выучить. Решение: заставить.
что исполнять то? как можно исполнять описание системы?
как известно из теории программирования, практически любой язык можно интерпретировать, а вот наоборот компилировать можно только узкий ограниченный класс специально созданных языков, поддающихся компиляции(и они как правило сильно ограничены ради этого).
Интерпретация конечно чуть-чуть медленнее, но при современной избыточности мощности современных компьютеров на порядки, в принципе это использовать уже проблем нет(если нужно конечно).
Так что теоремы о возможности можно считать доказанными, остается только обосновать необходимость ;)
Мы общаемся совсем не четкими описаниями, нам они не нужны. Зато они нужны машинам.
"проблемы" были только при сопоставлении человека и алг языков вроде Бейсика-Си-Фортрана, но даже древнии лисп и пролог могут вести себя куда замысловатее любого человека(даже клиента психушки ;) ), за что и имеют ограниченное применение, кстати.
Но в принципе написать модель человека принципиальных проблем нет - тут самое главное понять в каких-же терминах и методах работает человек. Реализовать эти-же методы на компьютере не сложно.
Vladimir
PS кстати, на изучение психологии на базе построения компьютерных моделей я намекал еще в фидо (даже намекал что можно замутить откр проект для этого, но народу похоже лень было делать что-то практически).
А так принципиальных проблем нет - можно сделать открытый проект и параллельно с написанием модели человека(по NLP или соционике, например - даже эти простые модели уже достаточно не плохо описывают особенности человека) проводить вычислительные эксперименты и сравнивать с поведением настоящего человека - это даст возможности для исследования, коли мы пока не можем прочитать все содержание нервной системы напрямую, многие исследования и открытия можно провести таким образом, на моделях.
PPS а вообще это напоминает задачи аппроксимации в математике и технике - в принципе теоретически любую функцию можно представить любыми другими, но наиболее точное(и простое!) решение получается только когда аппроксимация делается наиболее подходящим подобным классом функций. То есть вопрос только в правильной структуре моделей для отображения задачи в компьютере - фортран или Ц плохо подходят, лисп или пролог уже лучше, а психологические модели из NLP и соционики описывают человека достаточно точно, не смотря на то что модели очень сильно упрощенные, но у них более подходящая структура, отсюда и более точный результат при меньшей сложности и затратах.
illusion
01.09.2011, 11:47
Суть в том что бы заставить компьютер исполнять модель непосредственно, тогда описание станет самой системой, а далее скручивая диаметр спирали итерационной разработки в ноль довести исполняемую модель до требуемого уровня соответствия.
Итак мы подошли к тому что инвариантное представление сложности системы есть её модель, которая при достаточном соответствии и непосредственном исполнении (активации потоками управления) становится САМОЙ системой.
illusion
01.09.2011, 11:58
1. Модель === система при достаточном соответствии и активации потоками управления (модель системы исполняемая некой виртуальной машиной == системе)
2. должен быть некий элементарный и универсальный кирпичик для построения модели, одинаково подходящий для описания как объектной структуры так и алгоритмов поведения системы
3. очевидно модель должна быть иерархичной в структурном и концептуальном отношениях для обеспечения повторного использования модулей и концепций, это обеспечит предельное сжатие до необходимого и достаточного уровня сложности
Не знаю, только запахи как кирпичик в голову пришли, ну их и комп распознает, и универсальность какая-то.
illusion
01.09.2011, 12:18
Нужно не свойство, а концептуальный кирпичик сути. Причём не маленький и не большой, желательно вообще без свойств, потому что свойства это уже описание модели, а значит не подходит по требованию элементарности. Даже элемент не подходит, так как подразумевает иерархию агрегирования, а у нас есть ещё и иерархия концепций.
illusion
01.09.2011, 12:22
Нужен мощный микроскоп для рассмотрения кирпичиков концепций:) Хотя телескоп также хорошо подойдёт!
illusion
01.09.2011, 12:44
Время это всего лишь метрика для измерения длины единственно возможного (допустимого) криволинейного пути в пространстве состояний системы. Ощущение времени это просто изменение субъективного восприятия проекции модели системы в точку на пути при движении по нему. Хотя на самом деле в системе нет никакого движение, есть просто её полное описание.
Тогда зачем другую создавать, если в обеих движения не будет?
illusion
01.09.2011, 12:57
НЕ важно есть движение или нет, мир не изменится от этого, меняется наше представление о нём.
Щас важно понять что могло бы послужить кирпичиком
Ну вот подпись Ваша что ли имеется в виду?
illusion
01.09.2011, 13:11
- В колодце нет никого?
- Никого...никого...никого...
- А может туда гранату бросить?
- А может ненадо ... ненадо ... ненадо.....
А при чем тут этот анек, если ищутся кирпичики концепций? Я серьезно спросил. Потому что всякие кванты-нейтрино и прочее это было уже, как основа концепций. И сверхчеловек был, но не Бог.
illusion
01.09.2011, 13:25
Я бог потому что сознание одно на всех и оно едино, потому что оно не колличественно а концептуально. Но это лирика и пафосный бред:)
Если мы возьмём ООП то там кирпичиком с одной стороны должен стать самый базовый класс и одновременно самый примитивный объект, если же мы возьмём процедурное программирование то там кирпичиком должна быть элементарная единица алгоритма (процесса), т.е. некое действие.
illusion
01.09.2011, 13:32
Иерархия объектов имеет объекты и связи между ними, так же иерархия алгоритма представляет действия и связи между ними. Но тут мы имеем 4 типа кирпичиков. А это просто никуда не годится!
Так...теперь у меня кирпичики и вовсе раздвоились...я так понял что ищется один (из старт-поста). Знал бы, что там про программирование)) а так, если один, то объект = действию =базовому классу? или два? или три?
illusion
01.09.2011, 13:35
Надо либо унифицировать, либо синтезировать, либо и то и другое сразу, но так что бы кирпичики упростились и свелись к одному.
Надо сделать так что бы кирпичик обладал либо всеми свойствами сразу (но это перегруз примитива), либо не обладал никакими, а его семантика определялась тогда контекстом его использования в модели.
Технолог
01.09.2011, 13:40
Время это всего лишь метрика для измерения длины единственно возможного (допустимого) криволинейного пути в пространстве состояний системы. Ощущение времени это просто изменение субъективного восприятия проекции модели системы в точку на пути при движении по нему. Хотя на самом деле в системе нет никакого движение, есть просто её полное описание.
illusion, ты ведь прямо сейчас создаешь философскую систему - некую модель реальности, используя очень разные понятия - "время", "система", "состояние", "движение", "ощущение"... А это ничего, что ты используешь понятия из аппарата физики, психологии и т.д., не утруждая себя дефинициями и примерами - что, собственно имеется в виду? А то ведь начиная с древнегреческих философов было принято как -то сперва ввести слушателей в курс дела...
Надо сделать так что бы кирпичик обладал либо всеми свойствами сразу (но это перегруз примитива), либо не обладал никакими, а его семантика определялась тогда контекстом его использования в модели.
То есть чтобы ментальная масса кирпичика была равни или нулю, или бесконечноости... А может, истина где-то посередине?
illusion
01.09.2011, 13:44
Я хочу что бы люди осознали сами. Ментальная масса кирпичика действительно может быть разной, более того, сделаю подсказку, это есть не внутренне свойство кирпичика а внешнее, это конечно может вывернуть сознание наизнанку, но оно стоит того. И вообще это нихрена не кирпичик :) Это просто попытка ухватить колечко за конец которого у него по определению нет.
Технолог
01.09.2011, 13:51
Я хочу что бы люди осознали сами.
Что осознали? И зачем это нужно?
Ментальная масса кирпичика действительно может быть разной, более того, сделаю подсказку, это есть не внутренне свойство кирпичика а внешнее, это конечно может вывернуть сознание наизнанку, но оно стоит того. И вообще это нихрена не кирпичик :) Это просто попытка ухватить колечко за конец которого у него по определению нет.
Можешь повторить более конкретно? Я ничегошеньки не понял из этой фразы. Что мне делать-то?
illusion
01.09.2011, 13:56
На данный момент примерно понятно на какие роли должно подходить это нечто. Допустим мы не сможем назвать это нечто, пусть это будет некой концепцией, даже можно сказать так, эта хрень должна удовлетворять неким концептуальным требованиям:
1. оно должно позволять неким своим количеством описать объектную структуру
2. оно должно позволять неким своим количеством описать процесс функционирования
3. эта хрен должна быть принципиально иерархичной
4. до кучи эта хрень должна быть если потребуется и элементом и связью, потому что вся модель будет состоять только из некоего количества вот этого нечто.
illusion
01.09.2011, 13:58
Вобщем то и не обязательно придумывать название для этой хрени отражающей её суть, достаточно чтобы она обладала этими свойствами.
Технолог
01.09.2011, 14:00
На данный момент примерно понятно на какие роли должно подходить это нечто. Допустим мы не сможем назвать это нечто, пусть это будет некой концепцией, даже можно сказать так, эта хрень должна удовлетворять неким концептуальным требованиям:
А эта хрень должна иметь свойства материи или информации?
illusion
01.09.2011, 14:01
Зачем это надо?
Мы это никогда не теряли и всегда использовали в процессе познания, и нам не надо это находить, просто достаточно это осознать.
illusion
01.09.2011, 14:02
С точки зрения квантовой физики всё есть квантовая информация, поэтому нет разницы.
illusion
01.09.2011, 14:04
У всех людей одинаковый принцип представления концепций в мозге, можно сказать что для нас это и есть искомый инвариант. Более того, люди врятли смогу найти другой инваринт.
illusion
01.09.2011, 14:07
>>А эта хрень должна иметь свойства материи или информации?
Главное что эта хрень ДОЛЖНА уметь иметь свойства.
Незарегистрированный
01.09.2011, 14:26
Все эти умственные упражнения может и полезны для тренировки абстрактного мышления, но какая практическая польза от этого инвариантного представления.
Многие сложные системы прекрасно описываются словами, картинками, чертежами, которые многим понятны.
>>не обязательно придумывать название для этой хрени
Как это необязательно придумывать название? Как тогда ссылаться на эту хрень?
>>достаточно чтобы она обладала этими свойствами
Откуда взяты эти свойства? Для чего они? Почему именно такой набор.
Например, разные операции задают разные линейные пространства, соответсвенно разные требования к сущности дадут разные сущности.
Применительно к программированию, причём тут вообще свойства, объекты и прочее. В программировании есть данные и алгоритмы обработки этих данных. А вот уже в ООП данные представляют в виде объектов с набором свойств и методов (алгоритмов), а в ФЯ есть функции (алгоритмы), которые работают с данными представленными в виде кортежей, списков и др. удобном для обработки виде -- типы и объекты тут уже не играют той роли как в ООП.
Зачем вообще искать что-то базовое и неделимое. Нужен язык для описания данной конкретной системы -- создай для него конкретный удобный язык (DSL) и используй.
Незарегистрированный
01.09.2011, 14:36
>>эта хрень должна удовлетворять неким концептуальным требованиям:
Почему именно такие требования? Например разные условия определяют разные линейные пространства, соответсвенно разные требования создадут разные сущности.
Применительно к программированию, нету в нём никаких объектов и свойств. Есть данные и алгоритмы обработки этих данных. А вот уже в ООП есть типы, объекты со свойствами и методами (алгоритмами), а в ФЯ есть функции (алгоритмы) и данные в кортежах, списках и проч удобном для обработке виде.
Зачем вообще нужен инвариантный язык. Нужно описать что-то -- используй существующий язык или создай удобный, понятный, конкретный язык для этого. Математики используют мат. формулы, химики свои формулы, в технике это чертежи.
Технолог
01.09.2011, 15:51
Я во многом согласен с незарегистрированным гостем. Любой язык, любая концепция существуют при взаимодействии вполне конкретных субъектов и объектов. Структура и свойства языка определяются и исчерпываются этими самыми объектами и субъектами, ограничивается ими и ограничивает их. Поэтому универсальных языков и моделй быть не может.
Мне кажется, что время все-таки не восприятие, а универсальная модель. оно программируется, восприятием в том числе, это раз. Оно замечаемо и классифицировано, причем универсально, на компьютерах, это два (с поправками, а кстати универсальность допускает поправки?). Оно и действие, т.к. "время идет" "прошло" "пришло" и т.д. Оно и количество "сколько у нас времени осталось?", оно и качество "это было хорошее время", оно и база "Рассудок, чего сам не сделаешь?" - "добавь мне еще лет сто"))). То есть и объект и субъект и действие.
illusion
01.09.2011, 16:27
Есть ЯОП, это метапрограммирование уже по сути. И это всё хорошо и хорошо что осознано, но я говорю не о универсальном языке (в рамках ЯОП это даже вредно), а о внутренней инвариантной форме представления системы. Систему естественно можно запрограммировать через ЯОП, я же говорю о том в каком виде будет храниться модель системы в процессе этого программирования.
Котавр: зачем вам вдаваться в суть времени? это путь на котором вы можете осознать что никакого пути нет. Вам не страшно?
illusion
01.09.2011, 16:29
я смотрю люди уже подошли к практической философии. В ней ключ, проверяемый на практике.
Котавр: зачем вам вдаваться в суть времени? это путь на котором вы можете осознать что никакого пути нет. Вам не страшно?
Спасибо за заботу, я очень тронут вниманием, страшно аж жуть:D
но только я давно уже это осознал, и кроме того, в отличие от большинства присутствующих тут, еще и практикуюсь в этом часто)))
illusion
01.09.2011, 16:46
Главное красиво играть:)
illusion
01.09.2011, 16:53
Может действительно начать с того для чего нужно это инвариантное представление?
Время — это всего лишь необратимое течение, внутри которого происходят все существующие в бытии процессы, являющиеся фактами.
illusion
01.09.2011, 17:44
Ладно подождём людей которым это нужно, проект всё таки интересный.
ищщо один теоретик, создающий всеобъемлющую концепцию всего
а заводы стоЯт!
ищщо один теоретик, создающий всеобъемлющую концепцию всего
а заводы стоЯт!
кстати, о заводах ;) Есть желание обсудить?..
А то им скоро ппц может придти - репрап крадется незаметно ;)))
Надо либо унифицировать, либо синтезировать, либо и то и другое сразу, но так что бы кирпичики упростились и свелись к одному.
Надо сделать так что бы кирпичик обладал либо всеми свойствами сразу (но это перегруз примитива), либо не обладал никакими, а его семантика определялась тогда контекстом его использования в модели.
стоп. А зачем вообще кирпичи?
Я конечно понимаю, людям с ЧЛ(коих >90%) сложно понять свойства и функции в отрыве от объектов(за счет чего эта диверсия с внедрением ООП и удалась), но зачем-же повторять старые ошибки?..
Мне это напоминает метод письма, когда для передачи информации использовались предметы - то есть чтобы передать слово "кирпич" (вместо того чтобы его где-то написать, например) приходиться тащить сам кирпич...
Есть какие-то базовые свойства, связи(в общем логика) и тп - вот это и есть базовое - и идеально было бы научиться передавать это без привязки к каким-то "кирпичам".
На практике конечно приходиться для реализации применять какие-то "кирпичи" понятные компютеру, но надо же понимать что это просто неоходимость и побочный эффект, а не цель...
Vladimir
PS как там ИКР по ТРИЗу? ;) Это когда ничего нет, а функции как-то сами выполняются...
illusion
02.09.2011, 19:35
Кирпичи как раз не нужны, это так просто условное неподходящее название.
Я могу сказать ещё такое свойство, если у нас есть некая модель которая по своим свойствам должна быть иерархическая, то и её элементы должны быть такими же моделями, и наоборот сама модель должна быть таким же элементом. Элемент тоже неподходящее название, лучше сущность.
illusion
02.09.2011, 19:44
Можно пока сделать следующее резюме:
1. Модель состоит из неких сущностей
2. Сущности являются такими же моделями, а модель является такой же сущностью
3. Сущности должны исполнять следующее роли: объект, свойство, связь, действие, и т.д. но это определёется не её внутренними свойствами (у нее нет вообще ствойств), а контекстом использования этой сущности в модели (таким образом ментальная масса будет внешним свойством)
Это избавит программиста думать над тем является это объектом или процессом, оно будет тем чем является, а не тем чем называется, надо только успевать правильно называть:)
здраствуй тормозной софт
недумающих программистов уже достаточно
а если мозги включить? ;)
здраствуй тормозной софт
интерпретация замедлит всего в несколько раз, тогда как избыточность мощности современных процессоров уже несколько порядков...
недумающих программистов уже достаточно
есть такая буква - вот потому и надо чтобы вместо этих идиотов начал думать софт. Тогда через некоторое время программисты вообще станут не нужны - заменить их автоматизированными программами для генерации программ принципиальных проблем нет - в принципе со временем можно написать голосовые интерфейсы, воспринимающие ТЗ заказчика напрямую, ну а всякие генераторы и преобразователи программ и так давно существуют, не проблема короче...
Vladimir
PS а с чего ты взял что конечный продукт будет тормозной?
После нескольких тормозных циклов выполнения в режиме полной интерпретации умный интерпретатор догадается, что алгоритм достаточно приметивный чтобы его можно было реализовать проще и быстрее - запустится аналитический преобразователь программ, и через долю сек получим оптимизированный код уже не только для CPU, но и всех аппаратных сопроцессоров и даже FPGA какие только есть в компьютере - просканировать спецификацию аппаратуры компьютера и подобрать подходящий для реализации аппаратный блок ума много не надо, а софт для генерации и оптимизации кода для ФОП и даже FPGA и так давно уже существует, запустить не проблема...
(при этом по сравнению с самым крутым обычным оптимизирующим компилятором получаем миниум 5-кратный рост скорости за счет использования ФОП, и практически не ограниченный рост скорости за счет замены идиоцких тормозных алгоритмов от идиотов-программистов на оптимальные)
PPS уже ищешь себе другую работу? ;)
YarikMudry
03.09.2011, 10:05
Звучит револючионно. Just do it!
а если мозги включить? ;)
для этого думать надо
интерпретация замедлит всего в несколько раз, тогда как избыточность мощности современных процессоров уже несколько порядков...
и чо? недумающие программисты уже использовали алгоритмы O(n!) вместо O(n*ln(n)). лично исправлял. недумающие программисты пользуются исключениями для управления codeflow.
а язык интерпретируемый... ну я на таком пишу. и шо? в 70-х на таких писали. и вполне быстрые программы создавали. в начале 90-х игрушку-бродилку вполне себе на интерпретируемом сделали. не язык определяет скорость.
есть такая буква - вот потому и надо чтобы вместо этих идиотов начал думать софт. Тогда через некоторое время программисты вообще станут не нужны - заменить их автоматизированными программами для генерации программ принципиальных проблем нет - в принципе со временем можно написать голосовые интерфейсы, воспринимающие ТЗ заказчика напрямую, ну а всякие генераторы и преобразователи программ и так давно существуют, не проблема короче...
знаешь, я буду очень рад твоей пропаганде. пока будет так - мне всегда найдется место и у меня всегда будет скромный бутер. без хлеба. икру придется мазать на сыр.
Vladimir
PS а с чего ты взял что конечный продукт будет тормозной?
После нескольких тормозных циклов выполнения в режиме полной интерпретации умный интерпретатор догадается, что алгоритм достаточно приметивный чтобы его можно было реализовать проще и быстрее - запустится аналитический преобразователь программ, и через долю сек получим оптимизированный код уже не только для CPU, но и всех аппаратных сопроцессоров и даже FPGA какие только есть в компьютере - просканировать спецификацию аппаратуры компьютера и подобрать подходящий для реализации аппаратный блок ума много не надо, а софт для генерации и оптимизации кода для ФОП и даже FPGA и так давно уже существует, запустить не проблема...
(при этом по сравнению с самым крутым обычным оптимизирующим компилятором получаем миниум 5-кратный рост скорости за счет использования ФОП, и практически не ограниченный рост скорости за счет замены идиоцких тормозных алгоритмов от идиотов-программистов на оптимальные)
PPS уже ищешь себе другую работу? ;)
хехе. удачки.
у меня есть опыт сравнения бинарнокомпиленного апача, отдающего статику и сляпанного на коленке стерверка, интерпретируемого, отдающего странички из базы данных. так вот - скорость оказалась одинаковой.
так шта - работа ищет меня. а я выбираю.
illusion
05.09.2011, 10:47
Вот тут есть некие потуги:
http://www.rsdn.ru/article/philosophy/LOP.xml
sskorykh
05.09.2011, 16:23
После нескольких тормозных циклов выполнения в режиме полной интерпретации умный интерпретатор догадается, что алгоритм достаточно приметивный чтобы его можно было реализовать проще и быстрее - запустится аналитический преобразователь программ, и через долю сек получим оптимизированный код
Поздравляю, ты изобрёл JIT-компиляцию. Опоздал только. Она уже используется в Java и .Net.
sskorykh
05.09.2011, 16:26
Тогда через некоторое время программисты вообще станут не нужны - заменить их автоматизированными программами для генерации программ принципиальных проблем нет - в принципе со временем можно написать голосовые интерфейсы, воспринимающие ТЗ заказчика напрямую
Программы могут генерировать программы. Но кому будет нужен такой результат? Программам? В голосовые интерфейсы верю, а в заказчика, способного выдать исчерпывающую постановку задачи - нет.
illusion
05.09.2011, 18:31
У меня JIT тоже уже практически реализована в одной из реализаций VM. Ничего тут изобретать не надо, первый проход интерпретация и компиляция, дальше исполняется скомпилированный код. Но это просто детали реализации.
http://habrahabr.ru/blogs/development/127635/
sskorykh
05.09.2011, 20:48
На самом деле в JVM всё гораздо сложнее. Весь байт-код в нативный никогда не компилируется. Сперва собирается статистика исходя из активности работы программы. Решение об оптимизации по умолчанию принимается после 1500 итераций. И если в каждом запуске программа отрабатывает немного по другому алгоритму, то и результаты JIT-компиляции могут быть другие. Какова будет оптимизация зависит еще и от того, насколько программист следовал стандартным шаблонам проектирования. Отсюда мнение о том, что замеры производительности Java-программы не имеют смысла, если не проводился "прогрев" JVM. Очень интересная статья на тему находится здесь:
http://habrahabr.ru/blogs/java/122061/
Вот тут есть некие потуги:
http://www.rsdn.ru/article/philosophy/LOP.xml
гг
dsl. в чистом виде.
уровень 70-х.
illusion
07.09.2011, 10:57
Да мало конечно щас программистов стало, в основном работники...
Поздравляю, ты изобрёл JIT-компиляцию. Опоздал только. Она уже используется в Java и .Net.
ну, skype вон тоже вроде как изобрели, даже несколько ярдов баксов на нем нагрели - тем не менее как видешь хрень практически не рабочая и чую что скоро придется начинать изобретать его с нуля...
Что касается компиляции в нативный код промежуточного - то это очень низкий уровень - сравнивать с возможностями аналитических систем вообще как-то даже не прилично... Хотя да, чем-то это похоже - ну примерно такая-же диверсия как подмена методов "методами"-тупым кодом в ООП. Слова вроде с виду правильные - но суть другая...
Vladimir
Работает на vBulletin® версия 3.8.9 Beta 3. Copyright ©2000-2024, Jelsoft Enterprises Ltd. Перевод: zCarot