|
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
|
|
| 20.09.2014, 06:55 | |
|
Ответы с готовыми решениями:
230
Найти седловую точку целочисленной матрицы с числом строк не более 12, числом столбцов не более 20 (ООП)
|
|
|
||
| 25.09.2014, 11:03 | ||
|
Хотелось бы услышать мнения тех, кто ушёл с ООП на АОП. В чём радости и огорчения такого перехода?
0
|
||
|
Кандёхаем веселее!
296 / 330 / 76
Регистрация: 02.10.2012
Сообщений: 2,175
|
||
| 25.09.2014, 11:26 | ||
|
0
|
||
|
820 / 579 / 75
Регистрация: 20.09.2014
Сообщений: 3,814
|
|
| 25.09.2014, 16:11 [ТС] | |
|
А это и есть более новая парадигма программирования - когда ты, например, 100% работаешь с мышкой, а не 100% печатаешь на клавиатуре. Когда ты 50% рисуешь мышкой, 50% печатаешь, то это тоже новая парадигма, но всего на 50%...
Новизна парадигмы заключается в новом понимании того, что языком программирования является не текст программы в текстовом формате, а все-таки способ общения программиста с компьютером при создании проекта. И программа - это не текст, а любого рода информация, которая определяет, как должна работать программа.1) Соответственно после всего этого должно возникнуть понимание, что для программиста предпочтительны (и таковые имеются!) более нативные способы передачи информации компьютеру. Например, передача информации указанием мышью. 2) Вторая часть понимания заключается в том, что программист не должен утруждать себя передачей некоторой дублированной и излишней информацией, которую компьютер и так способен идентифицировать по косвенным признакам. Сюда относится Intellisense. 3) Третья часть понимания должна подвести к тому, чтобы поток информации от программиста к компьютеру не обязан идти сразу полноценный, абсолютно точный и т.д. Процесс разработки все равно итеративный: можно сначала обрисовывать общие черты программы, а лишь затем - уточнять и т.д. Этот момент вы наверное посчитаете за фантастику, однако это отнюдь неправда. У меня есть конкретные примеры.4) Ну и наконец, четвертый момент: мы должны осознать, что мы можем давать больше информации компьютеру при программировании, чем делаем это сейчас с помощью стандартных языков программирования. Например, если мы определили переменную ABC типа int, то мы помимо этого можем указать реальный диапазон значений этой величины для того, чтобы компилятор мог подобрать оптимальный машинный код для данного конкретного случая.
0
|
|
|
4576 / 2775 / 491
Регистрация: 28.04.2012
Сообщений: 8,781
|
|||||
| 25.09.2014, 17:20 | |||||
|
0
|
|||||
|
820 / 579 / 75
Регистрация: 20.09.2014
Сообщений: 3,814
|
||
| 25.09.2014, 18:49 [ТС] | ||
|
Повторное использование кода - ну да, это один важных моментов при общении программиста с компьютером, я б сказал, что это уже банально и примитивно. Но есть другие вещи, которые компьютер уже знает и ему не надо это повторять повторять. Прототипирование - спасибо, скачал книжку по этой части, почитаю... agile - это термин из другой области, из управления софтверными проектами и относится к менеджменту. range-типы - к сожалению, по этой части поиск не выдает ничего вразумительного, но мне кажется, что здесь Вы не поняли мой посыл. Диапазон переменной может пригодиться для оптимизации выходного кода компилятора. Вместо диапазона еще может быть распределение вероятностей величины. Этому пока я тоже вижу только одно применение - автоматическая оптимизация кода.
0
|
||
|
4576 / 2775 / 491
Регистрация: 28.04.2012
Сообщений: 8,781
|
|||||
| 25.09.2014, 19:18 | |||||
|
Добавлено через 53 секунды
0
|
|||||
|
820 / 579 / 75
Регистрация: 20.09.2014
Сообщений: 3,814
|
|
| 26.09.2014, 05:56 [ТС] | |
|
0
|
|
|
2924 / 1274 / 114
Регистрация: 27.05.2008
Сообщений: 3,465
|
||
| 26.09.2014, 10:10 | ||
|
0
|
||
|
4576 / 2775 / 491
Регистрация: 28.04.2012
Сообщений: 8,781
|
|
| 26.09.2014, 11:25 | |
|
0
|
|
|
820 / 579 / 75
Регистрация: 20.09.2014
Сообщений: 3,814
|
|||
| 26.09.2014, 17:17 [ТС] | |||
|
Вот, что я нашел в книге Мартина Фаулера "UML. Основы" (2005 г.):
0
|
|||
|
0 / 0 / 0
Регистрация: 21.10.2014
Сообщений: 4
|
|
| 21.10.2014, 16:10 | |
|
тема на самом деле отличная
люди начинают искать >нечто< новое всё стремится к ускорению программирования, этот процесс неизбежен, иначе бы работали тысячи прогеров на перфокартах
0
|
|
|
431 / 385 / 200
Регистрация: 12.08.2011
Сообщений: 1,610
|
||
| 21.10.2014, 18:39 | ||
|
Конкатенативные языки, в первую очередь советую обратить внимание на Factor. Векторные языки, вот впечатляющее видео. Функциональное программирование. Я понимаю, что это глупый вопрос, но ты, конечно же, уже прослушал вот этот курс, прежде чем задавать вопрос, существуют ли языки лучше С++? Я не знаю, существуют ли хуже... Вот еще пара ссылок вспомнилась сразу: http://www.nestor.minsk.by/sr/2003/07/30710.html http://russian.joelonsoftware.... enceC.html http://boevo.ru/informatika_vt... ryali.html
0
|
||
|
820 / 579 / 75
Регистрация: 20.09.2014
Сообщений: 3,814
|
||||||||||||||||||||||||||
| 25.10.2014, 06:13 [ТС] | ||||||||||||||||||||||||||
|
Господа!
Все эти векторные, конкатенативные, функциональные языки - это конечно хорошо. Все эти "парадигмы программирования" объединяет одно - они определяют все новые и новые интересные объекты для языков (например, вектор, рекурсия, интерфейс, делегат, тензор, матрица и т.п.). Программист радуется, строчит на клавиатуре, сбивается, ищет, где пропустил точку с запятой, нашел ошибку, исправил, F5... Стойте-стойте! В языке определен объект! Так какого черта этот объект соответствует сотне строго правильных ударов по клавишам?! Почему на экране этот вполне простой объект разбивается на объявление сигнатуры, инициализацию, использование, преобразование и все это разбросано в разных частях кода? Ладно, хрен с ним, с объектом. Если программист сам его создал, то в принципе рано или поздно он запомнит все его вхождения в код и успешно использует его. Чужой код, чужие объекты! Огромнейшие библиотеки чужого кода! Как с ними быть? Пишем:
Короче говоря, господа, наши IDE и языки программирования дают неплохие инструменты для работы. Эти инструменты комплексные, быстро работают, многое умеют. Но доступ к ним осуществляется исключительно разворотом к ним задом, при этом искать инструмент приходится на ощупь и только левой рукой. Так как инструментов очень много, в руку постоянно попадаются всякие ненужные инструменты. Проходят годы и ты с удивлением узнаешь о наличии молотка, до этого гвозди забивал микроскопом... Да ладно библиотеки функций и объектов. Поговорим о встроенных средствах языка программирования. Элементарно, чтобы написать условный переход, приходится долбить одни и те же клавиши:
Операторные скобки - это вообще чудо из 60-х годов прошлого века:
Господа! Удобство программирования не заключается лишь в хорошем языке программирования и библиотеках функций. Со времен изобретения компьютеров было не так много идей, которые реально улучшают интерфейс программиста. Например, Rapid Application Development (RAD). Чтобы как-то улучшить интерфейс, нужно задаться вопросом: почему программирование представляется как стучание по клавишам и изучение операторных скобок? Добавлено через 4 минуты
0
|
||||||||||||||||||||||||||
|
3258 / 2060 / 351
Регистрация: 24.11.2012
Сообщений: 4,909
|
||
| 25.10.2014, 07:56 | ||
|
Сначала хотел написать что-то конструктивное в ответ на последний пост, а потом махнул рукой на это бесполезное дело - я не знаю как комментировать чужие субъективные убеждения, которые мало пересекаются с тем, что я вижу в повседневной практике. Отвечу лишь на один вброс:
Естественно, мы же и занимаемся реализацией. Выбираем язык, набор библиотек и т. д. Вот только простота разработки и дальнейшего сопровождения определяется не языком, не свистелками ide, а квалификацией разработчика.
1
|
||
|
820 / 579 / 75
Регистрация: 20.09.2014
Сообщений: 3,814
|
||
| 25.10.2014, 15:12 [ТС] | ||
|
Я, например, могу заниматься сбором требований, аналитикой, составлением архитектур, но не программированием. Точнее программировать я тоже могу, но имеет место вышеописанный взрыв мозга. Может это следствие того, что я программирование вижу не в первый раз и под разными точками зрения?
0
|
||
|
1195 / 588 / 88
Регистрация: 20.09.2012
Сообщений: 1,881
|
|||||
| 25.10.2014, 17:32 | |||||
)Не по теме:
0
|
|||||
|
820 / 579 / 75
Регистрация: 20.09.2014
Сообщений: 3,814
|
|||
| 26.10.2014, 08:09 [ТС] | |||
|
Воу, воу потише...
![]() Добавлено через 15 часов 35 минут Взять, например: Я же ставлю вопрос несколько иначе: нужно вырабатывать идеи, которые превратят кодирование/программирование, нахождение ошибок, анализ чужого коверканного кода в удовольствие. Отчего нет удовольствия? Да потому что языки программирования и среды IDE не осуществляют даже элементарную поддержку-помощь. Это я констатирую безусловно и бесповоротно. Языки программирования ладно, но IDE в соответствии с моделью MVC должен предоставлять интерфейс бОльшей степени нативности, нежели интерфейс императивного кода существующих популярных языков программирования. Нужно еще бОльшее приближение к той абстракции, которая в голове у программиста! Возможности для этого есть. Например, кириллица в именах-идентификаторах must be! Русским программистам следует работать с русскими переменными, объектами и т.п. Это их родной (нативный) язык. MVC легко решит проблему совместимости с существующим стандартом языка. MVC поможет в переходном периоде, до переиздания стандарта, которое должно стать просто неизбежным. Пора прекратить мучения с проблемой, которую я назвал ранее "анализ операторных скобок". Если программист решил создать условный переход, то он добавляет объект IF нажатием на кнопку "Add IF"/"Добавить ЕСЛИ". Правой кнопкой можно добавить к этому условному переходу ELSE. Или при необходимости убрать. Все операторные скобки создаются и уничтожаются автоматически и только автоматически. Объект невозможно разрушить, нельзя стирать букву F в ключевом слове IF, т.к. это единый объект (супер-токен) с условием, действиями, операторными скобками. Либо нельзя что-то удалять, либо удалить весь объект. Мучения прекратятся не только у программиста, но и у компилятора, т.к. не нужен будет никакой парсинг. Это лишь некоторая часть идей. А еще сколько можно нарыть?
0
|
|||
|
1195 / 588 / 88
Регистрация: 20.09.2012
Сообщений: 1,881
|
|||||||
| 26.10.2014, 09:33 | |||||||
|
поясняю почему.
Не по теме:
0
|
|||||||
|
306 / 101 / 18
Регистрация: 04.07.2014
Сообщений: 571
|
|
| 26.10.2014, 09:43 | |
|
Mikhaylo, какие глупости.
Даю бесплатный совет: отправляйтесь на какой-нибудь политический или философский ресурс. Там наверняка ведётся дискуссия на тему "Почему в XXI веке люди ещё читают книги".
1
|
|
| 26.10.2014, 09:43 | |
|
Выбор языка программирования ООП Ajax_result замена в более новых версиях Переструктурировать исходник в структуру программирования ООП Найти вероятность того, что событие А происходит: а)точно 220; б) менее чем 240 и более чем 100 раз. Искать еще темы с ответами Или воспользуйтесь поиском по форуму: |
|
Новые блоги и статьи
|
|||
|
сукцессия 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), направленная на устранение нефизичных артефактов (коллапс биомассы, мгновенное. . .
|