Представление объекта в программировании. - страница 3

 
Реter Konow:

   2. Вот, некоторые из моих претензий:

Есть хорошая книга: "Паттерны проектирования" Эрик Фримен, Элизабет Фримен.

Мне, кажется, после прочтения некоторые из претензий будут сняты.

 
Vasiliy Pushkaryov:

Есть хорошая книга: "Паттерны проектирования" Эрик Фримен, Элизабет Фримен.

Мне, кажется, после прочтения некоторые из претензий будут сняты.

Спасибо, попробую достать.

 
Реter Konow:

Спасибо, попробую достать.

https://b-ok.cc/book/3691688/443e5e

 
Спасибо, Николай.
 
Vasiliy Pushkaryov:

Есть хорошая книга: "Паттерны проектирования" Эрик Фримен, Элизабет Фримен.

Мне, кажется, после прочтения некоторые из претензий будут сняты.

Элизабет Робсон, а не Фримен.)) Сначала решил что они муж и жена.
 
Реter Konow:
Элизабет Робсон, а не Фримен.)) Сначала решил что они муж и жена.

Внимательный ).  Верно.

У меня в названии файла так было, я скопировал, даже и не сосредотачивался на фамилиях всех соавторов.

 

Всех с Новым Годом! 

Меня давно здесь не было. Чуток зацепила ностальгия и решил вернуться чтобы рассказать чем занимался последний год. А занимался именно концепцией Объекта, что имеет непосредственное отношение к программированию. 

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

Безусловно, современный ИИ может многое - распозновать лица, голос, самостоятельно управлять автомобилем, обыгрывать гроссмейстеров в шахматы, общаться на любые темы (GPT-3) и многое другое, и казалось бы, зачем возвращаться к истокам программирования и пытаться переосмыслить когда то и кем то реализованную концепцию Объекта в ООП, если и так понятно, то от ручного программирования Мир уходит? В чем смысл?

Ответ на этот вопрос будет и простым и сложным одновременно. Cчитаю, что технология машинного обучения имеет предел развития, переступить который только за счет увеличения мощности нейрочипов, скорости обучения и размеров создаваемых моделей никак нельзя. Хоть AI и умеет все выше перечисленное, но только по отдельности. То есть, одна версия заточена под распознование, другая по шахматы, а под общение - третья. Мы уже видим, как потихоньку ML упирается в тупик, когда Маск строит новый компьютер DoJo, который будет занимать целое здание и потреблять 1.2 Мегаватта энергии и при этом, будет обучать модели вождению, которое человек осваивает на 20-ти ваттах потребляемым его мозгом. То есть, можно сказать, что человеческий мозг выполняет похожую работу с энерго-эффективностью превышающую ту, что у суперкомпьютера примерно в 60 тысяч раз. Конечно, это все очень приблизительно. Помимо этого, ко множеству задач с которыми работает мышление человека технология современного AI не применима совсем. В основном, это сложные мыслительные построения обуславливающие ориентирование в незнакомой ситуации, импровизация, дедукция и индукция, построение планов действий с нуля и прочее...  Причина в том, что мозг не работает исключительно на принципах ML (хотя принципы работы самого ML взяты от мозга) и потому догнать его возможности пользуясь только этой технологией не получится. Это вполне очевидно уже сейчас.

И так, в обладании Мозга "спрятана" еще какая то технология работы с данными, которую мы не понимаем и не видим. Что это такое? На мой взгляд, Природа наградила Мозг возможностью видеть и работать с некой сущностью присутствующей везде и всюду, и скрыла эту сущность от его сознания глубоко в подсознании. То есть, человек и видит и не видит ее одновременно, и это позволяет ему не "спотыкаться" каждый раз. Это и есть Объект - абстракция, которая во всем. 

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

В кратце, я рассказал о причине по которой взялся обновлять концепцию Объекта в программировании. Если эта тема будет интересна, продолжу рассказ о самой концепции, которую нароботал за последние полтора года.

 
Реter Konow #:

Всех с Новым Годом! 

Меня давно здесь не было. Чуток зацепила ностальгия и решил вернуться чтобы рассказать чем занимался последний год. А занимался именно концепцией Объекта, что имеет непосредственное отношение к программированию. 

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

Безусловно, современный ИИ может многое - распозновать лица, голос, самостоятельно управлять автомобилем, обыгрывать гроссмейстеров в шахматы, общаться на любые темы (GPT-3) и многое другое, и казалось бы, зачем возвращаться к истокам программирования и пытаться переосмыслить когда то и кем то реализованную концепцию Объекта в ООП, если и так понятно, то от ручного программирования Мир уходит? В чем смысл?

Ответ на этот вопрос будет и простым и сложным одновременно. Cчитаю, что технология машинного обучения имеет предел развития, переступить который только за счет увеличения мощности нейрочипов, скорости обучения и размеров создаваемых моделей никак нельзя. Хоть AI и умеет все выше перечисленное, но только по отдельности. То есть, одна версия заточена под распознование, другая по шахматы, а под общение - третья. Мы уже видим, как потихоньку ML упирается в тупик, когда Маск строит новый компьютер DoJo, который будет занимать целое здание и потреблять 1.2 Мегаватта энергии и при этом, будет обучать модели вождению, которое человек осваивает на 20-ти ваттах потребляемым его мозгом. То есть, можно сказать, что человеческий мозг выполняет похожую работу с энерго-эффективностью превышающую ту, что у суперкомпьютера примерно в 60 тысяч раз. Конечно, это все очень приблизительно. Помимо этого, ко множеству задач с которыми работает мышление человека технология современного AI не применима совсем. В основном, это сложные мыслительные построения обуславливающие ориентирование в незнакомой ситуации, импровизация, дедукция и индукция, построение планов действий с нуля и прочее...  Причина в том, что мозг не работает исключительно на принципах ML (хотя принципы работы самого ML взяты от мозга) и потому догнать его возможности пользуясь только этой технологией не получится. Это вполне очевидно уже сейчас.

И так, в обладании Мозга "спрятана" еще какая то технология работы с данными, которую мы не понимаем и не видим. Что это такое? На мой взгляд, Природа наградила Мозг возможностью видеть и работать с некой сущностью присутствующей везде и всюду, и скрыла эту сущность от его сознания глубоко в подсознании. То есть, человек и видит и не видит ее одновременно, и это позволяет ему не "спотыкаться" каждый раз. Это и есть Объект - абстракция, которая во всем. 

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

В кратце, я рассказал о причине по которой взялся обновлять концепцию Объекта в программировании. Если эта тема будет интересна, продолжу рассказ о самой концепции, которую нароботал за последние полтора года.

Вот это сюрприз, так сюрприз !

Пётр, рад вашему возращению на форум..

и сразу - ML в мире, в темах про программирование это обычно Standart ML (https://ru.wikipedia.org/wiki/Standard_ML). 

 
Страшно подумать, что будет дальше и в какие дебри это заведет, если по первому посту ничего не понятно
 
Maxim Kuznetsov #:

Вот это сюрприз, так сюрприз !

Пётр, рад вашему возращению на форум..

и сразу - ML в мире, в темах про программирование это обычно Standart ML (https://ru.wikipedia.org/wiki/Standard_ML). 

Спасибо!) 

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