Форум программистов, компьютерный форум, киберфорум
ООП и паттерны
Войти
Регистрация
Восстановить пароль
Блоги Сообщество Поиск  
 
 
Рейтинг 4.72/79: Рейтинг темы: голосов - 79, средняя оценка - 4.72
820 / 579 / 75
Регистрация: 20.09.2014
Сообщений: 3,814

О более новых парадигмах программирования, чем ООП

20.09.2014, 06:55. Показов 19668. Ответов 230
Метки нет (Все метки)

Студворк — интернет-сервис помощи студентам
К сожалению не нашел другого более подходящего раздела для этой новой темы.

Немного о себе: я не считаю себя программистом, так как я не создавал программы с более сложными объектами, чем стандартные визуальные (кнопки, лэйблы, окна и т.д.). Если уделить программированию годы, то наверняка я освою любую методологию программирования. Ведь у меня за плечами: Spectrum48k (Basic, Assembler), немного Delphi7 (Pascal), программирование в промышленных логических языках LD, FBD, SFC. Сейчас пытаюсь освоить С++ (готовность уже на 70%) и среду Qt. Именно в таком порядке я осваивал методологии/технологии программирования.
Из всего ряда особенным образом выделяются языки LD, FBD, SFC. Эти языки привносят в программирование нечто новое, что я постоянно пытаюсь осмыслить. FBD - близок к модели взаимодействия UML. SFC - это аналог модели состояний UML. Помимо этих особенных языков программирования в сфере промышленности используется кибернетическое мышление, системный подход - это тоже отразилось существенно на моем мировоззрении.

При изучении С++ (в версии 99) я пока для себя выяснил следующее: ООП - это парадигма, которая содержит в себе некоторые элементы системного подхода, но пока некоторые ее очень важные фишки не поддерживаются.

Что я хочу получить от общения в этой теме?
1) Я хочу узнать о более новых парадигмах, нежели стандартный ООП. Мне нужны ссылки. Когда-то давно меня обрадовали некоторой парадигмой под названием "Аспектно-ориентированное программирование". Интересная штучка! Она некоторым образом соотносится с моим ходом мысли, но к сожалению нет хорошей литературы, которая бы раскрывала, что собственно дает среда разработки с АОП.
2) Я хочу узнать о более развитых средах разработки нежели QtDesigner и IDE Delphi7. Какая среда в настоящий момент позволяет более эффективно работать с объектами, библиотеками объектов? Где можно более удобно структурировать и переструктурировать приложение?
3) Я хочу рассказать о своих простых и непростых идеях, которые можно было бы применить для повышения эффективности программирования. Но это чуть позже, т.к. может быть я чего-то не знаю.
0
cpp_developer
Эксперт
20123 / 5690 / 1417
Регистрация: 09.04.2010
Сообщений: 22,546
Блог
20.09.2014, 06:55
Ответы с готовыми решениями:

Найти седловую точку целочисленной матрицы с числом строк не более 12, числом столбцов не более 20 (ООП)
1. Найти седловую точку целочисленной матрицы с числом строк не более 12, числом столбцов не более 20. Найти произведение ненулевых...

Изучение новых языков программирования
Всем привет! Я знаю C++ на уровне ООП (классы, наследование, шаблоны, исключения, перегрузка операторов, STL). Каждый раз, когда я...

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

230
820 / 579 / 75
Регистрация: 20.09.2014
Сообщений: 3,814
26.10.2014, 09:54  [ТС]
Студворк — интернет-сервис помощи студентам
Цитата Сообщение от pycture Посмотреть сообщение
вы прежде чем абстрактно рассуждать где и у кого мучания, возмите и спроектируйте в своем абстрактном ide например змейку
Абстрактно рассуждаете ВЫ! Попробуйте все это проделать сами, а потом уже говорите.

Цитата Сообщение от mporro Посмотреть сообщение
Даю бесплатный совет: отправляйтесь на какой-нибудь политический или философский ресурс. Там наверняка ведётся дискуссия на тему "Почему в XXI веке люди ещё читают книги".
Вы только что провели аналогию между программированием и книгами. Для Вашего сведения: сейчас все больше и больше читают именно электронные книги. Поэтому я не могу Вас никак понять, к чему Вы клоните... ;-)
0
 Аватар для taras atavin
4226 / 1796 / 211
Регистрация: 24.11.2009
Сообщений: 27,562
26.10.2014, 10:02
Цитата Сообщение от Mikhaylo Посмотреть сообщение
Абстрактно рассуждаете ВЫ!
Ёда, что с Вами?
0
306 / 101 / 18
Регистрация: 04.07.2014
Сообщений: 571
26.10.2014, 10:07
Mikhaylo,
Для Вашего сведения: сейчас все больше и больше читают именно электронные книги.
Для сведения: на перфокартах никто не программирует.
0
820 / 579 / 75
Регистрация: 20.09.2014
Сообщений: 3,814
26.10.2014, 13:15  [ТС]
Цитата Сообщение от mporro Посмотреть сообщение
Для сведения: на перфокартах никто не программирует.
Молодой человек продолжает составлять ассоциации, а они никак не работают. Для сведения: бумажные книги читают! И с перфокартами аналогии не получается. Ваше ассоциативное мышление прямо удивляет! Как Вы вообще пишете программы? ))
0
 Аватар для taras atavin
4226 / 1796 / 211
Регистрация: 24.11.2009
Сообщений: 27,562
26.10.2014, 13:21
Ну папирусы то из употребления вышли, не выдержав конкуренции с переплётами. И в переплётах читают меньше, чем раньше. И именно из-за конкуренции с электронными.
0
3258 / 2060 / 351
Регистрация: 24.11.2012
Сообщений: 4,909
26.10.2014, 16:14
Цитата Сообщение от Mikhaylo Посмотреть сообщение
Ну если Вы говорите о других задачах, выполняемых программистом, то следовательно и разговор этот должен быть для другой темы.
Я говорю о том, что основные проблемы разработки выходят за пределы кодирования.
Цитата Сообщение от Mikhaylo Посмотреть сообщение
Пора прекратить мучения с проблемой, которую я назвал ранее "анализ операторных скобок".
Проблема надумана.
Цитата Сообщение от Mikhaylo Посмотреть сообщение
Мучения прекратятся не только у программиста, но и у компилятора, т.к. не нужен будет никакой парсинг.
В своем коллективе не встречал людей, испытывающих мучения от синтаксиса языка. А само высказывание о "ненужности парсинга" просто абсурдно.
Цитата Сообщение от Mikhaylo Посмотреть сообщение
Правой кнопкой можно добавить к этому условному переходу ELSE.
На правах троллинга: не на всех системах вообще есть "правая кнопка".
1
306 / 101 / 18
Регистрация: 04.07.2014
Сообщений: 571
26.10.2014, 16:33
Mikhaylo,
Молодой человек продолжает составлять ассоциации, а они никак не работают.
Вы тоже продолжаете рассказывать нам, что люди не должны читать книг. Но это не работает, книги читают.
0
 Аватар для taras atavin
4226 / 1796 / 211
Регистрация: 24.11.2009
Сообщений: 27,562
26.10.2014, 17:27
Цитата Сообщение от Mikhaylo Посмотреть сообщение
Пора прекратить мучения с проблемой, которую я назвал ранее "анализ операторных скобок". Если программист решил создать условный переход, то он добавляет объект IF нажатием на кнопку "Add IF"/"Добавить ЕСЛИ". Правой кнопкой можно добавить к этому условному переходу ELSE. Или при необходимости убрать. Все операторные скобки создаются и уничтожаются автоматически и только автоматически. Объект невозможно разрушить, нельзя стирать букву F в ключевом слове IF, т.к. это единый объект (супер-токен) с условием, действиями, операторными скобками. Либо нельзя что-то удалять, либо удалить весь объект. Мучения прекратятся не только у программиста, но и у компилятора, т.к. не нужен будет никакой парсинг.
То есть внутри операторных скобок нельзя написать ни одного оператора? Иначе же задача парсинга такого объекта ни куда не денется. А если надо вложить скобку в скобку?
0
1195 / 588 / 88
Регистрация: 20.09.2012
Сообщений: 1,881
26.10.2014, 17:43
Цитата Сообщение от Mikhaylo Посмотреть сообщение
Попробуйте все это проделать сами, а потом уже говорите
что проделать то? змейку написать? она написана - ссылка приведена. теперь ваш через показать превосходство вашей идеи и иде, для кодинга этой _элементарной_ задачи. или все как я и предполагал? физически вы выполнить эту задачу (по изображению своей супер иде в графическом виде) вы не в состоянии и поэтому предлагаете сделать это другим. (какой же я оптимист был, надеясь что вы на половине бросите, вы ж даже не начав отказались). некрасиво
0
820 / 579 / 75
Регистрация: 20.09.2014
Сообщений: 3,814
26.10.2014, 18:33  [ТС]
Цитата Сообщение от pycture Посмотреть сообщение
физически вы выполнить эту задачу (по изображению своей супер иде в графическом виде) вы не в состоянии и поэтому предлагаете сделать это другим.
Я потихоньку пытаюсь начать. Пока надо сделать так много, что я не знаю, с чего начать... Идеи не вырисовываются сразу в единую картину, потому что надо предусмотреть место каждому из объектов языка - классу, объекту, массиву, простым типам, функциям, переменным и т.д. Ну вообще разработка языка программирования - не банальное дело, которым запросто можно заниматься в свободное от работы время. Поэтому меня интересуют готовые идеи.
На самом деле есть готовая реализация - UML, но она меня не впечатляет. UML хорош своей универсальностью и признанием во всем мире, но не как язык программирования. Чего-то в нем, видимо, не хватает. Какие-то вещи, видимо, он неудобно описывает.

Вообще искомое решение меня интересует как хобби. К сожалению, в моей профессии оно не пригодится.
0
 Аватар для taras atavin
4226 / 1796 / 211
Регистрация: 24.11.2009
Сообщений: 27,562
26.10.2014, 18:50
Цитата Сообщение от Mikhaylo Посмотреть сообщение
Я потихоньку пытаюсь начать.
А я уже начал и разметка исходника уже вырисовалась, причём:
1. if then - единый токен.
2. Парсер не только ни куда не делся, но и стал по этой причине сложнее парсера, для которого это два раздельных токена.
0
820 / 579 / 75
Регистрация: 20.09.2014
Сообщений: 3,814
26.10.2014, 19:43  [ТС]
Цитата Сообщение от taras atavin Посмотреть сообщение
А я уже начал и разметка исходника уже вырисовалась, причём:
1. if then - единый токен.
Это простое совершенствование императивного кода. Простейший пример. Про парсеры извольте не согласиться, и к тому же это не суть.
Кстати, я не предлагаю полностью уходить от императивных элементов языка. Наоборот, я считаю, что довольно большой объем кода должен укладываться в эту модель или в этот способ представления кода, ибо последовательная группа действий (императив) - это понятно, просто, нативно. Часто сложно и запутанно становится, когда появляются ссылки, вызовы, переходы. В этой части можно и нужно что-то усовершенствовать, визуализировать...

Посмотрим, что получится, если переложить некоторый реальный код в графическое представление. нет не чисто графическое представление, а конечно же в смесь графики и текста. Нужно взвесить плюсы и минусы, определить необходимый уровень детализации и т.п.
0
 Аватар для taras atavin
4226 / 1796 / 211
Регистрация: 24.11.2009
Сообщений: 27,562
26.10.2014, 20:12
Цитата Сообщение от Mikhaylo Посмотреть сообщение
Это простое совершенствование императивного кода.
При чём здесь код, императивность и вообще парадигмы? Это только формат исходника и ничего более. Ну и вытекающая из формата особенность способа редактирования.

Добавлено через 2 минуты
Цитата Сообщение от Mikhaylo Посмотреть сообщение
ибо последовательная группа действий (императив) - это понятно, просто, нативно.
А разработчики компиляторов то и не знали, что перед ними задача вообще не стоит.

Добавлено через 1 минуту
Цитата Сообщение от Mikhaylo Посмотреть сообщение
определить необходимый уровень детализации и т.п.
При чём здесь вообще игровые текстуры?
0
3258 / 2060 / 351
Регистрация: 24.11.2012
Сообщений: 4,909
26.10.2014, 20:20
Цитата Сообщение от Mikhaylo Посмотреть сообщение
определить необходимый уровень детализации
Цитата Сообщение от taras atavin Посмотреть сообщение
При чём здесь вообще игровые текстуры?
Это пять) Убило)
0
 Аватар для taras atavin
4226 / 1796 / 211
Регистрация: 24.11.2009
Сообщений: 27,562
26.10.2014, 20:24
Цитата Сообщение от 0x10 Посмотреть сообщение
Это пять) Убило)
Вот именно это и убило.
0
820 / 579 / 75
Регистрация: 20.09.2014
Сообщений: 3,814
27.10.2014, 04:22  [ТС]
Цитата Сообщение от 0x10 Посмотреть сообщение
Это пять) Убило)
Цитата Сообщение от taras atavin Посмотреть сообщение
Вот именно это и убило.
Вы не знаете слов "уровень" и "детализация"? DDD Для Вас это только картинки/графика???
0
 Аватар для taras atavin
4226 / 1796 / 211
Регистрация: 24.11.2009
Сообщений: 27,562
27.10.2014, 04:34
Цитата Сообщение от Mikhaylo Посмотреть сообщение
Вы не знаете слов "уровень" и "детализация"?
Понимаю.
Цитата Сообщение от Mikhaylo Посмотреть сообщение
DDD Для Вас это только картинки/графика???
1. Речь была о графике.
2. Если Вы не знаете слова "приближение" и считаете его синонимом зума, то это не моя проблема.
0
820 / 579 / 75
Регистрация: 20.09.2014
Сообщений: 3,814
27.10.2014, 05:30  [ТС]
Уровень детализации... В данном случае речь о том, сколько информации нужно выводить на экран. Вот, например, когда мы пишем вызов функции:
Code
1
Image2 := ResizeImage(Image1);
Мы не указываем типы данных Image1, Image2. Язык программирования позволяет, т.к. типы уже указаны в сигнатурах.
Среда разработки, дабы не нарушать "чистоту" языка программирования, не вносит никаких изменений в пресловутый "уровень детализации" кода.
Между тем, интересным был бы вариант, если бы под именами переменных уменьшенным шрифтом серым цветом был бы подписан тип данных. Примерно так:
Code
1
2
Image2 := ResizeImage(Image1);
TImage               TImage
Многие среды разработки решают эту проблему с помощью всплывающих хинтов. Это открытый вопрос, как лучше делать.
0
 Аватар для taras atavin
4226 / 1796 / 211
Регистрация: 24.11.2009
Сообщений: 27,562
27.10.2014, 06:19
Цитата Сообщение от Mikhaylo Посмотреть сообщение
Уровень детализации... В данном случае речь о том, сколько информации нужно выводить на экран. Вот, например, когда мы пишем вызов функции:
Код Code
1
Image2 := ResizeImage(Image1);
Мы не указываем типы данных Image1, Image2. Язык программирования позволяет, т.к. типы уже указаны в сигнатурах.
При чём здесь детализация? Типы просто указаны выше. И даже когда пишешь
C++
1
s+='s';
, не указывая внутреннего представления строки (хоть на списке символов), это тоже уровень абстракции, а не детализация. Детализация же показывает, на сколько хорошо видно представленную информацию. Если в игре часть текстуры танка загорожена домом - это ведь оклюзия, а не детализация, а вот если танк ближе/дальше отъехал и в связи с этим на него наложена более грубая/подробная текстура - вот это уже детализация.

Добавлено через 41 минуту
Цитата Сообщение от Mikhaylo Посмотреть сообщение
Между тем, интересным был бы вариант, если бы под именами переменных уменьшенным шрифтом серым цветом был бы подписан тип данных. Примерно так:
Code
1
2
Image2 := ResizeImage(Image1);
TImage TImage
Во-первых это не парадигма. Текст то остаётся тем же самым. Просто под идентификаторами висят подсказки, но семантика любой лексемы остаётся прежней. А во-вторых это нафиг ни кому не нужно. Фокус в том, что при каждом обращении к каждой переменной нужен не только её тип, но и в первую очередь её назначение. Ну TImage. И что? Опираясь только на эту информацию ты отлично отресайзишь график по обеим осям к размеру шкалы под ним, а потом будешь удивляться, чего это нифига не видно. А если Image1 - это изображение шкалы, то уже и тип ясен, но человеку, благодаря пониманию самой задачи, программа же для того и пишется, чтоб объяснить машине, как решать задачу и пока она не написана ни каких выводов из назначения переменной компилятор всё равно не сделает. Писать и тип, и идентификатор, и назначение для разработчика избыточно, так как он то человек. А раз избыточно, то и неудобно. А тип и идентификатор писать надо. Значит что постараются выбросить? Правильно, выбросят назначение. А если умеют писать правильно, то пропишут назначение прямо в идентификаторе. При этом все эти серости увеличивают высоту текста, а высоты экрана и так давно и капитально не хватает. Вот потому и хинты при наведении только чтоб напомнить разрядность.
0
820 / 579 / 75
Регистрация: 20.09.2014
Сообщений: 3,814
27.10.2014, 16:02  [ТС]
Цитата Сообщение от taras atavin Посмотреть сообщение
Во-первых это не парадигма.
Позвольте поставить задачу более широко - разработать более удобный интерфейс, а не разработать новую парадигму. Это чтобы не спорить, парадигма это или не парадигма. Вполне возможно, что в целом такая постановка задачи может дать новую парадигму?.....
Цитата Сообщение от taras atavin Посмотреть сообщение
А во-вторых это нафиг ни кому не нужно.
Очень вероятно, но я бы попробовал в действии.
0
Надоела реклама? Зарегистрируйтесь и она исчезнет полностью.
raxper
Эксперт
30234 / 6612 / 1498
Регистрация: 28.12.2010
Сообщений: 21,154
Блог
27.10.2014, 16:02

Отличие модульного программирования от ООП
Добрый день! Подскажите пожалуйста, чем отличается парадигма модульного программирования от ООП? Определение на Википедии описывает модуль,...

Выбор языка программирования ООП
Программирую на php&mysql. Знаю Си. (Си изучал чтобы написать модулей для php). Хотелось бы изучить ООП вот только в качестве...

Ajax_result замена в более новых версиях
Здравствуйте. У меня используется jquery последней версии, и старый js перевожу на новую версию. В старой версии используется -...

Переструктурировать исходник в структуру программирования ООП
Не так давно изучаю C++ и вот столкнулся с проблемой Написал исходник в C::B который работает со строками и от меня теперь потребовали...

Найти вероятность того, что событие А происходит: а)точно 220; б) менее чем 240 и более чем 100 раз.
В каждом из 500 независимых испытаний событие А происходит с постоянной вероятностью 0,4.Найти вероятность того, что событие А происходит:...


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

Или воспользуйтесь поиском по форуму:
80
Ответ Создать тему
Новые блоги и статьи
сукцессия 29. Переход от одних деревьев на другие делать более или менее вероятностным?
anaschu 12.07.2026
Насколько смена типов микоризы — исключительное событие в двухвековой сукцессии? Оценка вероятности в пространстве параметров В текущей версии модели успешно реализован ключевой механизм. . .
сукцессия 27. Думаю, как переделывать уже написанную статью с планами на сукцессию.
anaschu 12.07.2026
Анализ соответствия модели требованиям Реализованные компоненты: Механизм закисления почвы через протонную помпу Конкуренция между типами микориз pH как триггер сукцессии C/ P соотношение. . .
Сукцессия 26. Мат модель создана.
anaschu 12.07.2026
Модель смены растительных сукцессий посредством управления грибами работает внутри небольшой ячейки почвы, восстанавливающейся после пожара, где ненадолго бывшее царство хвойных снова захватили. . .
Решил проблему с ошибкой пагинации сообщений с сервера на алгоритме обхода дерева "Эстафета хвоста".
Hrethgir 12.07.2026
Проблема была в том, что удалялась именно новая кнопка, а не старая. Ни один ИИ не обнаружил это, а сам я смог только когда с работой стало попроще и когда заставил работать будущее автономное. . .
сукцессия 25. Хронология ошибок
anaschu 12.07.2026
# От 50-тонного гриба до устойчивого леса: хроника ошибок при построении модели вековой сукцессии микоризы ## О чём эта статья В процессе построения ОДУ-модели (система дифференциальных. . .
сукцессия 24. Промежуточное общее описание модели
anaschu 12.07.2026
Хендофф: модель АМ→ЭКМ сукцессии микоризы (ризосфера, 50 лет) Содержание проекта Симуляция вековой (50 лет) экологической сукцессии в почве леса Основные участники: АМ-гриб, ЭКМ-гриб,. . .
сукцессия 23. Более физиологичная физиология, более экологичная экология, более диффурные диффуры.
anaschu 12.07.2026
Что реально нашли и починили за эти 5 часов Правило Линдемана (КПД конверсии сахара в тело, kEff) — раньше 100% полученного углерода шло прямо в биомассу гриба; теперь только kEff=0. 5 (после. . .
сукцессия 22. От артефактов к физиологии: калибровка агентной модели грибной сукцессии для воспроизведения сезонной динамики и pH-плато
anaschu 11.07.2026
Аннотация В данной работе представлена калибровка агентной модели динамики грибных сообществ (fungal-succession), направленная на устранение нефизичных артефактов (коллапс биомассы, мгновенное. . .
КиберФорум - форум программистов, компьютерный форум, программирование
Powered by vBulletin
Copyright ©2000 - 2026, CyberForum.ru