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

Unnamed2 Preview 1.0 (Pre-Pre-Alpha). Можете пробовать плоды с дерева нового потомка BCPL

17.10.2020, 18:36. Показов 4369. Ответов 65
Метки нет (Все метки)

Студворк — интернет-сервис помощи студентам
Всем привет! Интересно, когда вы читали, что "посеяны семена нового потомка BCPL", что "дерево засияло цветами", что "завязались плоды", вы верили, что это не болтовня? Мне, например, сложно сказать, как отнесся бы я, если бы увидел такое со стороны. Но в моем случае это ПРАВДА!!! И сейчас вы в этом убедитесь. Титанический труд длительностью больше, чем полтора года, хоть и с перерывами - и можете пробовать так долго обещаемые плоды! И, к слову, developer123 соврал, когда написал, что я точно не могу придумать что-то без названия. Хотя у языка было много названий - и C↑ᶜC, и C#++, и C with stations - но все они оказались неудачными, и текущая версия не имеет названия (номер 2 программа имеет, так как программа с именем Unnamed1 проектировалась, но не вышла в свет). В будущем я планирую дать языку какое-то название, связанное с C# (но название C#++ не подходит из-за ассоциации с "симбиозом плюсов и шарпа"). Надеюсь, мне удастся создать удобный, профессиональный, мультипарадигмальный, ультра-высокоуровневый язык с низким порогом вхождения в основы.
Несмотря на то, что это версия Pre-Pre-Alpha, но на этом языке уже можно запрограммировать примитивную программу, и он уже имеет некоторые рабочие преимущества перед C#. Среди них операторы !! (эквивалент x = !x) и CombineWith (вычисляет оба операнда, возвращает правый), функции Chain() и Mean(), полуфункция-полуоператор Q() (возвращает собственный код программы), намного более простое выполнение кода, записанного в строку, несоизмеримо бОльшие возможности глубокой рекурсии (на моем компьютере тест показал, что 1.3М - не предел) и намного более редкие вылеты (особенно в сравнении с последними версиями Visual Studio). В списках ниже перечислено, что уже работает, что нет, если что-то может быть непонятно, в скобках приводятся пояснения:
Что уже проверено и работает:
1. Не транслятор, который просто исполняет, а полноценный четырехпроходный компилятор: лексический анализ (разбивает на лексемы), предварительный анализ (выделяет классы и функции), основной анализ (строит синтаксическое дерево) и вычислительный анализ (оптимизирует синтаксическое дерево). Список ошибок в большинстве случаев работает корректно.
2. Следующие операторы: + - * (в том числе между строкой и числом) / % pow == > < >= <= != ++ -- >> << ! n! !! ~ & | ^ && || ^^ (бинарный, true ^^ true ^^ true возвращает true) and, or, xor (N-арный, true xor true xor true возвращает false) = CombineWith () sin, cos, tan, asin, acos, atan, ln += -= *= /= %= pow= &= |= ^= >>= <<= Infty, -Infty, Uncty, Pi, E.
3. Следующие функции: Chain() (цепь целых чисел в заданных границах), Choose() (выдает ошибки, но работает), FillList() (заполняет список одинаковыми значениями), ListWithSingle() (выдает ошибки, но работает), Abs(), Ceil(), Clamp() (эквивалентно Max(parameter2, Min(parameter1, parameter3))), Fibonacci(), Floor(), Frac(), IntRandom(), IntToReal() (принудительно преобразует целое число в действительное), Log() (с двумя параметрами), Max(), Max3(), Mean(), Mean3(), Min(), Min3(), Random(), RealRemainder(), Round(), Sign(), Truncate(), string.Compare(), string.Concat(), string.Join().
4. Следующие полуфункции-полуоператоры: ExecuteString(), Q().
5. Следующие типы: null, bool, short int, unsigned short int, int, unsigned int, real (длиной 8 байт), string.
6. Блоки в фигурных скобках.
7. Пользовательские классы и функции (с ограничениями). Пример объявления:
Code
1
2
3
4
5
6
7
8
9
10
11
12
Class MyClass //Class - с большой буквы
{
    unsigned int Function F1(unsigned int n) //Слово Function обязательно
    {
        return n * 2;
    }
 
    null Function F2()
    {
        return null; //Просто "return;" не катит
    }
}
8. Условия.
9. Возвраты.
10. Вызовы функций (как встроенных, так и пользовательских).
11. Автоматическое преобразование нескольких конкатенаций строк в одно объединение списка строк.
12. В случае применения некоторых операторов к константам они вычисляются на этапе компиляции.
13. Среда исполнения, можно сказать, полностью построена на try-catch, поэтому вероятность вылета ничтожна. Скорее всего, просто не вычислится одна функция или не присвоится значение одной переменной с выдачей соответствующего сообщения, так как большинство рискованных операций обернуты в свои блоки try-catch. В более тяжелом случае произойдет крах, и может также быть указанным место поломки (а может и не быть указанным), так как каждый этап компиляции и исполнения обернут в глобальный блок try-catch. Наконец, экстремальная ситуация, когда, например, не удалась инициализация списка, симулирующего стек вызовов - пишется, что произошла серьезная ошибка и программа не выполнена.
Что уже проверено и не работает:
1. Модификаторы доступа. Иногда их применение не выдает ошибку, но в любом случае все классы и функции являются открытыми.
2. Глобальный доступ (public).
3. Модификаторы параметров ref, out и params, а также ref в других местах кода.
4. Тернарные операторы.
5. Индексы и диапазоны.
6. Субординация классов.
7. Константы.
8. Конструкторы и деструкторы.
9. Рекурсивный тип.
10. Циклы. Вместо них можно использовать рекурсию или конструкцию ExecuteString("<SomeAction>" * <NumberOfIterations>);.
11. Операторы break и continue.
12. Оператор goto. Это плохой оператор, он ухудшает структуру кода, и мой язык отказался от его использования умышленно.
13. Комментарии. В примерах из этого сообщения они присутствуют, но если вы хотите протестировать эти примеры, комментарии придется убрать.
Что уже проверено и работает с ограничениями:
1. Все классы и функции являются безэкземлярными (oxyet).
2. Встроенные экземплярные функции также не могут быть вызваны.
3. Свойства. Работают только автосвойства, не работают свойства только для чтения, и чтобы обратиться к свойству, указывать содержащий его класс обязательно! Примеры допустимых объявлений и обращения к свойствам:
Code
1
2
3
4
5
6
7
8
9
10
11
Class MyClass
{
    int property = 3;
    real property2{ get, set } = 2;
    short int property3{ get } = -8; //Так нельзя
 
    real Function F()
    {
        return MyClass.property + MyClass.property2;
        return property + property2; //Так нельзя
    }
4. Списки. Можно вернуть список, использовать его во встроенной функции (например, string.Join()), вернуть из встроенной функции (например, Chain()), но нельзя пользоваться массивными и списочными типами и обращаться к элементу списка под каким-либо индексом.
5. Вследствие предыдущего пункта, не работает выполнение строки с параметрами (так как список параметров имеет списочный тип). Вместо этого можно использовать внедрение параметров прямо в код в строке, они будут неявно преобразованы в тип string.
6. Отсутствует универсальный оператор явного преобразования. Можно только использовать функцию IntToReal(), ее сокращение - суффикс "r" для чисел (1 / 3 вернет 0, а 1r / 3 - 0.333...) и такие конструкции, как n + "" или s - 0, а также присваивание переменной нужного типа.
7. Оператор is работает только с null и типами, причем не создает переменной с результатом преобразования в нужный тип (конструкция a is type b не работает). Вследствие того, что получаемая переменная не всегда фиксируется, вы можете обнаружить, что значение переменной не того типа, которым эта переменная была объявлена (например, после присваивания int a = 5; a имеет тип не int, а short int).
8. Могут быть проблемы с вложенными условиями без блоков, лучше не рисковать и вложить второе условие в блок.
9. Ключевые слова Class и Function пишутся с прописной буквы.
10. Пользовательские пространства имен находятся в разработке, пока что работают просто как безымянные блоки (нельзя обратиться к члену пространства имен снаружи).
11. Не работают многие виды ошибок и особенно предупреждений. Вообще маловероятно встретить предупреждение. Хотя фундаментальные ошибки работают.
12. Список ошибок работает на конкатенации строк, поэтому каждая ошибка ведет к его пересозданию, и при большом количестве ошибок компиляция может зависнуть. Например, на моем компьютере, если будет около 280 ошибок, компиляция, вероятно, будет длиться где-то 5 минут.
13. Вследствие того, что язык является ультра-высокоуровневым, и того, что за все в этой жизни надо платить, он работает существенно медленнее просто высокоуровневых языков, так же, как высокоуровневые языки - существенно медленнее низкоуровневых. Особенно он тормозит на рекурсии, которая работает в куче, а не в стеке вызовов: например, такой код:
Code
1
2
3
4
5
6
7
8
9
real Function F(unsigned int n)
{
    if (n <= 1)
    {
        return n;
    }
    return F(n - 1) + F(n - 2);
}
return F(20);
- на моем компьютере выполняется 22 минуты.
Все остальное не проверено и, скорее всего, не работает.
Также расширился список будущих возможностей языка:
1. Составные неравенства, такие же, как уже есть в математике и в Пайсене. Например, вместо x >= 0 && x < 10 можно будет написать 0 <= x < 10. С переменной x польза этого не так заметна, а вот если ее имя - что-то в стиле result_of_caculation_of_riemann_zeta_function, польза очевидна. В случае множества разных операторов сравнения производятся попарно между соседними операндами и комбинируются оператором &&, например, a > b < c == d >= e != f раскроется в a > b && b < c && c == d && d >= e && e != f.
2. Кроме оператора is, означающего "x является такого-то типа", также оператор maybe, означающий "x может быть такого-то типа", и оператор mbls, означающий "x может быть такого-то типа без потерь". Например, 3.14159 is string вернет false, а 3.14159 maybe string и 3.14159 mbls string - true. В то же время, например, 3.14159 mbls int вернет false. Оператор maybe практически всегда возвращает true, так как в моем языке система типов очень открытая. Но если вы попытаетесь написать, например, 3.14159 maybe Func[string, long long, int], скорее всего, получите false.
3. Операторы is-группы, проверяющие преобразование не только всей переменной к какому-либо типу, но и части этой переменной. Пример: s is "Function " + string name, number mbls 1 << int exp (проверяет, является ли number степенью 2), a maybe int b + 5 (последний пример, вопреки предсказаниям некоторых прочитавших, не всегда будет возвращать только true; конечно, если a типа int, то всегда; но если представить себе, что a имеет, например, тип real, как получить false, становится очевидным). Данная конструкция делает проверку в две стороны: 1 - выполняет обратную операцию и ищет кандидатов на результат, 2 - выполняет прямую операцию и проверяет, получено ли исходное значение, причем maybe допускает переполнение, is и mbls - не допускают. Поддерживаются только следующие операторы: + (для чисел и строк) "-" * / % pow >> << & | ^ concat (аналог + для коллекций, как ✠ в бывшем C↑ᶜC). Может быть создана только одна переменная, так что даже не пытайтесь проверить язык на прочность решением кубического уравнения в стиле number is 5 * real x pow 3 - 2 * x * x - 21 * x + 4 или тем более факторизацией number is long long x * long long y - это не выйдет! Также нельзя использовать функции, только операторы.
4. Очередной шаг к сближению обычной коллекции и полиморфизма: списки (словари, хэш-таблицы, ...) однотипных классов и функций (не лямбда-выражений, а функций!), как в примере:
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
() (public sealed Class : IUnsignedIntegerNumber) numberTypes = (
{
    unsinged int a, b, c;
},
{
    unsigned int a, b, c, d, e;
},
{
    () unsigned int list;
});
Dictionary[(typename T, int n), oxyet multiconst string Function(real x, real y)] myFunctions = ((int, _),
{
    return "!#" + myFunctions[_, n](x, y);
}), ((real, _),
{
    return "!@" + myFunctions[_, n](x, y);
}), (((string, _),
{
    return "!$" + myFunctions[_, n](x, y);
}), ((_, 1),
{
    return x + y;
}), ((_, 2),
{
    return x * y;
}), ((_, 3),
{
    return x pow y;
}), ((_, unsigned int m + 1),
{
    return myFunctions[_, m](x, myFunctions[_, n](x, y - 1));
}), ((_, _),
{
    return 0;
}), (_,
{
    return null;
}));
Пояснения: первая часть содержит список классов. Так как имя общее для всех элементов, оно указывается после взятых в скобки модификаторов класса, а не, как обычно, после слова Class. При этом, если попытаться так определить один класс, ничего не получится:
Code
1
2
3
4
5
//Так не получится
(public sealed Class : IUnsignedIntegerNumber) myNumberType =
{
    unsinged int a, b, c;
}
Во второй части содержится более хитрая конструкция - словарь функций. Символ _ означает "все не перечисленные возможные значения", то есть, например, (string, _) означает "тип string в сочетании в любым числом", так как ни одно число в сочетании с типом string не перечислено. Также можно перенаправить выполнение из одной "ячейки" коллекции в другую, в том числе в не перечисленную, что и делается. Также можно обратиться по индексу, который прямо не перечислен, но удовлетворяет некоторому выражению (обращение к такому индексу эквивалентно проверке индекса _ оператором mbls) (в данном случае unsigned int m + 1). Кроме того, индексы _ и (_, _) - не одно и то же: первый работает абсолютно с чем угодно, второй не работает, например, если весь кортеж равен null. Теперь (хотя не знаю, когда удастся это реализовать) Dictionary является фундаментальным оператором языка вместо template, и списки, хэш-таблицы и прочие опираются именно на Dictionary. Если так будет продолжаться дальше, скоро отпадет необходимость в слове "полиморфизм", так как это будет просто коллекция классов или функций.
5. Оператор ".=", присваивающий какому-либо гиперимени свойство или метод этого же гиперимени ("a.=Property" эквивалентно "a = a.Property").
Так как последнее бывшее в употреблении название языка - C with stations, то там, где в сообщениях об ошибках встречается название языка, используется именно это название, так как название "Unnamed2" в сообщении об ошибке - как-то не красиво.
Вложения
Тип файла: rar Unnamed2 Preview 1.0.rar (131.3 Кб, 6 просмотров)
0
Programming
Эксперт
39485 / 9562 / 3019
Регистрация: 12.04.2006
Сообщений: 41,671
Блог
17.10.2020, 18:36
Ответы с готовыми решениями:

Старое и новое о C↑ᶜC. На дереве нового потомка BCPL завязались плоды
И снова всем привет! Развитие C↑ᶜC продолжается. Странное, конечно, это дерево - цветы на нем расцветают в октябре, плоды завязываются в...

Вставка тега <pre></pre> в файлы директории
Здравствуйте, форумчане! Не подскажете как можно средствами php вставить тег &lt;pre&gt;&lt;/pre&gt; во все текстовые файлы в директории...

Pre-alpha Season Unreal Tournament
Качаю последнюю версию, которая уже в разработке, потому что 3 для меня не актуальна - накувыркался с ботами с тройки достаточно, в онлайне...

65
Труд вопреки насмешкам
 Аватар для Etyuhibosecyu
363 / 181 / 41
Регистрация: 13.07.2017
Сообщений: 4,837
Записей в блоге: 14
19.10.2020, 16:06  [ТС]
Студворк — интернет-сервис помощи студентам
Цитата Сообщение от Usaga Посмотреть сообщение
Он уже давно получился. Называется F#.
Я имею в виду количество возможностей, а не парадигму "функционального программирования". Это не одно и то же.
0
Эксперт .NET
 Аватар для Usaga
14371 / 9478 / 1360
Регистрация: 21.01.2016
Сообщений: 35,750
19.10.2020, 16:07
Etyuhibosecyu, а вы уже упереться успели в количество возможностей C#?
0
Труд вопреки насмешкам
 Аватар для Etyuhibosecyu
363 / 181 / 41
Регистрация: 13.07.2017
Сообщений: 4,837
Записей в блоге: 14
19.10.2020, 16:09  [ТС]
Usaga, много раз. Знаю, что лечится написанием банальной функции, но некоторые функции далеко не "банальные". Например, уже упомянутый мной McEliece.
0
Эксперт .NET
 Аватар для Usaga
14371 / 9478 / 1360
Регистрация: 21.01.2016
Сообщений: 35,750
19.10.2020, 16:12
Etyuhibosecyu, а проблема точно была со стороны языка, а не ваших знаний?
0
Труд вопреки насмешкам
 Аватар для Etyuhibosecyu
363 / 181 / 41
Регистрация: 13.07.2017
Сообщений: 4,837
Записей в блоге: 14
19.10.2020, 16:13  [ТС]
Usaga, а в C# есть встроенная возможность работы с McEliece? Или все же проблема в языке?
0
Эксперт .NET
 Аватар для Usaga
14371 / 9478 / 1360
Регистрация: 21.01.2016
Сообщений: 35,750
19.10.2020, 16:17
Etyuhibosecyu, а работа с этой байдой обязательно должна быть встроена в сам язык? Как сторонняя библиотека оно использоваться не может? Для этого нужно обязательно язык изобретать новый?
0
Труд вопреки насмешкам
 Аватар для Etyuhibosecyu
363 / 181 / 41
Регистрация: 13.07.2017
Сообщений: 4,837
Записей в блоге: 14
19.10.2020, 16:27  [ТС]
Usaga, ну вы же понимаете, что .NET - это в первую очередь C#? На Бейсике и на F# почти никто не пишет. А стандартная библиотека, разрабатываемая мной - это в первую очередь язык, под который она заточена. Хорошо, перестрою фразу - в стандартной БИБЛИОТЕКЕ, заточенной под мой язык, есть работа с McEliece, а в .NET, связанном прежде всего с C# - нет.

Добавлено через 3 минуты
Usaga, и слова, что существующие возможности можно повторить за месяц - это про .NET. Возможности синтаксиса C# нельзя просто вызвать, нужно писать синтаксический анализатор и перестраивать его под каждую новую конструкцию. А вызвать функции .NET - легко, нужна только усидчивость.
0
Эксперт .NET
 Аватар для Usaga
14371 / 9478 / 1360
Регистрация: 21.01.2016
Сообщений: 35,750
19.10.2020, 16:30
Цитата Сообщение от Etyuhibosecyu Посмотреть сообщение
Хорошо, перестрою фразу - в стандартной БИБЛИОТЕКЕ, заточенной под мой язык, есть работа с McEliece, а в .NET, связанном прежде всего с C# - нет.
И это делает ваш язык полным говном. Ведь мне на фиг не нужна McEliece, но нужна работа с DOCX\XLSX\PDF, работа с браузерами (для тестов), поддержка систем интеграции с системами сбора статистики NIBRS и UCR. Мне нужна поддержка JWT и бог знает ещё чего, чего у вас в языке точно нет. Ну и нафига мне этот мусор?)

Добавлено через 1 минуту
Цитата Сообщение от Etyuhibosecyu Посмотреть сообщение
и слова, что существующие возможности можно повторить за месяц - это про .NET.
Правда? Вы в одну каску можете переписать .NET за месяц? Все сотни мегабайт кода?
0
Труд вопреки насмешкам
 Аватар для Etyuhibosecyu
363 / 181 / 41
Регистрация: 13.07.2017
Сообщений: 4,837
Записей в блоге: 14
19.10.2020, 16:34  [ТС]
Ну может быть, и можно мою библиотеку (я, к слову, уже почти придумал, как назвать и язык, и библиотеку) подключить к другому языку. Но в этом случае она соберет в себя все худшее от обоих языков - функции будут тормозить, но и ультра-высокоуровневыми возможностями будет нельзя воспользоваться.
Цитата Сообщение от Usaga Посмотреть сообщение
Правда? Вы в одну каску можете переписать .NET за месяц? Все сотни мегабайт кода?
Никакие сотни мегабайт кода я не буду переписывать. Просто вызову уже написанные функции. Ну, может быть, сотни килобайт кода и наберутся.
0
Эксперт .NET
 Аватар для Usaga
14371 / 9478 / 1360
Регистрация: 21.01.2016
Сообщений: 35,750
19.10.2020, 16:37
Цитата Сообщение от Etyuhibosecyu Посмотреть сообщение
Ну может быть, и можно мою библиотеку (я, к слову, уже почти придумал, как назвать и язык, и библиотеку) подключить к другому языку. Но в этом случае она соберет в себя все худшее от обоих языков - функции будут тормозить, но и ультра-высокоуровневыми возможностями будет нельзя воспользоваться.
Сообщение от Usaga
Ну, так ваш язык уже свернулся до библиотеки?

Цитата Сообщение от Etyuhibosecyu Посмотреть сообщение
Никакие сотни мегабайт кода я не буду переписывать. Просто вызову уже написанные функции. Ну, может быть, сотни килобайт кода и наберутся.
Так вызывать чужой код не есть "повторить". Или у вас своё представление о повторении?

Добавлено через 1 минуту
Цитата Сообщение от Etyuhibosecyu Посмотреть сообщение
Ну может быть, и можно мою библиотеку (я, к слову, уже почти придумал, как назвать и язык, и библиотеку) подключить к другому языку. Но в этом случае она соберет в себя все худшее от обоих языков - функции будут тормозить, но и ультра-высокоуровневыми возможностями будет нельзя воспользоваться.
Вы вообще видите разницу между возможностями языка, базовой библиотеки классов и сторонними библиотеками? Вы уверены, что язык с поддержкой какой-то байды нужной тольковам, есть офигенная и нужная всем фишка языка?
0
107 / 65 / 0
Регистрация: 20.08.2013
Сообщений: 321
19.10.2020, 16:38
Какая же каша в постах Etyuhibosecyu. Абсолютное непонимание что же он хочет получить. Смешались в кучу люди, кони, компиляторы, языки, программы и библиотеки.

Компилятор компилирует код в нативные инструкции КОНКРЕТНОГО процессора. Виртуальные машины не будем обсуждать. Там как бы тоже конкретный виртуальный процессор со своими инструкциями.

Современные языки без БИБЛИОТЕК это уже и не язык. Всем нужны библиотеки, а язык так - пофиг на чём писать. Все они похожи друг на друга процентов на 90. Потому как все строятся на булевой алгебре и математики.

А вы непонятно что хотите получить. Может это перегрузка операторов или это методы расширения
0
Труд вопреки насмешкам
 Аватар для Etyuhibosecyu
363 / 181 / 41
Регистрация: 13.07.2017
Сообщений: 4,837
Записей в блоге: 14
19.10.2020, 16:42  [ТС]
Цитата Сообщение от Usaga Посмотреть сообщение
Ну, так ваш язык уже свернулся до библиотеки?
А вот и нет! Такие конструкции, как Q() или симуляция стека вызовов в куче, на уровне библиотеки не решить.
Цитата Сообщение от Usaga Посмотреть сообщение
Так вызывать чужой код не есть "повторить".
А я в полном смысле "повторять" и не буду. Но в новой библиотеке будут все те же функции, что и в .NET, плюс дополнительные.
Цитата Сообщение от Usaga Посмотреть сообщение
Вы уверены, что язык с поддержкой какой-то байды нужной тольковам
Это нужно не только мне. С приходом квантовой эры RSA навсегда уйдет в прошлое. И эллиптические кривые тоже. А McEliece станет фактически безальтернативным.
0
Эксперт .NET
 Аватар для Usaga
14371 / 9478 / 1360
Регистрация: 21.01.2016
Сообщений: 35,750
19.10.2020, 16:45
Цитата Сообщение от Etyuhibosecyu Посмотреть сообщение
А вот и нет! Такие конструкции, как Q() или симуляция стека вызовов в куче, на уровне библиотеки не решить.
Тут есть проблема: это всё нужно только вам.

Цитата Сообщение от Etyuhibosecyu Посмотреть сообщение
Это нужно не только мне. С приходом квантовой эры RSA навсегда уйдет в прошлое. И эллиптические кривые тоже. А McEliece станет фактически безальтернативным.
А как же весь остальной функционал? Я выше пример привёл. С моей точки зрения, вам язык бесполезен. Он не реализует поддержку кучи вещей нужных мне. И это странно. C# это всё позволяет без особых проблем. А ваш высер - нет.
0
107 / 65 / 0
Регистрация: 20.08.2013
Сообщений: 321
19.10.2020, 16:47
Цитата Сообщение от Etyuhibosecyu Посмотреть сообщение
или симуляция стека вызовов в куче, на уровне библиотеки не решить.
Всё там решишь. Берёшь память в виде массива и делаешь с ней что хочешь. Хоть стек, хоть что угодно. Для особых извращенцев - в C# можно напрямую писать неуправляемый код. И ещё стек реализован на уровне процессора - и ничего там особо не сделаешь, только управляешь им. А ещё есть управляемая память тоже на уровне процессора MMU - и там тоже только управлять тем что уже есть.

Цитата Сообщение от Etyuhibosecyu Посмотреть сообщение
С приходом квантовой эры RSA навсегда уйдет в прошлое. И эллиптические кривые тоже. А McEliece станет фактически безальтернативным.
Уже давным давно существуют квантово устойчивые алгоритмы. А RSA и так уже умирает - везде рулят эпилептические кривые.
0
фрилансер
 Аватар для Алексей1153
6496 / 5727 / 1133
Регистрация: 11.10.2019
Сообщений: 15,294
19.10.2020, 16:49
Цитата Сообщение от developer123 Посмотреть сообщение
эпилептические кривые
это одноглазые эпилептики
0
107 / 65 / 0
Регистрация: 20.08.2013
Сообщений: 321
19.10.2020, 16:51
Цитата Сообщение от Алексей1153 Посмотреть сообщение
это одноглазые эпилептики
Это на меня Etyuhibosecyu так влияет ))) Который раз упрекаю себя не влезать в дискуссии. Реальный поглотитель времени.
0
фрилансер
 Аватар для Алексей1153
6496 / 5727 / 1133
Регистрация: 11.10.2019
Сообщений: 15,294
19.10.2020, 16:54
developer123, ему просто образования не хватает. Энергии, терпения и свободного времени - вагон. Сесть бы за хорошие курсы и книги по C++, через годик будет огонь
0
Эксперт .NET
 Аватар для Usaga
14371 / 9478 / 1360
Регистрация: 21.01.2016
Сообщений: 35,750
19.10.2020, 16:56
Алексей1153, есть проблема: ТС не может в книги. Он сам об этом говорил. Поэтому, хоть годик, хоть десять - результатом будет только DCASFT.
0
107 / 65 / 0
Регистрация: 20.08.2013
Сообщений: 321
19.10.2020, 17:01
Алексей1153, я думаю не в оброзовании дело, скажем так, ИМХО, программирование не изучают в институтах. Оно изучается самомостоятельно из интернета. И там главное обладать логическим мышлением. А Etyuhibosecyu здесь уже давно. И давным давно ему логически объясняли в чём он не прав.

Ну вот пример - "псевдо язык" который ничего не умеет и на нём ничего не сделать (не берём в расчёт программы типа 2+2). Вот тут просто взять и понять - это никому не надо. Сделать вывод - а почему? А потому как на нём нихера не сделать и есть туча языков на которых можно сделать. Простая логика. Но ТС эту логику уже 3 страницу постигает. И так со всеми его проектами...

P.S. А понять что синтаксис языка не имеет значения - главное что бы не barain****, а имеет значение библиотеки и среда программирования - это уже уровень логики непостижимый для тс
0
фрилансер
 Аватар для Алексей1153
6496 / 5727 / 1133
Регистрация: 11.10.2019
Сообщений: 15,294
19.10.2020, 17:07
Usaga, такая проблема бывает. Этому тоже нужно учиться. В частности - в институтах учат именно самообучению, а профессиям не учат (кроме тех, кто практикой активно занимается)

developer123, это, наверное, необходимый этап всех самоучек - наделать побольше велосипедов ))
0
Надоела реклама? Зарегистрируйтесь и она исчезнет полностью.
inter-admin
Эксперт
29715 / 6470 / 2152
Регистрация: 06.03.2009
Сообщений: 28,500
Блог
19.10.2020, 17:07

Вывести ответ сервера в <pre></pre>
Добрый день! Подскажите, пожалуйста, как мне в примере ниже сделать так, чтобы значение data выводилось не с помощью alert, а выводилось в...

Hash Function Efficiency v0.1 pre-Alpha (May 11th, 2017)
Вот код, для наглядности (cyberforum.ru - не сохраняет оригинал кода! может не компилироваться) комментарии не удалял... #include...

[Воздушные замки] C↑ᶜC. Посеяны семена нового потомка BCPL
Дисклеймер: в этой теме я ничего не обещаю. &quot;Посеяны семена&quot; - еще не значит, что вырастет большое дерево. Вы можете ругать (думаю, ничего...

C↑ᶜC. Дерево нового потомка BCPL засияло ярко-голубыми цветами
Сегодня, 5 октября 2019 года - великий день! Наконец перечислены все текущие, будущие, устаревшие и зарезервированные конструкции...

Обходом дерева с рекурсией (pre, in, post order) вывести число вершин, значение которых равно заданному x
Используя обход с рекурсией(pre,in,post order) вывести кол-во вершин значение которых ровно заданному x; ...


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

Или воспользуйтесь поиском по форуму:
60
Ответ Создать тему
Новые блоги и статьи
Был праздник вчера, а я и не знал.
kumehtar 28.07.2026
27. 07. 2026г. Intel Core 2 Duo исполнилось 20 лет Новости компьютерного мира и их обсуждение (4) Салют, шампанское, овации! :drink:
Нейтральные знания, чистый код - бла-бла-бла-бла, на самом деле кликбейт и самореклама, плагиат, и вот почему
Hrethgir 27.07.2026
То-есть отклонение такой публикации говорит само за себя, и пусть только возьмут на вооружение после отклонения публикации - это будет чистейшим актом плагиата. Отклонял Хабр. Дословно, отклонённая. . .
тв 16 бой ии
anaschu 27.07.2026
Великий Перелом ИИ: Как уравнения ОДУ Radau дожали цензурные фильтры Алисы Фиксируем в мемофонде Теории Всего беспрецедентный факт в истории ИИ-зондирования. В затяжном многораундовом. . .
мв 15. непроверенное, возможно, глюк
anaschu 27.07.2026
НАУЧНО-АНАЛИТИЧЕСКИЙ ОТЧЕТ. РАЗДЕЛ 1. 1: «НАУКА» (РАСШИРЕННАЯ СТЕХИОМЕТРИЧЕСКАЯ И ГЕНЕТИЧЕСКАЯ ВЕРСИЯ)Тема: Теоретическое обоснование инвариантности 19-мерного тензорного ядра непрерывных ОДУ и. . .
Очистка реквизитов и табличных частей документа при копировании (вариант 2)
Maks 26.07.2026
Алгоритм из решения ниже разработан на примере нетипового документа "ЗаявкаНаРаботу", разработанного в КА2. Задача: Заменить алгоритм запрета копирования документов для сотрудников с ролью "Стажер",. . .
Доктрина интенционального знания - Доктрина для портала "Срез".
Hrethgir 25.07.2026
Может найдётся кто захочет оценить доктрину. . . Написания правил участия для меня роскошь, требующая лимита времени, поэтому все сообщения не прошедшие модерацию будут видны только участникам портала,. . .
сукцессия 44. Решил подать на припринт в межународные сервисы препринтов. Но нужно одобрение от ученых
anaschu 25.07.2026
Английский вариант. Пока кто то не одобрит мою личность, мне не получиться это опубликовать на препринте. Но заявку на публикацию статьи я сегодня подам.
сукцессия 43. Вторая научная статья за месяц- прайминг и гатгил
anaschu 25.07.2026
две стороны одной монеты
КиберФорум - форум программистов, компьютерный форум, программирование
Powered by vBulletin
Copyright ©2000 - 2026, CyberForum.ru