Ағылшыншамен салыстырыңыз: абзацты басыңыз — түпнұсқа терезеде ашылады. Абзац астындағы EN түймесі оны мәтін ішінде көрсетеді.
Мазмұны
Кіріспе
rn (Read News) - Ларри Уолл жазған және 1984 жылы шыққан жаңалықтар клиенті (немесе 'newsreader'). Бұл таңбалық адрестеуге қолдау көрсеткен CRT терминалдарының мүмкіндіктерін толыққанды пайдаланған алғашқы жаңалықтар оқырмандарының бірі болды (Кеннет Алмквисттің vnews бағдарламасы бұрын шыққан). Алдыңғы readnews сияқты жаңалықтар оқырмандары көбінесе жолға бағытталған және Usenet бағдарламалық жасақтамасы мен желісі пайда болған алғашқы Unix мини-компьютерлерінде жиі қолданылатын баспа терминалдары үшін жасалған. Бастапқы rn бағдарламасының кейінгі түрлеріне rrn, trn және strn жатады.
rn (short for Read News) is a news client (or 'newsreader') written by Larry Wall and originally released in 1984. It was one of the first newsreaders to take full advantage of character addressable CRT terminals (vnews, by Kenneth Almquist was first). Previous newsreaders, such as readnews, were mostly line oriented and designed for use on the printing terminals which were common on the early Unix minicomputers where the Usenet software and network originated. Later variants of the original rn program included rrn, trn, and strn.
Ерекшеліктері
rn-нің тағы үш ерекшелігі болды: KILL файлдары, «дұрыс іс жасау» және автоматты конфигурация. KILL файлы – бұл файл (әдетте, сәйкесінше, деп аталады), әр топтағы жаңалықтар мақалаларының тақырыптарымен сәйкес келетін тұрақты өрнектерден тұрады; егер мақала сәйкес келсе, ол бұрын оқылған деп белгіленеді. Бұл мүмкіндік өте маңызды болды, өйткені Usenet-тің өсуі шектеулі жаңалық топтарының тіпті әрбір мақаласын оқуды да мүмкін емес етті. «Дұрыс іс жасау» – бұл бұрынғы жаңалықтар бағдарламалық жасақтамасының пайдаланушы интерфейсі моделіндегі түбегейлі өзгеріс; пайдаланушыларға мәзірлерді аралауды немесе бағдарламаның әрбір жұмыс режимі үшін ерекше команда сөздіктерін жаттауды талап етудің орнына, белгілі бір бір пернелі командалар пайдаланушы интерфейсінде қайталанып, қолдағы тапсырмаға ең орынды функцияны орындады. Бұл командалардың ең маңыздысы бос орын болды, ол «келесіге өту» дегенді білдірді, мұндағы «келесі» – келесі бет, келесі мақала немесе келесі жаңалық тобы болуы мүмкін, бұл пайдаланушының жаңалықтарды оқу процесінде қайда екеніне байланысты. Соңында, автоматты конфигурация – жүйе әкімшілері үшін арналған мүмкіндік, ол пайдаланушыларға көрінбейді. Unix бағдарламаларының көпшілігі, әсіресе Usenet бағдарламалық жасақтамасының барлығы бастапқы код түрінде таратылды. Unix жүйелерінің әртүрлі өндірушілері (және көп жағдайда Unix бағдарламалық жасақтамасының әртүрлі нұсқалары) маңызды функциялар үшін сәл әртүрлі мінез-құлық пен атауларды іске асырғандықтан, жүйе әкімшісінің осы айырмашылықтарды ескере отырып, бағдарламаның орындалатын файлдарын құру үшін бастапқы кодты өңдеуге жеткілікті бағдарламалау тәжірибесі болуы қажет болды. Көбінесе, сақ бағдарламашы оларды бір бастапқы код файлында жинақтаған болар еді, бірақ бәрібір қолмен өңдеу қажет болатын. rn бұл жағдайды өзгертіп, компьютерлік жүйені тексеруге және белгілі функциялар мен интерфейстердің қандай мінез-құлықты қолдайтынын анықтауға жеткілікті интеллектіге ие болған скриптты қосты. Бүгінде көптеген ашық кодты бағдарламалық жасақтамалар autoconf сияқты ұқсас скриптпен таратылады.
rn was also notable for three other features it introduced: KILL files, "do the right thing", and automatic configuration. The KILL file was a file (called, obviously enough, ) containing regular expressions matched against the subjects of news articles in each group; if an article matched, it would be marked as having already been read. This feature proved essential as the growth of the Usenet made it impossible to read every article in even a limited selection of newsgroups. "Do the right thing" was a fundamental change in the user interface model of previous news software; rather than requiring users to navigate menus or learn a distinct command vocabulary for every operating mode of the program, certain single keystroke commands were repeated throughout the user interface, performing the most obviously appropriate function for the task at hand. The most important of these commands was the space character, which means "go on to the next thing", where the next thing could be the next page, the next article, or the next newsgroup, depending on where the user was in the process of reading news. Finally, automatic configuration was a feature for system administrators, not visible to users. Most Unix programs, and in particular all of the Usenet software, were distributed in source code form. Because different vendors of Unix systems (and in many cases, different versions of the Unix software) implemented slightly different behavior and names for important functions, a system administrator was required to have sufficient programming expertise to edit the source code before building the program executables to account for these differences. A particularly considerate programmer might have centralized these in a single source code file, but it still required manual editing. rn changed that by including a script called , which had enough intelligence on its own to examine the computer system it was running on and determine, of those functions and interfaces known to behave differently, which behavior the system implemented. Today, most open source software is distributed with a similar script, such as autoconf.
Тарих
Барлық бастапқы жаңалықтар оқырмандары мен Usenet бағдарламалық жасақтамасы сияқты, rn үлкен уақытты бөлісетін шағын компьютерлер үшін жасалған. Пайдаланушылар тікелей машинаға қосылған терминалдар арқылы оған қол жеткізіп, тек баяу және қымбат қоңыраулы модем арқылы қолжетімді желілерді пайдаланатын. Барлық жаңалық топтарының мақалалары жергілікті дискідегі файлдарда сақталған ("жаңалықтар шпулі" деп аталады), ал rn оларды пайдаланушыға көрсету үшін тікелей оқи алатын. Жергілікті желілер кеңінен таралған кезде, әкімшілер мен пайдаланушылар жаңалықтар шпуліне қашықтан қол жеткізуді қалады, содан NNTP, яғни Желілік жаңалықтарды беру протоколы, осы қажеттілікті қанағаттандыру үшін әзірленді. Стэн О. Барбер Бейлор медицина колледжінде жұмыс істеген кезде, rn-нің қашықтағы нұсқасын (rrn) жасады, ол rn-ге қосымша жиынтығы болып табылады. Ол rn-ге жергілікті (немесе тіпті кең аймақтық) желі арқылы NNTP серверімен байланыс орнатуға мүмкіндік берді. Кейін Барбер Ларри Уоллдан rn-ді күтіп ұстау жауапкершілігін алды. Жаңалықтар көлемі арта түскенде, тіпті KILL файлдарының да пайдаланушылар мен мақалалардың көп санымен күресе алмайтыны анық болды. Жаңа тұжырым, яғни тақырыптық жаңалықтар оқырманы қажет болды, себебі пайдаланушылар біртіндеп "көп оқып, аздап жоюдан" "көпті назарсыз қалдырып, аздап оқуға" көшті. Жаңалықтар тобындағы мақалаларды талқылау тақырыптары бойынша ұйымдастырып, Usenet мақалаларында бұрыннан бар, бірақ іс жүзінде пайдаланылмаған тақырыптарды қолдану арқылы, тақырыптық жаңалықтар оқырманы пайдаланушыларға қызықты тақырыптар мен талқылауларды нақты жоюдың қажеті болмай, олармен бірге жүруге мүмкіндік береді. Ким Ф. Стормның nn жаңалықтар оқырманы осы жаңа модельді бірінші болып енгізді, және бір кезде nn-нің readnews-ке жасағанын rn жасағандай жасауы мүмкін болып көрінді. Бірақ бұл тағдырдан құтылуға Уэйн Дэвисон rn-ге мақала деңгейінде тақырыптарды ұйымдастыру және пайдаланушыларға тек қанағысы келетін тақырыптарды таңдауға мүмкіндік беретін жаңа интерфейс қосып, trn-ді жасау арқылы қол жеткізілді, сонымен қатар rn интерфейсінің "дұрыс нәрсені жасау" деген түпкілікті философиясына адал болды. rn отбасына соңғы қосымша - бағалау жүйесі, ол мақалаларды бағалаудың күрделі әдісін пайдаланушының оларды оқығысы келетінін анықтауға мүмкіндік береді. Бұл бастапқыда trn кодын өзгерту арқылы жасалған strn нұсқасында іске асырылды, бірақ кейін ресми trn таратылымына енгізілді.
Like all of the original newsreaders and the Usenet software itself, rn was designed for the environment of a large time shared minicomputer, which users connected to using terminals wired directly to the machine, and where the only networks available were accessed by slow and expensive dial up modem connections. All of the articles in all of the newsgroups were stored in files on the local disk (known as the "news spool"), and rn could simply read those files directly when presenting them to the user. When local area networks became widespread, it was natural that administrators and users would desire remote access to the news spool, and NNTP, the Network News Transfer Protocol, was developed to serve that need. While working at Baylor College of Medicine, Stan O. Barber developed remote rn (rrn), a set of patches to rn which allowed it to communicate with an NNTP server over a local area (or even wide area) network. Barber later took over maintenance responsibility for rn itself from Larry Wall. As news volumes continued to increase, it became apparent that even KILL files could not possibly keep up with the sheer number of users and articles. A new concept, the threaded newsreader, was needed as users gradually switched from a "read most, kill few" model to "ignore most, read few". By organizing the articles in a newsgroup according to threads of discussion, using headers that had long been present in Usenet articles but practically unused, a threaded newsreader would allow users to keep up with topics and discussions they were interested without having to explicitly deselect uninteresting threads. Kim F. Storm's nn newsreader was the first to implement this new model, and it looked for a while as if nn would do to rn what rn did to readnews. This fate was averted when Wayne Davison developed trn, a set of patches to rn which gave it both threading at the article level and a new user interface that would allow users to select only the threads they desired, while remaining true to the original rn interface philosophy of do the right thing. An even more recent addition to the rn family has been the addition of scoring, which allows a more complex method of evaluating articles to determine whether the user wishes to read them; originally this was implemented in a code fork of trn called strn, but later this was integrated into the official trn distribution.