|
|
Регистрация Восстановить пароль |
Регистрация | Задать вопрос |
Заплачу за решение |
Новые сообщения |
Сообщения за день |
Расширенный поиск |
Правила |
Всё прочитано |
|
|
Опции темы | Поиск в этой теме |
02.10.2012, 18:25 | #31 | ||||||
Старожил
Регистрация: 04.02.2009
Сообщений: 17,351
|
Цитата:
Цитата:
Цитата:
Цитата:
Цитата:
Цитата:
Маньяк-самоучка
Utkin появился в результате деления на нуль. Осторожно! Альтернативная логика |
||||||
02.10.2012, 18:37 | #32 |
В стагнации
Участник клуба
Регистрация: 29.07.2011
Сообщений: 1,303
|
С такой радостью читаю эту тему Столько борьбы Я, в общем-то, даже понятия не имел о чем она начиналась, однако по мере дискуссии узнал немного нового
А так... Scheme is a very simple language, much easier to implement than any other language. © Wiki
E-mail: pashaworking@gmail.com | ICQ: 479914426 | Skype: moondearr
Понять, чего от тебя требует заказчик – это уже половина всей работы, а иногда и полностью выполненное задание. |
03.10.2012, 17:08 | #33 | |
Участник клуба
Регистрация: 21.11.2007
Сообщений: 1,692
|
Цитата:
|
|
04.10.2012, 06:58 | #34 | |
Старожил
Регистрация: 04.02.2009
Сообщений: 17,351
|
Цитата:
Маньяк-самоучка
Utkin появился в результате деления на нуль. Осторожно! Альтернативная логика |
|
07.10.2012, 13:51 | #35 |
минимакс
Участник клуба
Регистрация: 11.06.2008
Сообщений: 1,143
|
Чудные у вас, господа программисты, споры. Скажу не в тему. Мне по большому счету все равно что и как реализует тот или иной язык, или та или иная концепция.
Для меня все сводится к решению задачи. Я могу не знать новомодных тенденций. Я могу отстать от мира модных программ и реализаций. Мне это и не надо. Для меня важно сделать для клиента задачу так, чтобы она делала то, что нужно ему. А для этого я могу использовать даже в эмуляции fox pro for dos или salary, которую никто и не знает. Я могу не знать всех стандартных решений. Поэтому я заново реализую сортировку, работу с деревьями и прочее. Я не знаю парадигм, я делаю все сам, по возможности используя что-то кем-то реализованное. И мне, по большому счету все равно что и как умеет язык. Он умеет стандартные функции - и хорошо, все остальное я сделаю сам. Пускай это изобретение велосипеда. Я даже скажу больше. Если бы люди не стермились изобрести велосипед прогресс стоял бы на месте. А вот уходить в универсализм на мой взгляд глупо и слишком сложно. Зачем уложнять, если достаточно частных решений. Для каждой задачи должно быть свое решение и не обязательно правильно и универсальное А по поводу кривых программистов - согласен, сам такой. В том смысле, что универсальность, высота языков высокого уровня, не знание каких-то моментов расслабляют. Мысли в духе - "сборщик системы подберет". "а памяти и так много, пользователь еще купит". " диск большой. зачем удалять временные файлы". и прочее. Это я к чему - обилие возможностей развращает мысль, не утруждая поиском оптимальных решений. Иногда надо быстро, но не оптимально. А так - ваш спор сродни спору адептов белой и черной магии. Прошу не принимать буквально на свой счет. Никто из вас не белый и не черный. Просто они никогда не договорятся о методах, потому что изначально они находятся в конфликтной позиции. Так и у вас. С одной стороны в споре рождается истина. С другой - она настолько в области "высоких" материй, что не всем ясен его смысл и главный вопрос - в итоге-то что? Каждый останется при своем мнении и все? Или будет рождена новая идея и реализована?
и это пройдет...
Последний раз редактировалось grenles; 07.10.2012 в 13:56. |
08.10.2012, 22:27 | #36 | |
Старожил
Регистрация: 04.02.2009
Сообщений: 17,351
|
Цитата:
Маньяк-самоучка
Utkin появился в результате деления на нуль. Осторожно! Альтернативная логика |
|
14.11.2012, 10:44 | #37 |
Участник клуба
Регистрация: 21.11.2007
Сообщений: 1,692
|
В общем после некоторых размышлений и поставленной в жизни цели пришел к некоторой концепции языка программирования.
Программа пишет сама себя. Нечто сложное и невообразимое, но попробую немного описать что получилось. Язык должен максимально простым и лаконичным, но при этом должен быть мощным. Полное отсутствие костылей, т.е. постараться все обобщить до такой степени, чтобы к частностям можно было реализовать через общую конструкцию. В общем постарался взять понемногу от тех языков которые знаю и которые изучал поверхностно. 1. Всё - объекты 2. Всё доступно для изменения, даже возможность изменить сам язык 3. Динамическая типизация, не строгая 4. Сборка мусора 5. Классы обмениваются данными с помощью сообщений и никак иначе Думаю что идея наличия некоторого базового класса тут подойдет, т.е. каждый вновь описанный нами класс является наследником TObject по умолчанию. Также возможность динамически расширять объекты прямо во время выполнения. Т.е. если мы добавим новое поле или метод(обработчик сообщений) к TObject, то эти изменения примут все объекты. Возможность прямо на лету собрать новый объект из кусочков имеющихся. Возможность отменить действие, если то привело к появлению ошибки. Каждый объект обрабатывает сообщения в отдельном потоке и если в нем произойдет ошибка, то завершится только поток и к классу отправившему сообщение вызвавшее ошибку, будет отправлено сообщение об ошибки, чтобы тот предпринял меры. Сообщения тоже есть объекты, которые можно расширять и котором тоже можно посылать сообщения, а также можно послать сообщение самого себя самому себе. Конструкции if, for, while, рекурсия и т.д. реализуются с помощью сообщений и их обработчиков. Внутри одного обработчика могут быть другие обработчики и поля, в силу того что это тоже объект и их можно расширять и делать все что можно делать с обычным объектом. Объекты обработчики отличаются от обычных объектов, только указанием некоторого шаблона в соответствии с которым они могут принимать сообщения. Вновь созданный класс, также может являться обработчиком, который содержит другие обработчики и чтобы сообщению пробиться до самого глубокого обработчика, нужно пройти валидность у находящихся выше. И еще много чего, а также много чего не решено. Есть некоторые наброски синтаксиса. Пока затык с обработчиками, хотелось бы чтобы класс мог обработать сообщение исходят только из тех данных которые пришли в сообщении, без указании имени обработчика. Область применения: разработка интеллектуальных системы которые посредством самоизменения решали бы поставленную задачу. И не просто какую-то одну конкретную задачу, а большой спектр задач, которые между собой будут плохо связанны, например написание ИИ для игры в шашки, шахматы, го и крестики нолики реализуются одним алгоритмом, который самомидифицируется под входные данные и ограничения. В первую очередь нацеливаюсь для простого внедрения классических нейронок и алгоритмов обучения с подкреплением, которые будут использоваться для самоорганизации(или даже написании с нуля некоторого кода) с целью решить поставленные задачи. Цель: разработка алгоритмов которые реализуют другие алгоритмы в соответствии с входными данными. Тут можно сказать, что попытка реализации точного(в силу того что он выполняется на ПК) алгоритма динамического программирования. В силу того что я написал выше, важно чтобы каждый объект имел некую дополнительную информацию, которую приложение может использовать для самоорганизации. Самый близкие языки к данной идеи это Smalltalk(Squeak), Ruby, PHP, Python, Lisp, Erlang... Спасибо. |
14.11.2012, 21:32 | #38 |
Старожил
Регистрация: 04.02.2009
Сообщений: 17,351
|
for паскалевский или сишный?
Маньяк-самоучка
Utkin появился в результате деления на нуль. Осторожно! Альтернативная логика |
15.11.2012, 00:01 | #39 | |
Участник клуба
Регистрация: 21.11.2007
Сообщений: 1,692
|
Цитата:
Каждый объект реализует идею сопоставления входного сообщения с образцом, что-то типа такого(из Ela): Код:
Код:
Также хотелось бы убрать и модификаторы доступа, у всех будет возможность прострелить себе ногу, но и также у всех будет возможность отменить изменения. Т.е. расширяя какой либо объект, который был реализован уже давно и не вами, вы рискуете нарушить работу всей системы, поэтому хотелось бы предусмотреть некое подобие инкубатора, попробовали, протестировали, внедрили. При этом программа продолжает работать, а какой-то отдельный поток проводит эти эксперименты и даже если происходит фатальная ошибка, то приложение не крашится, а убивается только поток испытуемого класса, а мы получаем отчет по которому можем сделать некоторые выводы.(потоки камикадзе, это из Erlang) Как-то так все это видится, но вплотную к этому еще не подходил, совсем нет времени: Код:
Можно и такие конструкции мутить: Код:
Код:
|
|
15.11.2012, 12:51 | #40 | |
Старожил
Регистрация: 04.02.2009
Сообщений: 17,351
|
Паскалевские переменные защищены от изменения во время работы цикла. Это значит, что меняя в цикле переменную i произвольным присваиванием, Вы ничего не добьетесь. Аналогично и в условиях - присваивания во время сравнения большой ая-яй-яй и по сути недоработка в языке.
Цитата:
Маньяк-самоучка
Utkin появился в результате деления на нуль. Осторожно! Альтернативная логика Последний раз редактировалось Utkin; 15.11.2012 в 12:54. |
|
|
Похожие темы | ||||
Тема | Автор | Раздел | Ответов | Последнее сообщение |
Указатели в шаблонах (C++) | streimer | Помощь студентам | 4 | 25.09.2012 00:07 |
проблемы с operator = в шаблонах | monnzz | Общие вопросы C/C++ | 6 | 11.05.2012 20:58 |
PHP код в шаблонах CMS | MrakSPb | PHP | 7 | 03.08.2010 15:16 |
Мысли | Elm0 | Свободное общение | 0 | 23.06.2007 21:42 |