Кто придумал слово дескриптор?
От: Фанатик Ад http://vk.com/id10256428
Дата: 19.05.10 17:57
Оценка: :)
В очередной раз слышу "ф-я CreateFile ... возвращает дескриптор..."

describe вроде бы как описывать, descriptor — описатель.

Соотвественно я не понимаю что такое описатель, и как функция создания чего либо может возвращать описатель. (CreateFile вроде бы как создаёт объект ядра). В MSDN совершенно чётко написано — handle, т.е. рукоятка. Рукоятка для управления/использования объект(ом/а).
Всё сказанное выше — личное мнение, если не указано обратное.
Re: Кто придумал слово дескриптор?
От: LaptevVV Россия  
Дата: 19.05.10 18:10
Оценка:
Здравствуйте, Фанатик, Вы писали:

Ф>В очередной раз слышу "ф-я CreateFile ... возвращает дескриптор..."


Ф>describe вроде бы как описывать, descriptor — описатель.


Ф>Соотвественно я не понимаю что такое описатель, и как функция создания чего либо может возвращать описатель. (CreateFile вроде бы как создаёт объект ядра). В MSDN совершенно чётко написано — handle, т.е. рукоятка. Рукоятка для управления/использования объект(ом/а).

Да просто с адекватным переводом — сплошные косяки... Тут — как у собак: все понимаю, а выразить (адекватно и правильно) не могу...
Хочешь быть счастливым — будь им!
Без булдырабыз!!!
Re: Кто придумал слово дескриптор?
От: мыщъх США http://nezumi-lab.org
Дата: 19.05.10 18:18
Оценка: :)
Здравствуйте, Фанатик, Вы писали:

Ф>В очередной раз слышу "ф-я CreateFile ... возвращает дескриптор..."

Ф>describe вроде бы как описывать, descriptor — описатель.
Ф>Соотвественно я не понимаю что такое описатель,
в information science -- абстрактная сущность, физическая сущеность которой скрыта и которая применяется для управления объектами (только не спрашивайте меня что такое объекты

> и как функция создания чего либо может возвращать описатель.

дескриптор вполне окейный термин, понимаете которого упрощает программирование. кстати, основа ООП как ни крути. возвращаем дескрипиор некой физической сущности имплементация которой скрыта. дескрипиор может быть типом int, а "унутренне" структурой данных на пару кил.

> (CreateFile вроде бы как создаёт объект ядра).

именно что "вроде бы". вам этого никто не обещал. это сегодня объект ядра. завтра этот объект задвинут на прикладной уровень. а после завтра он станет хранится на сервере гугла и ядро снова знать о нем не будет. а функция продолжит возвращать дескриптор файла

> В MSDN совершенно чётко написано — handle, т.е. рукоятка.

мать моя женища. HANDLE это такой тип данных. HANDLE является дескриптором в данном случае, но дескрипиор не является хэндлом. (попутно: я не понимаю, кто придумал такое глупое слово как человек? вот у меня в паспорте написано: вася иванов, пол мужской.)

> Рукоятка для управления/использования объект(ом/а).

ну и? man open — там int, а не handle, но это дескриптор. и концепция _точно_ _такая_ же. кстати, HANDLE тоже как бы int
americans fought a war for a freedom. another one to end slavery. so, what do some of them choose to do with their freedom? become slaves.
Re: Кто придумал слово дескриптор?
От: dilmah США  
Дата: 19.05.10 18:20
Оценка: :)
Ф>Кто придумал слово дескриптор?

в unix они есть. В multics их нет (вернее, имеют совсем другое значение).

Ф>Соотвественно я не понимаю что такое описатель, и как функция создания чего либо может возвращать описатель.


ну, дескрипторы это целые числа. Я плохо себе представляю, как целое число можно назвать рукояткой.
Re[2]: Кто придумал слово дескриптор?
От: мыщъх США http://nezumi-lab.org
Дата: 19.05.10 18:28
Оценка:
Здравствуйте, LaptevVV, Вы писали:

LVV>Здравствуйте, Фанатик, Вы писали:


Ф>>В очередной раз слышу "ф-я CreateFile ... возвращает дескриптор..."

LVV>Да просто с адекватным переводом — сплошные косяки... Тут — как у собак: все понимаю, а выразить (адекватно и правильно) не могу...
а оно и без перевода. скажем, даже у никсов. open — дескриптор, dlopen — handle. сплошная путаница в терминологии. но у никсов хотя бы нет типа handle, потому там эти слова можно использовать как синонимы. в виндах есть тип handle, правда есть путаница как его использовать. ведь даже не всякий handle можно закрыть одноименной функцией потому как у handle модуля это не объект ядра, а его адрес. и все унификация работы с handle летит к черту.

а если это еще и перевести... тут вообще вешалка. тем более мне не известен ни один прямой перевод на русский. ну handle не переводится однозначно и говорить что возвращаем ручку или рукоядку это посмешие. дескриптор хотя бы переводтся более менее понятным "описателем".
americans fought a war for a freedom. another one to end slavery. so, what do some of them choose to do with their freedom? become slaves.
Re[2]: Кто придумал слово дескриптор?
От: мыщъх США http://nezumi-lab.org
Дата: 19.05.10 18:32
Оценка:
Здравствуйте, dilmah, Вы писали:


Ф>>Кто придумал слово дескриптор?

D>в unix они есть. В multics их нет (вернее, имеют совсем другое значение).
Ф>>Соотвественно я не понимаю что такое описатель, и как функция создания чего либо может возвращать описатель.
D>ну, дескрипторы это целые числа. Я плохо себе представляю, как целое число можно назвать рукояткой.
1) про целые числа — это уже имплементация. она может быть и скрыта. это может быть и индекс в таблице, и указатель на, и даже реально магическое значение со сложной внутренней структурой или пошифрованное или скремблированное;

2) ну так оно и есть рукоядка. это то, что торчит наружу. что возвращают/принимают апи функции.
americans fought a war for a freedom. another one to end slavery. so, what do some of them choose to do with their freedom? become slaves.
Re[3]: Кто придумал слово дескриптор?
От: dilmah США  
Дата: 19.05.10 18:40
Оценка:
М>1) про целые числа — это уже имплементация. она может быть и скрыта. это может быть и индекс в таблице, и указатель на, и даже реально магическое значение со сложной внутренней структурой или пошифрованное или скремблированное;

если конкретно в юниксе, то это стандартизовано, что это целые int. слишком много кода на это завязано.
Re[3]: Кто придумал слово дескриптор?
От: netch80 Украина http://netch80.dreamwidth.org/
Дата: 19.05.10 18:54
Оценка:
Здравствуйте, мыщъх, Вы писали:

Ф>>>В очередной раз слышу "ф-я CreateFile ... возвращает дескриптор..."

LVV>>Да просто с адекватным переводом — сплошные косяки... Тут — как у собак: все понимаю, а выразить (адекватно и правильно) не могу... :)
М>а оно и без перевода. скажем, даже у никсов. open — дескриптор, dlopen — handle.

В Posix — да, handle. А вот во freebsd'шном мане, например, тоже descriptor.

М> сплошная путаница в терминологии. но у никсов хотя бы нет типа handle, потому там эти слова можно использовать как синонимы. в виндах есть тип handle, правда есть путаница как его использовать. ведь даже не всякий handle можно закрыть одноименной функцией потому как у handle модуля это не объект ядра, а его адрес. и все унификация работы с handle летит к черту.


М>а если это еще и перевести... тут вообще вешалка. тем более мне не известен ни один прямой перевод на русский. ну handle не переводится однозначно и говорить что возвращаем ручку или рукоядку это посмешие. дескриптор хотя бы переводтся более менее понятным "описателем".


Ну вот потому жаргон и процветает.
The God is real, unless declared integer.
Re[2]: Кто придумал слово дескриптор?
От: netch80 Украина http://netch80.dreamwidth.org/
Дата: 19.05.10 19:02
Оценка:
Здравствуйте, dilmah, Вы писали:

D>в unix они есть. В multics их нет (вернее, имеют совсем другое значение).

Ф>>Соотвественно я не понимаю что такое описатель, и как функция создания чего либо может возвращать описатель.
D>ну, дескрипторы это целые числа. Я плохо себе представляю, как целое число можно назвать рукояткой.

И не к такому привыкают:) Представь себе 100 дверей, у каждой дверная ручка (рукоятка). Теперь понятно, почему и как?;)
The God is real, unless declared integer.
Re: Кто придумал слово дескриптор?
От: FDSC Россия consp11.github.io блог
Дата: 20.05.10 12:22
Оценка:
Здравствуйте, Фанатик, Вы писали:

Ф>В очередной раз слышу "ф-я CreateFile ... возвращает дескриптор..."


Ф>describe вроде бы как описывать, descriptor — описатель.


Ф>Соотвественно я не понимаю что такое описатель, и как функция создания чего либо может возвращать описатель. (CreateFile вроде бы как создаёт объект ядра). В MSDN совершенно чётко написано — handle, т.е. рукоятка. Рукоятка для управления/использования объект(ом/а).


Это вроде термин ещё с времён, когда для работы с файлами использовалось 21 программное прерывание
Re[4]: Кто придумал слово дескриптор?
От: FDSC Россия consp11.github.io блог
Дата: 20.05.10 12:25
Оценка:
Здравствуйте, dilmah, Вы писали:

М>>1) про целые числа — это уже имплементация. она может быть и скрыта. это может быть и индекс в таблице, и указатель на, и даже реально магическое значение со сложной внутренней структурой или пошифрованное или скремблированное;


D>если конкретно в юниксе, то это стандартизовано, что это целые int. слишком много кода на это завязано.


Целое int может указывать на место в памяти, где хранится объект ОС, описывающий, собственно, дескриптор. Одно другому не мешает
Re[2]: Кто придумал слово дескриптор?
От: LuciferSaratov Россия  
Дата: 20.05.10 12:29
Оценка:
Здравствуйте, мыщъх, Вы писали:

М>дескриптор вполне окейный термин


Re: Кто придумал слово дескриптор?
От: Трурль  
Дата: 20.05.10 13:54
Оценка: :))) :))) :))
Здравствуйте, Фанатик, Вы писали:

Ф>В MSDN совершенно чётко написано — handle, т.е. рукоятка. Рукоятка для управления/использования объект(ом/а).


Очевидно, рукоятка четко ассоциируется с граблями.
Re[2]: Кто придумал слово дескриптор?
От: LaptevVV Россия  
Дата: 20.05.10 15:40
Оценка:
Здравствуйте, dilmah, Вы писали:

D>ну, дескрипторы это целые числа. Я плохо себе представляю, как целое число можно назвать рукояткой.

Ну, это нечто, потянув за которое можно "открыть дверь в новый мир"...
Хочешь быть счастливым — будь им!
Без булдырабыз!!!
Re: Кто придумал слово дескриптор?
От: SV.  
Дата: 25.05.10 10:00
Оценка:
Здравствуйте, Фанатик, Вы писали:

Ф>В очередной раз слышу "ф-я CreateFile ... возвращает дескриптор..."


Ф>describe вроде бы как описывать, descriptor — описатель.


Ф>Соотвественно я не понимаю что такое описатель, и как функция создания чего либо может возвращать описатель. (CreateFile вроде бы как создаёт объект ядра). В MSDN совершенно чётко написано — handle, т.е. рукоятка. Рукоятка для управления/использования объект(ом/а).


Как интересно. Не очень давно думал ту же самую мысль.

WinAPI — а именно в этом контексте надо обсуждать то, что возвращает CreateFile — это объектно-ориентированное по духу API, адаптированное к не объектно-ориентированным языкам (читай: Си). Handles для того и используются, чтобы скрыть детали реализации всяких кисточек, перьев и файловых объектов. Они не только ничего не описывают, но наоборот — скрывают. Чтобы получить описание (LOGPEN какой-нибудь), надо его запрашивать. По хэндлу.

Поэтому для меня очевидно, что "рукоятка" лучше, чем "дескриптор". А еще лучше — "ручка". Правда, "ручка" перегружена смыслами, а "рукоятка" — нет, но в нашем случае это не представляет опасности.

Лично я себе представляю ручку от советского телевизора. Или рычаг от КПП. Все скрыто, а наружу выведен кусок пластмассы, за который можно подергать, вызывая изменения. Но что внутри — не узнаешь, пока не разберешь. Говорят, в современных автоматических трансмиссиях рычаг — это такой извращенный способ переключить контакты. Во имя совместимости. Как есть — WinAPI.
Re: Кто придумал слово дескриптор?
От: rfq  
Дата: 02.06.10 16:44
Оценка: 6 (1)
Здравствуйте, Фанатик, Вы писали:

Ф>В очередной раз слышу "ф-я CreateFile ... возвращает дескриптор..."


Ф>describe вроде бы как описывать, descriptor — описатель.


Ф>Соотвественно я не понимаю что такое описатель, и как функция создания чего либо может возвращать описатель. (CreateFile вроде бы как создаёт объект ядра). В MSDN совершенно чётко написано — handle, т.е. рукоятка. Рукоятка для управления/использования объект(ом/а).


Вероятно первое использование этого слова — 1961 год, ЭВМ B5000. Все обращения к памяти вне стека происходят через дескрипторы.
http://en.wikipedia.org/wiki/Burroughs_large_systems
 
Подождите ...
Wait...
Пока на собственное сообщение не было ответов, его можно удалить.