|
Труд вопреки насмешкам
|
||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||
C#.NStar22.11.2020, 01:26. Показов 36570. Ответов 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 в меньшей степени "сборной солянкой"? Искать еще темы с ответами Или воспользуйтесь поиском по форуму: |
|
78 / 73 / 19
Регистрация: 18.05.2021
Сообщений: 290
|
|
| 29.01.2025, 18:07 | |
|
А когда функций и методов будет 100? 500? Больше 1000? Тоже идти на сайт и смотреть названия без нормального описания? Документация это не список доступных функций, документация должна пояснять, четко рассписывать, что ожидается на вход, что будет на выходе, довать пример исспользования, обеспечивать адекватную навигацию по разделам, давать ссылки на смежные понятия и т.д. Пока всего этого нет не будет желания этот язык тестировать.
2
|
|
|
Труд вопреки насмешкам
|
||
| 29.01.2025, 18:16 [ТС] | ||
|
0
|
||
|
Software Engineer
338 / 342 / 55
Регистрация: 23.09.2014
Сообщений: 1,050
|
|
| 29.01.2025, 18:31 | |
|
1
|
|
|
|
||||||||||||
| 29.01.2025, 21:03 | ||||||||||||
|
Etyuhibosecyu,
Не знаю как остальным, но я глядя на это стену текста вообще ничего не понимаю. Фиг с ним "зачем", допустим из спортивного интереса. Для такой вещи как "язык программирования" нужна вменяемая пошаговая документация, тут же:
Окей, берем самый первый пример
list(3) int -- что означает 3? Максимальное количество? Резервируемое место? Почему в конечно итоге нужно задать 27-м int значений, которые аки матрёшка в скобках по 3 шт? Это класс описывающий числа в многомерной реальности?return a[1, 2, 3]; -- что оно вернет? Кортеж (их вроде не ввели ещё)? какое-то конкретное значение? 2007 год? 42?list(9) list(3) list(1) MyClass list1 -- такая запись валидна?Ещё пример
[OFF]Общее состояние после ознакомления с демонстрацией нового языка программирования где-то такое: вырезано Для тех, кто дочитал до этого места - БОНУС!!!
0
|
||||||||||||
|
Труд вопреки насмешкам
|
||||||
| 29.01.2025, 23:12 [ТС] | ||||||
|
Wolfdp, эта тема в прошлом, не знаю, зачем Катафалк ее поднял. Вот актуальная.
0
|
||||||
|
|
|||
| 29.01.2025, 23:53 | |||
|
Не по теме:
Etyuhibosecyu, Открыл актуальную тему -- таже проблема. Ни документации, ни пояснения что происходит. Честно -- это детский сад. Ощущение что общаюсь либо с пятилетним ребёнком, который ещё не научился внимать советам и критике, либо с лесным тролем. В целом в вашей второй теме уже писали то что я пытаюсь до вас донести
0
|
|||
|
Модератор
|
||||||
| 30.01.2025, 11:59 | ||||||
|
Если и делать язык, то более безопасным, то есть как минимум отказаться от null в чистом виде. Это делается через отказ от указателей, в пользу ссылок. То есть чтобы в случае, если может не быть значения, то тип должен быть опционалом. Думаю стоит пойти не в трансляцию в шарп, а исключить шарп. Если нужен NET то сделать просто очередной язык для рантайма. Это как в случае с java есть языки kotlin, scala, groovy, языки хоть и другие, но на выходе тот же байткод что и у джавы и запускается так же. Я предлагаю сделать нечто похожее. В случае с NET тут будут примеры C++/CLI, F#, PascalABC.NET, VB.Net и тд
0
|
||||||
|
Труд вопреки насмешкам
|
|||||||
| 30.01.2025, 13:13 [ТС] | |||||||
return 12;, но здесь "соль" в проверке, как работают условия, в том числе негативные, а не в упрощении.Добавлено через 1 минуту
0
|
|||||||
| 30.01.2025, 13:39 | |
|
0
|
|
| 30.01.2025, 13:50 | |
|
0
|
|
|
Автоматизируй это!
|
||
| 30.01.2025, 14:52 | ||
|
Не по теме: в питоне нельзя зарезервированные слова использовать как имена переменных, не путайте их и встроенные функции. Посмотреть их можно в модуле keyword, их 35, например True, False, None, def, async Добавлено через 1 минуту
0
|
||
|
Труд вопреки насмешкам
|
|
| 30.01.2025, 14:53 [ТС] | |
|
0
|
|
|
Автоматизируй это!
|
||||||
| 30.01.2025, 15:21 | ||||||
|
Etyuhibosecyu, почему столько ошибок? у функции F скоуп не локальный и я не могу такое же имя создать на глобальном уровне?
0
|
||||||
|
Труд вопреки насмешкам
|
|
| 30.01.2025, 15:26 [ТС] | |
|
Welemir1, большое спасибо за тест! Запустил у себя, да, если к имени внутренней переменной добавить знак подчеркивания, все работает. Это баг, буду исправлять. Но не могли бы вы выявить хотя бы три-четыре бага, чтобы было, что исправлять, во многих местах?
0
|
|
|
Автоматизируй это!
|
||||||||||||||||||||||||||
| 30.01.2025, 15:38 | ||||||||||||||||||||||||||
Ты написал, как я советовал миллион тестов? м? Добавлено через 4 минуты
А какая ошибка то? где подробности? И это 10 минут проверок Добавлено через 55 секунд как из функции вернуть функцию?
0
|
||||||||||||||||||||||||||
|
Труд вопреки насмешкам
|
||||||
| 30.01.2025, 15:41 [ТС] | ||||||
|
0
|
||||||
|
Автоматизируй это!
|
||||||||
| 30.01.2025, 15:55 | ||||||||
|
вот так не работает
Почему при перезапуске программы забывает мой код?
0
|
||||||||
|
Труд вопреки насмешкам
|
||||||||||
| 30.01.2025, 15:59 [ТС] | ||||||||||
0
|
||||||||||
|
Автоматизируй это!
|
|||
| 30.01.2025, 16:01 | |||
|
Etyuhibosecyu, садись, два! Что ты вернул то из функции? ИНт! а я что просил?
Повторяю вопрос!
0
|
|||
|
Труд вопреки насмешкам
|
|||
| 30.01.2025, 16:21 [ТС] | |||
|
Добавлено через 11 минут Билд третий. Большинство вышеперечисленных ошибок исправлены, ошибку с возвратом int из функции типа bool за несколько минут не исправить.
0
|
|||
|
Новые блоги и статьи
|
|||
|
тв 16 бой ии
anaschu 27.07.2026
Великий Перелом ИИ: Как уравнения ОДУ Radau дожали цензурные фильтры Алисы
Фиксируем в мемофонде Теории Всего беспрецедентный факт в истории ИИ-зондирования. В затяжном многораундовом. . .
|
мв 15. непроверенное, возможно, глюк
anaschu 27.07.2026
НАУЧНО-АНАЛИТИЧЕСКИЙ ОТЧЕТ. РАЗДЕЛ 1. 1: «НАУКА» (РАСШИРЕННАЯ СТЕХИОМЕТРИЧЕСКАЯ И ГЕНЕТИЧЕСКАЯ ВЕРСИЯ)Тема: Теоретическое обоснование инвариантности 19-мерного тензорного ядра непрерывных ОДУ и. . .
|
Очистка реквизитов и табличных частей документа при копировании
Maks 26.07.2026
Алгоритм из решения ниже разработан на примере нетипового документа "ЗаявкаНаРаботу", разработанного в КА2.
Задача: Заменить алгоритм запрета копирования документов для сотрудников с ролью "Стажер",. . .
|
Доктрина интенционального знания - Доктрина для портала "Срез".
Hrethgir 25.07.2026
Может найдётся кто захочет оценить доктрину. . . Написания правил участия для меня роскошь, требующая лимита времени, поэтому все сообщения не прошедшие модерацию будут видны только участникам портала,. . .
|
|
сукцессия 44. Решил подать на припринт в межународные сервисы препринтов. Но нужно одобрение от ученых
anaschu 25.07.2026
Английский вариант. Пока кто то не одобрит мою личность, мне не получиться это опубликовать на препринте. Но заявку на публикацию статьи я сегодня подам.
|
сукцессия 43. Вторая научная статья за месяц- прайминг и гатгил
anaschu 25.07.2026
две стороны одной монеты
|
Более приземисто - Эстафету хвоста в .cdl (деревья эстафеты в сад).
Hrethgir 24.07.2026
В будущем, после написания блока инверсии обхода дерева (эстафеты хвоста), я планирую вернуться к нашему прошлому разговору о том, обладают ли знания целеполаганием. Тогда я пришел к выводу, что. . .
|
Вот представьте что вам дали бессмертие.
kumehtar 24.07.2026
Вот представьте что вам дали бессмертие, ничего более не меняя. Вообще ничего, только бессмертие в нынешнем виде. Рады были бы? Что бы вы тут делали всё это время?
Никакой пенсии. Никакого нового. . .
|