|
Труд вопреки насмешкам
|
|||||||||||
C↑ᶜC. Дерево нового потомка BCPL засияло ярко-голубыми цветами05.10.2019, 20:41. Показов 2405. Ответов 23
Метки нет (Все метки)
Сегодня, 5 октября 2019 года - великий день! Наконец перечислены все текущие, будущие, устаревшие и зарезервированные конструкции C↑ᶜC, о которых я в настоящее время имею хоть какое-то понятие, включая пространства имен, операторы и неявные преобразования. Когда-то давно, я помню, я писал, что были посеяны семена дерева C↑ᶜC. Потом эти семена раскрылись, взошли, появились первые ростки, затем - листья, бутоны и, наконец - цветы! Слово "голубые" присутствует в названии темы не случайно. Для начала, голубой - цвет магии, а она очень пригодится дереву, так как над ним нависла железная крыша - синтаксический анализатор, а дерево, хоть уже и цветет, но еще очень маленькое и хрупкое, и без магии ему железную крышу не пробить. Кроме того, в какой-то книге, я помню, я читал, что цвет зарождения жизни и начала чего-либо нового - именно голубой, а именно из цветов, а не, например, из листьев, зарождаются плоды, поэтому "голубые цветы" можно считать аллегорией, замкнутой сама на себя. Наконец, голубой - цвет Венеры, то есть вселенской любви и красоты. При всем этом голубой - незаслуженно обиженный цвет, который часто путают со светло-синим - я даже видел на упаковке красок инструкцию, что чтобы получить голубой цвет, надо смешать синий с белым. Ну ладно, напишу без лирики - я завершил список конструкций C↑ᶜC и готов приступить к самому сложному - СИНТАКСИЧЕСКОМУ АНАЛИЗАТОРУ!
Считаю, что настоящая тема достойна находиться в разделе по C#, так как C↑ᶜC - прямое продолжение C#, так как разработка языка Cω была свернута. И плохая новость: преимущество C↑ᶜC перед C# в отношении оператора .. больше не является преимуществом - Microsoft опередила меня в этом отношении. Если еще через пару лет эти индусы создадут аналог Юноны - C↑ᶜC можно будет сворачивать, так как он одинаково не будет иметь никакого смысла. Но это ЕСЛИ, а пока что язык активно разрабатывается.К слову, о Юноне. А ей и так несладко. Она уже была разрушена и фактически не жива. Господин Usaga был прав - революционная "фича" в виде Юноны не оказалась ничем, кроме незнания языка и попытки переизобрести неизвестные мне вещи. Хоть я и не знаю, что означает само слово "фича". Как бы там не было, "нумерующее отображение" оказалось полностью эквивалентным по смыслу хеш-таблице, которая, скорее всего, и используется в методе Join. Если бы в C# была типизированная хеш-таблица, в нумерующем отображении не было бы смысла. И в C↑ᶜC это именно так. Так что, может быть, на две или три недели Юнона рухнула. А потом, как феникс, переродилась в совершенно новом виде - превратилась в унарный оператор и стала эту самую хеш-таблицу и создавать. Теперь такой код:
list имеет тип list() T, то ⚵list - тип HashTable[T, int]. А также, что Linq в создании такой хеш-таблицы в C# не поможет, так как метод ToDictionary создает словарь, реализующий типизированный интерфейс IDictionary, а один из конструкторов хеш-таблицы требует нетипизированного.И не факт, что Юнона не умрет во второй раз, теперь уже действительно навсегда. Недавно читал одну статью на просторах Интернета, и там шла речь о высокоуровневых языках программирования. И автор поднял тему индексации - с какого числа начинать отсчет элементов в коллекции. И его там поносили как не знаю кого. Кто знает, действительно ли эта тема - одна из "священных коров" программирования? Понимаю, что это привычно и т. д. Но подумайте сами, кого лучше переучить - один раз тех, кому "привычно", а возможно, и ноль раз, так как новые языки программирования не отменяют старых, пусть старые деды доработают на "привычных" им языках, или постоянно всю молодежь в школах и университетах? Думаю, первый вариант несоизмеримо лучше. А что касается технической стороны этого вопроса - мы живем в век оптимизирующих компиляторов, и сделать при компиляции поправку на -1 - элементарная задача, да и по времени на фоне серьезных оптимизаций это даже не почувствуется. Так почему же мы в конце второго десятка XXI века все еще индексируем с нуля? Совпадение или нет (а я думаю, что нет), но я решил для себя, что в C↑ᶜC все коллекции, кроме массива, будут индексироваться с единицы, задолго до того, как прочитал эту статью. Думаю, что я с этой идеей не одинок во Вселенной. А что думают об этом господа читающие эти строки? Информация о C↑ᶜC все больше систематизируется, что также в явном виде свидетельствует о прогрессе. На момент написания настоящих строк уже готова сравнительная таблица C# и C↑ᶜC, в которой различия представлены в наглядном табличном виде. Как видно, большинство описаний в C# короче, но по смыслу в C↑ᶜC - лучше. Прошу оценить, правду ли я пишу.
0
|
|||||||||||
| 05.10.2019, 20:41 | |
|
Ответы с готовыми решениями:
23
Старое и новое о C↑ᶜC. На дереве нового потомка BCPL завязались плоды [Воздушные замки] C↑ᶜC. Посеяны семена нового потомка BCPL C# и C↑ᶜC. Реальность и планы |
|
14789 / 9562 / 1367
Регистрация: 21.01.2016
Сообщений: 36,057
|
|
| 28.10.2019, 12:09 | |
|
Etyuhibosecyu, автор не должен словами "Тема актуальна" поднимать темы. Это шум и за это на отдельных ресурсах даже наказывают.
0
|
|
|
Труд вопреки насмешкам
|
|||
| 28.10.2019, 12:25 [ТС] | |||
bool a = (n == 5);. Самый распространенный способ преобразовать (логическое) выражение в условие - конструкция == true. ^ стоит в одном ряду с & и | - это оператор выражения. Поэтому, чтобы использовать его как xor между условиями, нужно сначала преобразовать их в выражения, а затем преобразовать результат в условие. Кроме того, он имеет более низкий приоритет, чем ==. Поэтому конструкция будет такой: if (((a1 == a2) ^ (b1 == b2)) == true). Как вы думаете, господин Toros1992, этот код читабельный?P. S. Если вы всю жизнь писали a = n == 5; и if (a1 == a2 & b1 == b2), мне вас жаль. Общество не поймет...
0
|
|||
|
|
|||||||||||
| 28.10.2019, 13:27 | |||||||||||
|
Etyuhibosecyu,
Этот код
Более того, запись == true не имеет никакого смысла. Это все равно, что писать += 0 Эти операции идемпотентны. Они никак не влияют на результат.И хотелось бы увидеть, что легло в основу Ваших рассуждений об условиях и выражениях? условие - это выражение, результат вычисления которого является логическим типом данных. Если что-либо дает в результате bool - это может быть условием. И не зачем это "что-то" еще раз сравнивать с true
0
|
|||||||||||
|
14789 / 9562 / 1367
Регистрация: 21.01.2016
Сообщений: 36,057
|
|||
| 29.10.2019, 12:33 | |||
|
0
|
|||
| 29.10.2019, 12:33 | |
|
Создание квадродеревьев (дерево, в котором у каждого внутреннего узла ровно 4 потомка) Вызов специфических для потомка функций, не зная класса потомка Искать еще темы с ответами Или воспользуйтесь поиском по форуму: |
|
Новые блоги и статьи
|
|||
|
Nekobox - outbounds[0].transport: unknown transport type: raw
damix 01.10.2026
Фикс ошибки
Правым кликом по серверу -> отладочная информация -> edit
Заменить "net": "raw", на "net": "tcp",
Нажать кнопку reload.
|
Программный домашний кинотеатр
russiannick 27.09.2026
Сподобился на программный домашний кинотеатр. В качестве ЯВУ по традиции выбрал js.
В помощники взял Яндекс-Алису.
Было создано три зала на разные интересы.
исторические и ретро
сериал Хичкок. . .
|
Беседа с ИИ о программистах, недопускающих к созданию и правке кода генеративные ИИ и причины этого
zorxor 21.09.2026
Раньше я радовался или получал некоторые эмоции, пусть небольшие, но всё же, от самого процесса написания кода, рекомпиляции и запуска, видя постепенное развитие программы и прочее. А теперь лень. . .
|
Мобильное приложение 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) активировать флаг. . .
|