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

C#.NStar

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

Студворк — интернет-сервис помощи студентам
С чего всё началось
Мой язык программирования развивается, в очередной раз меняя название. Пятое название после 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 мне ничего не мешает.


 Комментарий модератора 
Update от 09.02.2026


ПОБЕДА!!! C#.NStar достиг версии (Alpha RC) 0.9! Это первое приложение от Red-Star-Soft, когда-либо достигавшее подобной версии! (Фреймворк - это не приложение.) Теперь, надеюсь, я перестал быть "профессиональным недоделывателем"? И, надеюсь, я получу тест?
1. Работа с файлами.
2. При техническом крахе сохраняется лог во временную папку.
3. Потоки. Причем нет этого ужасного разбиения на две воюющих стороны - синхронные и асинхронные - переключение контекста происходит автоматически.
4. "Швейцарский нож" (оператор is, сопоставление шаблонов). Пока что реализованы семь шаблонов: константа, тип, тип с объявлением переменной, var с объявлением переменной, шаблон сравнения (больше/меньше), пустой шаблон (_) и составной шаблон - несколько шаблонов, объединенных операторами and, or, not. Есть одна замеченная, но не исправленная ошибка, что попытка применить шаблон сравнения не к числу вызывает технический крах. Возможно, в будущем исправлю.
5. Сокращенный оператор for - можно написать так:
Code
1
2
3
4
for (i in collection)
{
    ...
}
- или так:
Code
1
2
3
4
for (i in a..b)
{
    ...
}
6. Сокращенные константы - если есть ключевое слово const, необзательно писать var или тем более полный тип.
7. Записи (Record - с прописной буквы). В отличие от C#.NET, это по терминологии Мартина чистые структуры данных, имеющие свойства, совпадащие по именам и типам с параметрами, конструктор из эих параметров и стандартные методы Equals и GetHashCode и неспособные иметь другие методы и свойства.
8. Структуры (Struct - с прописной буквы).
9. Прототип полиморфизма в виде словарей от рекурсивного типа к классу, одним из следующих способов (ключевое слово Class в случае полиморфизма обязтельно брать в скобки):
Code
1
2
3
4
const [typename T, (Class)] ClassName = new(
{
    ...
});
Code
1
2
3
4
const ClassName = new [typename T, (Class)](
{
    ...
});
Code
1
2
3
4
const var ClassName = new [typename T, (Class)](
{
    ...
});
Code
1
2
3
4
const [typename T, (Class)] ClassName = new [typename T, (Class)](
{
    ...
});
Code
1
2
3
4
const [typename T : BaseType, (Class : BaseType2)] ClassName = new(
{
    ...
});
Code
1
2
3
4
const ClassName = new [typename T : BaseType, (Class : BaseType2)](
{
    ...
});
Code
1
2
3
4
const var ClassName = new [typename T : BaseType, (Class : BaseType2)](
{
    ...
});
Code
1
2
3
4
const [typename T : BaseType, (Class : BaseType2)] ClassName = new [typename T : BaseType, (Class : BaseType2)](
{
    ...
});
Словари от чисел, строк или других типов, кроме typename, пока лучше даже не пытаться создавать - они не работают!
10. Обработка исключений:
Code
1
2
3
4
5
6
7
8
try
{
    ...
}
catch (ExceptionType var) if (condition) // if, а не when
{
    ...
}
В текущей версии доступен базовый набор исключений: Exception, ArgumentException (включает в себя ArgumentNullException и ArgumentOutOfRangeException, хотя явно указать их нельзя), IndexOutOfRangeException, InvalidOperationException, NullReferenceException и IOException.
11. И самое невероятное - ПАКЕТНЫЙ МЕНЕДЖЕР!!! Вы можете подключить любой пакет, доступный в публичном репозитории NuGet - достаточно зайти в настройки и указать его имя.
Рабочие примеры кода на C#.NStar, в дополнение к предыдущим версиям:
Code
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
28
29
using System;
using System.Threading;
Class MyClass
{
    Constructor()
    {
    }
    int Function Sync()
    {
        var x = MyClass2.MyFunc(5);
        return x;
    }
    Task[int] Function Async1()
    {
        var x = MyClass2.MyFunc(5);
        return x;
    }
    Task[int] Function Async2(int n)
    {
        return n * n;
    }
}
 
static Class MyClass2
{
    Func[Task[int], int] MyFunc = new MyClass().Async2;
}
 
return new MyClass().Async1();
Code
1
2
3
object item = "Welcome!";
if (item is string text)
    return text;
Code
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
28
29
30
31
32
33
34
35
36
37
38
abstract Class BaseStack
{
    required typename T { get, init };
    
    abstract T Function Peek();
    abstract T Function Pop();
    abstract null Function Push(T item);
}
 
const [typename T, (Class : BaseStack[T])] Stack = new(
{
    private () T list = new(32);
 
    T Function Peek()
    {
        return list[^1];
    }
 
    T Function Pop
    {
        return list.GetAndRemove(list.Length - 1);
    }
 
    null Function Push(T item)
    {
        list.Add(item);
    }
});
 
BaseStack[int] intStack = new Stack[int]();
intStack.Push(5);
intStack.Push(10);
var x = (intStack.Pop(), intStack.Peek());
BaseStack[string] stringStack = new Stack[string]();
stringStack.Push("A");
stringStack.Push("B");
var y = (stringStack.Pop(), stringStack.Peek());
return (x, y);
Code
1
2
3
4
5
6
() int list = new();
for (i in Chain(0, 10)) while (i * i % 20 < 10)
{
    list.Add(i);
}
return list;
Code
1
2
3
4
5
6
int n = 0;
for (i in 1..1000)
{
    n++;
}
return n;
Code
1
2
3
Record Pair(string Name, int Value);
Pair pair = new("Status", 100);
return pair;
Code
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
28
29
30
const [typename T : IComparable[T], (Class)] Repository = new(
{
    private () T items = new();
 
    null Function Add(T item)
    {
        items.Add(item);
    }
 
    T Function GetMax()
    {
        if (items.Length == 0)
            return null;
        return Max(items);
    }
});
 
Class Product : IComparable[Product]
{
    int Id;
    int Function CompareTo(Product product)
    {
        return Id.CompareTo(product.Id);
    }
}
 
var repo = new Repository[Product]();
repo.Add(new Product[1]());
repo.Add(new Product[5]());
return repo.GetMax().Id;
Code
1
2
3
4
5
6
7
8
9
10
11
12
13
14
15
16
using System;
using System.IO;
try
{
    () int list = (1, 2, 3);
    return list.IndexOf(1, 5);
}
catch (ex) if (ex is not ArgumentException)
{
    return 1;
}
catch (ex)
{
    return "" + ex.Message;
}
return 2;
P. S. Можно также скачать из облаков, ссылка на странице версии.
1
cpp_developer
Эксперт
20123 / 5690 / 1417
Регистрация: 09.04.2010
Сообщений: 22,546
Блог
22.11.2020, 01:26
Ответы с готовыми решениями:

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

Стал ли .NStar в меньшей степени "сборной солянкой"?
sau, это тема для вас! Хотя обоснованные, не содержащие трёпа и троллинга мнения других...


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

Или воспользуйтесь поиском по форуму:
523
Труд вопреки насмешкам
 Аватар для Etyuhibosecyu
363 / 181 / 41
Регистрация: 13.07.2017
Сообщений: 4,806
Записей в блоге: 14
01.02.2025, 17:08  [ТС]
Студворк — интернет-сервис помощи студентам
Цитата Сообщение от Welemir1 Посмотреть сообщение
нет, тестировать должен ты
Разумеется, я это делаю перед каждым выпуском билда. Но у меня воображения не хватает, чтобы, например, вернуть функцию из функции, и для кучи других неочевидных вещей тоже. Только опытный программист может додуматься до такого. Если не хотите сами тестировать, можете подбросить мне описания тестов, я протестирую.
0
Эксперт .NET
 Аватар для Wolfdp
3790 / 1767 / 371
Регистрация: 15.06.2012
Сообщений: 6,543
Записей в блоге: 3
01.02.2025, 17:25

Не по теме:

Добавлено через 2 часа 8 минут
Билд седьмой.
Работа прям кипит... XD



Так, давайте с начала (а то от ваших ответов ещё больше вопросов):
- пример кода с объявлением кортежа.
- пример кода с объявлением списка.
- какая между ними разница?
- когда имеет смысл применять кортеж, а когда список?
- пример когда нужно из кортежа получить список или наоборот.
0
Труд вопреки насмешкам
 Аватар для Etyuhibosecyu
363 / 181 / 41
Регистрация: 13.07.2017
Сообщений: 4,806
Записей в блоге: 14
01.02.2025, 17:39  [ТС]
Цитата Сообщение от Wolfdp Посмотреть сообщение
- пример кода с объявлением кортежа.
Code
1
(real, string, int) tuple = (3.14159, "AAA", 5);
Цитата Сообщение от Wolfdp Посмотреть сообщение
- пример кода с объявлением списка.
Первый пример в шапке.
Цитата Сообщение от Wolfdp Посмотреть сообщение
- какая между ними разница?
=>
Цитата Сообщение от alecss131 Посмотреть сообщение
Массив может содержать переменное количество элементов одного типа, а кортеж строго заданное количество значений любых типов.
Только здесь вместо массива - список.
Цитата Сообщение от Wolfdp Посмотреть сообщение
- когда имеет смысл применять кортеж, а когда список?
См. выше.
Цитата Сообщение от Wolfdp Посмотреть сообщение
- пример когда нужно из кортежа получить список или наоборот.
Из кортежа список - в основном при объявлении, в других случаях это будет извращение. А из списка и не получить кортеж.

Добавлено через 7 минут
Wolfdp, вот только вам эти ответы действительно нужны? Вы собираетесь программировать на этом языке? Или просто хочется поболтать?
0
Эксперт .NET
 Аватар для Wolfdp
3790 / 1767 / 371
Регистрация: 15.06.2012
Сообщений: 6,543
Записей в блоге: 3
01.02.2025, 18:51

Не по теме:

Млин, так объяснять чтобы ничего не было понятно -- это конечно талант.



Согласен -- продолжать бессмысленно.
1
02.02.2025, 07:04

Не по теме:

Цитата Сообщение от Etyuhibosecyu Посмотреть сообщение
Вы собираетесь программировать на этом языке? Или просто хочется поболтать?
Никто в здравом уме не может собираться программировать на языке, находящимся на такой стадии развития, без какой-либо внятной документации и с автором, который не в состоянии ответить внятно ни на один вопрос касательно этого самого языка.
Все кто всё ещё продолжают заходить в твои темы - заходят исключительно поболтать. А кто заходит тестировать - надолго тут не задерживается, ибо см. выше. Wolfdp вот зашёл, попытался что-то от тебя добиться и судя по всему вышел.

0
Эксперт .NET
 Аватар для Usaga
14345 / 9448 / 1360
Регистрация: 21.01.2016
Сообщений: 35,620
02.02.2025, 09:38
Цитата Сообщение от Etyuhibosecyu Посмотреть сообщение
Но у меня воображения не хватает, чтобы, например, вернуть функцию из функции, и для кучи других неочевидных вещей тоже. Только опытный программист может додуматься до такого.
Тогда на что расчёт? Ты пытаешься сделать инструмент для людей, чьи умственные способности выше твоих? И удивляешься, почему твои поделки никому из целевой аудитории не интересны?
0
Автоматизируй это!
Эксперт Python
 Аватар для Welemir1
7392 / 4819 / 1246
Регистрация: 30.03.2015
Сообщений: 13,696
Записей в блоге: 29
02.02.2025, 10:07
Цитата Сообщение от Etyuhibosecyu Посмотреть сообщение
Только опытный программист может додуматься до такого.
так только очеееень опытный берется писать свой ЯП. Может попроще задачку взять для начала?
0
Software Engineer
 Аватар для Custos
334 / 338 / 55
Регистрация: 23.09.2014
Сообщений: 1,002
02.02.2025, 11:31
Цитата Сообщение от Etyuhibosecyu Посмотреть сообщение
Но у меня воображения не хватает, чтобы, например, вернуть функцию из функции
Тогда, возможно, стоит отложить в сторону практические занятия и вернуться к теории? К самым основам
0
Труд вопреки насмешкам
 Аватар для Etyuhibosecyu
363 / 181 / 41
Регистрация: 13.07.2017
Сообщений: 4,806
Записей в блоге: 14
02.02.2025, 23:31  [ТС]
Такая заготовка документации к C#.NStar подходит? Конечно, она еще очень сырая, многие разделы находятся в разработке, но хотя бы начало приемлемое или нужно как-то совсем иначе?

Добавлено через 42 минуты
Цитата Сообщение от Welemir1 Посмотреть сообщение
Может попроще задачку взять для начала?
Для какого такого "начала"? Начало в первом классе, а я программирую уже более 15 лет. Вам не кажется, что это уже не "начало"? А то так можно и всю жизнь "начинать" и так ничего и не сделать. В следующий раз могу ответить и менее вежливо. Или вообще не ответить (если честно, и в этот раз не хотелось).
0
Эксперт .NET
 Аватар для Usaga
14345 / 9448 / 1360
Регистрация: 21.01.2016
Сообщений: 35,620
03.02.2025, 06:01
Цитата Сообщение от Etyuhibosecyu Посмотреть сообщение
а я программирую уже более 15 лет
Да хоть 300 лет. Толку с этого что, если знания у тебя околонулевые?
0
282 / 485 / 12
Регистрация: 21.06.2019
Сообщений: 3,020
03.02.2025, 06:01
Цитата Сообщение от Etyuhibosecyu Посмотреть сообщение
Такая заготовка документации к C#.NStar подходит?
Как минимум, не хватает раздела про то, как установить и настроить окружение для разработки на твоём языке. Затем - нужно введение в синтаксис - что представляет из себя программа, какова должна быть структура, операторы, выражения, объявления функций, классов и т.д.
Ну открой ты доку по любому языку и посмотри, как там всё описано. Например https://docs.python.org/3/tutorial/index.html
Цитата Сообщение от Etyuhibosecyu Посмотреть сообщение
А то так можно и всю жизнь "начинать" и так ничего и не сделать.
Можно, и ты показываешь как - на своем примере Несмотря на все эти 15 лет, по уровню понимания того что делаешь ты именно что не ушёл от первоклассника.
0
Автоматизируй это!
Эксперт Python
 Аватар для Welemir1
7392 / 4819 / 1246
Регистрация: 30.03.2015
Сообщений: 13,696
Записей в блоге: 29
03.02.2025, 06:41
Цитата Сообщение от Etyuhibosecyu Посмотреть сообщение
Вам не кажется, что это уже не "начало"?
кажется. Это уже катастрофа! За столько лет не освоить хорошо хотя бы один ЯП и не написать работающего ПО - это надо специально как то стараться. Я такого только 1 встречал - pgb, тоже за 8 лет ничего не может выдать.
0
282 / 485 / 12
Регистрация: 21.06.2019
Сообщений: 3,020
03.02.2025, 06:47
Цитата Сообщение от Welemir1 Посмотреть сообщение
Я такого только 1 встречал - pgb, тоже за 8 лет ничего не может выдать.
Надо pgb посоветовать язык Etyuhibosecyu для его фреймворка заюзать. И вместе стримы вести по разработке суперфреймворка на суперязыке.
0
Эксперт .NET
 Аватар для Usaga
14345 / 9448 / 1360
Регистрация: 21.01.2016
Сообщений: 35,620
03.02.2025, 07:34
Катафалк, или посоветовать pgb написать игровой движок для Etyuhibosecyu. Одному неимётся попасть в анналы истории как создатель чего-то великого и обязательно своего, а у второго руки чешутся написать убийцу линейки...
0
 Аватар для pgb
-508 / 32 / 0
Регистрация: 22.09.2015
Сообщений: 1,232
03.02.2025, 13:01
Etyuhibosecyu, а может действительно нам объединиться?

Я вот только не пойму твоей цели? Зачем, для кого, в чём профит?
У меня всё на поверхности, я разрабатываю свои инструменты для создания на них разных проектов, хоть в это здешние и не въезжают.

Упс. Люди по призванию делятся на три категории: творцы, ждуны и пустышки.
Творцы -подобны богам, меняют этот мир, у них есть идеи и они гениальны, они изобретают, создают, производят, рискуют и побеждают, творят историю одним словом.
Ждуны - могут генерировать идеи, но в основном они бредовые и не реализуемые, т.к. у ждунов нет опыта в реализации ничего, они могут только мечтать и ждать когда кто-то другой изменит их жизнь к лучшему.
Пустышки - это те кто просто прожигают свою жизнь, это изначально пустышки или ждуны, которые разочаровались в жизни и перестали уже чего-то ждать. Пустышки - это самая большая часть, те кто могут делать только то, что им говорят, питаться, носить, пользоваться тем что продают в магазине следуя рекламным акциям и тд. короче послушные зверушки.

К примеру пустышки хотят плучать 100000р. в месяц работая на дядю. Твоцы же хотят миллиард(ы) пусть через несколько лет, но они это плучат, они будут идти к своей цели, творить, падать и снова вставать, день за днём приближаясь к реализации задуманного.

https://www.tiktok.com/@trader... tbX40WXD5c
0
282 / 485 / 12
Регистрация: 21.06.2019
Сообщений: 3,020
03.02.2025, 13:08
Ура! Этот коллаб я бы посмотрел
0
Эксперт .NET
 Аватар для Rius
13316 / 7772 / 1688
Регистрация: 25.05.2015
Сообщений: 23,682
Записей в блоге: 14
03.02.2025, 13:26
Цитата Сообщение от Welemir1 Посмотреть сообщение
Я такого только 1 встречал
Есть ещё:
Цитата Сообщение от Saruon Посмотреть сообщение
Предложение такое - если капитализация ФейсБука сейчас 400 миллиардов долларов, то у моей соц. сети будет через 5 лет 2 триллиона долларо
Цитата Сообщение от Saruon Посмотреть сообщение
Доброго всем. Ситуация такова, что на еду в месяц у меня всего 3000 рублей. Как можно питаться на 100 рублей в день вообще без готовки?
1
282 / 485 / 12
Регистрация: 21.06.2019
Сообщений: 3,020
03.02.2025, 13:39
Цитата Сообщение от Rius Посмотреть сообщение
Есть ещё:
Так он свою убийцу ФейсБука собрался делать в 2022, 3 года прошло всего. Ещё 2 года есть. Как раз по триллиону за год.
0
03.02.2025, 13:40
 Комментарий модератора 
Ближе к теме, пожалуйста.
0
Труд вопреки насмешкам
 Аватар для Etyuhibosecyu
363 / 181 / 41
Регистрация: 13.07.2017
Сообщений: 4,806
Записей в блоге: 14
04.02.2025, 18:22  [ТС]
Добавил еще два раздела документации, так лучше? (Ссылка выше, надеюсь, найдете.)

Добавлено через 51 минуту
-_human_-, вы первым в этой теме написали про документацию, что же вы молчите? Отреагируйте хоть как-то! Говно? Или что?
0
Надоела реклама? Зарегистрируйтесь и она исчезнет полностью.
Ответ Создать тему
Новые блоги и статьи
Транскрипция 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: здоровье, выгорание, психотипы и микростимуляция Привет, коллеги. Хочу поделиться итогами нескольких недель работы над симуляционной. . .
"Прокси" для последовательного порта
Eddy_Em 28.05.2026
Эту штуку написал я достаточно давно. Но сейчас вот понадобилось настроить датчик грозы, но при этом не отключать его от "метеодемона". Соответственно, надо запустить этот "прокси": метеодемон будет. . .
Рефакторинг программы уравнивания.
Massaraksh7 26.05.2026
Пример по предыдущей записи в блоге. Но, надо заметить, что, во-первых, там оптимизация не только математики, но и работы с базой данных, и с графами, а во-вторых, это ещё не всё.
Использование TThread в Lazarus для математических вычислений.
Massaraksh7 25.05.2026
Производя рефакторинг своих программ на предмет ускорения их работы, обратил внимание на такой аспект, как сокращение времени матвычислений. Дело в том, что приходится работать с большими матрицами. . .
Модель здравосохранения 18. Чем здоровее работник, тем быстрее выгорает
anaschu 24.05.2026
Имитационная модель корпоративного здравоохранения: что показывает математика Сегодня в модели рабочего коллектива на AnyLogic появились три новые механики — выгорание через накопленную усталость,. . .
КиберФорум - форум программистов, компьютерный форум, программирование
Powered by vBulletin
Copyright ©2000 - 2026, CyberForum.ru