|
Труд вопреки насмешкам
|
||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||
C#.NStar22.11.2020, 01:26. Показов 36019. Ответов 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.02.2025, 01:24 [ТС] | |
|
Билд восьмой, масштабный. Исправлена ошибка с перетаскиванием в окне кода. C#.NStar уже частично использует фреймворк .NStar: можно создать переменные типов BaseDictionary[TKey, TValue, TCertain] и его подтипов Dictionary[TKey, TValue] и SortedDictionary[TKey, TValue]; BaseList[T, TCertain] и его подтипов BaseHashSet[T, TCertain], BaseSet[T, TCertain], BaseSumList[T, TCertain], BitList, Buffer[T], ListHashSet[T], NList[T], SumList, а возможно, и других, все не сосчитать. Все эти типы доступны в пространстве имен System.Collections, которое теперь можно подключить через using. Работают методы BaseDictionary.Remove(), BaseDictionary.TryAdd(), BaseList.Add(), BaseList.Clear(), BaseList.Contains(), BaseList.GetRange(), BaseList.IndexOf(), BaseList.Insert(), BaseList.Remove(), BaseList.RemoveAt(), BaseList.RemoveValue() и BaseList.TrimExcess(). Пока что не работает BaseDictionary.Add() (используйте TryAdd()). Также язык теперь автоматически определяет тип самого внутреннего списка при переводе list(n) T: List<T>, NList<T> или BitList.
0
|
|
|
Труд вопреки насмешкам
|
|
| 06.02.2025, 17:59 [ТС] | |
|
Билд девятый, финальный. Добавлены делегаты как параметры функции, теперь можно реализовывать аналог LINQ, но каждую функцию конверсии пока что придется объявлять явно, без лямбда-выражений. Добавлено корректное сообщение об ошибке при попытке вставить присваивающий оператор справа от неприсваивающего в одном выражении. Исправлены также методы BaseList.LastIndexOf(), BaseList.RemoveEnd() и BaseList.Reverse().
0
|
|
|
Труд вопреки насмешкам
|
|
| 06.02.2025, 18:28 [ТС] | |
|
Welemir1, теперь язык стал лучше? Или чего еще не хватает, чтобы стал?
0
|
|
|
Администратор
|
||
| 06.02.2025, 18:35 | ||
|
0
|
||
|
Труд вопреки насмешкам
|
|
| 06.02.2025, 18:37 [ТС] | |
|
0
|
|
|
Автоматизируй это!
|
|
| 06.02.2025, 19:25 | |
|
Etyuhibosecyu, увы, нет. Это не ЯП, это некое графическое приложение, которое позволяет в окошке писать функции по странному синтаксису. Для ЯП нужна документация, тип файла свой, компилятор/интерпретатор, возможность запуска своего файла с кодом, REPL в консоли с хелпом, гайды по написанию простых программ.
Добавлено через 1 минуту а главное -цель! для чего он создан и что решает лучше других Добавлено через 35 секунд ты возьми для пример а любой новый ЯП и посмотри их сайтик и доку, например Gleam, сразу ясен и синтаксис и цель/причина создания
0
|
|
|
Труд вопреки насмешкам
|
|||||
| 06.02.2025, 19:32 [ТС] | |||||
|
0
|
|||||
|
78 / 73 / 19
Регистрация: 18.05.2021
Сообщений: 290
|
||
| 06.02.2025, 19:36 | ||
0
|
||
|
Труд вопреки насмешкам
|
|
| 06.02.2025, 19:38 [ТС] | |
|
-_human_-, ну это же тестовая версия...
0
|
|
|
78 / 73 / 19
Регистрация: 18.05.2021
Сообщений: 290
|
|
| 06.02.2025, 19:40 | |
|
Etyuhibosecyu, ну так какой смысл был изначально делать графику, если гораздо осмысленней в виде консольной утилиты?
0
|
|
|
Труд вопреки насмешкам
|
||
| 06.02.2025, 19:42 [ТС] | ||
|
0
|
||
|
78 / 73 / 19
Регистрация: 18.05.2021
Сообщений: 290
|
|
| 06.02.2025, 19:44 | |
|
Etyuhibosecyu, посмотрите как работает интерактивная консоль Питон. + зачем код вводить в консоли?? Просто на вход подается файл с кодом.
0
|
|
|
Автоматизируй это!
|
||
| 06.02.2025, 20:32 | ||
|
ЯП твой для чего, ради самого написания чтоли? Я тебе пример указал, но ты не пошел читать, попробую разжевать - твой язык, быстрее, лучше, читаемей, короче чем остальные? Он решает какие то задачи лучше других ЯП? если нет то удаляй, он никому не нужен.
0
|
||
|
Труд вопреки насмешкам
|
||||
| 06.02.2025, 22:12 [ТС] | ||||
|
0
|
||||
|
78 / 73 / 19
Регистрация: 18.05.2021
Сообщений: 290
|
|
| 06.02.2025, 22:19 | |
|
Etyuhibosecyu, питон - ЯП с динамической типизацией, огромной базой готовых библиотек и длинной историей, т.е. его отшлифовывали уже кучу времени. Сомневаюсь, что Ваш язык хоть какой-то конкурент питону в тех областях, где его обычно применяют.
0
|
|
|
Труд вопреки насмешкам
|
|
| 06.02.2025, 22:21 [ТС] | |
|
0
|
|
|
78 / 73 / 19
Регистрация: 18.05.2021
Сообщений: 290
|
||
| 06.02.2025, 22:24 | ||
|
Поэтому полезности никакой в нем нет, это и так понятно, если Вам нужно, чтоб он использовался кем-то помимо Вас, то должно быть что-то что отличает в выгодную сторону от остальных языков, не внося чрезмерного количества дополнительных минусов. На данный момент их нет. Но, с другой стороны, если просто хочется сделать свой ЯП и все, то в целом-то какая разница есть ли в нем практический смысл.
Добавлено через 3 минуты Ваш же язык "средненький", он не выделяется ни чем (кроме того, что пока в нем мало что работает)
0
|
||
|
Труд вопреки насмешкам
|
||
| 06.02.2025, 22:30 [ТС] | ||
|
0
|
||
|
282 / 485 / 12
Регистрация: 21.06.2019
Сообщений: 3,020
|
||||
| 07.02.2025, 06:12 | ||||
|
Добавлено через 5 минут
0
|
||||
|
Автоматизируй это!
|
||
| 07.02.2025, 07:05 | ||
|
так какие конкретные причину у любого человека выбрать твой ЯП вместо сишарпа и джавы?
0
|
||
|
Новые блоги и статьи
|
|||
|
сукцессия 14. Обновленная схема модели
anaschu 28.06.2026
ГЛОБАЛЬНАЯ ОПИСАТЕЛЬНАЯ СПЕЦИФИКАЦИЯ ЭКОСИСТЕМНОЙ МОДЕЛИ «SOIL CHEMISTRY & MYCORRHIZA 2. 0»
https:/ / ibb. co/ NnkGpfMd
Представленная интегрированная схема описывает непрерывную нелинейную. . .
|
сукцессия 13. Питон модель трехзонного мицелия, пока что в основном арбускулярного
anaschu 28.06.2026
## Разработка агентной модели микоризной сукцессии: от выявления артефактов к созданию комплексной системы
### Аннотация
Представлено исследование по разработке агентной модели микоризной. . .
|
сукцессия 12. краткий список проверок модели перед запуском.
anaschu 27.06.2026
Скрытые отказы в моделях систем динамики (SD-models) экологических систем: два случая из практики
Контекст
Разбирался прототип модели систем динамики (SD-модели) микоризной сукцессии: пять. . .
|
Сукцессия 11. Проверка орудий перед войной: разработка через тестирование
anaschu 27.06.2026
Как не дать модели соврать самой себе: проверки для симуляции микоризной сукцессии
Введение
Когда вы строите математическую модель живой системы — грибов, растений, почвы — главная опасность. . .
|
|
10 сукцессия. Питон код войны грибов и растений
anaschu 27.06.2026
import numpy as np
class PlantAgent:
def __init__(self, name, strategy, initial_biomass):
self. name = name
self. strategy = strategy # "greedy" (широколиственные) или. . .
|
сукцессия 9. Математика подлости: как растения предали грибных друзей
anaschu 27.06.2026
Статья 2. Глобальная фосфорная война: эволюционно-экономические механизмы распределения биомов Земли
Введение: Экологический рынок как игра с нулевой суммой
Традиционная экология долгое время. . .
|
сукцессия 8. Как я спорил с ИИ, которые - агенты растений и ненавистники грибов!
anaschu 27.06.2026
Статья 1. Хроники грибного восстания: как Сократов диалог разрушил академические догмы ИИ
Введение: Синдром «цифрового учебника»
Современные большие языковые модели (LLM) обладают колоссальным. . .
|
Главный вопрос моделирования сукцессии
anaschu 27.06.2026
главный вопрос.
Если эктомикориза лучше добывает недоступный фосфор. И ее масса максимальна из всех.
А широколиственный лес тоже имеет самую крутую биомассу.
То почему не возникло их симбиоза? Это. . .
|