|
Труд вопреки насмешкам
|
||||||||||||||||||||||||||||||||||||
Новое направление в программировании - "Кортежно-ориентированное программирование"25.12.2021, 16:06. Показов 6237. Ответов 72
Метки нет (Все метки)
Всем привет! Эта тема предназначена для обсуждения предполагаемого будущего программирования. Приглашаю Shamil1 и Элд Хасп присоединиться.
Я уже когда-то упоминал о новой парадигме "кортежно-ориентированного программирования" (КорОП, неформально "коробка", англ. TuOP). Теперь я хочу развить эту теорию. Вот основные тезисы КорОП: 1. Как можно понять из названия, основной элемент новой парадигмы - кортеж (англ. tuple). Он записывается так:
2. Также кортежно-ориентированный язык должен реализовывать сингулярный кортеж - последовательность значений одного типа, например, вместо (int, int, int, int, int) можно написать int[5]. В отличие от списка, длину сингулярного кортежа нельзя изменить. Сингулярный кортеж - это не массив и не список. Более того, одна часть кортежа может быть мультиплексной, а другая - сингулярной:
int[1000000].3. Список записывается так же, как кортеж (я имею в виду значения). Компилятор должен уметь различать их по типу переменной. В случае использования var или в другой ситуации, когда тип переменной не различает список и кортеж, последовательность считается кортежом. При этом должны быть преобразования из кортежа в список и обратно (а вообще оптимально будет, если преобразование из сингулярного кортежа в список этого же или неявно-совместимого типа будет неявным) (а при преобразовании списка в кортеж несоответствующие элементы автоматически добавляются или удаляются). Также не ключевым, но желательным элементом КорОП являются автоматические преобразования из списка в список в случае, если возможно преобразование каждого элемента этого списка в нужный тип (опять же, оптимальный вариант - неявное преобразование list() int в list() real или аналогичных случаев).4. И наоборот предыдущему пункту, в кортеже должно быть возможно получить элемент по индексу так же, как в списке. Если индекс является константным, тип получаемого элемента должен автоматически определяться компилятором, иначе элемент имеет тип, являющийся необходимым и достаточным для совместимости с типами всех элементов кортежа. 5. КорОП считает, что объекты - это... ну, не то чтобы зло, но чем их меньше - тем лучше. Оптимально - три: кортеж, список и словарь. Ну, иногда можно добавить еще три: множество, дерево и список бит. И уже совсем редко - еще шесть: стек, очередь, связной список, отсортированный словарь, отсортированное множество и бинарное дерево. Все остальные объекты - ненужный мусор, многократная уборка которого заставляет программу виснуть. Вместо пользовательских объектов рекомендуется использовать другие конструкции: структуры и рекурсивные типы, да и то только тогда, когда вложенность типов становится уже трудночитаемой, например, как в следующем коде:
(Дисклеймер: прошу не требовать от меня реальных примеров применения этого кода. Я сам ума не приложу, для чего он может применяться. Это просто демонстрация правильного использования КорОП.) 6. А вот массивы в КорОП - это уже настоящее зло! Такое же, как и goto. В кортежно-ориентированном языке их не должно быть в принципе. Кортежно-ориентированный язык должен быть ультра-высокоуровневым, а массивы - слишком низкоуровневая конструкция для того, чтобы применяться в ультра-высокоуровневых языках. Список содержит все те возможности, которые содержит массив, и некоторые из тех, которые у массива отсутствуют. И отказаться от массива как раз легче, чем отказаться от goto, так как в случае с ним как раз наоборот - goto содержит много возможностей, которые иначе можно реализовать только через сложные костыли или вообще нельзя (например, переход к произвольному месту другой функции). И ничего, как-то же отказались от него настолько, что у многих неиспользование goto стало догмой, переступание через которую приводит к расстрелу без суда и следствия... (Если честно, я считаю, что такое отношение - это уже перебор. Я против вообще любой догматичной веры, и считаю, что категорически запрещено только убивать, воровать и пропагандировать коммунизм или фашизм, а все остальное, в том числе и goto, если в этом есть необходимость в данной ситуации, можно и применять.) Вот таблица основных способов организации последовательности значений в зависимости от уровня языка:
7. В КорОП-языке обязательна возможность группового присваивания - присваивания кортежу, сформированному "на лету" из несвязанных переменных, другого такого же, причем в правом кортеже могут смешиваться несвязанные переменные и произвольные выражения, в том числе и с использованием старых значений переменных из левого кортежа. Например, вот так:
Всё вышенаписанное - вымышлено, все совпадения с реальными событиями случайны. Я не призываю что-либо свергать или обрушивать. Но считаю, что КорОП - следующий этап после ООП. Кто хочет, может высказываться против.
0
|
||||||||||||||||||||||||||||||||||||
| 25.12.2021, 16:06 | |
|
Ответы с готовыми решениями:
72
Какое направление в программировании выбрать? Направление в программировании нетребовательные к глубокому знанию математики Какое нынче самое сложное и мозголомное направление в программировании? |
|
фрилансер
6502 / 5740 / 1134
Регистрация: 11.10.2019
Сообщений: 15,382
|
|||
| 27.12.2021, 11:51 | |||
1
|
|||
|
14768 / 9542 / 1365
Регистрация: 21.01.2016
Сообщений: 35,984
|
||
| 27.12.2021, 14:03 | ||
|
0
|
||
|
94 / 92 / 18
Регистрация: 10.03.2017
Сообщений: 306
|
|||||||
| 27.12.2021, 14:49 | |||||||
Эх, ностальгия...Добавлено через 19 минут
0
|
|||||||
|
282 / 485 / 12
Регистрация: 21.06.2019
Сообщений: 3,020
|
||
| 27.12.2021, 15:13 | ||
|
0
|
||
|
Труд вопреки насмешкам
|
|||||
| 27.12.2021, 16:05 [ТС] | |||||
|
Добавлено через 6 минут
0
|
|||||
|
94 / 92 / 18
Регистрация: 10.03.2017
Сообщений: 306
|
|||
| 27.12.2021, 16:16 | |||
|
Или вы считаете что разработчики таких сложных вещей - фрики? Там есть ещё похожие статьи - Table Oriented Programming, CollectionOrientedProgramming...
0
|
|||
|
Труд вопреки насмешкам
|
|||
| 27.12.2021, 16:22 [ТС] | |||
|
0
|
|||
|
14768 / 9542 / 1365
Регистрация: 21.01.2016
Сообщений: 35,984
|
||
| 27.12.2021, 16:35 | ||
|
0
|
||
|
14768 / 9542 / 1365
Регистрация: 21.01.2016
Сообщений: 35,984
|
|
| 28.12.2021, 06:53 | |
|
Croessmah, Звания наткнулся на значимые кортежи в C# и его опять осенило новым языком.
0
|
|
|
282 / 485 / 12
Регистрация: 21.06.2019
Сообщений: 3,020
|
|
| 28.12.2021, 06:58 | |
|
0
|
|
|
14768 / 9542 / 1365
Регистрация: 21.01.2016
Сообщений: 35,984
|
|
| 28.12.2021, 07:24 | |
|
1
|
|
|
821 / 580 / 75
Регистрация: 20.09.2014
Сообщений: 3,826
|
|
| 28.12.2021, 07:53 | |
|
Есть люди, которые двигают прогресс... Они желают получить признание.
Я бы не стал троллить человека за саморекламирование и излишний пафос. Я кстати тоже близок к таким людям как Etyuhibosecyu, и тоже интересуюсь теоретическими обобщениями в программировании. Вот, например, придумал концепт абстрактного языка разработки (в противопоставление к конкретным языкам программирования). Хотите расскажу про этот язык в отдельной теме?
0
|
|
|
282 / 485 / 12
Регистрация: 21.06.2019
Сообщений: 3,020
|
|
| 28.12.2021, 08:03 | |
|
Mikhaylo, не знаю, как вы, а ТС с правительскими званиями на этом форуме уже несколько лет заводит одни и те же темы. Каждый раз ему объясняют, что он изобретает велосипед, каждый раз он обежается что его творения не принимают всерьез. Потом выкатывает неюзабельную поделку, призванную продемонстрировать его гениальность. И снова ему объясняют, что с ним не так и даже дают советы как сделать лучше. Каждый раз ТС их напроч игнорирует и через некоторое время появляется с новой, или не очень хорошо забытой старой идеей. Круг замкнулся, начинаем с начала
![]() Так что, мне кажется, между вами с ТСом есть разница.
0
|
|
|
14768 / 9542 / 1365
Регистрация: 21.01.2016
Сообщений: 35,984
|
|
| 28.12.2021, 08:05 | |
|
Mikhaylo, мы троллим его за раздутое как воздушный шар ЧСВ, глупость, жадность и инфантильность. Он не двигает прогресс. Он балуется. Всё, что у него получается после такого баловства он на суд сообщества несёт, хотя такое положено сразу смывать.
Да и достижения его... Вы же сами видите. Подписку на github он купил! Ёк-макарёк! Вот это двинул прогресс, так двинул. И сразу побежал за одобрением. Мол, смотрите, какой он умный. Ребёнка можно похвалить. Здорового мужика, в сарафан одетого, как-то не хочется. Он себя Д`Артаньяном и бизнесменом может мнить сколько угодно. Изобретать там что угодно. Но дерьмом его проекты не перестанут от этого быть. Да и мотивы у него, по существу, под стать его проектам. Жалуется, что денег нет и семья у него живёт затянув пояса, а сам, вместо того, чтобы пойти заработать для семьи, тупо паразитирует и присваивает сам себе Звания. Нет у меня уважения к таким персонажам. Ни к ним самим, ни к их творчеству.
1
|
|
|
821 / 580 / 75
Регистрация: 20.09.2014
Сообщений: 3,826
|
|
| 28.12.2021, 08:05 | |
|
Ну пусть себе пишет.)
0
|
|
|
14768 / 9542 / 1365
Регистрация: 21.01.2016
Сообщений: 35,984
|
|
| 28.12.2021, 08:08 | |
|
Mikhaylo, так и мы такого же мнения) Пускай пишет и изобретает сколько хочет) Это его время в трубу улетает) А нам возможность лулзов словить)
0
|
|
|
821 / 580 / 75
Регистрация: 20.09.2014
Сообщений: 3,826
|
|
| 28.12.2021, 08:28 | |
|
Обе стороны позволяют себе все, что угодно. Но есть же варианты как это урегулировать бесконфликтно. Просто взять и прокомментировать вроде "Это очередной велосипед". Но на личности переходить не надо. Нужно быть толерантнее в интернете.
Все, думаю, согласны с моим следующим комментарием: КорОП не представляет собой никакую парадигму, под этим названием кроется простая языковая конструкция, имеющаяся во многих языках, и, более того, во многих она реализована нативно. "ОП" в названии "КорОП" - это буквы из другого слова. Примерно так надо комментировать. )
0
|
|
|
282 / 485 / 12
Регистрация: 21.06.2019
Сообщений: 3,020
|
||
| 28.12.2021, 08:53 | ||
И так, и иначе, и по всякому пытались до него донести подобные несложные мысли. Не работает
0
|
||
| 28.12.2021, 08:53 | |
|
ПРОГРАММИСТ на новое направление Объектно-ориентированный анализ, Объектно-ориентированное проектирование, Объектно-ориентированное программирование Вывести на экран новое направление движения корабля
Объектно - ориентированное программирование Искать еще темы с ответами Или воспользуйтесь поиском по форуму: |
|
Новые блоги и статьи
|
|||
|
Мобильное приложение ColorStep
pavlinmavlin 17.09.2026
Реализовал приложение Красный, Зеленый, Синий в Unity3d + c#.
Название изменил на ColorStep.
Приложение прошло модерацию и теперь доступно для скачивания. Делал его сам, шаг за шагом — и вот,. . .
|
Запрет дублирования строк в табличной части
Maks 13.09.2026
Реализация из решения ниже выполнена на нетиповом справочнике "Нормы ТО" с табличной часть "Виды ТО", разработанного в КА2, со следующими реквизитами:
- ВидТО (СправочникСсылка. ВидыТО);
- ВидГСМ. . .
|
Скрипты Tampermonkey для CyberForum, ChatGPT, Claude и пр.
Jin X 06.09.2026
Скрипты Tampermonkey для CyberForum, ChatGPT, Claude и пр.
Работая с форумом и нейросетями в браузере часто хочется что-то подкорректировать или добавить какого-то функционала.
Ниже прикреплён. . .
|
Программа опроса у.з. расходомера SLS-720F
Argus19 02.09.2026
Программа опроса у. з. расходомера SLS-720F
Программа опрашивает один раз в минуту три ультразвуковых расходомера SLS-720F через интерфейс RS-485 по протоколу Modbus RTU.
Опрашиваются регистры. . .
|
|
Hyper-V: Компьютер должен поддерживать доверенный платформенный модуль 2.0.
Maks 31.08.2026
При установке Windows 11 на виртуальную машину Hyper-V 2-го поколения вылезла такая ошибка:
Решение: в параметрах виртуальной машины, в разделе "Безопасность" (Security) активировать флаг. . .
|
Архитектура биовида Стива в Майнкрафте: Зачем бонобо кубический каннибализм
anaschu 30.08.2026
Кубический Вагинокапитализм в Minecraft: Математический инвариант ОДУ и рок Стивов-бонобо
Главная задача разработанной «Модели Всего» — наглядно продемонстрировать наличие системной «судьбы». . .
|
Оттачиваю умение писать js программы.
russiannick 30.08.2026
Проектом выходного дня стало написание Книги шифров Виженера. Итогом стала версия 200, синий туман.
Синий туман назван так, потому что замораживает текст под собой. Нажатие синих кнопок управляют. . .
|
мат медиц модель 30. презентация проекта
anaschu 27.08.2026
хоп хоп хоп хидахоп, а я кладую))
|