Re: lug-bg: PREVOD
- Subject: Re: lug-bg: PREVOD
- From: Peter Pentchev <roam@xxxxxxxxxxx>
- Date: Mon, 11 Oct 2004 10:56:13 +0300
On Sat, Oct 09, 2004 at 01:19:58AM +0300, Vasil Kolev wrote:
> На сб, 2004-10-09 в 00:09, George Danchev записа:
> > On Saturday 09 October 2004 00:38, dpp wrote:
> ....
>
> Всъщност, проблема идва най-вече от това, че и термина на аглийски е
> адски подвеждащ - фактически нищо заглавно няма в header файловете,
Напротив, съвсем заглавни са си, виж по-долу :) Е, заглавни именно в
смисъл, че трябва да се сложат най-отгоре, както и се получава, когато
предпроцесорът ти обработи директивата #include, която слагаш обикновено
най-отгоре в .c файла :)
> и е много по-правилно да се каже, че са файлове с декларации или нещо
> подобно, само дето термина е останал (изглежда) от дните, когато първо
> трябва да си дефинирап _най-огторе_ прототипа, и после да си дефинираш
> отделно функцията (Паскала правеше така с unit-ите, имаше Interface и
> после Implementation).
Ммм.. то това и сега си е така - не толкова за дефиницията, колкото за
мноооого по-честия случай на *използване* на функцията. За компилатора
е много по-лесно (а в много проекти дори стандартите за писане на код го
изискват) да е видял прототип на функцията, преди да си я използвал,
така че да може веднага да прецени 1. дали си дал правилен брой
параметри, 2. дали трябва да прави някакви конверсии (sign extending и
т.н.) с параметрите, които си дал, и 3. дали изобщо *може* да направи
конверсиите, или му подаваш ябълка на мястото на портокал. Заглавните
файлове се използват мнооооого по-рядко като пролог за *дефиниране* на
функция, отколкото като пролог за *използването* й - както и точно в
този случай, когато става дума за превод на текст, изваден от info pages
на стандартната библиотека на C - такъв текст най-вероятно ще го чете
човек, който ще използва библиотеката, а не такъв, който ще я дописва :)
Така че дори и за функции е важно заглавните файлове да са в самото
начало на програмата (след като предпроцесорът я обработи); а май няма
нужда изобщо да споменавам дефинираните в тях константи или типове :)
> Още по правилно щеше да е, ако се казваха интерфейсни файлове (защото
> практически за това се ползват), ама какво да се прави, тежко
> наследство ...
Мдам, интерфейсен файл наистина би било малко по-точно, но няма да
отговаря много на философията на езика (в случая имам предвид C :)
Между другото, някой учил ли е Ada или Modula-2/3 по материали на
български език, или писал ли е материали на български за
Ada/Modula-2/Modula-3, и може ли да каже дали там си се употребява
терминът 'интерфейс', както би трябвало да бъде? (в тези езици и на
английски тези файлове си се наричат интерфейсни или просто интерфейси)
> Затова май е най-добре да се придържаме към header, като се правят
> грешки и мазаници, поне да са малко на брой, да не се опитваме да
> преведем и без това грешен термин ...
Пффффт. Тук не съм съгласен - според мен терминът не е точно грешен, а
по-скоро леко охудожествен (като ще ковем нови думи/термини ;) - ама
както и да е :)
Поздрави,
Петър
--
Peter Pentchev roam@xxxxxxxxxxx roam@xxxxxxxx roam@xxxxxxxxxxx
PGP key: http://people.FreeBSD.org/~roam/roam.key.asc
Key fingerprint FDBA FD79 C26F 3C51 C95E DF9E ED18 B68D 1619 4553
If the meanings of 'true' and 'false' were switched, then this sentence wouldn't be false.
Attachment:
pgptp7WZIPk4d.pgp
Description: PGP signature
|