да тяжко) мне ИИ например под С++20 -std23 помог написать билдер проекта учитывая модули/без модулей,
другой ИИ помог понять как организовать модули в С++) я всё это красиво собираю теперь
Скрытый текст
// base2D.cppm
module; // Начало глобального фрагмента
//clang++-20 -std=c++23 -c base2D.cppm --precompile -o base2D.pcm
//clang++-20 -std=c++23 -c base2D.pcm -o base2D.o
//clang++-20 -std=c++23 -stdlib=libc++ -fmodule-file=std=std.pcm -fprebuilt-module-path=. main.cpp base2D.o -lSDL2 -o app
#include <SDL2/SDL.h> // Все инклуды ДОЛЖНЫ быть здесь
#include <string_view>
export module base2D;
export struct Options{
std::string_view name="Test";
int posx=SDL_WINDOWPOS_CENTERED,posy=SDL_WINDOWPOS_CENTERED,width=1290,height=720,index=-1;
uint32_t window_flags=SDL_WINDOW_ALLOW_HIGHDPI|SDL_WINDOW_RESIZABLE,render_flags=SDL_RENDERER_ACCELERATED|SDL_RENDERER_PRESENTVSYNC,sdl_init=SDL_INIT_VIDEO;
};
// Теперь экспортируем нужные функции или структуры
export using SDL_Event = ::SDL_Event; // Экспортируем тип из глобального пространства
export using SDL_Window = ::SDL_Window;
// Экспортируем функции (теперь они часть модуля)
export using ::SDL_SetRenderDrawColor;
export using ::SDL_RenderClear;
export using ::SDL_RenderPresent;
export using ::SDL_PollEvent;
export using ::SDL_Quit;
export using ::SDL_CreateRenderer;
// Экспортируем типы, которые эти функции используют
export using ::SDL_Renderer;
export using ::SDL_Window;
export struct StateApp{
Options default_options;
SDL_Window* window=nullptr;
SDL_Renderer* render=nullptr;
bool run=false;
~StateApp(){
SDL_DestroyRenderer(render);
SDL_DestroyWindow(window);
}
};
export void initApp(StateApp &app){
SDL_Init(app.default_options.sdl_init);
app.window=SDL_CreateWindow(
app.default_options.name.data(),
app.default_options.posx,
app.default_options.posy,
app.default_options.width,
app.default_options.height,
app.default_options.window_flags);
app.render=SDL_CreateRenderer(
app.window,
app.default_options.index,
app.default_options.render_flags);
app.run=true;
}
export void closeApp(){
SDL_Quit();
}
//main.cpp
import std; // < теперь я не ломаю голову что инклюдить )
import base2D; // < базовый расширяемый модуль + теперь могу создавать модули
int main() {
StateApp app;
initApp(app);
SDL_Event e;
while(app.run){
while(SDL_PollEvent(&e)){
switch(e.type){
case SDL_QUIT:{
app.run=false;
break;
}
default: {break;}
}
}
SDL_SetRenderDrawColor(app.render, 0, 120, 0, 255);
SDL_RenderClear(app.render);
SDL_RenderPresent(app.render);
}
closeApp();
return 0;
}
третий, помог настроить рабочие пространства, свести всё вместе, чтобы модули считывались в редакторе и клангде, по итогу получается удобно, вроде ничего не сделал, но модули дали качественный скачок, есть места какие пересмотрел например.
всё упрётся в конечном счете в знания, например в расте есть ситуации когда происходит легетимная утечка ресурсов, НО она она пока по своим косвенным признакам еще не утечка, но одной ногой в утечке ), там реально знать придётся, надо просто как-то попасть на такой пример и там придёт это понимание )
тоесть тут стоит вопрос какая технология исполнения кода, например я уже как мне кажется еще трезвее и оптимистичнее смотрю на С/С++ и java, после такой суеты реально тогда лучше помучаться с С++ ), чем в биндах думать где там что происходит )
от например у меня терминал на java Swing(+pty на выбор и на С и на Расте есть) всё ок летает, как понимаем скорость чууууть чуть маленькая, на раст(+pty на Расте) летит, но sdl2 даёт свои приколюхи )
по итогу получается свинг просто удобнее, перевариваемее, если к расту всё еще привыкаем
тоесть это уже что-то ближе к той идее, что проще на гпу писать терминал, и писать всё тоже самое что и в майнкрафте с очередями и прочим, но уже для текста и с многопоточкой )
вайбкодинг по моему мнению всё таки, это скорее всего тот который по подписке с агентами, а если общаться с ИИ, который умеет рассуждать - новая модель, то копипаста не сработает - а) код придётся самому запускать, б) придётся как с человеком общаться и сужать контекст - тоесть прорабатывать каждую ситуацию
получается, что тот кто набивает промпт в режиме рассуждения, попадает в защиту от дурака, потомучто код придётся проверить не раз, на это уйдёт много времени, можно еще пропускать код через проверки и так же обсуждать, на это тоже будет уходить время дополнительное, кароче как не крути не получается вайбкодинг(тоесть без агентов в кли)
да напишите уже игру и проверьте, но времени уйдёт много пока напишите, заодно развеите сами слухи о вайбкодинге)
не експерт по трассировке в атиуме или ксайлинксе, эти две программы наверное тоже САПР, я себе сапр всегда представлял что это не совсем автоматизация, а специально окерпиченная прога, чтобы проще было управлять проектом, а автоматизация вроде это переусложнение, может в атиуме всё действительно на авто тут не знаю конечно
я после шрифта из растра в фонт форж на сейчас уверен, лучше руки на мышке нету сапра, автотрассировка ошибается, и ИИ тоже со шрифтом, не на первой букве так на рандомно 10ой например, и потом ищешь в таком проекте этап где ошибка
да, мне это тоже знакомо, на java действительно можно посмотреть сверху на первые свои версии чего-либо, но в яве мне не совсем нравится всёже потребление памяти, а в целом я тоже последнее время смотрю частенько на яве многое - в плане сначала пишу прототип, потом смотрю производительность, потом - теперь раст )
ява меня подкупает своей кирпичностью всё реально понятно сквозь время, просто пишешь и работает, это как слепок логики, чтобы оптимистично окинуть взором производительность и сравнить с растом, но на удивление, на моей тачке 25 версия, не так уж медленна ), на расте отличие разве, что по памяти для меня
хотя всё же чуть скорость заметна, но не так критична, укладывается в логику явы
с явой например я начал понимать где бы я хотел единый рантайм на приложение, а где нет, на компилируемом языке можно не задуматься об этом
если без базы полугодовалые курсы, то ребятам придётся именно опыт получать, по поводу душа из смеси технологий, выглядит классно, но уже на этой дистанции видно, что душ из многообразия инструментов может сбить с курса базы, потомучто сдесь и сейчас надо либо не знать базу, либо знать и учитывать, отсюда получается, что не так важен душ из инструкций нажми кнопку А настрой базу данных в проекте удаленно Ц, а вообще базовое основопологание что они и для чего они делают и почему именно так, эти профессии тоже творческие, но в инженерно реализационно так сказать алгоритмическом плане
предсиавим что рейдовый босс сильный, а новичек купил билет за пол года на хай енд, и в итоге на хай капе на новичка вываливается всё оповещение, сразу мгновенно )
наверно надо как в Оксфорде нагрузить базово, и потом не знаю, вводить слои какие-то тематические )
типо некий - Core тоесть с человеком надо на языке пройти спартанский курс боли прожить с ним это индивидуально, потомучто каждый обучающийся со своим инкубатором получается ), а концепции кор дают понимание к использованию фреймворков я думаю
если античит защищается от меня на уровне ядра, минуя всё что можно, тогда у пользователя должен быть механизм защиты от всего на уровне ядра, причем вопервых а не во вторых, тоесть преемственность в образе
тоесть на моём оборудовании защищается прога от меня, в результате работы которой можно потерять управление ПК получается )
нужна ядерная защита пользователя в образе локально на оборудовании пользователя
мне кажется, рантайм раздаёт ядро, пишем либо оболочку, либо терминал, тоесть все концы сегодня мы получаем от ядра и сессии при входе всёо
тоесть закольцовывая вопрос что такое оболочка, это та штука которая связывает в рантайм поставляемые утилиты в ОС, терминал это штука которая даёт возможность общаться с ядром по протоколу, который задокументирован
тоесть у вас есть выбор, либо терминальная tty протокольная оболочка, либо gui, которая включает в себя допольнительные возможности оболочки, и это будет ключом к понимаю как организовать обвязку как обработать ту или иную ситуацию скриптом внутри запроса
тоесть где-то тут по середине емакс еще который может вызвать в себе терминал, и который может дополнить языковой адресацией(просто возможности языка, язык общается с адресами потомучто - типо может запоминать, получается можно языком написать оболочку, которая связывая в рантайм исполнение комманд даёт уникальный нужный связующий еффект от связки гуй-+протокол) возможности
старая концепция джоб и прочее можно скипнуть, я бы советовал посмотреть на этот протокол как на каналы, это более новая ситуация, она из-за протокола и так из-за ABI так будет требовать по протоколу работы от разработчика так что лучше сразу на каналы прыгать sync/mpsc
там не далеко и zfs там тоже есть каналы получается они разгружают работу и делают нужную обвязку
получается в каком-то смысле Нотч(icq туда же) это энтузиаст, где был раньше майнкрафт и где сейчас, где тот энтузиаст - вот и всё. правильно это или нет даже не знаю, рынок то на западе есть, но какой он? например - давайте вспомним как появилась серия ведьмака и откуда? если это другое и просто так выгодно, то не знаю.
причем если инди взять за стим/итч/майкрософт стор, отчасти, наверно, например, то это новое веяние, но это тоже площадка со всеми штуками, тоесть получается должна быть открытая площадка для проектов - это и есть среда/условие, которые выставляет площадка для тех, кто хочет выпускать игры, будь то инди - 1 человек или студия, или не инди, а студия
получается, ну например ютуб, просто может так же открыть страницу gametube, там выставляешь игры/качаешь делишься, но по каким-то правилам, тоесть игра это контент, контент должен стать доступнее и проще, просто со своими правилами и прочее прочее
ну а вообще всё честно, бесплатная игра это миф мне кажется даже если взять в основу энтузиазм, в конце концов идея мака тоже с гаража начинали помойму
java 25 и project panama творят чудеса, то что раньше было медленно теперь это достигается, и по памяти не так много, в java 25 прилетело нормально обновлений для производительности я считаю
а где берутся комплектующие, где берутся виндовс/макос, где берется телефон с андроидом/айос, причем в самих этих штуках софт еще есть свой - откуда он появился, есть еще болженос откуда это всё появляется интересно и что это такое тогда
вот например откуда-то появился процессор. для айос. - как это случилось вообще, откуда
я тмукс не использую, но я знаю, что есть второй подход, помимо приложения эмулирующего терминал(XTERM-pty или VT-pty), там пошустрее попроще донастроить окружение, грубо говоря, если это не tty сессия, то проще просто визуально настроить окружение в текстовом оформлении ), к слову 2 таких примера я себе реализовал, 1 - это просто терминал на java(pty), а второе(та самая текстовая обвязка приложения на окружение) это текстовое окружение визуальное с визуальным поведением терминала(без сессии) тоже на java - оба опыта просто великолепны, но я с тмукс даже не знаком ), в планах, замикшировать эти 2 решения в одно ) обвязать буферами по вызову ), тоесть представьте, можно иметь такое приложение, где можно вызывать своё текстовое пространство иметь клипбоард, и иметь хоткей на терминал стандартный(VT-pty с сессией)
тоесть (GUI text style)текстовая умная оболочка, которая имеет свои утилиты связывает разрозненные команды системы, и где есть свой емулятор терминала стандартный
упд зашел, посмотрел, работает классно, но вроде сыровато ), там копится градус движения руки(кароче jitter руки в обратное положение это будет нагляднее видно потом при вводе камеры от третьего лица например), из-за чего при повороте или активном движении иногда видно размотку маха рукой, микро лаг, но заметно
бесконечность можно было по-больше поставить я у себя поставил 16+1 на 8 потоках, но у меня на расте на десктопе, прогрузку почти не видно из-за гор, из плюсов в этой версии есть биомы как я понял, пещеры не копал не видел
раст не потипу плюсов, как говорится изучайте матчасть, у раста если следовать его логике, всё гораздо удобнее чем в сравнении с С/С++, удобные каналы mpsс, далее, большой проект раста читается проще, если сразу при написании, при использовании удобств раста сразу размечать удобные секции, да кода будет много, но рамки-границы будут выражены всё еще, и самое интересное грязи будет по-меньше чем в С или в С++. там есть много удобств, которые чисто в коде прям проще видятся и выявляются восприятием, в его семантике кстати!, чем в С/С++ восприятие и грязь
тут надо подходить к осознанию проблемы через написание своего языка программирования на базе стековой машины, и далее честно сравнивать, потери производительности и вознёй удобств в сравнении того как это реализовано на расте.
у раста удобные структуры, имплементации более выражены, работа с модулями удобная, нет той возни как в С/С++, derive намного удобнее опций или пойди пойми где у вас какие конструкторы и что они должны делать, далее, нет возни с cmake/conan/ice, конструкции языка более явные - это приводит к тому, что структура кода более вырожена на логику, к сожалению в расте одни только +, минусов я не заметил, я тоже сначала не доверял расту, но после диспетчинга на С, и некоторых попыток С++, переход на раст стал очевиднее, пускай я не експерт и от идиоматики хаскель/раст я пока далёк, но такой подход даже радует, чем С/С++...
упд: владение, бороу чекер ), семантика мув - это настоящий прорыв сегодня, вдруг оказалось что она необходима, а не на откуп человека (типо сиди думай чо делать дальше, где там семантика мув вообще должна быть)
если быть кароче, мои итоги, раст это что-то крутое из мира хаскельфорт, некое переосмысление, и оно о чудо реально клёвое )
у вас есть строки в файле, зачем вам его открывать в неовим, он итак будет открываться в вим/неовим, вам надо написать скрипт, который парсит файл, и вставляет исполняет получается,
другой вариант, писать свой рантайм(рантайм в том смысле что человек пишет свою оболочку в tty, запускает, и там у него уже понятно как всё исполняется, соответственно он пользуется одноадресным окружением) окружения/исполнения, и там реализовывать то как будут работать команды(где будет ваш X(например cat) а где системный решаете уже вы(как будет работать cat соответственно вы либо пишете такой рантайм исполнений не меняя правила игры, либо начинаете всё править под свои нужды), команды нижнего слоя в этой парадигме это cat/ls/cp/mkdir/) нижнего слоя с ОС, соотв в своём рантайме вы сможете и клипбоард реализовать наверно, так как это одноадресная структура окружения
но вообще конечно можете захламить переменные окружения, и в переменную окружения писать строку, не знаю даже )
что мы имеем вообще, линукс/юникс(дефолт фрибсд), мы имеем такую ситуацию что каждая команда имеет свою область, соотв вам нужна программа, которая управляя этими процессами, имеет нужные дополнительные поля/фичи окружения, просто потомучто это на языке программирования и это и будет интерфейс вашей задачки грубо говоря
тоесть мы всё также регистрируемся в сессии сами по логину, а дальше просто запускаем оболочку над sh грубо говоря, где правила игры ваши учитывая sh например
tty - это то что до Display - xorg(линукс уже не такой разборный как раньше поэтому, там будет муть на любом из дистрибутивов не сурс, тоесть проще изучать на Unix, потомучто линукс не ос), тоесть через tty поидее я получаю сессию через логин, pty это юзерспейс псевдотерминал, на основе pty можно реализовать свой эмулятор, эмуляторы отличаются коммандами ANSI/ASCII управляющие символы.(это ближе к Unix)
что интересно в первом приближении при желании заиметь свою печатную машинку проще рассмотреть эмулятор ассемблерa в виде DSL(это ближе к ДОС), реализовываем опкоды - почти как стек-машина, но эмуляторное устройство заточено сразу на исполнение(тоесть можно и не эмулировать стек-машину), если уходить в высь то проще рассмотреть просто устройство ввода/вывода, реализуя визуальное поведение через гуй, что интересно можно не акцентировать внимание на первых тестах на сессии, тут главное уловить суть, что в сессию-то мы вошли, получается, имея визуальное поведение приближенное к shell(это ближе к Unix)
и то и то визуально будет будет одинаково ввиду софт нюансов, но да в одном случае будет shell, в другом будет сервер/демон pty и парс анси/аски последовательностей, тоесть получается будет эмуляция по стандарту как например в xterm
например, что мешает просто иметь свой рантайм в своей сессии технически нет никаких ограничений и это красиво реализовывается на java>=25(panama, векторизация, улучшенная работа с памятью вообще красота и не страшен сборщик мусора )) )
Скрытый текст
мне оч нравится мой подход, пароль не виден тоже )
что интересно, в моём рантайме и редактор и возможность ввода пароля и возможность read, но нет vim, он заменён на мой встроенный редактор прям в рантайм моей визуально терминальной машины - визуально рантаймовая терминальная мини-ОС на яве ) выглядит имбово вообще
проблема не в том где у вас есть доступ, а где нет, надо простых пользователей, которые не в корпорации оставить в покое и учесть ОС всеми ограничениями, чтобы сама ОС работала, иначе я не понимаю что вы доказываете? вы хотите доказать что те технологии контекста блокировок они оторваны от ОС? только давайте без болженосов, какие вы знаете случаи после инцидента с Солярис, что у вас работает ОС учитывая ограничения?
еще момент сама безопасность не может без обновлений, а ОС еще поставить надо, тут да можно сказать, дескать, создано так чтобы были обновления(уже после блокировок жвучит жиденько, а тут проблема болженос не ос поидее получается, но обновлять или настраивать ни-ни например, а виндовс кстати теперь тоже надо устанавливать(где защита пользователя в условиях ограничений в ОС?), например где грань пиратская копия винды и нет?), значит это ошибочно просто, потомучто тогда блокировка с любой стороны кроет технологию именно IT, вот вы упомянули sudo, а она написана на небезопасном С например, имея корпоративные доступы, никто не давал гарантий что там нету бага 70 летней давности
да тяжко) мне ИИ например под С++20 -std23 помог написать билдер проекта учитывая модули/без модулей,
другой ИИ помог понять как организовать модули в С++) я всё это красиво собираю теперь
Скрытый текст
третий, помог настроить рабочие пространства, свести всё вместе, чтобы модули считывались в редакторе и клангде, по итогу получается удобно, вроде ничего не сделал, но модули дали качественный скачок, есть места какие пересмотрел например.
всё упрётся в конечном счете в знания, например в расте есть ситуации когда происходит легетимная утечка ресурсов, НО она она пока по своим косвенным признакам еще не утечка, но одной ногой в утечке ), там реально знать придётся, надо просто как-то попасть на такой пример и там придёт это понимание )
тоесть тут стоит вопрос какая технология исполнения кода, например я уже как мне кажется еще трезвее и оптимистичнее смотрю на С/С++ и java, после такой суеты реально тогда лучше помучаться с С++ ), чем в биндах думать где там что происходит )
от например у меня терминал на java Swing(+pty на выбор и на С и на Расте есть) всё ок летает, как понимаем скорость чууууть чуть маленькая, на раст(+pty на Расте) летит, но sdl2 даёт свои приколюхи )
по итогу получается свинг просто удобнее, перевариваемее, если к расту всё еще привыкаем
тоесть это уже что-то ближе к той идее, что проще на гпу писать терминал, и писать всё тоже самое что и в майнкрафте с очередями и прочим, но уже для текста и с многопоточкой )
вайбкодинг по моему мнению всё таки, это скорее всего тот который по подписке с агентами, а если общаться с ИИ, который умеет рассуждать - новая модель, то копипаста не сработает - а) код придётся самому запускать, б) придётся как с человеком общаться и сужать контекст - тоесть прорабатывать каждую ситуацию
получается, что тот кто набивает промпт в режиме рассуждения, попадает в защиту от дурака, потомучто код придётся проверить не раз, на это уйдёт много времени, можно еще пропускать код через проверки и так же обсуждать, на это тоже будет уходить время дополнительное, кароче как не крути не получается вайбкодинг(тоесть без агентов в кли)
да напишите уже игру и проверьте, но времени уйдёт много пока напишите, заодно развеите сами слухи о вайбкодинге)
не експерт по трассировке в атиуме или ксайлинксе, эти две программы наверное тоже САПР, я себе сапр всегда представлял что это не совсем автоматизация, а специально окерпиченная прога, чтобы проще было управлять проектом, а автоматизация вроде это переусложнение, может в атиуме всё действительно на авто тут не знаю конечно
я после шрифта из растра в фонт форж на сейчас уверен, лучше руки на мышке нету сапра, автотрассировка ошибается, и ИИ тоже со шрифтом, не на первой букве так на рандомно 10ой например, и потом ищешь в таком проекте этап где ошибка
да, мне это тоже знакомо, на java действительно можно посмотреть сверху на первые свои версии чего-либо, но в яве мне не совсем нравится всёже потребление памяти, а в целом я тоже последнее время смотрю частенько на яве многое - в плане сначала пишу прототип, потом смотрю производительность, потом - теперь раст )
ява меня подкупает своей кирпичностью всё реально понятно сквозь время, просто пишешь и работает, это как слепок логики, чтобы оптимистично окинуть взором производительность и сравнить с растом, но на удивление, на моей тачке 25 версия, не так уж медленна ), на расте отличие разве, что по памяти для меня
хотя всё же чуть скорость заметна, но не так критична, укладывается в логику явы
с явой например я начал понимать где бы я хотел единый рантайм на приложение, а где нет, на компилируемом языке можно не задуматься об этом
если без базы полугодовалые курсы, то ребятам придётся именно опыт получать, по поводу душа из смеси технологий, выглядит классно, но уже на этой дистанции видно, что душ из многообразия инструментов может сбить с курса базы, потомучто сдесь и сейчас надо либо не знать базу, либо знать и учитывать, отсюда получается, что не так важен душ из инструкций нажми кнопку А настрой базу данных в проекте удаленно Ц, а вообще базовое основопологание что они и для чего они делают и почему именно так, эти профессии тоже творческие, но в инженерно реализационно так сказать алгоритмическом плане
предсиавим что рейдовый босс сильный, а новичек купил билет за пол года на хай енд, и в итоге на хай капе на новичка вываливается всё оповещение, сразу мгновенно )
наверно надо как в Оксфорде нагрузить базово, и потом не знаю, вводить слои какие-то тематические )
типо некий - Core тоесть с человеком надо на языке пройти спартанский курс боли прожить с ним это индивидуально, потомучто каждый обучающийся со своим инкубатором получается ), а концепции кор дают понимание к использованию фреймворков я думаю
если античит защищается от меня на уровне ядра, минуя всё что можно, тогда у пользователя должен быть механизм защиты от всего на уровне ядра, причем вопервых а не во вторых, тоесть преемственность в образе
тоесть на моём оборудовании защищается прога от меня, в результате работы которой можно потерять управление ПК получается )
нужна ядерная защита пользователя в образе локально на оборудовании пользователя
типо как в солярисе index.html
эх вот это оболдеть
мне знаете вся суета с ИИ и агентами напоминает фалаут 76 там где мэр это супер компьютер ) или мультивак Айзека Азимова
причем это прослеживалось с самого начала агентов/ИИ и прочего
мне кажется, рантайм раздаёт ядро, пишем либо оболочку, либо терминал, тоесть все концы сегодня мы получаем от ядра и сессии при входе всёо
тоесть закольцовывая вопрос что такое оболочка, это та штука которая связывает в рантайм поставляемые утилиты в ОС, терминал это штука которая даёт возможность общаться с ядром по протоколу, который задокументирован
тоесть у вас есть выбор, либо терминальная tty протокольная оболочка, либо gui, которая включает в себя допольнительные возможности оболочки, и это будет ключом к понимаю как организовать обвязку как обработать ту или иную ситуацию скриптом внутри запроса
тоесть где-то тут по середине емакс еще который может вызвать в себе терминал, и который может дополнить языковой адресацией(просто возможности языка, язык общается с адресами потомучто - типо может запоминать, получается можно языком написать оболочку, которая связывая в рантайм исполнение комманд даёт уникальный нужный связующий еффект от связки гуй-+протокол) возможности
старая концепция джоб и прочее можно скипнуть, я бы советовал посмотреть на этот протокол как на каналы, это более новая ситуация, она из-за протокола и так из-за ABI так будет требовать по протоколу работы от разработчика так что лучше сразу на каналы прыгать sync/mpsc
там не далеко и zfs там тоже есть каналы получается они разгружают работу и делают нужную обвязку
получается в каком-то смысле Нотч(icq туда же) это энтузиаст, где был раньше майнкрафт и где сейчас, где тот энтузиаст - вот и всё. правильно это или нет даже не знаю, рынок то на западе есть, но какой он? например - давайте вспомним как появилась серия ведьмака и откуда? если это другое и просто так выгодно, то не знаю.
причем если инди взять за стим/итч/майкрософт стор, отчасти, наверно, например, то это новое веяние, но это тоже площадка со всеми штуками, тоесть получается должна быть открытая площадка для проектов - это и есть среда/условие, которые выставляет площадка для тех, кто хочет выпускать игры, будь то инди - 1 человек или студия, или не инди, а студия
получается, ну например ютуб, просто может так же открыть страницу gametube, там выставляешь игры/качаешь делишься, но по каким-то правилам, тоесть игра это контент, контент должен стать доступнее и проще, просто со своими правилами и прочее прочее
ну а вообще всё честно, бесплатная игра это миф мне кажется даже если взять в основу энтузиазм, в конце концов идея мака тоже с гаража начинали помойму
java 25 и project panama творят чудеса, то что раньше было медленно теперь это достигается, и по памяти не так много, в java 25 прилетело нормально обновлений для производительности я считаю
jdk-25-performance-improvements
а где берутся комплектующие, где берутся виндовс/макос, где берется телефон с андроидом/айос, причем в самих этих штуках софт еще есть свой - откуда он появился, есть еще болженос откуда это всё появляется интересно и что это такое тогда
вот например откуда-то появился процессор. для айос. - как это случилось вообще, откуда
я тмукс не использую, но я знаю, что есть второй подход, помимо приложения эмулирующего терминал(XTERM-pty или VT-pty), там пошустрее попроще донастроить окружение, грубо говоря, если это не tty сессия, то проще просто визуально настроить окружение в текстовом оформлении ), к слову 2 таких примера я себе реализовал, 1 - это просто терминал на java(pty), а второе(та самая текстовая обвязка приложения на окружение) это текстовое окружение визуальное с визуальным поведением терминала(без сессии) тоже на java - оба опыта просто великолепны, но я с тмукс даже не знаком ), в планах, замикшировать эти 2 решения в одно ) обвязать буферами по вызову ), тоесть представьте, можно иметь такое приложение, где можно вызывать своё текстовое пространство иметь клипбоард, и иметь хоткей на терминал стандартный(VT-pty с сессией)
тоесть (GUI text style)текстовая умная оболочка, которая имеет свои утилиты связывает разрозненные команды системы, и где есть свой емулятор терминала стандартный
упд зашел, посмотрел, работает классно, но вроде сыровато ), там копится градус движения руки(кароче jitter руки в обратное положение это будет нагляднее видно потом при вводе камеры от третьего лица например), из-за чего при повороте или активном движении иногда видно размотку маха рукой, микро лаг, но заметно
бесконечность можно было по-больше поставить я у себя поставил 16+1 на 8 потоках, но у меня на расте на десктопе, прогрузку почти не видно из-за гор, из плюсов в этой версии есть биомы как я понял, пещеры не копал не видел
раст не потипу плюсов, как говорится изучайте матчасть, у раста если следовать его логике, всё гораздо удобнее чем в сравнении с С/С++, удобные каналы mpsс, далее, большой проект раста читается проще, если сразу при написании, при использовании удобств раста сразу размечать удобные секции, да кода будет много, но рамки-границы будут выражены всё еще, и самое интересное грязи будет по-меньше чем в С или в С++. там есть много удобств, которые чисто в коде прям проще видятся и выявляются восприятием, в его семантике кстати!, чем в С/С++ восприятие и грязь
тут надо подходить к осознанию проблемы через написание своего языка программирования на базе стековой машины, и далее честно сравнивать, потери производительности и вознёй удобств в сравнении того как это реализовано на расте.
у раста удобные структуры, имплементации более выражены, работа с модулями удобная, нет той возни как в С/С++, derive намного удобнее опций или пойди пойми где у вас какие конструкторы и что они должны делать, далее, нет возни с cmake/conan/ice, конструкции языка более явные - это приводит к тому, что структура кода более вырожена на логику, к сожалению в расте одни только +, минусов я не заметил, я тоже сначала не доверял расту, но после диспетчинга на С, и некоторых попыток С++, переход на раст стал очевиднее, пускай я не експерт и от идиоматики хаскель/раст я пока далёк, но такой подход даже радует, чем С/С++...
упд: владение, бороу чекер ), семантика мув - это настоящий прорыв сегодня, вдруг оказалось что она необходима, а не на откуп человека (типо сиди думай чо делать дальше, где там семантика мув вообще должна быть)
если быть кароче, мои итоги, раст это что-то крутое из мира хаскельфорт, некое переосмысление, и оно о чудо реально клёвое )
это очевидно, сегодня тематика вокселей интересна всё более многим и многим новичкам в 3д
у вас есть строки в файле, зачем вам его открывать в неовим, он итак будет открываться в вим/неовим, вам надо написать скрипт, который парсит файл, и вставляет исполняет получается,
другой вариант, писать свой рантайм(рантайм в том смысле что человек пишет свою оболочку в tty, запускает, и там у него уже понятно как всё исполняется, соответственно он пользуется одноадресным окружением) окружения/исполнения, и там реализовывать то как будут работать команды(где будет ваш X(например cat) а где системный решаете уже вы(как будет работать cat соответственно вы либо пишете такой рантайм исполнений не меняя правила игры, либо начинаете всё править под свои нужды), команды нижнего слоя в этой парадигме это cat/ls/cp/mkdir/) нижнего слоя с ОС, соотв в своём рантайме вы сможете и клипбоард реализовать наверно, так как это одноадресная структура окружения
но вообще конечно можете захламить переменные окружения, и в переменную окружения писать строку, не знаю даже )
что мы имеем вообще, линукс/юникс(дефолт фрибсд), мы имеем такую ситуацию что каждая команда имеет свою область, соотв вам нужна программа, которая управляя этими процессами, имеет нужные дополнительные поля/фичи окружения, просто потомучто это на языке программирования и это и будет интерфейс вашей задачки грубо говоря
тоесть мы всё также регистрируемся в сессии сами по логину, а дальше просто запускаем оболочку над sh грубо говоря, где правила игры ваши учитывая sh например
tty - это то что до Display - xorg(линукс уже не такой разборный как раньше поэтому, там будет муть на любом из дистрибутивов не сурс, тоесть проще изучать на Unix, потомучто линукс не ос), тоесть через tty поидее я получаю сессию через логин, pty это юзерспейс псевдотерминал, на основе pty можно реализовать свой эмулятор, эмуляторы отличаются коммандами ANSI/ASCII управляющие символы.(это ближе к Unix)
что интересно в первом приближении при желании заиметь свою печатную машинку проще рассмотреть эмулятор ассемблерa в виде DSL(это ближе к ДОС), реализовываем опкоды - почти как стек-машина, но эмуляторное устройство заточено сразу на исполнение(тоесть можно и не эмулировать стек-машину), если уходить в высь то проще рассмотреть просто устройство ввода/вывода, реализуя визуальное поведение через гуй, что интересно можно не акцентировать внимание на первых тестах на сессии, тут главное уловить суть, что в сессию-то мы вошли, получается, имея визуальное поведение приближенное к shell(это ближе к Unix)
и то и то визуально будет будет одинаково ввиду софт нюансов, но да в одном случае будет shell, в другом будет сервер/демон pty и парс анси/аски последовательностей, тоесть получается будет эмуляция по стандарту как например в xterm
например, что мешает просто иметь свой рантайм в своей сессии технически нет никаких ограничений и это красиво реализовывается на java>=25(panama, векторизация, улучшенная работа с памятью вообще красота и не страшен сборщик мусора )) )
Скрытый текст
что интересно, в моём рантайме и редактор и возможность ввода пароля и возможность read, но нет vim, он заменён на мой встроенный редактор прям в рантайм моей визуально терминальной машины - визуально рантаймовая терминальная мини-ОС на яве ) выглядит имбово вообще
проблема не в том где у вас есть доступ, а где нет, надо простых пользователей, которые не в корпорации оставить в покое и учесть ОС всеми ограничениями, чтобы сама ОС работала, иначе я не понимаю что вы доказываете? вы хотите доказать что те технологии контекста блокировок они оторваны от ОС? только давайте без болженосов, какие вы знаете случаи после инцидента с Солярис, что у вас работает ОС учитывая ограничения?
еще момент сама безопасность не может без обновлений, а ОС еще поставить надо, тут да можно сказать, дескать, создано так чтобы были обновления(уже после блокировок жвучит жиденько, а тут проблема болженос не ос поидее получается, но обновлять или настраивать ни-ни например, а виндовс кстати теперь тоже надо устанавливать(где защита пользователя в условиях ограничений в ОС?), например где грань пиратская копия винды и нет?), значит это ошибочно просто, потомучто тогда блокировка с любой стороны кроет технологию именно IT, вот вы упомянули sudo, а она написана на небезопасном С например, имея корпоративные доступы, никто не давал гарантий что там нету бага 70 летней давности
и всё это тоже IT кстати