|
Труд вопреки насмешкам
|
|||||||||||||||||||||||||||||||
C#.NStar22.11.2020, 01:26. Показов 29200. Ответов 471
Метки нет (Все метки)
Мой язык программирования развивается, в очередной раз меняя название. Пятое название после C↑ᶜC, C#++, C with stations и временного Unnamed2 имеет вид "C# .NStar". Это название не вызывает никаких ассоциаций со стрелками, с "симбиозом плюсов и шарпа", со "станционным программированием", а вызывает единственную - то, что этот язык - прямое продолжение C#. Теперь вы убедились, что этот язык - не пустая болтовня, одна версия уже увидела свет, поэтому надеюсь, что очередная презентация возможностей C# .NStar хоть и подвергнется критике, но не приведет ни к чему плохому. Вот что уже работает:
1. Пространства имен. 2. Ошибки списком строк - теперь отображение n ошибок не займет время, пропорциональное n2, и вообще я по максимуму убрал конкатенацию строк в цикле, что является экстремально важным признаком качества языка. 3. Списки - не только возврат списка, но и переменные списочных типов. 4. Индексы - последний и самый сложный из перечисленных пунктов. Такой код успешно работает:
А вот несколько будущих возможностей: 1. Оператор switch с лямбда-выражением. Это невероятно мощная конструкция! Позволит убрать очень много дублирования в условиях. Вот два примера:
2. Способ задания словаря будет отличаться от способа задания двумерного списка: ключ и значение будут разделяться оператором " :", а если словарь состоит из единственного элемента, доступного по всем ключам - достаточно указать один этот элемент. Пример:
1
|
|||||||||||||||||||||||||||||||
| 22.11.2020, 01:26 | |
|
Ответы с готовыми решениями:
471
Мелкомягкие мыслят местами точно как и я или следят за моим компьютером и крадут идеи, записанные на нем для C# .NStar? Искать еще темы с ответами Или воспользуйтесь поиском по форуму: |
|
Труд вопреки насмешкам
|
||
| 07.10.2022, 15:48 [ТС] | ||
|
0
|
||
|
14078 / 9295 / 1347
Регистрация: 21.01.2016
Сообщений: 34,895
|
||
| 07.10.2022, 15:56 | ||
|
0
|
||
|
Труд вопреки насмешкам
|
|
| 07.10.2022, 19:15 [ТС] | |
|
Билд второй (та же ссылка на EXE):
- Восстановлены полосы прокрутки в текстовых полях (включая поля только для чтения). - Использование локальной переменной перед объявлением или внутри него выдает ошибку. - Исправлено умножение числа int на переменную или функцию real, при возврате значения его тип теперь приводится к типу функции и фиксируется. При возврате значения из функции, представляющей собой всю программу, значение приводится к типу universal, что равнозначно отсутствию приведения.- При попытке написать слишком большое число выдается ошибка. - Исправлена ошибка, при которой написание выражения if (var = !(...)) приводило к исключению. Подобное выражение с константой теперь выдает предупреждение.- Присвоение переменной самой себе вне объявления выдает предупреждение. - Попытка выполнить вычитание, деление или остаток от деления между строками или строкой и числом или умножение строки на строку выдает предупреждение. Перемножение строки и числа повторяет эту строку n раз. Сложение строки и числа приводит число к строке с нижеследующей конкатенацией и ошибкой не является. Добавлю, что сама по себе конструкция bool bool = ...; ошибкой не является и создает переменную с именем bool. Можно также написать string bool = ...;. А вот про попытку использовать эту переменную в ее же собственном объявлении - см. выше.Прошу протестировать еще раз.
0
|
|
|
Автоматизируй это!
|
||
| 07.10.2022, 22:05 | ||
|
Etyuhibosecyu, завтра обязательно потестирую, ваша ИДЕ кидает еще какие то ошибки, кроме синтаксических? Потому что для меня нулл-это вполне допустимое значение результата, а не ошибка.
0
|
||
|
Труд вопреки насмешкам
|
||
| 07.10.2022, 22:34 [ТС] | ||
(1, 2, 3).GetRange(3, 2). А какие вы имеете в виду?
0
|
||
|
14078 / 9295 / 1347
Регистрация: 21.01.2016
Сообщений: 34,895
|
||||||
| 08.10.2022, 07:56 | ||||||
|
Etyuhibosecyu, посмотрел я на это дело. И первое, что в глаза бросилось: а документация-то по языку и его базовой библиотеке классов где? Вот захотел я в консоль вывести что-нибудь, а Console.WriteLine конечно же не транслируется. И с вводом так же. Какие классы есть? Какие функции? Где можно на список типов посмотреть? Без документации выкладывать эту утилиту смысла нет особого.
Ещё, обратил внимание, что ваш транслятор видимо какие-то левые оптимизации делает вникуда:
0
|
||||||
|
Труд вопреки насмешкам
|
|
| 08.10.2022, 09:57 [ТС] | |
|
Вот документация по моему языку. Список всех его конструкций. Не просто полный, а суперполный - содержит не только все то, что работает (то есть если конструкция существует, то она точно есть здесь), но даже кое-какие будущие конструкции. Жаль только, формат неудобочитаемый для человека. Но я поясню: в начале идет имя типа конструкций (типы, методы, конструкторы...), затем - их список. GetPrimitiveType - это полный тип (например, System.Collections.Generic.List<T> по аналогии с C# .NET), GetPrimitiveBlockStack - путь к типу без универсальных параметров (System.Collections.Generic.List). Некоторые из таких конструкций сокращены (например, IntType), думаю, по имени сокращения можно понять его назначение. В общем, кто хочет разобраться - разберется.
0
|
|
|
59 / 71 / 2
Регистрация: 04.12.2014
Сообщений: 176
|
|
| 08.10.2022, 13:06 | |
|
0
|
|
|
Труд вопреки насмешкам
|
|||
| 08.10.2022, 16:45 [ТС] | |||
|
Добавлю по поводу вышенаписанного.
Добавлено через 1 час 13 минут Welemir1, вы собирались сегодня протестировать мой язык:
0
|
|||
|
Автоматизируй это!
|
||||||||||||||||||||||
| 08.10.2022, 17:31 | ||||||||||||||||||||||
![]() Вы и сейчас не понимаете зачем нужны тысячи тестов? на каждую функцию, на каждое действие. А вы получается толком не проверив, пытаетесь отладить на живых юзерах.
![]() У вас нет номеров строк в коде, если я там наваяю даже 100 строк, то как должен найти ошибку в 50 строке? Подсчитать строки? Посмотрите как другие ИДЕ работают, там кликом перебрасывает на нужное
0
|
||||||||||||||||||||||
|
Труд вопреки насмешкам
|
||||||
| 08.10.2022, 18:39 [ТС] | ||||||
"1" + (99 + 2.34), и это тоже не ошибка.Добавлено через 54 минуты Welemir1, а можете написать просто набор тестовых программ, где-то так пару сотен штук, чтобы я мог сам запускать и исправлять ошибки, не ожидая каждый раз ответа на форуме? Вся загвоздка в их содержимом, ошибки я и сам смогу исправить (во всяком случае, надеюсь на это). Добавлено через 6 минут Welemir1, простите за вышесказанное, но просто у меня не хватает фантазии делать все эти тест-кейсы. У вас, как я вижу, хватает, почему бы не приложить усилия к языку будущего?
0
|
||||||
|
Автоматизируй это!
|
|
| 08.10.2022, 19:00 | |
|
Etyuhibosecyu, это не 5-минутное дело, к тому же это надо срау писать в вашем же яп и ложить рядом с кодом, чтобы прогонять весь набор тестов после любой правки и проверять что все верно пашет. Рекомендую почитать любую книгу по юнит-тестированию, в сишарпе кажется nUnit
я бы вообще не выводил на показ Яп не оттестировав его хорошенько.
0
|
|
|
Труд вопреки насмешкам
|
|
| 08.10.2022, 19:05 [ТС] | |
|
Билд третий (та же ссылка на EXE). Добавлено отображение номера строки и позиции. Жаль, но делать прыжок к какой-либо позиции - сложно и долго, для этого нужна версия, а не билд. Вышеперечисленные ошибки исправлены.
Добавлено через 3 минуты Welemir1, ну тогда хоть сообщайте об ошибках не по четыре, а хотя бы по 10, чтобы мне было что исправлять.
0
|
|
|
Автоматизируй это!
|
|
| 08.10.2022, 20:34 | |
|
Etyuhibosecyu, это наоборот должно работать! Вы написав кучу тестов и не найдя изъяна должны выкладывать.
Не хватает проверок? -Пройдитесь по туториалу для новичков по сишарпу и весь код что там показан вводите в свою иде и проверяйте. Далее берете свою спецификацию и идете по ней тоже проверяя все постулаты.
0
|
|
|
14078 / 9295 / 1347
Регистрация: 21.01.2016
Сообщений: 34,895
|
||||
| 09.10.2022, 06:24 | ||||
|
Добавлено через 7 минут Ну и остаётся открытым вопрос о документации. Её тупо нет. Только в слепую тыкаться, да у вас на форуме спрашивать что и как должно работать. Это не дело. И почему транслятор сделан в виде графической утилиты? Почему нет нормальной консольной версии как у всех? Чтобы просто путь к файлу передать и оно его транслирует.
0
|
||||
|
21 / 55 / 9
Регистрация: 29.09.2011
Сообщений: 615
|
|
| 09.10.2022, 23:50 | |
|
Welemir1,
если программа у ВАС не работает, то проблема в ВАС, а не в программе. У Его Правительственных Званий всё работает. Вероятно Вы ставите неправильные значения и неправильные тесты проводите. Ищите другие, правильные, в которых всё будет работать.
1
|
|
|
310 / 318 / 119
Регистрация: 29.10.2011
Сообщений: 1,006
|
|
| 13.10.2022, 17:35 | |
|
Etyuhibosecyu, А в чём проблема сделать вменяемый редактор для удобства тестирования? Есть готовые контролы для WF/WPF. например, FastColoredTextBox. Там и подсветка синтаксиса, и автодополнение(intellisense реализуете), и нумерация строк, и т.д.. Если не подходит, то свой написать
0
|
|
|
14078 / 9295 / 1347
Регистрация: 21.01.2016
Сообщений: 34,895
|
|
| 13.10.2022, 19:54 | |
|
sldp, да не редактор тут нужен (их есть и так), а сам интерпретатор в нормальном виде. Тут самого языка ещё толком нет, чтобы озадачиваться подсветкой и автодополнениями.
0
|
|
|
Новые блоги и статьи
|
||||
|
PhpStorm 2025.3: WSL Terminal всегда стартует в ~
and_y87 14.12.2025
PhpStorm 2025. 3: WSL Terminal всегда стартует в ~ (home), игнорируя директорию проекта
Симптом:
После обновления до PhpStorm 2025. 3 встроенный терминал WSL открывается в домашней директории. . .
|
Access
VikBal 11.12.2025
Помогите пожалуйста !! Как объединить 2 одинаковые БД Access с разными данными.
|
Новый ноутбук
volvo 07.12.2025
Всем привет.
По скидке в "черную пятницу" взял себе новый ноутбук Lenovo ThinkBook 16 G7 на Амазоне:
Ryzen 5 7533HS
64 Gb DDR5
1Tb NVMe
16" Full HD Display
Win11 Pro
|
Музыка, написанная Искусственным Интеллектом
volvo 04.12.2025
Всем привет. Некоторое время назад меня заинтересовало, что уже умеет ИИ в плане написания музыки для песен, и, собственно, исполнения этих самых песен. Стихов у нас много, уже вышли 4 книги, еще 3. . .
|
От async/await к виртуальным потокам в Python
IndentationError 23.11.2025
Армин Ронахер поставил под сомнение async/ await. Создатель Flask заявляет: цветные функции - провал, виртуальные потоки - решение. Не threading-динозавры, а новое поколение лёгких потоков. Откат?. . .
|
|
Поиск "дружественных имён" СОМ портов
Argus19 22.11.2025
Поиск "дружественных имён" СОМ портов
На странице:
https:/ / norseev. ru/ 2018/ 01/ 04/ comportlist_windows/
нашёл схожую тему. Там приведён код на С++, который показывает только имена СОМ портов, типа,. . .
|
Сколько Государство потратило денег на меня, обеспечивая инсулином.
Programma_Boinc 20.11.2025
Сколько Государство потратило денег на меня, обеспечивая инсулином.
Вот решила сделать интересный приблизительный подсчет, сколько государство потратило на меня денег на покупку инсулинов.
. . .
|
Ломающие изменения в C#.NStar Alpha
Etyuhibosecyu 20.11.2025
Уже можно не только тестировать, но и пользоваться C#. NStar - писать оконные приложения, содержащие надписи, кнопки, текстовые поля и даже изображения, например, моя игра "Три в ряд" написана на этом. . .
|
Мысли в слух
kumehtar 18.11.2025
Кстати, совсем недавно имел разговор на тему медитаций с людьми. И обнаружил, что они вообще не понимают что такое медитация и зачем она нужна. Самые базовые вещи. Для них это - когда просто люди. . .
|
Создание Single Page Application на фреймах
krapotkin 16.11.2025
Статья исключительно для начинающих. Подходы оригинальностью не блещут.
В век Веб все очень привыкли к дизайну Single-Page-Application .
Быстренько разберем подход "на фреймах".
Мы делаем одну. . .
|