Re: lug-bg: PREVOD
- Subject: Re: lug-bg: PREVOD
- From: George Danchev <danchev@xxxxxxxxx>
- Date: Mon, 11 Oct 2004 13:39:30 +0300
On Monday 11 October 2004 10:56, Peter Pentchev wrote:
> 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).
Е не мога да не посоча защо "файлове с декларации" е непълно и вместо feature,
but bug определение;-) и въобще защо не трябва да се описва какво може да има
в заглавния файл, защото освен декларации може да имаме и други работи, а
може и въобще да нямаме декларация. Добре е да се описва как се използва или
къде, а не какво съдържа защото е много съмнителен, неясен, неопределен.
Ми абсолютно по правилата мога да си напиша заглавен файл съдържащ _само_
няколко макроса дефиниращи няколко машинно зависими константи (примерно) и
това е, никакви функции, никакви декларации ;-)
#define CNST1 12
#define CNST2 155556453
е мога да боцна (или вложа) и други директиви на предпроцесора, вкл. и
#include ;-)
> Ммм.. то това и сега си е така - не толкова за дефиницията, колкото за
> мноооого по-честия случай на *използване* на функцията. За компилатора
> е много по-лесно (а в много проекти дори стандартите за писане на код го
> изискват) да е видял прототип на функцията, преди да си я използвал,
> така че да може веднага да прецени 1. дали си дал правилен брой
> параметри, 2. дали трябва да прави някакви конверсии (sign extending и
> т.н.) с параметрите, които си дал, и 3. дали изобщо *може* да направи
> конверсиите, или му подаваш ябълка на мястото на портокал. Заглавните
> файлове се използват мнооооого по-рядко като пролог за *дефиниране* на
> функция, отколкото като пролог за *използването* й - както и точно в
> този случай, когато става дума за превод на текст, изваден от info pages
> на стандартната библиотека на C - такъв текст най-вероятно ще го чете
> човек, който ще използва библиотеката, а не такъв, който ще я дописва :)
>
> Така че дори и за функции е важно заглавните файлове да са в самото
> начало на програмата (след като предпроцесорът я обработи); а май няма
> нужда изобщо да споменавам дефинираните в тях константи или типове :)
>
> > Още по правилно щеше да е, ако се казваха интерфейсни файлове (защото
> > практически за това се ползват), ама какво да се прави, тежко
> > наследство ...
>
> Мдам, интерфейсен файл наистина би било малко по-точно, но няма да
> отговаря много на философията на езика (в случая имам предвид C :)
>
> Между другото, някой учил ли е Ada или Modula-2/3 по материали на
> български език, или писал ли е материали на български за
> Ada/Modula-2/Modula-3, и може ли да каже дали там си се употребява
> терминът 'интерфейс', както би трябвало да бъде? (в тези езици и на
> английски тези файлове си се наричат интерфейсни или просто интерфейси)
интерфейсен мда - май не се сещам да шарва namespace или meaning с нещо друго.
Другото за което се сещам е да се преведе в съответствие със самата директива,
демек 'включван файл' , щото това е което прави предпроцесора, вместо
директивата слага съдържанието на включвание файл.. Обаче няма смисъл да
откриваме нови планети .... Незнам дали още Керниган и Ричи са дали
наименованието 'header' , но са били и ще си останат вечно damn
right/precise ! Освен това директния превод на тази дума в българския език е
'заглавен', при което обратния превод пак към английски ще е header, а не от
деклариращ файл потребителя да си го връща обратно като declaration file или
нещо подобно което ще го метне директно на върбата оттатък реката.
п.с. пак да кажа документите които цитирах в преден мейл са писани от титани
на превода на технически/компютърни термини, поне за мен. Това не са
преводачи от битов английски език ;-)
--
pub 4096R/0E4BD0AB 2003-03-18 <keyserver.bu.edu ; pgp.mit.edu>
fingerprint 1AE7 7C66 0A26 5BFF DF22 5D55 1C57 0C89 0E4B D0AB
============================================================================
A mail-list of Linux Users Group - Bulgaria (bulgarian linuxers).
http://www.linux-bulgaria.org - Hosted by Internet Group Ltd. - Stara Zagora
To unsubscribe: http://www.linux-bulgaria.org/public/mail_list.html
============================================================================
|