программирование будущего
От: YoungPioneer Россия http://www.cadsofttools.com
Дата: 04.01.09 17:13
Оценка: 3 (1) +1 :))) :))) :))) :))) :))) :))) :)
Просьба оценить идею:

Каждая программа будет состоять из файлов-модулей — похоже на нынешние .dll библиотеки. Главное отличие — интерфейсная часть основных модулей — стандартизована, подобно тому, как сейчас стандартизованы интерфейсы составных частей компьютера — процессор, жесткий диск и т.д.Любой производитель может начать выпуск мониторов, причем работать они будут даже без нового драйвера — в Windows предусмотрен "стандартный монитор".

Также будет и с программами — они будут иметь стандартные и нестандартные модули, причем первые можно будет МЕНЯТЬ. К примеру, если меню программы сделано в Ribbon стиле (современные "ленты"), а пользователь хочет "классические тулбары", то поменяв один модуль, он заменит ribbon на "классические тулбары".
Программистам для написания новой программы не придется мучаться с пользовательским интерфейсом — теми же тулбарами или гридами — достаточно будет воспользоваться готовыми наборами модулей в качестве базы, куда вставится модуль, реализующий лишь логику программы.
Конечно, сейчас можно купить "компоненты" с реализацией ribbon или навороченные Grid, но попробуйте заменить один компонент на другой — от конкурента. Сколько времени на это потребуется? В будущем это будет не сложнее, чем заменить старый CD-ROM на новый. Причем даже программист не понадобится — это можно будет делать на уровне пользователя.
Кроме написания новых программ, программисты смогут писать новые модули по существующим стандартам. Например, некий программист придумал алгоритм сверхбыстрого просмотра jpg файлов. Программист пишет новый модуль на основе интерфейсов текущего jpg_format стандарта, и этот модуль каждый пользователь сможет легко вставить в популярные программы — просмоторщик файлов от windows, броузеры, ACDSee, IrfanView, TotalCommander... По сути, новый модуль является плагином ко всем программам, которые используют jpg и реализовали программу по заданным СТАНДАРТАМ.

Реализована такая модель может быть на уровне com, .net или других системах и языках программирования. Главное — стандартизация, принимаемая большинством.

Заранее благодарен за комментарии.
Всегда готов!
Re: программирование будущего
От: deniok Россия  
Дата: 04.01.09 17:33
Оценка: +1 -1
Здравствуйте, YoungPioneer, Вы писали:

YP>Просьба оценить идею:


Оцениваю: кому это принесёт деньги/счастье/удовлетворение? Никому. Такая тотальная стандартизация не имеет особых плюсов ни для кого. Поэтому ее и не будет.
Re: программирование будущего
От: iZEN СССР  
Дата: 04.01.09 18:29
Оценка:
Здравствуйте, YoungPioneer, Вы писали:

YP>Просьба оценить идею:


YP>Каждая программа будет состоять из файлов-модулей — похоже на нынешние .dll библиотеки.


.class

YP>Главное отличие — интерфейсная часть основных модулей — стандартизована, подобно тому, как сейчас стандартизованы интерфейсы составных частей компьютера — процессор, жесткий диск и т.д.Любой производитель может начать выпуск мониторов, причем работать они будут даже без нового драйвера — в Windows предусмотрен "стандартный монитор".


BD-J

YP>Также будет и с программами — они будут иметь стандартные и нестандартные модули, причем первые можно будет МЕНЯТЬ. К примеру, если меню программы сделано в Ribbon стиле (современные "ленты"), а пользователь хочет "классические тулбары", то поменяв один модуль, он заменит ribbon на "классические тулбары".


Swing Look&Feel

YP>Программистам для написания новой программы не придется мучаться с пользовательским интерфейсом — теми же тулбарами или гридами — достаточно будет воспользоваться готовыми наборами модулей в качестве базы, куда вставится модуль, реализующий лишь логику программы.

YP>Конечно, сейчас можно купить "компоненты" с реализацией ribbon или навороченные Grid, но попробуйте заменить один компонент на другой — от конкурента. Сколько времени на это потребуется? В будущем это будет не сложнее, чем заменить старый CD-ROM на новый. Причем даже программист не понадобится — это можно будет делать на уровне пользователя.

JMX

YP>Кроме написания новых программ, программисты смогут писать новые модули по существующим стандартам. Например, некий программист придумал алгоритм сверхбыстрого просмотра jpg файлов. Программист пишет новый модуль на основе интерфейсов текущего jpg_format стандарта, и этот модуль каждый пользователь сможет легко вставить в популярные программы — просмоторщик файлов от windows, броузеры, ACDSee, IrfanView, TotalCommander... По сути, новый модуль является плагином ко всем программам, которые используют jpg и реализовали программу по заданным СТАНДАРТАМ.


JMX

YP>Реализована такая модель может быть на уровне com, .net или других системах и языках программирования. Главное — стандартизация, принимаемая большинством.


Java
Большинство (JCP.org) уже приняло её за отраслевой стандарт.

YP>Заранее благодарен за комментарии.


И вам того же.
Re: программирование будущего
От: hattab  
Дата: 04.01.09 18:35
Оценка: +2 :)
Здравствуйте, YoungPioneer, Вы писали:

YP>Просьба оценить идею:


Идея называется COM в утопическом максимуме.
Re[2]: программирование будущего
От: gandjustas Россия http://blog.gandjustas.ru/
Дата: 04.01.09 18:36
Оценка:
Здравствуйте, deniok, Вы писали:

D>Здравствуйте, YoungPioneer, Вы писали:


YP>>Просьба оценить идею:


D>Оцениваю: кому это принесёт деньги/счастье/удовлетворение? Никому. Такая тотальная стандартизация не имеет особых плюсов ни для кого. Поэтому ее и не будет.


В вебе (HTML+CSS+JS+XML) стандартизация существует и очень успешно. Но все в итоге уприается в реализацию стандартов разными вендорами.
ИМХО любая межсистемная (независимая от языка и платформы разработки) стандартизация придет именно к такому.
Re: программирование будущего
От: Cyberax Марс  
Дата: 04.01.09 18:51
Оценка: +1
Здравствуйте, YoungPioneer, Вы писали:

YP>Программистам для написания новой программы не придется мучаться с пользовательским интерфейсом — теми же тулбарами или гридами — достаточно будет воспользоваться готовыми наборами модулей в качестве базы, куда вставится модуль, реализующий лишь логику программы.

Зевок...

YP>Конечно, сейчас можно купить "компоненты" с реализацией ribbon или навороченные Grid, но попробуйте заменить один компонент на другой — от конкурента. Сколько времени на это потребуется? В будущем это будет не сложнее, чем заменить старый CD-ROM на новый. Причем даже программист не понадобится — это можно будет делать на уровне пользователя.

А зачем всё это пользователю?
Sapienti sat!
Re[3]: программирование будущего
От: deniok Россия  
Дата: 04.01.09 19:07
Оценка: +1
Здравствуйте, gandjustas, Вы писали:

G>В вебе (HTML+CSS+JS+XML) стандартизация существует и очень успешно. Но все в итоге уприается в реализацию стандартов разными вендорами.

G>ИМХО любая межсистемная (независимая от языка и платформы разработки) стандартизация придет именно к такому.

Я не вижу в программировании выгод от глубокой тотальной стандартизации. Для целей связанных с коммуникациями в широком смысле — да, это полезно. Собственно поэтому веб и имеет более-менее общепризнанные стандарты. (Кстати вопрос об их качестве оставим за скобками). А то о чем говорит топикстартер, по-моему, просто маниловщина. Беспроблемная замена модуля A на модуль B возможна, только если их базовая функциональность идентична, а отличие только в рюшечках. Либо если они практически изолированны от остальной системы; ну так я и нынче могу снести Microsoft Office и поставить Star Office, в чём проблема?
Re: программирование будущего
От: frogkiller Россия  
Дата: 04.01.09 19:15
Оценка: +3 :))) :))) :))
Здравствуйте, YoungPioneer, Вы писали:

YP>Конечно, сейчас можно купить "компоненты" с реализацией ribbon или навороченные Grid, но попробуйте заменить один компонент на другой — от конкурента. Сколько времени на это потребуется? В будущем это будет не сложнее, чем заменить старый CD-ROM на новый. Причем даже программист не понадобится — это можно будет делать на уровне пользователя.


После того, как стандартизируют последний компонент последнего интерфейса энтропия станет равна нулю и жизнь прекратится.

YP>Кроме написания новых программ, программисты смогут писать новые модули по существующим стандартам.


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

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

PPS. Хотя некоторая упорядоченность не повредит. Не следует путать рабочий беспорядок с бардаком
Курица — это инструмент, с помощью которого одно яйцо производит другие.
Re[2]: программирование будущего
От: Евгений Чужакин Россия http://www.cadsofttools.com
Дата: 04.01.09 21:01
Оценка: -2 :))
Большое спасибо всем за интересные комментарии!

Пишу статью для rsdn на эту тему, поэтому хочется понять, какие в ней "баги"

C>А зачем всё это пользователю?


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

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

Главная идея даже не в удобстве программирования и использования таких приложений, а в том, что это дорога к полностью автоматическому программированию. Кибермозг сможет заменить программиста-человека и делать программу на основе запроса обычного продвинутого пользователя — собирать программу из существующих модулей.
Например, такой запрос:
"мониторинг параметров станка Hitachi123 с печатью отчетов и экспортом в 1С"
Компьютер сам найдет модуль от производителя станка, выберет совместимую систему мониторинга, печати и модуль экспорта в 1С. На выходе — будет готовая программа.
Конечно, сейчас это кажется невозможным, ведь Человек в любом случае умнее машины и компьютер не сможет полноценно заменить программиста-человека. Правда, двадцать лет назад считали, что компьютер не сможет выиграть у человека в шахматы
Всегда готов!
Re[3]: программирование будущего
От: Cyberax Марс  
Дата: 04.01.09 21:12
Оценка: +1
Здравствуйте, Евгений Чужакин, Вы писали:

C>>А зачем всё это пользователю?

ЕЧ>Пользователь будет видеть едино оформленные программы, с похожим интерфейсом, справкой, плюс схожий функционал начнет работать единообразно. Затраты на обучение новым программам сократятся до минимума.
Это несерьёзно. "Автоматически" можно заменить только очень небольшую часть интерфейса. Фактически, только то, что уже и так делается разными стилевыми движками.

ЕЧ>Программисты больше не будут писать тысячапервый "инспектор объектов", а возьмут готовый, причем пользователи смогут его заменить на наиболее удобный для них.

И нафиг это им надо? Да и мелочи всё это, просто другой вид рюшечек. Ничего существенного заменить не получится.

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

Это только кажется. Например, в более другой системе печати может по-другому работать разбиение на страницы. А это потребует от приложения переразбивки документа и т.п. В общем, ничего сильно сложнее того, что сейчас уже и так делается на уровне драйверов принтера — не сделать.
Sapienti sat!
Re[2]: программирование будущего
От: Евгений Чужакин Россия http://www.cadsofttools.com
Дата: 04.01.09 21:16
Оценка: -3 :))) :)
Здравствуйте, frogkiller, Вы писали:

F>После того, как стандартизируют последний компонент последнего интерфейса энтропия станет равна нулю и жизнь прекратится.

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

F>Дык, им и сейчас ничто не мешает — стандартов разных ого-го сколько напридумывали — открытых, закрытых — разных. А! Я знаю, нужно чтобы все последователи правильного стандарта собрались и убили всех последователей неправильных — и тогда наступит всеобщее процветание.


Когда-то было много операционных систем. А потом появился стандарт — MS Windows. Убивать никого не надо, надо сделать то, что будет использовать большинство, тогда остальные волей неволей будут использовать именно это. Стандартов не может быть два или три. Стандарт может быть только один.


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


Тотальная стандартизация уже наступила. И программирование — одна из немногих областей, где стандартов (не рекомендаций, а именно реальных стандартов) по сути пока нет. А что касается идей — ну придумает сейчас гений-программист лучшую в мире систему определения человека по фото. И куда он с ней денется? Обратится в крупные фирмы, которые его либо кинут, либо пошлют. А если он напишет такую систему по стандарту, то сможет предложить её ПОЛЬЗОВАТЕЛЯМ программ, где используются системы от тех самых крупных производителей. Пользователи смогут заменить модуль и получить то что хотели. Как известно, написать программу намного проще, чем продать — в данном примере эта проблема решается.
Всегда готов!
Re[3]: программирование будущего
От: deniok Россия  
Дата: 04.01.09 21:21
Оценка:
Здравствуйте, Евгений Чужакин, Вы писали:

C>>А зачем всё это пользователю?


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


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

ЕЧ>Программисты больше не будут писать тысячапервый "инспектор объектов", а возьмут готовый, причем пользователи смогут его заменить на наиболее удобный для них. Программисты могут поставлять простую систему печати, так как она не есть главное в их приложении, а пользователи заменят её более мощной от другого производителя.


Я что-то не понял, поставляют дистрибьюторы; программисты, по-моему, все же программируют, причем обычно за деньги. При этом мне интересней программировать сложную систему, а не простую, да и денег за это больше заплатят. А писателя "тысяча первого инспектора объектов" и так скоро уволят — кризис же, он такой кому нынче нужен
Re[4]: программирование будущего
От: Евгений Чужакин Россия http://www.cadsofttools.com
Дата: 04.01.09 21:25
Оценка:
Здравствуйте, Cyberax, Вы писали:

C>Это несерьёзно. "Автоматически" можно заменить только очень небольшую часть интерфейса. Фактически, только то, что уже и так делается разными стилевыми движками.


C>Это только кажется. Например, в более другой системе печати может по-другому работать разбиение на страницы. А это потребует от приложения переразбивки документа и т.п. В общем, ничего сильно сложнее того, что сейчас уже и так делается на уровне драйверов принтера — не сделать.


Безусловно, проблем на этом пути море. Но постепенно они будут решаться. Пока эта идея принципиально реализована на контролах Windows — например, можно улучшать кнопку или richedit, не трогая самого приложения. Я предлагаю дать программистам возможность самостоятельно писать модули, по стандартам, которые будут постепенно расти и включать в себя интерфейсы тысяч модулей.
Всегда готов!
Re[3]: программирование будущего
От: hattab  
Дата: 04.01.09 21:26
Оценка: +1 :)
Здравствуйте, Евгений Чужакин, Вы писали:

ЕЧ>Пишу статью для rsdn на эту тему, поэтому хочется понять, какие в ней "баги"


Вероятно кризис назрел, коли статьи подобной тематики будут публиковаться на RSDN... (ничего личного)

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


У меня дежа-ву... Следование гидлайнам уже сегодня решает эту проблему (посмотрите на Mac OS).

ЕЧ> Кибермозг сможет заменить программиста-человека и делать программу на основе запроса обычного продвинутого пользователя — собирать программу из существующих модулей.


Расширенное сознание это конечно хорошо, но немного пугает . А серьезно, как мегамозг будет контролировать корректность реализации черного ящика?

ЕЧ>Правда, двадцать лет назад считали, что компьютер не сможет выиграть у человека в шахматы


Он до сих пор не может, грубая голубая сила в зачет не идет (ибо никаким ИИ тут даже и близко не пахнет).
Re[5]: программирование будущего
От: Cyberax Марс  
Дата: 04.01.09 21:34
Оценка:
Здравствуйте, Евгений Чужакин, Вы писали:

ЕЧ>Безусловно, проблем на этом пути море. Но постепенно они будут решаться. Пока эта идея принципиально реализована на контролах Windows — например, можно улучшать кнопку или richedit, не трогая самого приложения.

И нафиг это нужно? Чтобы кнопка была ещё более кнопкистее?

В тот же richedit не получится добавить, скажем, поддержку векторной графики — приложение не поймёт. Так что почти все улучшения будут заключаться в передвижении контролов. Чуть лучше ситуация, если описывать интерфейс декларативным способом (или с помощью развитой системы MVC) — там свободы немного больше (скажем, проще сделать центральный сервис для проверки орфографии в полях ввода, автозаполнение и т.п.). Но всё равно не особо много.

Скажем, в SWING на Java можно рисовать свои Look&Feel'ы, которые могут выглядеть совершенно различными. Причём L&F можно менять хоть во время работы программы одним вызовом функции. В теории. На практике одна и та же программа может выглядеть совершенно уродливо в некоторых L&F, хотя бы из-за несовпадающих цветовых гамм в иконках и оформлении, из-за неожиданных размеров виджетов и т.п.

ЕЧ>Я предлагаю дать программистам возможность самостоятельно писать модули, по стандартам, которые будут постепенно расти и включать в себя интерфейсы тысяч модулей.

Это просто сказки.
Sapienti sat!
Re[4]: программирование будущего
От: thesz Россия http://thesz.livejournal.com
Дата: 05.01.09 01:16
Оценка:
ЕЧ>>Пользователь будет видеть едино оформленные программы, с похожим интерфейсом, справкой, плюс схожий функционал начнет работать единообразно. Затраты на обучение новым программам сократятся до минимума.
D>Я, как пользователь, могу лишь заметить, что единообразные программы надоедают до чертиков. Мне разнообразные нравятся, мне уже пора на свалку истории?

А ты с более-менее единообразными-то работал?..

(имеется в виду Apple)
Yours truly, Serguey Zefirov (thesz NA mail TOCHKA ru)
Re: программирование будущего
От: thesz Россия http://thesz.livejournal.com
Дата: 05.01.09 01:21
Оценка:
Здравствуйте, YoungPioneer, Вы писали:

YP>Просьба оценить идею:


YP>Каждая программа будет состоять из файлов-модулей — похоже на нынешние .dll библиотеки. Главное отличие — интерфейсная часть основных модулей — стандартизована, подобно тому, как сейчас стандартизованы интерфейсы составных частей компьютера — процессор, жесткий диск и т.д.Любой производитель может начать выпуск мониторов, причем работать они будут даже без нового драйвера — в Windows предусмотрен "стандартный монитор".


<b>Intentional programming</b> on the Lambda-the-Ultimate

Рекомендую.

Также рекомендую это дело всяким сторонникам MPS/чего-там-ещё.

С помощью IP была даже сделана одна умеренно большая программа, вроде, Outlook. Большего тормоза на ровном месте ещё поискать надо.

В общем и целом — так себе идея.
Yours truly, Serguey Zefirov (thesz NA mail TOCHKA ru)
Re: программирование будущего
От: Sinclair Россия https://github.com/evilguest/
Дата: 05.01.09 06:23
Оценка: 1 (1) +6
Здравствуйте, YoungPioneer, Вы писали:

Свежая идея. Рекомендую вместо ее детальной проработки сесть и подумать: почему эта идея не сработала за 20 лет, прошедших с появления COM и 15 лет, прошедших с появления Java?

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

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

Без этого обсуждать идею имеет смысл не больше, чем мысль "вот пусть все граждане России скинутся мне по 50 копеек. Они ничего даже не заметят, а мне 60 миллионов рублей очень пригодятся".
... << RSDN@Home 1.2.0 alpha rev. 677>>
Уйдемте отсюда, Румата! У вас слишком богатые погреба.
Re[3]: программирование будущего
От: frogkiller Россия  
Дата: 05.01.09 08:26
Оценка: +3
Здравствуйте, Евгений Чужакин, Вы писали:

ЕЧ>Когда-то было много операционных систем. А потом появился стандарт — MS Windows. Убивать никого не надо, надо сделать то, что будет использовать большинство, тогда остальные волей неволей будут использовать именно это. Стандартов не может быть два или три. Стандарт может быть только один.


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

ЕЧ>Тотальная стандартизация уже наступила.


Да? Ты видел, что именно специфицируется в технологических стандартах, посмотри на досуге и проведи аналогии на разработку ПО. И вообще — сколько разнообразных стандартов — знаешь?

ЕЧ>И программирование — одна из немногих областей, где стандартов (не рекомендаций, а именно реальных стандартов) по сути пока нет.


Языки программирования — стандарты. Открытые протоколы — стандарты (вон зайди к примеру на w3.org).

ЕЧ>А что касается идей — ну придумает сейчас гений-программист лучшую в мире систему определения человека по фото. И куда он с ней денется? Обратится в крупные фирмы, которые его либо кинут, либо пошлют. А если он напишет такую систему по стандарту, то сможет предложить её ПОЛЬЗОВАТЕЛЯМ программ, где используются системы от тех самых крупных производителей. Пользователи смогут заменить модуль и получить то что хотели. Как известно, написать программу намного проще, чем продать — в данном примере эта проблема решается.


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

Но вообще — задумайся, сколько различных областей в IT — они не ограничиваются десктопами с виндой. И что хорошо для одной области будет совершенно неприемлимым для других.
Курица — это инструмент, с помощью которого одно яйцо производит другие.
Re[5]: программирование будущего
От: geniepro http://geniepro.livejournal.com/
Дата: 05.01.09 10:17
Оценка:
Здравствуйте, thesz, Вы писали:

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

D>>Я, как пользователь, могу лишь заметить, что единообразные программы надоедают до чертиков. Мне разнообразные нравятся, мне уже пора на свалку истории?

T>А ты с более-менее единообразными-то работал?..

T>(имеется в виду Apple)

А что, для Apple есть программы?
Подождите ...
Wait...
Пока на собственное сообщение не было ответов, его можно удалить.