|
Труд вопреки насмешкам
|
||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||
C#.NStar22.11.2020, 01:26. Показов 33934. Ответов 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 в меньшей степени "сборной солянкой"? Искать еще темы с ответами Или воспользуйтесь поиском по форуму: |
|
Автоматизируй это!
|
||
| 25.06.2025, 11:26 | ||
|
Etyuhibosecyu, ты, как создатель языка, очень неохотно отвечаешь на вопросы
Почему удаление занимает так долго, разве мы не найдем элемент за О(1)? у тебя внутри под капотом лежит список и сет? потому так быстро ищет, но так долго удаляет?
0
|
||
|
Труд вопреки насмешкам
|
||||
| 25.06.2025, 11:36 [ТС] | ||||
|
Вопросы в стиле "зачем" игнорируются как бессмысленные.
0
|
||||
|
Автоматизируй это!
|
||||
| 25.06.2025, 11:40 | ||||
|
0
|
||||
|
Труд вопреки насмешкам
|
|||
| 25.06.2025, 11:46 [ТС] | |||
|
Welemir1, не хотите протестировать, что в новой версии не работает? Вы раньше это делали. Я даже DeepSeek дергал для обнаружения простых ошибок. Но сложные, неочевидные ошибки может обнаружить только человек.
0
|
|||
|
Автоматизируй это!
|
||
| 25.06.2025, 11:54 | ||
|
так я не могу, я не знаю зачем нужна структура данных, а значит не могу ее верно протестировать. Нужно же воспроизвести проблему и решение
![]() Добавлено через 2 минуты Как ты можешь утверждать что памяти даже меньше, а скорость такая же? Подпись мою прочти, потому что твой пассаж противоречит твоей подписи
0
|
||
|
Труд вопреки насмешкам
|
||
| 25.06.2025, 11:59 [ТС] | ||
|
0
|
||
|
Труд вопреки насмешкам
|
|||||||
| 25.06.2025, 12:06 [ТС] | |||||||
0
|
|||||||
|
Автоматизируй это!
|
||
| 25.06.2025, 12:08 | ||
|
А что в мире Net не существует инструментов для бенчмарка и профилирования? что тебя останавливает? Usaga я думаю может подсказать ведь с этим ты получаешь фактуру на руки. Например: сделал какие то оптимизации -как их доказать? вот измерил и показал: на прошлой версии столько по времени, теперь столько, ускорение столько %. Что непонятно в этом подходе?
0
|
||
|
Труд вопреки насмешкам
|
|
| 25.06.2025, 12:09 [ТС] | |
|
Поменял местами тесты, аналогично:
0
|
|
|
Автоматизируй это!
|
|
| 25.06.2025, 12:11 | |
|
во, а говорил измерять не умеет. Как минимум по времени явно какие то разницы, с аллокацией тоже какая то фигня, разница в 1000 раз. Тебя это не удивляет? не понуждает покопать?
0
|
|
|
Труд вопреки насмешкам
|
||
| 25.06.2025, 12:14 [ТС] | ||
|
0
|
||
|
Труд вопреки насмешкам
|
||
| 25.06.2025, 12:40 [ТС] | ||
|
Несколько "лишних" гигабайт вполне можно списать на среду и прочие накладные расходы. А так - 1000 списков бит по 10^9 элементов занимают примерно 10^12 бит.
0
|
||
|
Труд вопреки насмешкам
|
||
| 25.06.2025, 13:13 [ТС] | ||
|
0
|
||
|
14352 / 9455 / 1360
Регистрация: 21.01.2016
Сообщений: 35,644
|
||
| 25.06.2025, 14:09 | ||
|
1
|
||
|
Труд вопреки насмешкам
|
|
| 25.06.2025, 15:22 [ТС] | |
|
Билд второй. Исправлена ошибка, из-за которой если применить операторы + - * / % pow или унарные к некорректному типу переменной (типам переменных), вместо корректного сообщения об ошибке выдавалось "A serious error occurred during compilation, translation or execution; program has not been executed".
0
|
|
|
Автоматизируй это!
|
|
| 25.06.2025, 18:51 | |
|
не судьба, при открытии окно зависает, указатель мыши какой то понтовый но прилипает к рисунку, окно не перемещается, в диспетчере видно что чего-то происходит.
если что у меня 10 ядер, 32 оперативы
0
|
|
|
Труд вопреки насмешкам
|
|
| 25.06.2025, 18:54 [ТС] | |
|
0
|
|
|
Труд вопреки насмешкам
|
||
| 25.06.2025, 19:45 [ТС] | ||
|
Добавлено через 1 минуту Welemir1, и Интернет на устройстве, где запускается автоустановщик, в момент запуска не отключается? Ему нужно проверить обновления. Добавлено через 40 минут Welemir1, думал, что вы скачали, а оказывается, это я сам скачал C#.NStar, проверяя. У вас что-то опять не получается, или вы плюнули?
0
|
||
|
Автоматизируй это!
|
|
| 25.06.2025, 19:49 | |
|
сейчас мне некогда, завтра дам ровно 5 минут запуститься, если нет - то и суда нет
0
|
|
|
Новые блоги и статьи
|
|||
|
[golang] Worker Pool
alhaos 09.06.2026
Worker Pool
Worker Pool — паттерн конкурентной обработки задач в Go.
Суть: фиксированное количество горутин-воркеров читают задачи из общего канала
и пишут результаты в общий канал результатов. . . .
|
[golang] Pipeline
alhaos 08.06.2026
Pipeline
Pipeline — паттерн конкурентной обработки данных в Go.
Суть: данные проходят через цепочку независимых стадий, каждая из которых работает в своей горутине и общается с соседями через. . .
|
Свет внутри себя
kumehtar 07.06.2026
Пусть это будет здесь
lIs4oanZS9Y
|
Программа для com-порта
Uhbif79 05.06.2026
Всем привет, давно хотел изучить Qt, начинал, бросал, потом снова начинал. И сейчас вот смог написать свою первую программу.
До этого имел опыт программирования микроконтроллеров, писал прошивки на. . .
|
|
Транскрипция 55-минутного видео через Whisper: WhisperDesktop облажался, спас Google Colab[
anaschu 01.06.2026
Понадобилось получить текст из свежезагруженного видео на YouTube. Казалось бы, задача на пять минут. Заняла полтора часа. Делюсь опытом — может кому пригодится последовательность решений.
. . .
|
21 мат мед. Планы на развитие модели здравоСохранения
anaschu 01.06.2026
AnyLogic: план развития симуляционной модели рабочего коллектива — динамический абсентеизм, реальные данные, три сценария сравнения
Продолжаю серию постов о дискретно-событийной модели рабочего. . .
|
20. Мат мед. Абсентеизм как отдельный тип простоя
anaschu 29.05.2026
Апдейт модели: исправленные баги, абсентеизм и новые механизмы
Продолжаю развивать ранее описанную модель рабочего коллектива на AnyLogic. За последние несколько дней был проведён серьёзный. . .
|
19. здоровье, усталость и психотип работника влияют на производительность предприятия, и наоборот, производительность на здоровье, усталось и психотип
anaschu 28.05.2026
Дискретно-событийная модель рабочего коллектива на AnyLogic: здоровье, выгорание, психотипы и микростимуляция
Привет, коллеги. Хочу поделиться итогами нескольких недель работы над симуляционной. . .
|