|
Труд вопреки насмешкам
|
||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||
C#.NStar22.11.2020, 01:26. Показов 36082. Ответов 523
Метки нет (Все метки)
С чего всё началось
Мой язык программирования развивается, в очередной раз меняя название. Пятое название после C↑ᶜC, C#++, C with stations и временного Unnamed2 имеет вид "C# .NStar". Это название не вызывает никаких ассоциаций со стрелками, с "симбиозом плюсов и шарпа", со "станционным программированием", а вызывает единственную - то, что этот язык - прямое продолжение C#. Теперь вы убедились, что этот язык - не пустая болтовня, одна версия уже увидела свет, поэтому надеюсь, что очередная презентация возможностей C# .NStar хоть и подвергнется критике, но не приведет ни к чему плохому. Вот что уже работает:
1. Пространства имен. 2. Ошибки списком строк - теперь отображение n ошибок не займет время, пропорциональное n2, и вообще я по максимуму убрал конкатенацию строк в цикле, что является экстремально важным признаком качества языка. 3. Списки - не только возврат списка, но и переменные списочных типов. 4. Индексы - последний и самый сложный из перечисленных пунктов. Такой код успешно работает:
А вот несколько будущих возможностей: 1. Оператор switch с лямбда-выражением. Это невероятно мощная конструкция! Позволит убрать очень много дублирования в условиях. Вот два примера:
2. Способ задания словаря будет отличаться от способа задания двумерного списка: ключ и значение будут разделяться оператором " :", а если словарь состоит из единственного элемента, доступного по всем ключам - достаточно указать один этот элемент. Пример:
ПОБЕДА!!! C#.NStar достиг версии (Alpha RC) 0.9! Это первое приложение от Red-Star-Soft, когда-либо достигавшее подобной версии! (Фреймворк - это не приложение.) Теперь, надеюсь, я перестал быть "профессиональным недоделывателем"? И, надеюсь, я получу тест? 1. Работа с файлами. 2. При техническом крахе сохраняется лог во временную папку. 3. Потоки. Причем нет этого ужасного разбиения на две воюющих стороны - синхронные и асинхронные - переключение контекста происходит автоматически. 4. "Швейцарский нож" (оператор is, сопоставление шаблонов). Пока что реализованы семь шаблонов: константа, тип, тип с объявлением переменной, var с объявлением переменной, шаблон сравнения (больше/меньше), пустой шаблон (_) и составной шаблон - несколько шаблонов, объединенных операторами and, or, not. Есть одна замеченная, но не исправленная ошибка, что попытка применить шаблон сравнения не к числу вызывает технический крах. Возможно, в будущем исправлю. 5. Сокращенный оператор for - можно написать так:
7. Записи (Record - с прописной буквы). В отличие от C#.NET, это по терминологии Мартина чистые структуры данных, имеющие свойства, совпадащие по именам и типам с параметрами, конструктор из эих параметров и стандартные методы Equals и GetHashCode и неспособные иметь другие методы и свойства. 8. Структуры (Struct - с прописной буквы). 9. Прототип полиморфизма в виде словарей от рекурсивного типа к классу, одним из следующих способов (ключевое слово Class в случае полиморфизма обязтельно брать в скобки):
10. Обработка исключений:
11. И самое невероятное - ПАКЕТНЫЙ МЕНЕДЖЕР!!! Вы можете подключить любой пакет, доступный в публичном репозитории NuGet - достаточно зайти в настройки и указать его имя. Рабочие примеры кода на C#.NStar, в дополнение к предыдущим версиям:
1
|
||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||
| 22.11.2020, 01:26 | |
|
Ответы с готовыми решениями:
523
Мелкомягкие мыслят местами точно как и я или следят за моим компьютером и крадут идеи, записанные на нем для C# .NStar? Стал ли .NStar в меньшей степени "сборной солянкой"? Искать еще темы с ответами Или воспользуйтесь поиском по форуму: |
|
14364 / 9465 / 1360
Регистрация: 21.01.2016
Сообщений: 35,692
|
||
| 11.02.2025, 08:03 | ||
|
0
|
||
|
Автоматизируй это!
|
|
| 11.02.2025, 08:22 | |
|
Usaga, я в этом просто уверен, но наивно надеюсь и Колю отрезвить.
У Николая, как и у самородка pgb есть одна общая черта: когда они что-то делают такое, что лидеры индустрии не сделали, они не останавливаются критически осмотреться на предмет того, что неверно считают, неверно измеряют, не на то смотрят, не знают чего то. Они просто сразу начинают орать о совем таланте и достижениях.
0
|
|
|
282 / 485 / 12
Регистрация: 21.06.2019
Сообщений: 3,020
|
|
| 11.02.2025, 09:01 | |
|
0
|
|
|
14364 / 9465 / 1360
Регистрация: 21.01.2016
Сообщений: 35,692
|
|
| 11.02.2025, 09:16 | |
|
0
|
|
| 11.02.2025, 16:53 | |
|
Не по теме: У меня тут возникло стойкое ощущение, что Etyuhibosecyu считает, что "низкоуровневый" - это плохо, отсюда "ультра высокоуровневость" и попытки внести что-то "новое" по типу кортежеоориентированности.
0
|
|
|
Труд вопреки насмешкам
|
||
| 11.02.2025, 16:57 [ТС] | ||
|
0
|
||
|
78 / 73 / 19
Регистрация: 18.05.2021
Сообщений: 290
|
|
| 11.02.2025, 17:05 | |
|
Etyuhibosecyu, просто низкоуровневые - когда нужно контролировать каждый бит, максимально оптимизировать проект, и по своей сути - это начальный этап развития ЯП. Функции, а затем классы были введены для упрощения и повышения комфортности написания кода, что всегда будет вызывать минусы - меньшую производительность и эффективность работы с памятью. Они фундаментально меняют подход к программированию, что позволяет выделять процедурный подход и ООП. Вы позиционируете свой язык как нечто важное и новое. Но за все темы Вы так ни разу и не ответили, что же в нем есть такого, что делает его разработку и существование осмысленным? Пока ничего нового (ну совсем ничего, кроме небольших синтаксических нюансов) не замечено.
0
|
|
|
282 / 485 / 12
Регистрация: 21.06.2019
Сообщений: 3,020
|
|
| 19.02.2025, 07:05 | |
|
Etyuhibosecyu, тут на другом форуме вопрос появился. Человек хочет числа из 100млн знаков перемножать. Как думаешь, твоя либа для больших чисел справится?
Вот тебе возможность затестить твою либу в реальных условиях.
0
|
|
|
Труд вопреки насмешкам
|
|||||||
| 19.02.2025, 10:34 [ТС] | |||||||
0
|
|||||||
|
Труд вопреки насмешкам
|
|||||||||||||||||||||||||||||||
| 23.06.2025, 00:59 [ТС] | |||||||||||||||||||||||||||||||
|
Вышла новая ревизия того самого C#.NStar! Собственно, в преамбулу добавить больше нечего. Вот что изменилось:
- Язык теперь соответствует своему названию, используя, собственно, .NStar, кроме неподдерживаемых конструкций (long long и использующие его конструкции, интерфейсы, лямбды, обобщенные методы (не типы)) и EasyEval (для этого есть ExecuteString()). (Открою секрет: фактически, RedStarLinq не работает, только коллекции (чтобы прочитать текст, выделите его).) Кто знает, может быть, когда-нибудь C#.NStar станет основным языком для фреймворка .NStar... - Добавлено наследование классов, все еще ограниченное. Одно из ограничений заключается в том, что нужно объявлять производный класс НИЖЕ базового в коде (обычно, как я понимаю, программисты делают наоборот), причем нарушение этого правила приводит к неопределенному поведению: может случиться что угодно, включая ничего (корректную работу). В том числе возможен крах без четкого сообщения на одной из следующих строк. - Добавлены автоматические прыжки к местоположению ошибки. При двойном клике по сообщению об ошибке окно кода прокручивается в ошибочную зону, при следующем клике по собственно окну кода текстовый курсор автоматически устанавливается на начало ошибочной ветки синтаксического дерева. - Добавлены виртуальные, абстрактные, переопределяемые и скрываемые методы, но правила их задания - как в Java: любой метод, объявленный в классе (не локальная функция), автоматически становится виртуальным, а метод с тем же именем и той же сигнатурой в подклассе - переопределенным, ключевых слов virtual и override нет. Если в подклассе есть метод с тем же именем и типами параметров, но имеющий существенные отличия в чем-то другом (например, в модификаторе доступа или возвращаемом типе), переопределить его нельзя, и при отсутствии ключевого слова new транспайлер выдает предупреждение. Рабочие примеры кода на C#.NStar, кроме перечисленных в прошлых темах:
0
|
|||||||||||||||||||||||||||||||
|
Супер-модератор
3961 / 2124 / 833
Регистрация: 13.03.2010
Сообщений: 6,974
|
|||
| 23.06.2025, 01:06 | |||
|
Предлагаю вам выбрать - или вести обсуждение в одной теме (объединить все предыдущие темы в одну, например, или закрыть их и вести обсуждение в этой), или писать всё в блог как душе угодно.
0
|
|||
|
Труд вопреки насмешкам
|
||
| 23.06.2025, 01:09 [ТС] | ||
|
0
|
||
|
Супер-модератор
3961 / 2124 / 833
Регистрация: 13.03.2010
Сообщений: 6,974
|
||
| 23.06.2025, 01:12 | ||
|
0
|
||
|
Труд вопреки насмешкам
|
||
| 23.06.2025, 01:15 [ТС] | ||
|
0
|
||
|
Супер-модератор
3961 / 2124 / 833
Регистрация: 13.03.2010
Сообщений: 6,974
|
|
| 23.06.2025, 01:20 | |
|
0
|
|
|
Труд вопреки насмешкам
|
||
| 23.06.2025, 01:49 [ТС] | ||
|
Добавлено через 27 минут gogolik, а можете почистить пустую болтовню, оставить по одной копии каждого вопроса? А то объединенная тема очень уж длинная.
0
|
||
|
|
||
| 24.06.2025, 23:08 | ||
|
Не по теме:
Но это так -- общие рассуждения в вслух. Конкретно этот поток тем лично я бы пытался пресекать гораздо раньше. Etyuhibosecyu, Как общая рекомендация от мимокрокодила: стоило хотя бы один и тот же вопрос держать в одной теме, а не плодить новые. Из последнего:
В итоге вы разрываете обсуждение на две темы, при это каждый раз нужно с нуля пересматривать весь ваш проект. Как бы не мне судить кто и куда тратить своё личное время, но выглядит как идея провести довольно сложное код-ревью за "спасибо" на очень много часов. Так же вы очень часто создаете "что-то там работает плохо, гляньте пожалуйста". Раз, два, три и это беглым взглядом по вашим темам на первой пейдже из списка. Проблема таже: нужно вникать в большую часть вашего проекта, что занимает ну очень много времени. Возможно таки стоит завести какой-нибудь AzureDevops|Jira|GitLab, а на форуме ограничится темой "мой проект" и в этой теме изредка отписывать о процессе в таком духе: - вышел новый релиз. Страница с подробностями "тык". На странице перечень добавленных классов/модулей и их методы. - ищутся добровольцы на помощь. Страница с проблемными задачами "тык". Через время вы сами для себя организуете и систематизируете информацию, что значительно упростит работу на долгую перспективу.
1
|
||
|
Труд вопреки насмешкам
|
||
| 25.06.2025, 11:04 [ТС] | ||
|
0
|
||
|
Новые блоги и статьи
|
|||
|
Сезонность закисления почв
anaschu 04.07.2026
200 часов это все равно моловато. Есть ситуации, но нестандартные, когда смена происходит за 5 лет.
Но обычно это 50 лет и более.
Наверное, закисление почвы происходит сезонно в средней. . .
|
В чем ценность человеческого опыта в глобальном смысле?
kumehtar 03.07.2026
Возможно, ценность человека не в том, что он однажды достигает мудрости, а в том, что он становится носителем карты пути. Он знает не только истину, но и последовательность внутренних изменений,. . .
|
интеграция AnyLogic с самописным REST API и переход на Odoo
anaschu 03.07.2026
Успешная интеграция AnyLogic с самописным REST API и переход на промышленную Odoo WMS
Сегодня проделал огромный путь от простой симуляции физических процессов до построения полноценной. . .
|
Поиск всех путей на ориентированном графе. Linux
dcc0 02.07.2026
Переработка старого кода из моей статьи.
Через несколько переработок от PHP кода к C89 (надеюсь, 89).
Но довольно запутанно получилось. Код для Linux.
Но если убрать time и то, что с ним. . .
|
|
Сам себя обучал rest api
anaschu 02.07.2026
Педагогический лайфхак: Почему чистый REST API для ученика намного круче, чем готовые библиотеки
Когда мы отказались от капризного JAR-файла AnyLogic и переписали код на стандартный HttpClient,. . .
|
rest api anylogic - выполнение модели на своём русском сайте
anaschu 02.07.2026
Как подружиться с AnyLogic Cloud API, победить провайдеров и развернуться Java-бэкенд в Docker на бесплатном хостинге: Двухдневный лог борьбы
Всем привет! Хочу поделиться свежим (и довольно. . .
|
Где деньги лежат
kumehtar 02.07.2026
Это - японская подводная лодка I-52 (тип C2, кодовое имя Momi) вышла из Японии в марте 1944 года с миссией в оккупированную немцами Францию (Лорьян). Это была одна из «Янаги»-миссий по обмену. . .
|
Krabik для WoW 3.3.5a, многоязычный
AmbA 02.07.2026
Допилил бота, думаю что окончательно. Изменения:
- добавлена многоязычность
- добавлено снятие скриншотов
- добавлено поддержание бафов хождения по воде (для жреца, дк и шамана)
- и так, по. . .
|