Кроссплатформенный, быстрый, Kotlin-подобный ЯП!

Всё, что касается программирования на старых языках или для старых систем

Re: Кроссплатформенный, быстрый, Kotlin-подобный ЯП!

Сообщение StoYazykov » 02 июл 2026, 12:47

Написан Цышный вариант векторов. "А если вы хотите сорцы с сахаром - то сахар, извольте делать сами!". Что я и сделал.
Что умеют - push/pop, back, доступ по индексу, resize.

 Развернуть: cv.h (C Vectors.h)
Код: Выделить всё
#ifndef _CV_H
#define _CV_H
#include <string.h>
#include <stdlib.h>

typedef struct {
    void *d; // данные.
    size_t s; // размер, ЗАНЯТЫЙ элементами.
    size_t c; // общая ёмкость (в том числе, и запас).
    size_t es; // размер, одного элемента.
} cv;
void cv_init(cv *v, size_t c, size_t s);
void cv_resize(cv *v, size_t s);
void cv_push(cv *v, const void *e);
void cv_pop(cv *v, void *e);
void cv_popr(cv *v);
void cv_back(cv *v, void *e);
void *cv_eptr(cv *v, size_t i);
void cv_free(cv *v);
#endif

 Развернуть: cv.c (C Vectors.c)"
Код: Выделить всё
#include "cv.h"

void cv_init(cv *v, size_t c, size_t s) {
    v->d=malloc(c*s);
    v->c=c;
    v->s=0;
    v->es=s;
}

void cv_resize(cv *v, size_t s) {
    if(s>v->c) {
        v->d=realloc(v->d, s*v->es*2);
        v->c=s*2;
    }
    v->s=s;
}

// Пуш. Сигнатура cv_push(вектор, указатель_на_элемент)
void cv_push(cv *v, const void *e) {
    if(v->s>=v->c) {
        v->c*=2;
        v->d=realloc(v->d, v->c*v->es);
    }
    memcpy(v->d+(v->es*v->s), e, v->es);
    v->s++;
}

// Поп с возвратом значения. Сигнатура cv_pop(вектор, указатель_куда_будем_класть_значение)
void cv_pop(cv *v, void *e) {
    memcpy(e, v->d+(v->s-1)*v->es, v->es);
    v->s--;
}

// Поп с потерей значения. Сигнатура cv_popr(вектор)
void cv_popr(cv *v) {
    v->s--;
}

// последний элемент. Не POP'ит. Просто возвращает его в *e.
void cv_back(cv *v, void *e) {
    memcpy(e, v->d+(v->s-1)*v->es, v->es);
}

// Возвращает, указатель на элемент с индексом i. Осторожно!!! Он изменяемый!
void *cv_eptr(cv *v, size_t i) {
    return (v->d+(i*v->es));
}

// освобождение. Сказать нечего.
void cv_free(cv *v) {
    free(v->d);
    v->s=v->c=v->es=0;
}
Скоро примусь за динамически аллоцируемые строки.

P. S. Скорее всего, весь июль, я буду работать над ЯПом (и буду в сети), с 10-11 до 17-18 часов. И, возможно, ещё с 21-22 часов до 23-полуночи. (последнее, не всегда!).
Последний раз редактировалось StoYazykov 04 июл 2026, 13:12, всего редактировалось 3 раз(а).
Самое тёмное дело - это строки в C


Сайт прогр-я: http://revival.narod.ws

Изображение


Штирлиц сидел за компом возле открытого окна. Неожиданно на экране появилось новое мыло. Штирлиц выбросил его обратно и пошёл за мокрой тряпкой - оттирать мыло с клавиатуры.
Аватара пользователя
StoYazykov
Мастер Даунгрейда
 
Сообщения: 230
Зарегистрирован: 25 дек 2023, 11:25
Откуда: Казань
Железо: Intel Pentium MMX 166 MHz, 8 и 2 ГБ HDD, 80 MB RAM; AMD A8-6410 APU with Radeon R5 Graphics, 16 ГБ

Re: Кроссплатформенный, быстрый, Kotlin-подобный ЯП!

Сообщение clihlt » 02 июл 2026, 13:46

StoYazykov писал(а):Скорее всего, весь июль, я буду работать над ЯПом
А как поживает ваша графическая оболочка DOS с многозадачностью и собственным форматом исполняемых файлов? Вы её уже дописали? Возможно ли на неё уже где-то посмотреть?
С уважением,
Владислав Васильев (aka clihlt).
Аватара пользователя
clihlt
Мастер Даунгрейда
 
Сообщения: 590
Зарегистрирован: 20 мар 2023, 21:17
Откуда: Брянск, СССР

Re: Кроссплатформенный, быстрый, Kotlin-подобный ЯП!

Сообщение StoYazykov » 02 июл 2026, 14:48

clihlt писал(а):А как поживает ваша графическая оболочка DOS с многозадачностью и собственным форматом исполняемых файлов?

Худо поживает.
Но, пока я ей весьма мало занимаюсь.
Последний раз редактировалось StoYazykov 06 июл 2026, 22:59, всего редактировалось 1 раз.
Самое тёмное дело - это строки в C


Сайт прогр-я: http://revival.narod.ws

Изображение


Штирлиц сидел за компом возле открытого окна. Неожиданно на экране появилось новое мыло. Штирлиц выбросил его обратно и пошёл за мокрой тряпкой - оттирать мыло с клавиатуры.
Аватара пользователя
StoYazykov
Мастер Даунгрейда
 
Сообщения: 230
Зарегистрирован: 25 дек 2023, 11:25
Откуда: Казань
Железо: Intel Pentium MMX 166 MHz, 8 и 2 ГБ HDD, 80 MB RAM; AMD A8-6410 APU with Radeon R5 Graphics, 16 ГБ

Re: Кроссплатформенный, быстрый, Kotlin-подобный ЯП!

Сообщение KPG » 02 июл 2026, 16:07

StoYazykov писал(а):
KPG писал(а):Посмотрите переход на Zig

Нет. Как и на Rust, и на другие навороченые и крутые языки с плюшками-финтифлюшками.
Почему -
1. Это, не классика.
2. Компиляция под Win95 будет сильно затруднена. Да и, собрать ЯП под 95-ой, не выйдет. Компилер Zig'а не запустится на ней.
3. Си лучше, экономичнее и быстрее.
4. Лениво учить новый и чужой язык.
5. Не хочу зависеть, от чужого языка!

Тогда, почему кто то захочет зависеть от Вашего языка т.к. - Си лучше, экономичнее и быстрее.
По поводу быстрее, вероятно, к Вашему языку это не будет относится. :)
Последний раз редактировалось KPG 02 июл 2026, 16:08, всего редактировалось 1 раз.
KPG
Мастер Даунгрейда
 
Сообщения: 442
Зарегистрирован: 21 окт 2015, 20:53

Re: Кроссплатформенный, быстрый, Kotlin-подобный ЯП!

Сообщение StoYazykov » 03 июл 2026, 08:55

KPG писал(а):...

Ну ладно, выкинем 5 пункт (может и третий).
Остаётся следующее:
1. Это, не классика.
2. Компиляция под Win95 будет сильно затруднена. Да и, собрать ЯП под 95-ой, не выйдет. Компилер Zig'а не запустится на ней.
3. Лениво учить новый и чужой язык.

И самое главное из всего этого - трудности при работе со старыми системами навроде Win'95. Ну, может быть, и скомпилируется язык под 95'ую (т. е. будет работать EXEшник, на Win95). Но компилировать сам Zig-код, надо будет на 7-ке и выше! А если на Цы - то, скомпилируется и под Watcom C 11.0 (как Windows 95 EXE). И на классике - VS 6.0/Borland 5.2.
Вообще, работало бы и под DOS'ом, да вот динамические библиотеки...
Последний раз редактировалось StoYazykov 03 июл 2026, 08:57, всего редактировалось 1 раз.
Самое тёмное дело - это строки в C


Сайт прогр-я: http://revival.narod.ws

Изображение


Штирлиц сидел за компом возле открытого окна. Неожиданно на экране появилось новое мыло. Штирлиц выбросил его обратно и пошёл за мокрой тряпкой - оттирать мыло с клавиатуры.
Аватара пользователя
StoYazykov
Мастер Даунгрейда
 
Сообщения: 230
Зарегистрирован: 25 дек 2023, 11:25
Откуда: Казань
Железо: Intel Pentium MMX 166 MHz, 8 и 2 ГБ HDD, 80 MB RAM; AMD A8-6410 APU with Radeon R5 Graphics, 16 ГБ

Re: Кроссплатформенный, быстрый, Kotlin-подобный ЯП!

Сообщение clihlt » 03 июл 2026, 11:07

StoYazykov писал(а):Вообще, работало бы и под DOS'ом, да вот динамические библиотеки...
Под DOS DLL вполне себе были -- компиляторы семейства TopSpeed их использовали сами, а также поддерживали разработку и использование в приложениях.
Последний раз редактировалось clihlt 03 июл 2026, 13:03, всего редактировалось 1 раз.
С уважением,
Владислав Васильев (aka clihlt).
Аватара пользователя
clihlt
Мастер Даунгрейда
 
Сообщения: 590
Зарегистрирован: 20 мар 2023, 21:17
Откуда: Брянск, СССР

Re: Кроссплатформенный, быстрый, Kotlin-подобный ЯП!

Сообщение StoYazykov » 03 июл 2026, 16:27

Ну вот, я и переписал почти весь компилер и ВМ на "чистый православный Цы" :)
Это заняло у меня, примерно 8 часов непрерывной работы.
Он уже работает, правда и не так как прежде - case VAR: { ... }, case ID: { ... } и case LCALL: { ... } закомментированы.
Сейчас буду их переписывать.
Самое тёмное дело - это строки в C


Сайт прогр-я: http://revival.narod.ws

Изображение


Штирлиц сидел за компом возле открытого окна. Неожиданно на экране появилось новое мыло. Штирлиц выбросил его обратно и пошёл за мокрой тряпкой - оттирать мыло с клавиатуры.
Аватара пользователя
StoYazykov
Мастер Даунгрейда
 
Сообщения: 230
Зарегистрирован: 25 дек 2023, 11:25
Откуда: Казань
Железо: Intel Pentium MMX 166 MHz, 8 и 2 ГБ HDD, 80 MB RAM; AMD A8-6410 APU with Radeon R5 Graphics, 16 ГБ

Re: Кроссплатформенный, быстрый, Kotlin-подобный ЯП!

Сообщение KPG » 03 июл 2026, 17:36

StoYazykov писал(а):Ну ладно, выкинем 5 пункт (может и третий)

Я,,вообще то, хотел услышать - для кого-чего Вы ориентируете свой ...1001 язык? (для себя любимого, пока, оставим за скобками)

P.S. Можно ли будет его запустить под 64-бит (как пример https://sourceforge.net/projects/winforth64/ )
и какие примеры будут в него включены?
Последний раз редактировалось KPG 03 июл 2026, 17:45, всего редактировалось 1 раз.
KPG
Мастер Даунгрейда
 
Сообщения: 442
Зарегистрирован: 21 окт 2015, 20:53

Re: Кроссплатформенный, быстрый, Kotlin-подобный ЯП!

Сообщение StoYazykov » 03 июл 2026, 18:05

KPG писал(а):...

Он для тех, кто привык к удобству Kotlin/Java и одновременно хочет сидеть на Win95.
Насчёт 64 - да.
Самое тёмное дело - это строки в C


Сайт прогр-я: http://revival.narod.ws

Изображение


Штирлиц сидел за компом возле открытого окна. Неожиданно на экране появилось новое мыло. Штирлиц выбросил его обратно и пошёл за мокрой тряпкой - оттирать мыло с клавиатуры.
Аватара пользователя
StoYazykov
Мастер Даунгрейда
 
Сообщения: 230
Зарегистрирован: 25 дек 2023, 11:25
Откуда: Казань
Железо: Intel Pentium MMX 166 MHz, 8 и 2 ГБ HDD, 80 MB RAM; AMD A8-6410 APU with Radeon R5 Graphics, 16 ГБ

Re: Кроссплатформенный, быстрый, Kotlin-подобный ЯП!

Сообщение KPG » 03 июл 2026, 18:22

StoYazykov писал(а):Он для тех, кто привык к удобству Kotlin/Java и одновременно хочет сидеть на Win95.

А, Вы много таких людей знаете или предполагаете?
(они есть,но они в подполье?)

P.S. Те кто привык к Котлин и Java явно далеки от Win95, или у Вас своё особенное мнение?
Последний раз редактировалось KPG 03 июл 2026, 18:27, всего редактировалось 2 раз(а).
KPG
Мастер Даунгрейда
 
Сообщения: 442
Зарегистрирован: 21 окт 2015, 20:53

Re: Кроссплатформенный, быстрый, Kotlin-подобный ЯП!

Сообщение uav » 03 июл 2026, 18:49

KPG, первые версии JRE, например, вполне работали на Windows 95, так что почему бы и нет?
JVM тоже в 90-е появилась...
Последний раз редактировалось uav 03 июл 2026, 18:52, всего редактировалось 1 раз.
Аватара пользователя
uav
Мастер Даунгрейда
 
Сообщения: 3140
Зарегистрирован: 22 дек 2008, 14:21

Re: Кроссплатформенный, быстрый, Kotlin-подобный ЯП!

Сообщение StoYazykov » 04 июл 2026, 09:41

Предыдущее моё сообщение, было написано под закрытие библиотеки, поэтому весьма краткое и написаное в спешке.

По порядку.
1. Насчёт 64-разрядной системы - да, он скомпилируется и под 32 бита, и под 64 бита. Любым компилером - главное, чтобы были uint64_t и int64_t и они имели размер __именно 64 бита__. Так как некоторые значения в байткоде - 64 битные.
2. "Много ли таких людей?". Думаю, прилично. И многие не по своей воле - просто, слабое железо. Вот раньше, у меня был HP какой-то, 1.5 ГГц, 2 ГБ ОЗУ. Я на нём, пытался делать мобильные приложения. Прихожу в кружок. Включаю ноутбук. Запускаю Eclipse, пишу код на Яве. Запускаю эмулятор ADT. Он загружается минут 25-30, и всё это время, вентилятор работает на пределе. Потом ещё, каждый раз, когда я что-то изменяю в приложении, я его заново компилирую, оно снова устанавливается на эмулятор... Наконец спустя 5 минут, оно запускается. Мышка как в замедленной съёмке, вентилятор опять надрывается... В общем ужасть.
На вопрос "А как это связано с мобильными приложениями" отвечу: сей ЯП будет и под телефон (точнее, только его ВМ). С немного другим форматом байт-кода. То есть, открываешь на телефоне приложение "CVM", в нём тыкаешь на нужный файл. Вуаля! И на компьютере, тоже не надо будет, эмулировать весь телефон - достаточно будет эмулировать только телефонную версию ВМ.
Самое тёмное дело - это строки в C


Сайт прогр-я: http://revival.narod.ws

Изображение


Штирлиц сидел за компом возле открытого окна. Неожиданно на экране появилось новое мыло. Штирлиц выбросил его обратно и пошёл за мокрой тряпкой - оттирать мыло с клавиатуры.
Аватара пользователя
StoYazykov
Мастер Даунгрейда
 
Сообщения: 230
Зарегистрирован: 25 дек 2023, 11:25
Откуда: Казань
Железо: Intel Pentium MMX 166 MHz, 8 и 2 ГБ HDD, 80 MB RAM; AMD A8-6410 APU with Radeon R5 Graphics, 16 ГБ

Re: Кроссплатформенный, быстрый, Kotlin-подобный ЯП!

Сообщение KPG » 04 июл 2026, 10:55

StoYazykov писал(а):. Думаю, прилично. И многие не по своей воле - просто, слабое железо..

т.е. нет даже примерной оценки, к примеру, хоть даже с помощью опроса на местном форуме и/или среди "программистов"
и поможет ли им запуск IDE (какой кстати) для поддержки создания ПО на этом языке заведомо "слабое" железо?

Откуда будет нарабатываться начальная база проектов на языке? Будут ли какие то транспилеры?
Если внутри байт-код (какой), то как он будет ускорятся (JVM, AOT?). "Совместимость" с WASM возможна?
...
P.S. Появляются и другие вопросы, но в любом случае нескучного времени в реализации предполагаемого проекта языка.
Последний раз редактировалось KPG 04 июл 2026, 11:01, всего редактировалось 2 раз(а).
KPG
Мастер Даунгрейда
 
Сообщения: 442
Зарегистрирован: 21 окт 2015, 20:53

Re: Кроссплатформенный, быстрый, Kotlin-подобный ЯП!

Сообщение StoYazykov » 04 июл 2026, 11:08

KPG писал(а): (какой)

Я ж писал выше его формат - viewtopic.php?f=21&t=3289#p40417

KPG писал(а): (JVM, AOT?)

ВМ - полностью своя. Зачем туда тащить ещё JVM?
AOT - а зачем он? Пока не нужен. Как будет нужен - будет и AOT.

KPG писал(а):"Совместимость" с WASM возможна?

Вряд ли.

KPG писал(а):Откуда будет нарабатываться начальная база проектов на языке? Будут ли какие то транспилеры?

А вот это хороооший вопрос. Думаю - да, придётся делать транспилер. Хотя бы, с Jav'ы на этот язык.

KPG писал(а):Появляются и другие вопросы

Задавайте!
Последний раз редактировалось StoYazykov 04 июл 2026, 11:10, всего редактировалось 2 раз(а).
Самое тёмное дело - это строки в C


Сайт прогр-я: http://revival.narod.ws

Изображение


Штирлиц сидел за компом возле открытого окна. Неожиданно на экране появилось новое мыло. Штирлиц выбросил его обратно и пошёл за мокрой тряпкой - оттирать мыло с клавиатуры.
Аватара пользователя
StoYazykov
Мастер Даунгрейда
 
Сообщения: 230
Зарегистрирован: 25 дек 2023, 11:25
Откуда: Казань
Железо: Intel Pentium MMX 166 MHz, 8 и 2 ГБ HDD, 80 MB RAM; AMD A8-6410 APU with Radeon R5 Graphics, 16 ГБ

Re: Кроссплатформенный, быстрый, Kotlin-подобный ЯП!

Сообщение clihlt » 04 июл 2026, 11:47

StoYazykov писал(а):Задавайте!
Задаю: где можно почитать полное на данный момент времени описание вашего языка программирования?
С уважением,
Владислав Васильев (aka clihlt).
Аватара пользователя
clihlt
Мастер Даунгрейда
 
Сообщения: 590
Зарегистрирован: 20 мар 2023, 21:17
Откуда: Брянск, СССР

Пред.След.

Вернуться в Программирование

Кто сейчас на конференции

Сейчас этот форум просматривают: нет зарегистрированных пользователей и гости: 2