Форум программистов, компьютерный форум, киберфорум
ООП и паттерны
Войти
Регистрация
Восстановить пароль
Блоги Сообщество Поиск  
 
 
Рейтинг 4.53/90: Рейтинг темы: голосов - 90, средняя оценка - 4.53
 Аватар для tramp_1-3
16 / 16 / 1
Регистрация: 13.10.2012
Сообщений: 454

Недостатки ООП

16.05.2014, 16:35. Показов 22271. Ответов 318
Метки нет (Все метки)

Студворк — интернет-сервис помощи студентам
Задали написать небольшую статью о недостатках этой замечательной парадигмы. В нашей группе прикладной информатики я один более-менее знаком с разработкой, поэтому на придирчивость аудитории можно не рассчитывать, и я решил спросить мнение опытных людей здесь. Я самоучка-теоретик, так и не написавший более-менее достой программы за свою жизнь, поэтому часть этой статьи навеяна из сети, а вот про усложнения - уже исключительной мой загон - не могу просто взять и написать программу. Пишу, думая, что это будет целый Фреймворк. Ну в общем предлагаю вашему вниманию эту коротенькую статью и рассчитываю на объективную критику. Всего полторы страницы - больше просто не знаю к чему придраться.
https://www.dropbox.com/s/m6u9... D0%9F.docx
дропбокс глючит и не дает нормальную ссылку. вот статья под спойлером.
Кликните здесь для просмотра всего текста
Недостатки ООП
Парадима ООП не нова. ООП приобрело популярность во второй половине 80-х вместе с такими языками, как Smalltalk, С++, Objective C (другое расширение C) и некоторыми другими. 25 лет назад никто не ожидал, что “новый” феномен ООП проживет столь долго и сегодня большинство современных языков поддерживают эту парадигму.
ООП стоит на трёх китах:
1.Первый — инкапсуляция — это определение классов — пользовательских типов данных, объединяющих своё содержимое в единый тип и реализующих некоторые операции или методы над ним. Классы обычно являются основой модульности, инкапсуляции и абстракции данных в языках ООП.
2.Второй — наследование — способ определения нового типа, когда новый тип наследует элементы (свойства и методы) существующего, модифицируя или расширяя их. Это способствует выражению специализации и генерализации.
3.Третий, известный как полиморфизм, позволяет единообразно ссылаться на объекты различных классов (обычно внутри некоторой иерархии). Это делает классы ещё удобнее и облегчает расширение и поддержку программ, основанных на них.
Инкапсуляция, наследование и полиморфизм — фундаментальные свойства, которыми должен обладать язык, претендующий называться объектно-ориентированным (языки, не имеющие наследования и полиморфизма, но имеющие только классы, обычно называются основанными на классах). Различные ОО языки используют совершенно разные подходы. Мы можем различать ОО языки, сравнивая механизм контроля типов, способность поддерживать различные программные модели и то, какие объектные модели они поддерживают.
Преимущества этих языков всем известны: повторное использование кода, упрощение разработки больших программ, более логичная структура программы и многие другие. Разберём некоторые недостатки.
Недостатки есть абсолютно у всего – с этим нужно просто смириться. Важно адекватно их оценивать и стараться минимизировать их влияние. То же самое касается и объектно-ориентированной парадигмы программирования.
Есть несколько причин, почему узкие места ООП часто вылазят наружу. Я считаю, что это прежде всего непонимание самой сути объектно-ориентированной техники программирования - восприятие этой парадигмы как серебряной пули. Часто программисты стараются решать абсолютно все задачи, где даже не предвидится конкретных сущностей с их свойствами с помощью объектов, наследования и с помощью объектов. Это очень усложняет процесс. То есть вместо написания парочки функций в процедурной манере и передачи аргументов туда-обратно, программист часто пытается нагромоздить целую иерархию классов и после разгребает проблемы с видимостью классов, доступа к скрытым инкапсуляцией данным.
Таким образом, можно выделить один недостаток объектно-ориентированных языков программирования – избыточность их средств при решении большинства простых задач.
Нужно помнить, что применение ООП это прежде всего моделирование. Для построения хорошей, легко читаемой и сопровождаемой программы необходимо в самом начале разработки предусмотреть сценарии её использования и, что очень важно, изменения – заказчик легко в корне может поменять задачу. Это нетривиальный процесс, в котором часто задействуются даже отдельные языки моделирования. Не каждый способен выделить отдельные сущности и сделать их классами. Ещё меньше людей способны адекватно распределить функции, работающие с данными программы в методы и упаковать их в классы. Для этого нужно уметь мыслить объектно-ориентированными категориями. На всё это уходит драгоценное время. Оно обязательно окупится, если программист имеет дело с большим и сложным проектом, но вряд ли в других случаях, когда требуется просто решить задачу и перейти к другой.
Для меня вывод один, всем известный и общепринятый – не стоит воспринимать парадигмы и языки, их поддерживающие, как божество. Это всего лишь инструмент для решения определенного круга задач. Я думаю, что для объектно-ориентированных языков такие задачи начинаются, когда их решение укладывается более чем в тысячу строк и задачи, которые требуют масштабирования.
“Есть всего 2 типа языков: те, на которые все жалуются и те, которыми никто не пользуется.” — Бьерн Страуструп
0
IT_Exp
Эксперт
34794 / 4073 / 2104
Регистрация: 17.06.2006
Сообщений: 32,602
Блог
16.05.2014, 16:35
Ответы с готовыми решениями:

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

ООП ради ООП
Доброго времени суток! Есть к примеру класс Cat который реализует интерфейс Movable, инкапсулирует цвет, и прочее. Имеет ли смысл...

Изучаю Python, сейчас учу основы ООП, где можно найти задачи по ООП
Скиньте пожалуйста источники с задачами(желательно на русском)

318
Заблокирован
04.09.2016, 14:22
Студворк — интернет-сервис помощи студентам
Цитата Сообщение от Fulcrum_013 Посмотреть сообщение
Лично я предпочитаю держать то что надо чтобы не накосячить держать не в голове а в переменных.
Добавлено через 1 минуту
Но для этого нужна абстрактная модель того что делаешь. Это и называется сложность. Но ее на любом языке никто не отменит
Но когда кроме абстрактной модели задачи приходится удерживать в голове достаточно сложную абстрактную модель языка - это существенно усложняет программирование на С++. Не так ли?
Цитата Сообщение от Igor3D Посмотреть сообщение
Немало молодых ребят начинают программировать сразу с использованием Qt фреймворка. Ситуация аналогичная - ничего придумывать не надо, вот класс QString (внутри юникод), бери и пользуйся.
Я об этом и писал. На чистом С++ практически никто уже не пишет.
Все юсают разного рода фреймворки и прочие надстройки над С++
0
 Аватар для Fulcrum_013
2083 / 1576 / 169
Регистрация: 14.12.2014
Сообщений: 13,614
04.09.2016, 14:25
Цитата Сообщение от ИсмаилПркопенко Посмотреть сообщение
Но когда кроме абстрактной модели задачи приходится удерживать в голове достаточно сложную абстрактную модель языка
Язык простой как 10 копеек. Просто сильно развито управление словарем компиляции имеющее очень мощные средства для поддержания очень высокоуровневых абстракций. При этом чем выше уровень абстракций тем меньше надо всякого хлама держать в голове. Другой вопрос сложность (логическая а не сложность реализации в языке) построения самих абстракций. Был бы RTTI можно было бы очень много абстракций на еще более высоком уровне делать вообще простыми средствами.
0
Заблокирован
04.09.2016, 14:30
А как Вам эта книга?

0
 Аватар для Fulcrum_013
2083 / 1576 / 169
Регистрация: 14.12.2014
Сообщений: 13,614
04.09.2016, 14:42
Цитата Сообщение от ИсмаилПркопенко Посмотреть сообщение
А как Вам эта книга?
По всей видимости очередное бульварное чтиво.

Добавлено через 5 минут
Вообще в принципе существует только одно скользкое место в программировании - никакой компилятор в принципе не способен определить/вылечить недопонимание задачи. С С++ даже не обещают что компилятор попытается это сделать в отличии от всяких ад и новомодных мусоросборников. Поэтому именно у программистов С++ подскальзований меньше всего.
0
Модератор
Эксперт функциональных языков программирования
3140 / 2288 / 469
Регистрация: 26.03.2015
Сообщений: 8,898
04.09.2016, 15:06
Fulcrum_013,
Я Вас понял - у любого стандартного решения есть фатальный недостаток.

Кликните здесь для просмотра всего текста

Ron Burk История программных революций от Microsoft, вкратце:

Сначала были Windows API и DLL Hell. Революцией №1 было DDE – помните, как ссылки позволили нам создавать статусные строки, отражающие текущую цену акций Microsoft? Примерно тогда же Microsoft создала ресурс VERSION INFO, исключающий DLL Hell. Но другая группа в Microsoft нашла в DDE фатальный недостаток – его писали не они!

Для решения этой проблемы они создали OLE (похожее на DDE, но другое), и я наивно вспоминаю докладчика на Microsoft-овской конференции, говорящего, что скоро Windows API перепишут как OLE API, и каждый элемент на экране будет ОСХ-ом. В OLE появились интерфейсы, исключающие DLL Hell. Помните болезнь с названием «по месту», при которой мы мечтали встроить все свои приложения в один (возможно, очень большой) документ Word? Где-то в то же время Microsoft уверовала в религию С++, возникла MFC решившая все наши проблемы еще раз.

Но OLE не собиралась, сложа руки смотреть на это, поэтому оно заново родилось под именем COM, и мы внезапно поняли, что OLE (или это было DDE?) будет всегда – и даже включает тщательно разработанную систему версий компонентов, исключающую DLL Hell. В это время группа отступников внутри Microsoft обнаружила в MFC фатальный недостаток – его писали не они! Они немедленно исправили этот недочет, создав ATL, который как MFC, но другой, и попытались спрятать все замечательные вещи, которым так упорно старалась обучить нас группа COM. Это заставило группу COM (или это было OLE?) переименоваться в ActiveX и выпустить около тонны новых интерфейсов (включая интерфейсы контроля версий, исключающие DLL Hell), а заодно возможность сделать весь код загружаемым через броузеры, прямо вместе с определяемыми пользователем вирусами (назло этим гадам из ATL!).

Группа операционных систем громким криком, как забытый средний ребенок, потребовала внимания, сказав, что нам следует готовиться к Cairo, некой таинственной хреновине, которую никогда не могли даже толком описать, не то, что выпустить. К их чести, следует сказать, что они не представляли концепции «System File Protection», исключающей DLL Hell. Но тут некая группа в Microsoft нашла фатальный недостаток в Java - её писали не они! Это было исправлено созданием то ли J, то ли Jole, а может, и ActiveJ (если честно, я просто не помню), точно такого же как Java, но другого. Это было круто, но Sun засудило Microsoft по какому-то дряхлому закону. Это была явная попытка задушить право Microsoft выпускать такие же продукты, как у других, но другие.

Помните менеджера по J/Jole/ActiveJ, стучащего по столу туфлей и говорящего, что Microsoft никогда не бросит этот продукт? Глупец! Все это означало только одно – недостаток внимания к группе ActiveX (или это был COM?). Эта невероятно жизнерадостная толпа вернулась с COM+ и MTS наперевес (может, это стоило назвать ActiveX+?). Непонятно почему к MTS не приставили «COM» или «Active» или «X» или «+» – они меня просто потрясли этим! Они также грозились добавить + ко всем модным тогда выражениям. Примерно тогда же кое-кто начал вопить про «Windows DNA» (почему не DINA) и «Windows Washboard», и вопил некоторое время, но все это почило раньше, чем все поняли, что это было.

К этому моменту Microsoft уже несколько лет с нарастающей тревогой наблюдала за интернет. Недавно они пришли к пониманию, что у Интернет есть фатальный недостаток: ну, вы поняли. И это приводит нас к текущему моменту и технологии .NET (произносится как «doughnut (пончик по-нашему)», но по-другому), похожей на Интернет, но с большим количеством пресс-релизов. Главное, что нужно очень четко понимать - .NET исключает DLL Hell.

В .NET входит новый язык, C#, (выясняется, что в Active++ Jspresso был фатальный недостаток, от которого он и помер). .NET включает виртуальную машину, которую будут использовать все языки (видимо, из-за фатальных недостатков в процессорах Интел). .NET включает единую систему защиты (есть все-таки фатальный недостаток в хранении паролей не на серверах Microsoft). Реально проще перечислить вещи, которых .NET не включает. .NET наверняка революционно изменит Windows-программирование... примерно на год.
0
 Аватар для Fulcrum_013
2083 / 1576 / 169
Регистрация: 14.12.2014
Сообщений: 13,614
04.09.2016, 15:17
Цитата Сообщение от Shamil1 Посмотреть сообщение
у любого стандартного решения есть фатальный недостаток
Обычно недостатки бывают исключительно в том что они не делают те 10% дел из за которых их придется переделать на 90%. что касается к примеру MFC то место этому делу на помойке. А вот VCL очень даже грамотно спроектирована в отличии от MFC хотя и не предел удобств.
К примеру COM по большому счету единственный возмодный способ динамического импорта классов из DLL. Что не выдумывай а придешь к COM или чему то очень похожему.
А что касается NET то это исключительно провальная концепция которая строится на тухлой концепции автоматической сборки мусора на основе рефкаунтинга и трассировки ссылок на рут которая проблем не решает а только перекрашивает ценой тормозов. Но что поделаешь у майкрософта кроме ядра ОС еще куча всякого софта который клепает толпа выпускников их курсов и слишком мало квалифицированных программистов способных освоить концепции более продвинутых средств управления памятью типа двунаправленых указателей и т.п.
0
Модератор
Эксперт функциональных языков программирования
3140 / 2288 / 469
Регистрация: 26.03.2015
Сообщений: 8,898
04.09.2016, 15:19
Цитата Сообщение от Igor3D Посмотреть сообщение
Это 2 структуры данных ARGB, каких конкретно - на Ваше усмотрение, можно использовать любые готовые классы. Нужно посчитать итоговый цвет как это делает фотошоп и др приложения.
Напишите мне формулу - я посчитаю.

Цитата Сообщение от Igor3D Посмотреть сообщение
Может Вы хотите от языка слишком многого.
Я хочу от языка то, что уже предлагают мне другие языки.
0
 Аватар для Fulcrum_013
2083 / 1576 / 169
Регистрация: 14.12.2014
Сообщений: 13,614
04.09.2016, 15:42
Цитата Сообщение от Shamil1 Посмотреть сообщение
Я хочу от языка то, что уже предлагают мне другие языки.
Только не надо путать язык и не относящиеся к непосредственно языку "стандартные" библиотеки

Добавлено через 4 минуты
Цитата Сообщение от Igor3D Посмотреть сообщение
Вот со своими великами да, а так... ну не знаю, не знаю
Операторы перегружть точно придется. Причем очень поможет удобно со всем этим работать именно плюсовый union
0
Заблокирован
04.09.2016, 15:51
Цитата Сообщение от Fulcrum_013 Посмотреть сообщение
По всей видимости очередное бульварное чтиво.
"Не читал, но осуждаю"© ?
0
 Аватар для Fulcrum_013
2083 / 1576 / 169
Регистрация: 14.12.2014
Сообщений: 13,614
04.09.2016, 16:12
Цитата Сообщение от ИсмаилПркопенко Посмотреть сообщение
"Не читал, но осуждаю"©
Насмотрелся на подобное чтиво. Если в книге в которой типа даются рекомендации по архитектуре программ в названии указан какой либо модный или денежный язык то либо автор ничего в архитектуре софта не смыслит либо это бульварное чтиво либо и то и другое сразу.
0
Заблокирован
04.09.2016, 16:30
Цитата Сообщение от Fulcrum_013 Посмотреть сообщение
Насмотрелся на подобное чтиво.
Ну Вы хотя бы пролистали бы прежде чем так огульно сразу осуждать
0
1977 / 833 / 115
Регистрация: 01.10.2012
Сообщений: 5,119
Записей в блоге: 2
04.09.2016, 16:59
Цитата Сообщение от Shamil1 Посмотреть сообщение
Напишите мне формулу - я посчитаю.
Ну вот, диагноз товарища Исмаила подтверждается. Если кто-то даст формулы (по существу предоставит постановку задачи, все разжует), то вот тогда мы покажем силу богатырскую на шарпе. А так - не, ну я ж программист, почему я должен знать как сложить 2 цвета?

Такая позиция невыгодна в первую очередь самому программисту который становится "ведомым" и зависимым от ИНЖЕНЕРА (прошедшего двухмесячный курс программирования). Печально, но вероятно он будет Вами керувать (хотя не обладает и сотой долей Ваших знаний). Сами виноваты

Добавлено через 2 минуты
Цитата Сообщение от Fulcrum_013 Посмотреть сообщение
Операторы перегружть точно придется. Причем очень поможет удобно со всем этим работать именно плюсовый union
Ну так исполняем, предъявляем код, а то слова да слова
0
Заблокирован
04.09.2016, 17:07
Цитата Сообщение от Igor3D Посмотреть сообщение
Если кто-то даст формулы (по существу предоставит постановку задачи, все разжует), то вот тогда мы покажем силу богатырскую на шарпе.
Поэтому я и убежден: проще инженера научить программировать, чем программиста заставить изучить прикладную область, для которой он кодит.

Таких "программистов" я называю "кодеры"
0
 Аватар для Fulcrum_013
2083 / 1576 / 169
Регистрация: 14.12.2014
Сообщений: 13,614
04.09.2016, 18:23
Цитата Сообщение от Igor3D Посмотреть сообщение
не, ну я ж программист
Ну вообще программисты делятся на 2 категории "ты ж программист" а по сути эникейщик в несофтовой конторе. И программист который матпостановку сам делает при консультациях со спецами из предметной области.
Цитата Сообщение от Igor3D Посмотреть сообщение
Ну так исполняем, предъявляем код, а то слова да слова
Вообще все это считаю вот таким способом (правда обычно аддитивную альфу пользую а не субстрактивную):
C++
1
2
3
4
5
6
7
8
9
10
11
12
13
14
15
16
17
18
19
20
21
22
23
24
25
26
27
28
    void TImmediateContext::DoSetTransparent(bool NewTransparent){
        if (NewTransparent){
            Device->SetRenderState(D3DRS_ALPHABLENDENABLE, true);
            Device->SetRenderState(D3DRS_BLENDOP, D3DBLENDOP_ADD);
            Device->SetRenderState(D3DRS_SRCBLEND, D3DBLEND_SRCCOLOR);
            Device->SetRenderState(D3DRS_DESTBLEND, D3DBLEND_ONE);
            Device->SetRenderState(D3DRS_ZWRITEENABLE, false);      
        }
        else{
            Device->SetRenderState(D3DRS_ALPHABLENDENABLE, false);
            Device->SetRenderState(D3DRS_ZWRITEENABLE, true);
        }
 
    }
//а задаю цвет через вот такой union:
union RGBA{
    unsigned __int32 Value;
    unsigned __int8 Channels[4];
    struct{
        unsigned __int8 Red;
        unsigned __int8 Green;
        unsigned __int8 Blue;
        unsigned __int8 Alpha;
    };
    RGBA(){};
    RGBA(unsigned a) :Value(a){};
    explicit operator DWORD()const { return Value; }    
};
У GPU ALU под работу с clamp вместо overflow заточен пусть оно и напрягается. А на CPU такие дела считать не дело (на проверку невыхода за разрядную сетку тактов уходит гораздо больше чем на сами вычисления).
0
Модератор
Эксперт функциональных языков программирования
3140 / 2288 / 469
Регистрация: 26.03.2015
Сообщений: 8,898
04.09.2016, 19:25
Цитата Сообщение от Igor3D Посмотреть сообщение
ну я ж программист, почему я должен знать как сложить 2 цвета
А Вы считаете, что программист должен знать всё на свете? Можете объяснить, чем информация о том, как сложить 2 цвета полезнее информации о том, как образуются падежи в итальянском языке?
0
 Аватар для Fulcrum_013
2083 / 1576 / 169
Регистрация: 14.12.2014
Сообщений: 13,614
04.09.2016, 19:31
Цитата Сообщение от Shamil1 Посмотреть сообщение
Можете объяснить, чем информация о том, как сложить 2 цвета полезнее информации о том, как образуются падежи в итальянском языке?
Тем что язык графики понятен без перевода в отличии от итальянского .
Цитата Сообщение от Shamil1 Посмотреть сообщение
А Вы считаете, что программист должен знать всё на свете?
Это должен. Второй курс первый семестр. Курс вычислительной геометрии и машинной графики.
0
Модератор
Эксперт функциональных языков программирования
3140 / 2288 / 469
Регистрация: 26.03.2015
Сообщений: 8,898
04.09.2016, 19:41
Цитата Сообщение от Fulcrum_013 Посмотреть сообщение
Тем что язык графики понятен без перевода в отличии от итальянского .
Дальтоник или слепой не может быть программистом?

Цитата Сообщение от Fulcrum_013 Посмотреть сообщение
Второй курс первый семестр. Курс вычислительной геометрии и машинной графики.
У Вас, возможно. У нас такого курса не было.
0
 Аватар для Fulcrum_013
2083 / 1576 / 169
Регистрация: 14.12.2014
Сообщений: 13,614
04.09.2016, 19:57
Цитата Сообщение от Shamil1 Посмотреть сообщение
Дальтоник или слепой не может быть программистом?
Даже слепой может знать как сложить цвета по формулам.
Цитата Сообщение от Shamil1 Посмотреть сообщение
У нас такого курса не было.
Значит похоже у вас образование ни разу не профильное.
0
Модератор
Эксперт функциональных языков программирования
3140 / 2288 / 469
Регистрация: 26.03.2015
Сообщений: 8,898
04.09.2016, 20:07
Цитата Сообщение от Fulcrum_013 Посмотреть сообщение
Даже слепой может знать как сложить цвета по формулам.
Даже не зная итальянского, можно выучить правила образования падежей.
0
 Аватар для Fulcrum_013
2083 / 1576 / 169
Регистрация: 14.12.2014
Сообщений: 13,614
04.09.2016, 20:33
Цитата Сообщение от Shamil1 Посмотреть сообщение
Даже не зная итальянского, можно выучить правила образования падежей.
Можно. Никто не спорит. Если понадобится к примеру решить задачу проверки итальянской орфографии.
Но это в обязательную программу подготовки программистов не входит в отличии от курса машинной графики
0
Надоела реклама? Зарегистрируйтесь и она исчезнет полностью.
BasicMan
Эксперт
29316 / 5623 / 2384
Регистрация: 17.02.2009
Сообщений: 30,364
Блог
04.09.2016, 20:33

Недостатки React
Здравствуйте. Расскажите пожалуйста о недостатках, архитектурный просчетах, неудобствах и т.д. с которыми вы сталкивались при написании...

Укажите на недостатки
Нужна ваша помощь. Написал я программу, которая вычисляет число Pi (в дальнейшем хочу добавить другие числа, и методы вычисления), это моя...

Недостатки AnyLogic
Сразу отмечу - я далёк от программирования и не имеют опыта работы в AnyLogic. Поэтому высказанное ниже носит субъективный характер и...

Какие недостатки
Люди, что можите сказать о http://www.rucar.ru? Заранее спасибо! :)

недостатки системы
Пожалуйста, скажите, кому что не нравится в windows 7 с точки зрения безопасности.


Искать еще темы с ответами

Или воспользуйтесь поиском по форуму:
200
Ответ Создать тему
Новые блоги и статьи
Очистка реквизитов и табличных частей документа при копировании
Maks 26.07.2026
Алгоритм из решения ниже разработан на примере нетипового документа "ЗаявкаНаРаботу", разработанного в КА2. Задача: Заменить алгоритм запрета копирования документов для сотрудников с ролью "Стажер",. . .
Доктрина интенционального знания - Доктрина для портала "Срез".
Hrethgir 25.07.2026
Может найдётся кто захочет оценить доктрину. . . Написания правил участия для меня роскошь, требующая лимита времени, поэтому все сообщения не прошедшие модерацию будут видны только участникам портала,. . .
сукцессия 44. Решил подать на припринт в межународные сервисы препринтов. Но нужно одобрение от ученых
anaschu 25.07.2026
Английский вариант. Пока кто то не одобрит мою личность, мне не получиться это опубликовать на препринте. Но заявку на публикацию статьи я сегодня подам.
сукцессия 43. Вторая научная статья за месяц- прайминг и гатгил
anaschu 25.07.2026
две стороны одной монеты
Более приземисто - Эстафету хвоста в .cdl (деревья эстафеты в сад).
Hrethgir 24.07.2026
В будущем, после написания блока инверсии обхода дерева (эстафеты хвоста), я планирую вернуться к нашему прошлому разговору о том, обладают ли знания целеполаганием. Тогда я пришел к выводу, что. . .
Вот представьте что вам дали бессмертие.
kumehtar 24.07.2026
Вот представьте что вам дали бессмертие, ничего более не меняя. Вообще ничего, только бессмертие в нынешнем виде. Рады были бы? Что бы вы тут делали всё это время? Никакой пенсии. Никакого нового. . .
сукцессия 41
anaschu 24.07.2026
Численная верификация бифуркации в агентной модели лесной сукцессии: от одного параметра к ансамблю Автор: пользователь @Shumilov_AS | Раздел: Прикладная математика / Численные методы Кратко. . .
сукцессия 40. Ансамблевая кластерная параметризаци, часть 1.
anaschu 24.07.2026
Пр# Сопровождение научной статьи ИИ-ассистентом: подготовка публикации и калибровка агентно-ориентированной модели сукцессии микоризных систем **Полевые заметки о двухнедельной совместной работе**. . .
КиберФорум - форум программистов, компьютерный форум, программирование
Powered by vBulletin
Copyright ©2000 - 2026, CyberForum.ru