С Новым годом! Форум программистов, компьютерный форум, киберфорум
Бета-тестирование
Войти
Регистрация
Восстановить пароль
Блоги Сообщество Поиск Заказать работу  
 
 
Труд вопреки насмешкам
 Аватар для Etyuhibosecyu
430 / 179 / 41
Регистрация: 13.07.2017
Сообщений: 4,574
Записей в блоге: 14

C#.NStar

22.11.2020, 01:26. Показов 29672. Ответов 471
Метки нет (Все метки)

Студворк — интернет-сервис помощи студентам
Мой язык программирования развивается, в очередной раз меняя название. Пятое название после C↑ᶜC, C#++, C with stations и временного Unnamed2 имеет вид "C# .NStar". Это название не вызывает никаких ассоциаций со стрелками, с "симбиозом плюсов и шарпа", со "станционным программированием", а вызывает единственную - то, что этот язык - прямое продолжение C#. Теперь вы убедились, что этот язык - не пустая болтовня, одна версия уже увидела свет, поэтому надеюсь, что очередная презентация возможностей C# .NStar хоть и подвергнется критике, но не приведет ни к чему плохому. Вот что уже работает:
1. Пространства имен.
2. Ошибки списком строк - теперь отображение n ошибок не займет время, пропорциональное n2, и вообще я по максимуму убрал конкатенацию строк в цикле, что является экстремально важным признаком качества языка.
3. Списки - не только возврат списка, но и переменные списочных типов.
4. Индексы - последний и самый сложный из перечисленных пунктов. Такой код успешно работает:
Code
1
2
list(3) int a = (((1, 2, 3), (4, 5, 6), (7, 8, 9)), ((10, 11, 12), (13, 14, 15), (16, 17, 18)), ((19, 20, 21), (22, 23, 24), (25, 26, 27)));
return a[1, 2, 3];
Но для того, чтобы выложить версию, этого мало. Это просто презентация.
А вот несколько будущих возможностей:
1. Оператор switch с лямбда-выражением. Это невероятно мощная конструкция! Позволит убрать очень много дублирования в условиях. Вот два примера:
C#
1
2
3
4
5
6
7
8
9
10
11
12
13
14
15
16
17
if (task.StartsWith("Class "))
{
    return Action1(task.Substring("Class ".Length));
}
else if (task.StartsWith("Interface "))
{
    return Action2(task.Substring("Interface ".Length));
}
else if (task.StartsWith("Function "))
{
    return Action3(task.Substring("Function ".Length));
}
else if (task.StartsWith("Extent "))
{
    return Action4(task.Substring("Extent ".Length));
}
...
Code
1
2
3
4
5
6
7
8
return x => task == x + string s switch
{
    "Class " => Action1(s);
    "Interface " => Action2(s);
    "Function " => Action3(s);
    "Extent " => Action4(s);
    ...
};
Прошу обратить особое внимание на огромную мощь этой конструкции и написать, хотели бы вы ею воспользоваться или нет, и если нет, то почему.
2. Способ задания словаря будет отличаться от способа задания двумерного списка: ключ и значение будут разделяться оператором ":", а если словарь состоит из единственного элемента, доступного по всем ключам - достаточно указать один этот элемент. Пример:
Code
1
2
Dictionary[string, int] dic1 = ("Съешь": 1, "же": 2, "ещё": 3, "этих": 4, "мягких": 5, "французских": 6, "булок": 7, "да": 8, "выпей": 9, "чаю": 10, _: 0);
Dictionary[string, int] dic2 = -12345;
3. Оператор ![], позволяющий сменить внутренний тип коллекции без смены внешнего типа. Это позволит создать аналог LINQ нового поколения - Jaretorant, в котором не надо завершать каждое выражение функциями ToArray() или ToList(). Только посмотрите:
Code
1
2
3
4
() int oldList;
() real newList = oldList.TransformEach(x => 1r / x);
LinkedList[int] oldList2;
LinkedList[real] newList2 = oldList2.TransformEach(x => 1r / x);
А сама конструкция TransformEach записывается таким способом:
Code
1
2
3
4
5
6
7
8
9
10
Dictionary[(typename TSource, typename TCollection : IEnumerable[TSource], typename TDest), TCollection![TDest] Extent(TCollection source, Func[TDest, TSource] Transformator)] =
{
    TCollection![TDest] output = new TDest[source.Count()];
    int i = 0;
    for (TSource elem in source)
    {
        output[i++] = Transformator(elem);
    }
    return output;
}
P. S. Недавно я наткнулся на список торговых знаков Microsoft. Оказывается, там написано, что нельзя искажать, модифицировать или комбинировать с любыми словами, символами, изображениями или другими видами информации любые из этих торговых знаков. Но самих знаков немного: само слово "Microsoft", Windows, MSN, Bing, Skype, Microsoft Edge и еще один или два. C# там нет! Поэтому создать язык с названием C# .NStar мне ничего не мешает.
1
cpp_developer
Эксперт
20123 / 5690 / 1417
Регистрация: 09.04.2010
Сообщений: 22,546
Блог
22.11.2020, 01:26
Ответы с готовыми решениями:

Мелкомягкие мыслят местами точно как и я или следят за моим компьютером и крадут идеи, записанные на нем для C# .NStar?
Кто знает? Вот неполная цитата из файла, созданного в феврале этого года: А тут оказывается, что...


Искать еще темы с ответами

Или воспользуйтесь поиском по форуму:
471
282 / 485 / 12
Регистрация: 21.06.2019
Сообщений: 3,018
22.11.2020, 09:52
Это все конечно замечательно, но мы так и не поняли, кому и зачем этот ваш язык может потребоваться и какие проблемы того же сишарпа он решает.
0
Труд вопреки насмешкам
 Аватар для Etyuhibosecyu
430 / 179 / 41
Регистрация: 13.07.2017
Сообщений: 4,574
Записей в блоге: 14
22.11.2020, 11:18  [ТС]
Цитата Сообщение от Катафалк Посмотреть сообщение
мы так и не поняли, кому и зачем этот ваш язык может потребоваться и какие проблемы того же сишарпа он решает.
А какие проблемы каких-либо языков решает Шарп, кроме удобства программирования? Я знаю там про конфликт с разработчиками Жабы и т. д., но по сути все не эзотерические языки решают одну проблему - удобство программирования. И C# .NStar - не исключение.
0
Эксперт .NET
 Аватар для Usaga
14108 / 9325 / 1349
Регистрация: 21.01.2016
Сообщений: 35,028
22.11.2020, 15:57
Цитата Сообщение от Etyuhibosecyu Посмотреть сообщение
А какие проблемы каких-либо языков решает Шарп, кроме удобства программирования?
Погодите. Неудобства, которые решал (и решил) C# вытекали из неудобств С++ и Java тех лет. Неудобства, которые вы видите, вытекают из полного вашего непонимания предмета и отрицания всех полезных советов.

Перефразирую: ваше ПО говно не по тому, что C# плохой, а потому, что у вас руки из... Ну вы поняли. Т.е. решение всех ваших проблем не в изобретении нового языка, а в изучении существующих практик. Не верите мне? ОК. Изобретайте говно дальше. Одной вашей веры в то, что вы "творите" не достаточно.
0
22.11.2020, 16:36

Не по теме:

Внесу посильную лепту в дело развития языка. Раз тут упомянуто дерево - предлагаю такое дерево:

Миниатюры
C#.NStar  
0
107 / 65 / 0
Регистрация: 20.08.2013
Сообщений: 321
22.11.2020, 16:47
...
0
Модератор
Эксперт Java
 Аватар для alecss131
2848 / 1356 / 404
Регистрация: 11.08.2017
Сообщений: 4,326
Записей в блоге: 2
22.11.2020, 21:36
напоминает кашу из языков, switch лямбды почти один в один есть в джаве с 12 версии (14 уже стандарт, самая новая это 15), некоторое остальное в том или ином виде встречал в питоне
кстати идея для "языка", как в питоне отрицательные индексы, это тоже удобно))
0
Труд вопреки насмешкам
 Аватар для Etyuhibosecyu
430 / 179 / 41
Регистрация: 13.07.2017
Сообщений: 4,574
Записей в блоге: 14
22.11.2020, 21:43  [ТС]
Цитата Сообщение от alecss131 Посмотреть сообщение
кстати идея для "языка", как в питоне отрицательные индексы, это тоже удобно))
Спасибо за идею. Но отрицательные индексы приводят к некоторым скрытым проблемам. Мне больше нравится отдельный оператор для индексов с конца, как в классическом C#.
0
Труд вопреки насмешкам
 Аватар для Etyuhibosecyu
430 / 179 / 41
Регистрация: 13.07.2017
Сообщений: 4,574
Записей в блоге: 14
23.11.2020, 12:22  [ТС]
alecss131, и знаете ли вы, что swtich с лямбда-выражениями в Java присутствует не "почти один в один", а совсем иначе? А я вот не поленился и посмотрел! В Java как-то так:
Java
1
2
3
4
5
6
result = switch (variable) {
    case "Foo" -> 5;
    case "Bar" -> 10;
    case null -> -1;
    default -> throw new InvalidOperationException("Seriously?");
};
Это не точный пример, так как я смотрел вчера, а сегодня этот сайт закрылся, но суть такая. То есть лямбда-выражения в операторах case. А у меня они еще и в заголовке оператора или выражения switch. То есть не переменная сравнивается с константами, а проверяется, возвращает ли true функция от каждой константы, в которой разрешено использовать переменные. Улавливаете смысл? Это лично моя идея, ее нет ни в одном другом языке. Во всяком случае, запрос в Google на эту тему приводит куда угодно, но только не к такому, как я придумал.
0
Эксперт JSЭксперт HTML/CSS
2436 / 1115 / 312
Регистрация: 23.06.2011
Сообщений: 3,529
27.11.2020, 08:38
Цитата Сообщение от Etyuhibosecyu Посмотреть сообщение
Мой язык программирования развивается, в очередной раз меняя название.
если это твой язык, так назови его по своему, а если это очередная С-версия, то как сказали выше, КОМУ ОНО НАДО.

планируется платный/халява?, или сначала халява, а потом денег запросишь?
справка на русском будет?
в качестве идеи, IF - ENDIF или IF {}, иметь два варианта, кому как удобней
а ты уверен, что потянешь многолетнюю поддержку, обновление, расширение?
ну и так далее
Цитата Сообщение от Etyuhibosecyu Посмотреть сообщение
Прошу обратить особое внимание на огромную мощь этой конструкции и написать, хотели бы вы ею воспользоваться или нет, и если нет, то почему.
дык, а куда деваться, если алтернативы не будет

я не против нового языка, я за НОВЫЙ, а не клон
0
Эксперт .NET
 Аватар для Usaga
14108 / 9325 / 1349
Регистрация: 21.01.2016
Сообщений: 35,028
27.11.2020, 08:53
Цитата Сообщение от newJS Посмотреть сообщение
справка на русском будет?
Если учесть, что ТС никаких других языков не знает (в том числе и ЯП), то если справка и будет, то только на маскальской мове)
0
282 / 485 / 12
Регистрация: 21.06.2019
Сообщений: 3,018
27.11.2020, 11:18
Цитата Сообщение от newJS Посмотреть сообщение
планируется платный/халява?, или сначала халява, а потом денег запросишь?
До платного состояния проект точно не доживет, он и бесплатно никому не нужен
0
Эксперт JSЭксперт HTML/CSS
2436 / 1115 / 312
Регистрация: 23.06.2011
Сообщений: 3,529
29.11.2020, 00:58
Цитата Сообщение от Катафалк Посмотреть сообщение
До платного состояния проект точно не доживет, он и бесплатно никому не нужен
не соглашусь, новые языки нужны
0
Эксперт .NET
 Аватар для Usaga
14108 / 9325 / 1349
Регистрация: 21.01.2016
Сообщений: 35,028
29.11.2020, 06:14
newJS, нужны, согласен, но от тех, кто хотя бы примерно представляет, что он делает и какие недостатки существующих компенсирует. А тут этого нет.
0
Труд вопреки насмешкам
 Аватар для Etyuhibosecyu
430 / 179 / 41
Регистрация: 13.07.2017
Сообщений: 4,574
Записей в блоге: 14
05.10.2022, 23:14  [ТС]
И вот, наконец, я сделал это! Вторая версия революционного языка программирования под названием C# .NStar (Pre-Pre-Alpha) 0.09 готова! Причем именно под этим названием это пока что первая достигшая продакшена версия. И вот что сообщает статистика - на версию Preview 1.0 (что эквивалентно 0.05) ушло полтора года, на версию 0.09 - два года - интересно, на версию 0.13 уйдет два с половиной года, и она выйдет весной 2025 года, или мне удастся хоть немного ускориться?
Что уже проверено и работает в дополнение к версии Preview 1.0:
1. Список ошибок теперь работает именно в виде списка, а не в виде конкатенаций строк в цикле. Думаю, для знакомых с C# .NET последствия очевидны.
2. Следующие статические функции: DateTime.Compare(), DateTime.DaysInMonth(), DateTime.FromBinary(), DateTime.IsLeapYear().
3. Следующие экземплярные функции: DateTime.AddDays(), DateTime.AddHours(), DateTime.AddMilliseconds(), DateTime.AddMinutes(), DateTime.AddMonths(), DateTime.AddSeconds(), DateTime.AddTicks(), DateTime.AddYears(), DateTime.CompareTo(), DateTime.IsSummertime(), DateTime.SpecifyKind(), DateTime.ToBinary(), DateTime.ToLocalTime(), DateTime.ToUniversalTime(), list.Add() (может добавить как один элемент, так и целый список; то же самое касается функций, помеченных далее (*)), list.Clear(), list.Contains() (*), list.GetRange(), list.IndexOf() (*), list.Insert() (*), list.LastIndexOf() (*), list.Remove() (при передаче двух параметров удаляет диапазон, вызов с одним параметром удалит от этого индекса до конца списка), list.RemoveLast(), list.Reverse(), string.Contains(), string.ContainsAny(), string.ContainsAnyExcluding(), string.Count(), string.EndsWith(), string.GetAfter(), string.GetBefore(), string.IndexOf(), string.IndexOfAny(), string.IndexOfAnyExcluding(), string.Insert(), string.LastIndexOf(), string.LastIndexOfAny(), string.LastIndexOfAnyExcluding(), string.Remove(), string.Replace(), string.Split(), string.StartsWith(), string.Substring(), string.ToCharList(), string.ToLower(), string.ToUpper(), string.Trim(), string.TrimEnd(), string.TrimStart().
4. Следующие типы: byte, long int, unsigned long int, list() T, System.Func[TResult, T1, T2, ...].
5. Пространства имен.
6. Списки и индексы.
7. Процедурный подход в прошлом! Теперь процветает структурное программирование: классы, методы и свойства могут быть как статическими, так и экземплярными, экземплярные классы могут быть сконструированы, присутствует даже инкапсуляция в виде модификаторов closed, protected и internal. К сожалению, полноценного объектно-ориентированного программирования еще нет вследствие отсутствия наследования и полиморфизма.
8. Циклы следующих типов: loop, repeat (n), while (condition), for (type var in collection). Для выполнения действий заранее неизвестное число раз подходит только цикл while, так как в repeat выражение вычисляется один раз, и изменение входящих в него переменных после этого бесполезно, а попытка изменить коллекцию в for может привести к непредсказуемым последствиям.
9. Операторы break и continue.
10. Сложные условия с разными комбинациями ядер в фигурных скобках и без них. Разумеется, до бесконечной глубины проверить нельзя, но доступные мне проверки отлажены.
11. Можно обратиться к свойству или функции, входящим в тот же класс, что и место вызова, или во включающий класс, без явного указания имени класса.
12. Делегаты. Но лямбды не работают. В делегат можно подставлять только полноценную функцию, но большое преимущество в этом плане над ранним C# .NET - то, что функции и даже классы с самой первой версии могут быть объявлены внутри других функций.
Что уже проверено и не работает в дополнение к версии Preview 1.0:
1. Циклы следующих типов: loop-while, for-while, repeat-while.
2. Конструкции switch.
3. Кортежи. Внезапно реализовать их оказалось сложнее, чем я думал, из-за сложных комбинаций сингулярных кортежей. Но у меня уже есть наброски плана по исправлению.
4. Сокращенный вид списка (() T).
5. Комментарии все еще не работают!
Рабочие примеры кода на C# .NStar:
Code
1
2
list(3) int a = (((1, 2, 3), (4, 5, 6), (7, 8, 9)), ((10, 11, 12), (13, 14, 15), (16, 17, 18)), ((19, 20, 21), (22, 23, 24), (25, 26, 27)));
return a[1, 2, 3];
Code
1
2
3
4
5
6
7
8
9
10
11
12
13
14
15
16
17
18
19
Class MyClass
{
    int a = 5;
    real b = 3.14159;
    string c = "A";
 
    Constructor(bool bool)
    {
        if (bool)
        {
            a = 12;
        }
    }
}
MyClass a1 = new MyClass();
MyClass a2 = new MyClass(8, 2.71828, "$");
MyClass a3 = new MyClass(8, 2.71828);
MyClass a4 = new MyClass(true);
return (a1, a2, a3, a4);
Code
1
2
3
4
5
6
7
8
9
10
11
12
13
14
15
16
17
18
real a = 0;
loop
{
    if !(a >= 10)
        a++;
    else if !(a >= 12)
    {
        a += 0.25;
        continue;
    }
    else if !(a > null)
        continue;
    else
    {
        break;
    }
}
return a;
Code
1
2
3
4
5
6
7
8
9
10
real Function F(real x, real y)
{
    return x * x + x * y + y * y;
}
System.Func[real, real, real] f;
f = F;
real a = f(3.14159, 2.71828);
f = Max;
real b = f(3.14159, 2.71828);
return (a, b);
И как обычно, подборка перспективных возможностей, которые будут реализованы бог знает когда:
1. Экстенты IndexesOf, FindAllIndexes, FindMin, FindMax, FindMean, FindMedian, FindAllMin, FindAllMax, FindAllMean, FindAllMedian, IndexOfMin, IndexOfMax, IndexOfMean, IndexOfMedian, LastIndexOfMin, LastIndexOfMax, LastIndexOfMean, LastIndexOfMedian, IndexesOfMin, IndexesOfMax, IndexesOfMean, IndexesOfMedian, FindMinIndex, FindMaxIndex, FindMeanIndex, FindMedianIndex, FindLastMinIndex, FindLastMaxIndex, FindLastMeanIndex, FindLastMedianIndex, FindAllMinIndexes, FindAllMaxIndexes, FindAllMeanIndexes и FindAllMedianIndexes. В результате этого можно будет вместо такого громоздкого кода:
C#
1
return list.IndexOf(list.FirstOrDefault(x => x.Item2.Equals(list.Max(y => y.Item2))));
- написать кратко и ёмко:
Code
1
return list.IndexOfMax(x => x[2]);
При этом экстенты FindMin, FindMax, FindMean и FindMedian отличаются от просто Min, Max, Mean и Median тем, что находят не среднее или экстремальное трансформированное значение, а элемент, трасформированное значение которого является средним или экстремальным. Например, такой код:
Code
1
2
3
var list = ((1, 8), (9, 12), (4, 5), (7, 10));
TextBox1.Text = list.Min(x => x[2]);
TextBox2.Text = list.FindMin(x => x[2]);
- высветит в первом текстовом поле 5, а во втором - (4, 5). Также FindMin, FindMax, FindMedian, IndexOfMin, IndexOfMax, IndexOfMedian и т. д. всегда возвращают какое-либо значение, FindAllMin, IndexesOfMax, FindAllMedianIndexes и пр. - список значений, а методы с участием Mean могут вернуть null, -1 или пустой список. Что касается экстентов FindXIndex, FindLastXIndex и FindAllXIndexes, так это то, что они принимают два лямбда-выражения - предикат и трансформатор - и находят индексы элементов с необходимым трансформированным значением среди удовлетворяющих предикату.
Обновлено: бо́льшая часть этих экстентов уже реализована в библиотеке OptimizedLinq, так что это фактически уже не перспективная, а реальная возможность, предоставляемая компанией Red-Star-Soft.
2. Оператор ubd - сокращение от "upper bound division" - "деление по верхней границе". Эквивалентен x == 0 ? 0 : (x - 1) / y + 1, что отличается от (x + y - 1) / y гарантией, что не произойдет переполнение. Применим для целых чисел.
3. Функции Round(x, y), Floor(x, y), Ceil(x, y) и Truncate(x, y) - эквивалентны F(x / y) * y, где F - соответствующая функция от одного аргумента. Применимы для целых и действительных чисел.
4. Постфиксные унарные операторы x+, x-, x*, x% и x? - эквивалентны соответственно x + 1, x - 1, x * x, x % 2 и x >= 1 (преобразование числа в bool - если опустить этот оператор, компилятор выдаст предупреждение). Оператор x% применим для целых чисел, x? - для целых и действительных, остальные - для целых, действительных и комплексных.
5. По аналогии с пространствами имен верхнего уровня в классическом C#, также классы верхнего уровня, позволяющие иметь еще на отступ меньше. Например, для сравнения старый и новый код:
Code
1
2
3
4
5
6
7
8
9
10
11
12
13
Class Class1
{
    //Ядро Class1
    closed Class InnerClass
    {
        //Ядро InnerClass
    }
    //Продолжение ядра Class1
}
Class Class2
{
    //Ядро Class2
}
Code
1
2
3
4
5
6
7
8
9
Class Class1;
//Ядро Class1
closed Class InnerClass
{
    //Ядро InnerClass
}
//Продолжение ядра Class1
Class Class2;
//Ядро Class2
То есть, фрагмент кода от одного объявления класса верхнего уровня до другого аналогичного считается ядром класса. При этом в этом ядре могут быть вложенные классы, объявляемые обычным способом. Таким образом, если программист объявил класс верхнего уровня, то обязан придерживаться этого стиля до конца - иначе класс будет считаться вложенным и не будет виден извне без имени наружного класса, using static или других специальных методов.
6. (Это касается IDE, а не языка.) Возможность выполнить код до определенного места в текущем вызове функции. То есть, если, например, эта функция прямо или косвенно рекурсивна, то попадание в эту точку в одном из вызовов этой рекурсии не заставит выполнение остановиться. Если целевой вызов завершен, а попадание в эту точку так и не случилось, то IDE может на выбор (в настройках) либо вывести сообщение, либо просто продолжить выполнение.
7. (Это также касается IDE.) Возможность у точки останова установить ограничение на глубину стека вызовов. Это ограничение может быть вида ==, <=, >= или is.
8. Возможность в выражении для оператора is использовать ключевое слово when. Например:
Code
1
obj is real r when (r == 0) or string s when (s == "" || s == "null") or null
Для тех, кто дочитал до этого места - БОНУС!!! Попутно с C# .NStar я разработал вторую версию пусть не революционной, но достаточно годной библиотеки BigCollections (Pre-Pre-Alpha) 0.09, где исправлена критическая ошибка в поведении словаря и добавлен новый тип очереди. Подробнее читайте в новом репозитории на Github (старый был удален): https://github.com/Etyuhibosecyu/BigCollections . Если хотите, можете даже поучаствовать в улучшении этой библиотеки, так как она открыта к идеям со стороны.
Надеюсь, хоть кто-то приложит усилия не только к болтовне. Мне важно мнение со стороны, но только если оно осмысленно, а мнение тех, кто даже прочитать шапку поленился, таким не является. Господин Usaga уже получил красную карточку кое за что, и я очень надеюсь, что и другие садисты будут наказаны.
0
Эксперт по электронике
6525 / 3154 / 332
Регистрация: 28.10.2011
Сообщений: 12,377
Записей в блоге: 7
05.10.2022, 23:48
Цитата Сообщение от Etyuhibosecyu Посмотреть сообщение
Вторая версия революционного языка программирования под названием C# .NStar (Pre-Pre-Alpha) 0.09
Чем она лучше обычного шарпа? Может компилирует в натив без зависимостей?

Зачем исполняемый файл C# .NStar (Pre-Pre-Alpha) 0.09.exe при каждом запуске извлекает кучу файлов во временную папку (%TEMPDIR%\.net\C# .NStar (Pre-Pre-Alpha) 0.09\)? Чтобы быстрее SSD исчерпал свой ресурс?

Где компилятор этого языка? Запускать код в окне это несерьезно! С таким же успехом вы могли сделать веб приложение без необходимости скачивать файлы на комп.
1
Труд вопреки насмешкам
 Аватар для Etyuhibosecyu
430 / 179 / 41
Регистрация: 13.07.2017
Сообщений: 4,574
Записей в блоге: 14
06.10.2022, 00:05  [ТС]
locm, спасибо за то, что скачали EXE, пусть даже и не протестировали полноценно!
Цитата Сообщение от locm Посмотреть сообщение
Зачем исполняемый файл C# .NStar (Pre-Pre-Alpha) 0.09.exe при каждом запуске извлекает кучу файлов во временную папку (%TEMPDIR%\.net\C# .NStar (Pre-Pre-Alpha) 0.09\)? Чтобы быстрее SSD исчерпал свой ресурс?
EXE не требует .NET на компьютере, а это плата за удобство. Если вам критично, можете скопировать содержимое этой временной папки в постоянную папку и запускать из нее. Большинству пользователей это абсолютно не важно.
Цитата Сообщение от locm Посмотреть сообщение
Где компилятор этого языка? Запускать код в окне это несерьезно!
Здесь не компилятор, а интерпретатор, а планируется транспайлер. В окне потому, что это тестовая версия, на полноценную IDE пока нет контента.
Цитата Сообщение от locm Посмотреть сообщение
С таким же успехом вы могли сделать веб приложение без необходимости скачивать файлы на комп.
Ага, и платить за это в евро. Веб-приложение я действительно планирую сделать, но это будет небольшой сайт-визитка на простом PHP. Запускать C# у него не будет возможности.
0
Эксперт по электронике
6525 / 3154 / 332
Регистрация: 28.10.2011
Сообщений: 12,377
Записей в блоге: 7
06.10.2022, 00:23
Цитата Сообщение от Etyuhibosecyu Посмотреть сообщение
EXE не требует .NET на компьютере, а это плата за удобство.
Это не плата за удобство а кривая реализация.
Если хотели обойтись без .NET, полно ЯП компилирующих в натив без зависимостей (достаточно того что есть в дистрибутиве Win7 и выше). Вы же сделали, как бы так помягче скачать...

Цитата Сообщение от Etyuhibosecyu Посмотреть сообщение
Большинству пользователей это абсолютно не важно.
А потом они же жалуются что почти новый SSD исчерпал свой ресурс. Это медвежья услуга пользователям!

Цитата Сообщение от Etyuhibosecyu Посмотреть сообщение
интерпретатор
И что нам с этим делать?
Практического применения нет.

Цитата Сообщение от Etyuhibosecyu Посмотреть сообщение
Ага, и платить за это в евро.
Почему же? Запускаете веб сервер дома на мини-пк (в крайнем случае на малине) и размещаете контент на нем. Будет бесплатно.
0
Труд вопреки насмешкам
 Аватар для Etyuhibosecyu
430 / 179 / 41
Регистрация: 13.07.2017
Сообщений: 4,574
Записей в блоге: 14
06.10.2022, 00:29  [ТС]
Цитата Сообщение от locm Посмотреть сообщение
полно ЯП компилирующих в натив без зависимостей
Нет, C# я ни на что не променяю...
Цитата Сообщение от locm Посмотреть сообщение
И что нам с этим делать?
Практического применения нет.
Почему-то Python, например, прекрасно работает на интерпретаторе...
0
Эксперт .NET
 Аватар для Usaga
14108 / 9325 / 1349
Регистрация: 21.01.2016
Сообщений: 35,028
06.10.2022, 08:04
Цитата Сообщение от Etyuhibosecyu Посмотреть сообщение
Нет, C# я ни на что не променяю...
Даже на супер классный .NStar (Pre-Pre-Alpha) 0.09?

Сможете сжато обрисовать чем ваш язык лучше того же шарпа?

Цитата Сообщение от Etyuhibosecyu Посмотреть сообщение
Почему-то Python, например, прекрасно работает на интерпретаторе...
Так и вы бы сразу интерпретатор нормальный делали, а не какую-то запускалку в окошке...
0
Надоела реклама? Зарегистрируйтесь и она исчезнет полностью.
Ответ Создать тему
Новые блоги и статьи
Новый CodeBlocs. Версия 25.03
palva 04.01.2026
Оказывается, недавно вышла новая версия CodeBlocks за номером 25. 03. Когда-то давно я возился с только что вышедшей тогда версией 20. 03. С тех пор я давно снёс всё с компьютера и забыл. Теперь. . .
Модель микоризы: классовый агентный подход
anaschu 02.01.2026
Раньше это было два гриба и бактерия. Теперь три гриба, растение. И на уровне агентов добавится между грибами или бактериями взаимодействий. До того я пробовал подход через многомерные массивы,. . .
Учёным и волонтёрам проекта «Einstein@home» удалось обнаружить четыре гамма-лучевых пульсара в джете Млечного Пути
Programma_Boinc 01.01.2026
Учёным и волонтёрам проекта «Einstein@home» удалось обнаружить четыре гамма-лучевых пульсара в джете Млечного Пути Сочетание глобально распределённой вычислительной мощности и инновационных. . .
Советы по крайней бережливости. Внимание, это ОЧЕНЬ длинный пост.
Programma_Boinc 28.12.2025
Советы по крайней бережливости. Внимание, это ОЧЕНЬ длинный пост. Налог на собак: https:/ / **********/ gallery/ V06K53e Финансовый отчет в Excel: https:/ / **********/ gallery/ bKBkQFf Пост отсюда. . .
Кто-нибудь знает, где можно бесплатно получить настольный компьютер или ноутбук? США.
Programma_Boinc 26.12.2025
Нашел на реддите интересную статью под названием Anyone know where to get a free Desktop or Laptop? Ниже её машинный перевод. После долгих разбирательств я наконец-то вернула себе. . .
Thinkpad X220 Tablet — это лучший бюджетный ноутбук для учёбы, точка.
Programma_Boinc 23.12.2025
Рецензия / Мнение/ Перевод Нашел на реддите интересную статью под названием The Thinkpad X220 Tablet is the best budget school laptop period . Ниже её машинный перевод. Thinkpad X220 Tablet —. . .
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. . .
КиберФорум - форум программистов, компьютерный форум, программирование
Powered by vBulletin
Copyright ©2000 - 2026, CyberForum.ru