Page 3 of 8

Re: Названия системных функций

Posted: Sat Dec 12, 2015 4:24 pm
by ALEXS1983
Pathoswithin wrote:Вообще-то я и предлагал, чтобы Background была структурой с полями.
А-а-а-а вот оно что...
Pathoswithin wrote:Общее правило английского языка: сначала "чего?", потом "что?". Либо kernel version, либо version of the kernel.
Ну допустим, можно и так!
Pathoswithin wrote: Буква А в конце названия обычно означает ascii версию функции, W в конце — UTF-16.
ну можно начинать с «B” :-) да и цифры есть.
==========================
Так, ребята! :-) Давайте все внимательно определимся и сосредоточимся на том, что мы делаем для кого мы это делаем и зачем мы это всё делаем. Мы принимаем стандартизацию в названии процедур и функций КОС. Для кого и для чего?! Для программистов желающих, реализовать, что-то связанное с КОС и для пользователей желающих использовать это.
И вот тут пошли немного разногласия и непонимания, мол что из себя представляет это имя?! По-моему, Pathoswithin, писал, что несложно вписать в inc “привязку” имени к цифре ит .д. Я пишу, что имя функции это не сама цифра(костанта), а макрос или процедура или... или... и т.д.
Тут вот еще и «впуталось» что можно и даже нужно делать в виде структур.

Ребята, имя, точнее выражаясь КОРНЕВОЕ ИМЯ, или даже КЛЮЧЕВОЕ ИМЯ (думаю так будет правильно)! это как бы правильно выразится что-то (абстрактное ?!?!) «завязанное» на отношение к той функции КОС, т. е. это может быть всё что угодно, константа, макрос, процедура функции, ну и вхожее в структуру если так уж!
Итак, если утвердить, КЛЮЧЕВОЕ ИМЯ, то приставки (или окончания) к этому корневому имя будут означать, что именно это имя из себя представляет и как его использовать.
Допустим утверждаем приставку
«c» - контсанта
“fk” прямой вызов процедуру ( mov eAx... int 40)
“t” - как объект,(например).
а само КОРНЕВОЕ ИМЯ, в свою очередь — это процедура, функция или макрос (по моему это всё до кучи можно)
Ну и вот допустим...
Является программист (пусть даже такой паршивенький как я :-) ) и думает: Я вот хочу написать визуализатор (эмулятор), среду программирования, среду использования, еще чего-то.... с реализацией или использованием, каких-то функций КОС. Стандартная документация нам говорит: что у каждой процедуры есть номер (цифра)! Кого-то это вполне устраивает!
Но кто-то скажет: да не-е-е-еет... мне эти циферки неудобны, как бы мне функцию которая «Deactivate Window», вызывать как имя, а не как цифру, можно ли так?... ответ: да вот оно: сDeactivateWindow — константа, используй её как константу и делай mov eAx, сDeactivateWindow int 40 и даже если это нигде в коде, не прописано, стандарт, то принят, и неважно кто и как и когда и где это пропишет (или вообще не собирается это делать) всё равно ведь сDeactivateWindow считается константой которая привязана к цифре (номеру этой процедуры).
Еще один «кадр» скажет, - да не-е-е-е-еет... я хочу процедуру вызвать как имя, а не вписывать имя-константу в mov!... - Так её можно вызвать, вот так: fkDeactivateWindow. И опять же не важно реализовано это или нет, но если кто-то захочет реализовать, то он будет знать, что делать, чтобы по стандарту, который все понимают!
Является еще один «кадр» и говорит: да не-е-е-е-е-е.... это всё это хорошо, что можно использовать ваши процедуры и так и сяк, а вот я, программирую, всё таки в ЯВУ, и хотелось бы использовать как полноценную процедуру ЯВУ, с понятной передачей данных, а не данные преобразовывать в «регистры»?! - Да вот, пожалуйста, - DeactivateWindow(параметры), и если она даже не написана, то опять же, - стандарт её имени принят, напиши её, а имя уже готово, согласно стандарту, который понятен всем, - и тем кто пишет и тем кто это использует!
Но тут еще один «кадр» является: а как бы мне использовать эту процедуру через структуры такое есть ? - Да! Пожалуйста, вот — System.DeactivateWindow, вызов через структуру, да и со структурой можешь ознакомится вот «там то», в стандарты прописана, правда не всё в ней реализовано, но в случае желания или необходимости, всё знают, что да как реализовывать, ну в смысле согласно стандартам!
Является «кадр будущего»: а как бы мне.... Ответ: ну такого у нас еще нету, но мы сейчас прямо мигом впишем в стандарт, - к КЛЮЧЕВОМУ имени приставка «j” и будет то что ты просил! А процедура Deactivate Window будет называться jDeactivateWindow! КЛЮЧЕВЫЕ имена, то, ведь уже давно готовы, стандартизированы!
Как-то так.

Всё я это к тому, что должно быть КЛЮЧЕВОЕ ИМЯ, в данном случаем оно "DeactivateWindow", которое надо принять в стандарт, а также стандартизировать приставки («c» - контсанта, “fk” прямой вызов процедуру ( mov eAx... int 40), “t” - как объект,(например). ) к ключевым именам, которые будут определять, что это такое и как его использовать! Да и само то ключевое имя можно ведь тоже использовать, без приставок!
И вот получается:
ключевое имя процедуры:DeactivateWindow
константа процедуры: cDeactivateWindow
Прямой вызов процедуры: fkDeactivateWindow
Вызов, (с определённой передачей параметров, как в ЯВУ): DeactivateWindow(параметры) (тут имя используется ключевое без приставок к имени)
Как объект: tDeactivateWindow
Использование в будущем: :-) jDeactivateWindow

И КАК ВИДИТЕ ВСЕ ЭТО "ЗАВЯЗАНО" НА КЛЮЧЕВОЕ ИМЯ, в данном случае это имя DeactivateWindow, и само имя определяет лишь свою принадлежность к какой-то процедуре КОС!
Может я ошибаюсь, что подобное можно сделать и стандартизировать, "одним махом" для всего (константы, прямые процедуры, процедуры с определённой передачей параметров ?

Re: Названия системных функций

Posted: Sat Dec 12, 2015 10:59 pm
by Pathoswithin
По-моему не надо так усложнять. Всё кроме цифр требует подключения файлов вроде .inc или .h, вот тут человек и может выбирать что подключить: файл с константами или файл с макросами в высокоуровневом стиле. Остальное вроде и нет смысла делать.
В общем первым делом можешь набросать KOSfuncs.inc для ассемблера, в котором просто имя = цифра, и выложить для редактирования. Потом из него можно будет сделать KOSfuncs.h с макросами типа вызовов.

Re: Названия системных функций

Posted: Sun Dec 13, 2015 12:19 am
by ALEXS1983
Pathoswithin wrote:По-моему не надо так усложнять.
НУ ЗНАЕШЬ!... :-) у меня ведь задумка была!... теперь она полу-лопнула!...
Pathoswithin wrote:В общем первым делом можешь набросать KOSfuncs.inc для ассемблера, в котором просто имя = цифра, и выложить для редактирования.
Я то набросаю, это не сложно! Завтра на «свежую голову займусь этим! Вот только давай скоординируем действия, а то я уже запутался, что утверждено... что не утверждено....
ты писал что:
Pathoswithin wrote:Обновил документацию по 18.19.
так имеется ввиду, что уже чего-то куда-то утвердил ? Где и как это посмотреть можно? Или может сюда выкладывай, то что утвердил!... или ссылку дай. В общем надо как-то скоординировать наши действия, чтобы не путаться и было всем видно, ЧТО и КАК утверждено, а над чем надо поработать...
Pathoswithin wrote: Потом из него можно будет сделать KOSfuncs.h с макросами типа вызовов.
Ой, чувствую, что будет то, чего я не совсем ожидаю!.... :-( ну фиг с ним!... :-) будут стандарты буду смотреть как с ними быть дальше для реализации своих задумок! Мне всё равно надо за что-то «зацепляться», а не заново велосипед изобретать, из названий явно специфических которые у меня могут получаться при их разработке без остальных участвующих, спецов!

Re: Названия системных функций

Posted: Sun Dec 13, 2015 12:43 am
by e-andrew
Внесу свои 5 копеек:
Использовать макросы и процедуры вместо православных мкалов - зло, не по асмовски вообще. Использовать константы можно, но числа быстрее и вроде со временем понятнее (но на константы нужно переходить, хоть это и медленнее, качество кода поднимется)
"нет разницы между getSizeScreen и getScreenResolution" - бред, это код и он должен быть качественным, даже если это всего лишь имена функций. Можете еще poluchitRazmerEkrana сделать, так вообще все русскоязычные поймут без документации.
Про сокращения - имхо зло. Я все еще считаю главным минусом сишки то, что в стандартной библиотеке есть функции с ужасными именами типа strcpy.

Re: Названия системных функций

Posted: Sun Dec 13, 2015 12:49 am
by ALEXS1983
e-andrew wrote:Можете еще poluchitRazmerEkrana сделать, так вообще все русскоязычные поймут без документации.
А ты думаешь, что если однажды, кто-то хорошенько займётся такой идей, так она окажется провальной ? - Я так не думаю! :-)

Re: Названия системных функций

Posted: Sun Dec 13, 2015 1:00 am
by ALEXS1983
e-andrew, я тебе больше скажу! В наше прогрессивное время ЯВУ должны быть как минимум (как минимум, подчёркиваю!!!) - я набираю на клавиатуре то, что хочу сделать, а ЯВУ переводит в команды, т.е. если я набираю "получить размер экрана", причём на любой раскладке клавиатуры, причём даже с ошибками и любым языком, а компилятор это должен перевести в команду! Может даже и не в одну команду, а в несколько или даже, целую процедуру и т.д.
А в более лучшем случае, - я по пишу программу, диктуя её по микрофону, нормальным человеческим языком! Во как! Вот это можно бы было назвать прогрессом! И все эти дельфи, сишки и прочее, можно бы было выкинуть на мусорку, за ненадобностью!

Re: Названия системных функций

Posted: Sun Dec 13, 2015 2:14 am
by Pathoswithin
Что-то люди совсем не замечают, что эта тема в разделе ЯВУ.

ALEXS1983
Обнови sysfuncs.txt, выложи KOSfuncs.inc файлом, я подправлю, потом посмотрят те, кому не пофиг. Будет утверждено когда зальём на SVN.

Re: Названия системных функций

Posted: Sun Dec 13, 2015 3:19 am
by Ray
Мне не пофиг. Но мне надоело бодаться с говнокодерами и питросянами ("люто" в системной документации - facepalm). Люди просто не хотят учиться. Не знают английского "colour" и т.д., да и с русским плохо. Не знают общепризнаных методов именования (константы пишутся в апкейсе через подчеркивания, функции в кэмель кейсе, паскаль кейсе или даун кейсе через подчеркивания). Не читают книг умных людей и не желают расти над собой. Не слушают советов, а пытаются навязать свою точку зрения любой ценой. Заливают на свн и в общедоступную сборку нерабочий, а порой и явно опасный неоттестированный код. И эти люди пишут и "утверждают" (сами с собой) системную документацию, системные же библиотеки, код ядра и т.д ., т.е. по сути определяют суть системы как набор г от гкодеров, перечеркивая труды всех тех людей, которые работали над ней ранее и старались сделать её как можно лучше и качественнее. Это все равно, что колхознику доверить руководство государством.
Я считаю, что для спасения системы нужно назначить комитет грамотных и уважаемых программистов, которые будут будут контролировать процесс принятия правок в систему.

Re: Названия системных функций

Posted: Sun Dec 13, 2015 5:55 am
by Yason
Да-да. Вот-вот.

Re: Названия системных функций

Posted: Sun Dec 13, 2015 9:55 am
by ALEXS1983
Pathoswithin wrote: Обнови sysfuncs.txt, выложи KOSfuncs.inc файлом, я подправлю, потом посмотрят те, кому не пофиг. Будет утверждено когда зальём на SVN.
ОЙ! :-) Шото как-то это мне не совсем понятно! Обнови?! Что обновить!? СЕБЕ обновить sysfuncs.txt скачав с SVN?! Или МНЕ в что-то прописывать в sysfuncs.txt ?! Как ?! Что?! После каких строк ?! и т. д. не очень-то это всё понимаю ?!
Я вижу такие варианты рассмотрения и утверждения:
1 Вариант:
Я бы это всё делал так:
Во первых всё разбиваем на части. т. е. Рассматриваем функции 1-10. Выкладываю их сюда в тему. Далее, дискуссия, предложения, правки. Я их учитываю, вношу, выкладываю еще раз (в «спойлер»), и после того как никаких возражений нет, я выкладываю сюда архив nsf.7z в котором будет файл nsf01-10.txt, с содержанием функций с 1 по 10 которые уже со всем окончательными правками. По ходу, с процессом правок 1-10 функций, добавляю новые функции с 11-18, и занимается правками их, после окончательных правок выкладываю сюда архив nsf.7z, который содержит уже nsf01-10.txt и nsf11-18.txt, т.е каждый следующий архив будет содержать всё предыдущее, так сказать готовое! И уж после обработки всех абсолютно функций и правок над ними, занимаемся KOSfuncs.inc. Думаю когда всё готово, то всё это перенести в KOSfuncs.inc не составит труда!
2 вариант:
Для меня наверное он лучше, чем первый. Вопрос в том, захочешь ли ты, Pathoswithin, так делать. Я выкладываю черновой перевод нескольких функций, рассматриваем, обсуждаем и правим, ты вносишь это всё в файл KOSfuncs.inc, который каждый раз выкладываешь, сюда в тему, после очередных изменений, чтобы все видели результат всего достигнутого и доведённого «до ума».
Вот только большая просьба KOSfuncs.inc должен быть не «лысый» как вот здесь: http://websvn.kolibrios.org/filedetails ... c#line-115
а с «лёгким» описанием (комментариев) в каждой строке вот так вот:
«CreateWindow equ     0 ; - Функция 0 - определить и нарисовать окно.»
или «CreateWindow equ     0 ; - определить и нарисовать окно.», как тебе будет удобнее.
Всё таки делаем для всех, а не только для себя любимых, :-) которые и без описания всё поймут. Тем более я, черновики выкладывать буду с такими же описаниями, а не просто с номерком.
Pathoswithin, если ты не согласен, ни с первым, ни со вторым вариантом, напиши свой, чётко и понятно мне.
Жду ответа. :-)

P.S. А вот теперь мне очень интересно: как ты собираешься к цифре «привызывать» функции имеющие подфункции и подподфункции ? (например функция 18)
Усё! «Приплыли»! Всё вот это:
Spoiler:TerminatProcessThread - Функция 18, подфункция 2 - завершить процесс/поток по слоту.
ActiveWindowThread - Функция 18, подфункция 3 - сделать активным окно заданного потока.
GetTactsSec - Функция 18, подфункция 4 - получить счётчик пустых тактов в секунду.
GetCPUclockRate - Функция 18, подфункция 5 - получить тактовую частоту.
RDtoHDD - Функция 18, подфункция 6 - сохранить рамдиск в файл на жёстком диске.
GetNumbActiveWindow - Функция 18, подфункция 7 - получить номер активного окна.
Speaker - Функция 18, подфункция 8 - отключить/разрешить звук спикера.
InfoSpeaker - Функция 18, подфункция 8 - отключить/разрешить звук спикера. Подподфункция 1 - получить состояние
SwitchSpeaker - Функция 18, подфункция 8 - отключить/разрешить звук спикера. Подподфункция 2 - переключить состояние.
shutdownSysParam - Функция 18, подфункция 9 - завершение работы системы с параметром. =
WindowMinimize - Функция 18, подфункция 10 - свернуть окно приложения.
InfoDiscSubSys - Функция 18, подфункция 11 Получить информацию о дисковой подсистеме.
VerKernel - Функция 18, подфункция 13 - получить версию ядра.
waitScreenRetrace - Функция 18, подфункция 14 Ожидать начала обратного хода луча развёртки монитора.
CursorMouseCentrScreen - Функция 18, подфункция 15 - поместить курсор мыши в центр экрана
GetSizeFreeRAM - Функция 18, подфункция 16 Получить размер свободной оперативной памяти.
GetSizeFullRAM - Функция 18, подфункция 17. Получить размер имеющейся оперативной памяти.
TerminatProcessThreadID - Функция 18, подфункция 18 Завершить процесс/поток по идентификатору.
GetMouseSpeed - Функция 18, подфункция 19 - получить/установить настройки мыши. Подподфункция 0 - получить скорость мыши.
SetMouseSpeed - Функция 18, подфункция 19 - получить/установить настройки мыши. Подподфункция 1 - установить скорость мыши.
GetMouseDelay - Функция 18, подфункция 19 - получить/установить настройки мыши. Подподфункция 2 - получить задержку мыши.
SetMouseDelay - Функция 18, подфункция 19 - получить/установить настройки мыши. Подподфункция 3 - установить задержку мыши.
SetMousePos - Функция 18, подфункция 19 - получить/установить настройки мыши. Подподфункция 4 - установить положение курсора мыши.
SimulMouseKey - Функция 18, подфункция 19 - получить/установить настройки мыши. Подподфункция 5 - симулировать состояние клавиш мыши.
вылетает «втрубу» ? Можно даже не выкладывать функции с подфункциями, их черновой перевод сюда ?
А я ведь предлагал «не заморачиваться» на присвоении номерка к функции! Я предлагал абстрактно присвоит имя (КЛЮЧЕВОЕ ИМЯ), к функциям и подфункиям, без всяких номерков (цифр, констант). Ну да ладно.... :-) себе любимому утвержу, сам в своих шаблонах, «привязываясь» к тому, что уже будет!

Re: Названия системных функций

Posted: Sun Dec 13, 2015 1:05 pm
by ALEXS1983
Ray wrote:Мне не пофиг. Но мне надоело бодаться с говнокодерами и питросянами ("люто" в системной документации - facepalm). Люди просто не хотят учиться. Не знают английского "colour" и т.д., да и с русским плохо. Не знают общепризнаных методов именования (константы пишутся в апкейсе через подчеркивания, функции в кэмель кейсе, паскаль кейсе или даун кейсе через подчеркивания). Не читают книг умных людей и не желают расти над собой. Не слушают советов, а пытаются навязать свою точку зрения любой ценой. Заливают на свн и в общедоступную сборку нерабочий, а порой и явно опасный неоттестированный код. И эти люди пишут и "утверждают" (сами с собой) системную документацию, системные же библиотеки, код ядра и т.д ., т.е. по сути определяют суть системы как набор г от гкодеров, перечеркивая труды всех тех людей, которые работали над ней ранее и старались сделать её как можно лучше и качественнее. Это все равно, что колхознику доверить руководство государством.
Я считаю, что для спасения системы нужно назначить комитет грамотных и уважаемых программистов, которые будут будут контролировать процесс принятия правок в систему.
Если это "камни" или намёки в мою сторону, то должен сказать следующее:
Так а я и не против! Эй, кто тут умные ?... Где вы умные спрятались, то ?... :-)
У меня к вам вопросы:
вот, я дурак такой, коснулся, того, что всё таки нужны названия функциям!... так нужны? или не нужны?... если нужны, то - где они написаны ? Если нету их написанных, то почему мне никто не скажет "подожди сейчас сделаем (сами сделаем!) и выложим, а ты только бери и пользуйся" ?
Почему когда я уже создал тему слышу какие-то критики в мою сторону, явно не по делу ?! Т.е. критикуй мнение, а не его автора! Вот есть имена "придуманные" мной (или кем-то), - критикуй их! Или предложи, что-то получше! Или скажи: "Давайте я займусь этой темой и всё будет в лучшем виде!", - я лично не против!
Или ты, Ray, выбрал самую удобную позицию?!- Т.е. я только критикую... с меня взятки гладки... неправильно предложенные имена, это не я ведь предлагал... я,захотел вообще в "сторону отошёл", - "чихать" я хотел, чего они там "напринимают"... а после всего скажу, что "мне не пофиг было!... но доверили это безграмотному!... а теперь я даже и смотреть не желаю, на те имена!... не то, чтобы их использовать!"
Ray, так понимать твою позицию ?
========================
Ребята, значит, так! Я, дальнейшее движение этой темы вижу в следующих вариантах:
1. Либо веду её я, но никто не делает мне, как личности, никаких упрёков, намёков, не "кидает камней" в мою сторону, не высмеивает меня, как автора "придуманных" имён, и т.д.
либо:
2. Либо пусть ведёт эту тему, кто-то другой, например, - Ray. Мне всё равно кто именно!
либо:
3. Если будет продолжение, того, что сейчас, - намёки, "камни" и другое, которые явно не по делу и не по теме, оставляю за собой право, "плюнуть" на это всё, так как тема создана для обсуждения имен процедур, а обсуждается почему-то, автор темы, автор предложенных имён функциям, а не сами имена функций.

Re: Названия системных функций

Posted: Sun Dec 13, 2015 3:23 pm
by Ray
Ты уверен, что прочитал и понял всё сообщение, а не через строчку? Если коротко, то нет имена сис. функциям в предлагаемом виде не нужны. Велиант написал уже почему, повторять нет смысла.
Обсуждать имена функций? Да я их читал, теперь на башорг могу неделю не заходить.
СохраниПамятьнаФлоппи, *СпинаЭкран, АктивноеОкноТечение, ВыбериСпикер, ВерьЯдро и т.д. А вот моё любимое(видимо специально для меня:)) ПодождиПрилетиНазадRay !

Re: Названия системных функций

Posted: Sun Dec 13, 2015 3:50 pm
by ALEXS1983
Ray wrote:Да я их читал, теперь на башорг могу неделю не заходить.
СохраниПамятьнаФлоппи, *СпинаЭкран, АктивноеОкноТечение, ВыбериСпикер, ВерьЯдро и т.д. А вот моё любимое(видимо специально для меня:)) ПодождиПрилетиНазадRay !
Ага, а вот например, в том же, С++ , в начале строки "void", звучит ну так красиво, ну так понятно, что и вопросов ни у кого не возникает о его значении.... :-) И в дельфи всё понятно, да ?... и а асме ведь команды красиво звучащие, например, - popa.... :-)

Знаешь, ты прав, не надо ходить на башорг, можно изучая какую нибудь среду программирования, переводя (сокращенные) имена и команды, смеяться долго и нудно. :-) А когда станет не над чем смеяться, - перейти к другой среде программирования. Так языки программирования изучишь, и на хахочешся вдоволь! :-)
(вырезка из рекомендаций по эффективному изучению языков программирования :-) )

Re: Названия системных функций

Posted: Sun Dec 13, 2015 4:53 pm
by Ray
Дело не в сокращениях(хотя и в них бывает), а в незнании языка, результат известен.
void нормальное наименование.
Да popall было бы лучше.)
Спасибо за совет, языков программирования я знаю немало и так (в том числе и любимый кое-кем Паскаль, хотя и не писал на нем уже 100 лет).
Рекомендация по эффективному изучению языков за чьим авторством?

Re: Названия системных функций

Posted: Sun Dec 13, 2015 5:09 pm
by Pathoswithin
Ray
Я считаю, что для спасения системы нужно назначить комитет грамотных и уважаемых программистов
Я тоже считаю, что некая иерархия не помешала бы. Только угадай, на каком месте в ней будешь ты. Ещё совсем недавно yogev_ezra красил в тёмно-зелёный любителей поумничать и ничего полезного не делать. А CleverMouse даже банила когда-то, чтоб полезным "говнокодерам и питросянам" не приходилось бодаться с такими, как ты.
языков программирования я знаю немало
:roll: ... не верю, чем докажешь?

ALEXS1983
Я обновил документацию по сисфункциям 18.19, скачай новый sysfuncs.txt.
Сомневаюсь, что тут будет так много спорных названий, что стоит утверждать по частям, лучше всё сразу в стиле:

GetScreenSize = 14 ; получить размеры экрана
Background = 15
;подфункции:
SetSize = 1 ; установить размер фонового изображения
PutPixel = 2
Refresh = 3
SetMode = 4
PutImage = 5
Map = 6
Unmap = 7 ; закрыть проекцию данных фона на адресное пространство процесса

RDtoFloppy = 16 ; сохранить рамдиск на дискету
GetButton = 17 ; получить код нажатой кнопки

Тогда можно будет писать:
mcall Background, Refresh

Только может стоит комментарии писать на английском.