|
Труд вопреки насмешкам
|
||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||
C#.NStar22.11.2020, 01:26. Показов 36170. Ответов 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 в меньшей степени "сборной солянкой"? Искать еще темы с ответами Или воспользуйтесь поиском по форуму: |
|
Труд вопреки насмешкам
|
|
| 06.10.2022, 08:36 [ТС] | |
|
0
|
|
|
14367 / 9468 / 1360
Регистрация: 21.01.2016
Сообщений: 35,721
|
|
| 06.10.2022, 08:39 | |
|
Etyuhibosecyu, ясно. Значит аргументов нет. Как обычно)
0
|
|
|
Труд вопреки насмешкам
|
|
| 07.10.2022, 08:42 [ТС] | |
|
Напоминаю, что тема для бета-тестирования творения участника нашего форума, а не для трёпа и троллинга. Прошу использовать ее по назначению.
0
|
|
|
1524 / 914 / 329
Регистрация: 17.05.2015
Сообщений: 3,438
|
||
| 07.10.2022, 08:50 | ||
|
0
|
||
|
Труд вопреки насмешкам
|
|||
| 07.10.2022, 09:11 [ТС] | |||
|
Добавлено через 4 минуты
0
|
|||
|
Автоматизируй это!
|
|
| 07.10.2022, 09:15 | |
|
Etyuhibosecyu, коллеги не верно спросили чем язык лучше решеток, надо спросить -зачем вообще нужен ваш язык? какие проблемы он решает лучше, быстрее, надежнее, понятнее?
Добавлено через 44 секунды сколько у вас тестов, проверяющих функционал вашего ЯП?
0
|
|
|
Труд вопреки насмешкам
|
|
| 07.10.2022, 09:17 [ТС] | |
|
0
|
|
|
14367 / 9468 / 1360
Регистрация: 21.01.2016
Сообщений: 35,721
|
|
| 07.10.2022, 09:21 | |
|
Etyuhibosecyu, я так понимаю, что основная "фишка" вашего языка - это тупо набор методов и функций, которые элементарно пишутся на самом C# и, если надо, просто заворачиваются в NuGet. Но для вас такое решение кажется недостаточно замороченным и вы решили обернуть его в свой язык, который копирует подмножество C#...
Я прав? Раз уж вы из себя не можете выдавить мотивацию создания этого языка, то я попробую угадать.
0
|
|
|
Труд вопреки насмешкам
|
||||
| 07.10.2022, 09:33 [ТС] | ||||
|
Добавлено через 1 минуту
0
|
||||
|
Автоматизируй это!
|
|||||
| 07.10.2022, 09:42 | |||||
|
Ваши причины какие -почему не написать просто бибилиотеку для Сишарпа, которая сделает то, что вы пытаетесь сделать ЯП? Добавлено через 1 минуту
0
|
|||||
|
Труд вопреки насмешкам
|
||
| 07.10.2022, 09:47 [ТС] | ||
|
0
|
||
|
14367 / 9468 / 1360
Регистрация: 21.01.2016
Сообщений: 35,721
|
|||||
| 07.10.2022, 10:16 | |||||
|
0
|
|||||
|
Автоматизируй это!
|
|||||||||||||||||||||||
| 07.10.2022, 11:51 | |||||||||||||||||||||||
|
окно маленькое и без ползунков - всего текста не видно
Добавлено через 2 минуты
Добавлено через 49 секунд
1
|
|||||||||||||||||||||||
|
Труд вопреки насмешкам
|
||||||
| 07.10.2022, 12:00 [ТС] | ||||||
|
Добавлено через 54 секунды Welemir1, и спасибо за то, что наконец приложили усилия к делу!
0
|
||||||
|
14367 / 9468 / 1360
Регистрация: 21.01.2016
Сообщений: 35,721
|
||
| 07.10.2022, 12:22 | ||
|
0
|
||
|
Автоматизируй это!
|
||||
| 07.10.2022, 12:40 | ||||
|
0
|
||||
|
Модератор
|
||||||||
| 07.10.2022, 13:27 | ||||||||
это в с++ и в swift ошибка, с другими языкам не знаком
0
|
||||||||
|
Автоматизируй это!
|
||
| 07.10.2022, 14:15 | ||
|
Добавлено через 1 минуту Etyuhibosecyu, еще про bool не ответили
0
|
||
|
14367 / 9468 / 1360
Регистрация: 21.01.2016
Сообщений: 35,721
|
|
| 07.10.2022, 15:42 | |
|
Welemir1, по сути, это не вопрос типизации. Тут у всех операндов вызывается
ToString(), если хотя бы один из них - строка. Больше сахар синтаксический. Это я про C# конкретно. Но сколько я дотнетчиков знаю, все используют или String.Format или интерполяцию. Поэтому полезность такой фигни спорна. Я бы не давал такое компилировать.
1
|
|
|
Новые блоги и статьи
|
|||
|
GitDOS: Когда я решил скрестить MS-DOS, GitHub и Claude
MaGz GoLd 08.07.2026
Привет, Киберфорум! Хочу поделиться своим проектом, который, надеюсь, вас заинтересует. GitDOS — это веб-приложение, которое позволяет запускать DOS в браузере с тремя крутыми фичами: диски живут в. . .
|
Учебный мини "цифровой двойник" = (Сервер = Java + Flask_питон )+(3D = Гугловскаая 4T nvideo + google colab) +( WMS = Odoo на Docker)
anaschu 07.07.2026
Увидел в требованиях к вакансии создателя имитационных моделей связку (REst + Api + WMS + Anylogic + питон + 3D Nvideo), и решил посмотреть, что это такое. Из этого всего я работал более менее. . .
|
Море в объективе
kumehtar 06.07.2026
Хотел написать много проникновенных слов, но передумал.
Оно само - говорит.
Кто слышит тот слышит.
|
Doom для терминала без стрельбы и монстров. 3D Raycasting на ascii.
dcc0 05.07.2026
Попросил нейронную сеть deepai. org написать рейкастинг 3D с библиотекой ncurses для Linux. Чтобы можно было
ходить на стрелочки. Чтобы стены были отрисованы символами. Справилась.
Первый вариант. . .
|
|
Установка статуса документа по условию
Maks 05.07.2026
Алгоритм из решения ниже реализован на нетиповом документе "НарядПутевка" разработанного в КА2.
Задача: в табличной части "Материалы" документа при записи автоматически устанавливать статус. . .
|
Сезонность и суточность закисления почв
anaschu 04.07.2026
200 часов это все равно моловато. Есть ситуации, но нестандартные, когда смена происходит за 5 лет.
Но обычно это 50 лет и более.
Наверное, закисление почвы происходит сезонно в средней. . .
|
В чем ценность человеческого опыта в глобальном смысле?
kumehtar 03.07.2026
Возможно, ценность человека не в том, что он однажды достигает мудрости, а в том, что он становится носителем карты пути. Он знает не только истину, но и последовательность внутренних изменений,. . .
|
интеграция AnyLogic с самописным REST API и переход на Odoo
anaschu 03.07.2026
Успешная интеграция AnyLogic с самописным REST API и переход на промышленную Odoo WMS
Сегодня проделал огромный путь от простой симуляции физических процессов до построения полноценной. . .
|