Кіріспе
Корнелл университетінде жасалған PL/C бағдарламалау тілі – 1970 жылдардың басында Корнелл университетінің Компьютер ғылымдары кафедрасында профессор Ричард У. Конвей мен аспирант Томас Р. Уилкокс басқаруымен PL/I бағдарламалау тілінің оқулық түрі. PL/C бағдарламалауды оқыту мақсатымен әзірленді. PL/C компиляторы, PL/I тілінің көп бөлігін іске асырды, көптеген синтаксистік қателерді автоматты түрде түзетуге және қалған синтаксистік қателерді шығару операторларына айналдыруға қабілетті болды, нәтижесінде ешбір бағдарлама құрастырылмастан қалған жоқ. Бұл маңызды болды, өйткені сол кезде студенттер бағдарламаларын IBM перфокарталары арқылы тапсырып, нәтижелерін бірнеше сағаттан кейін алуға мүмкіндік алатын. Сол сияқты, 1970 жылдардың ортасындағы бағдарламалау тілдеріне жасалған сараптамада "PL/C – PL/I тілінің кеңінен қолданылатын диалектісі" делінген.
PL/C is an instructional dialect of the programming language PL/I, developed at the Department of Computer Science of Cornell University in the early 1970s in an effort headed by Professor Richard W. Conway and graduate student Thomas R. Wilcox. PL/C was developed with the specific goal of being used for teaching programming. The PL/C compiler, which implemented almost all of the large PL/I language, had the unusual capability of never failing to compile a program, through the use of extensive automatic correction of many syntax errors and by converting any remaining syntax errors to output statements. This was important because, at the time, students submitted their programs on
IBM punch cards and might not get their output back for several hours. Similarly, a mid late 1970s survey of programming languages said that "PL/C is a widely used dialect of PL/I."
Шығу тегі және негіздемесі
PL/C Корнелл университетінің Компьютерлік ғылымдар кафедрасынан пайда болды, ол Upson Hall ғимаратындағы, Инженерлік алаңда орналасқан. PL/I білім беру саласында қолданылғанмен, осы салыстыру нақты айтылды: бір университет компьютерлік орталықтарының қолданушыларына былай түсіндірді: "PL/C, PL/I үшін WATFOR, FORTRAN IV үшін не болса, сондай, яғни студенттерді оқытуға арналған, жылдам компиляцияланып, кейбір жинақтау мүмкіндіктері бар жүйе". IBM 1968 және 1969 жылдары PL/C әзірлеуге қажетті қаржының бір бөлігін ұсынды, онда "C" әрпі Корнелл университетін білдірді. PL/C 1970 жылдың қыркүйегінен бастап тұрақты түрде қолданыла бастады. Ерекшелік жағдай – PL/C-нің кейбір қақтығысатын диагностикалық мүмкіндіктері қолданылған кезде ғана. PL/C компиляторының ерекше қабілеті – көптеген синтаксистік қателерді автоматты түрде түзету арқылы және қалған синтаксистік қателерді шығару нұсқауларына айналдыру арқылы кез келген бағдарламаны сәтті компиляциялау. PL/C, PL/I-нің CHECK мүмкіндігін ағынның қадағалануы үшін кеңейтіп, PUT ALL; және PUT ARRAY; сияқты жаңа мүмкіндіктерді ұсынды, олар бағдарламаның сол сәтіндегі барлық скалярлық және массивтік айнымалылардың мәнін басып шығаруға арналған. PL/C қателерді түзетудің қарапайым мысалы келтірілген. PL/C – 1976-77 жылдары қолданылған бағдарламалау тілдерін зерттеген тілдер сарапшысы Жан Э. Самметтің зерттеуінде аталған PL/I-нің білім беруге арналған жалғыз диалектісі. PL/C-нің қателерді түзету және диагностикалық есеп беру мүмкіндіктерін қамтамасыз ету үшін аралық тілдің дизайны және оған қоса берілген символдар кестесі жасалған. PL/C компиляциясының жылдамдығы жоғары болды – IBM System/360 Model 65 машинасымен минут сайын 10,000–20,000 код жолы өңделді. Ол IBM System/360 және System/370 машиналарында OS және HASP жүйелерінде жұмыс істеді. 1972 жылы бұл сома 1800 долларға тең болды, ал 1970-71 жылдары 100 түрлі мекемеге жіберілді, нәтижесінде олардың 60-ы оны сатып алды. PL/C-ге академиялық емес ұйымдардың да қызығушылығы болды, сондықтан PL/C PICTURE айнымалылары сияқты бизнеске бағытталған мүмкіндіктерді қосты. Вашингтон штаты университеті сияқты кейбір университеттер PL/C-ні бірінші болып, содан кейін Fortran (WATFIV қолданып) оқытатын кіріспе курста сәтті нәтижелерге қол жеткізді, бұл студенттердің оқуы үшін тиімді тәсіл болып танылды. Шындығында, Корнелл университеті бір кезде студенттерге осы тәртіпте оқуға мүмкіндік беру үшін кіріспе курсын қайта құрылымдады. PL/C нұсқалары IBM PL/I F компиляторының нұсқаларымен синхронды түрде шығарылды, мысалы PL/C-нің 4-ші нұсқасы IBM F компиляторының 4-ші нұсқасына сәйкес келуі тиіс болды. 1975 жылдың наурыз айында 7.1 және 1976 жылдың наурыз айында 7.5 нұсқалары жарық көрді.
Нұсқалар
Корнелл университетінің компьютерлік ғылымдар кафедрасында PL/C-нің университетпен байланысты екендігіне байланысты мақтаныш сезімі болды, және Конвей, басқа да профессорлық-оқытушылар құрамы мен аспиранттар PL/C-нің бірнеше нұсқаларымен жұмыс істеді. 1974 жылы PL/C-нің PL/CT нұсқасы, пакеттік тапсырудың орнына интерактивті терминалдарда пайдалану үшін, алғаш рет Корнеллде қолжетімді болды, ал 1976 жылы ол басқа да мекемелерге таратылды. 1976 жылға қарай әзірленіп жатқан PL/CS нұсқасы, PL/I-дің қалыпты PL/C-ге қарағанда әлдеқайда шектеулі жиынтығы болып табылды және мәлімдемелерге тікелей тілдік қолдау көрсетті. Дегенмен, PL/CS кіріспе бағдарламалау курстарын оқыту үшін де жеткілікті болды. PL/CS анықтамасы профессор Тим Тейтельбаум және оның Корнелл бағдарламалық синтезаторымен бірге келді. Бұл интеграцияланған даму ортасының алғашқы мысалы 1978 жылы PDP 11/60 үшін жасалды және PL/CS үшін құрылымдық редакторды, инкременттік компиляторды және интерпретаторды қамтыды. Корнелл бағдарламалық синтезаторы жақын арада Terak жұмыс станциясына, алғашқы дербес компьютерлердің біріне бейімделді. 1978 жылы PL/CV2 нұсқасы жарық көрді және 1979 жылы бағдарламалау тілдерінің принциптері жөніндегі симпозиумда таныстырылды.
Кросс компиляторлар
1970 жылдардың басында Солтүстік Каролина университетінде PL/C тіліне негізделген үш кросс-компилятор құрастырылды; оларда түпнұсқалық платформа IBM 360 болды, бірақ IBM 360 коды генерациялау кезеңі және жадты бөлу модульдері нысаналық архитектураға арналған модульдермен алмастырылды. PLCV-нің жақсартылған нұсқасы шамамен 1973 жылы жарық көрді. Негізгі компьютерде IBM PL/I F компиляторы қолданылды, бағдарламашылар тілдің PL/C кіші жиынтығымен ғана жұмыс істеді, ал PLCD PDP 11/45 үшін код жасауға пайдаланылды.
Оқулық
"Программалауға кіріспе: PL/I және PL/C қолданатын құрылымдық тәсіл" оқулығы Конвей мен Грис тарапынан PL/C бағдарламалау тілінде жазылып, 1973 жылы жарық көрді. Онда жоғарыдан төменге қарай жобалау ұсынылған және құрылымдық бағдарламалаудың қағидаларын қатаң сақтауға баса мән берілді, бұл оқулықты осы саладағы ең танымал оқулықтардың біріне айналдырды. Компьютерлік бағдарламаларды жасау және тестілеу материалдарын қайта ұйымдастырудан өзге, 1979 жылы үшінші басылымы жарық көрді. Бұл басылымда оқулық материалы колледж студенттерінің көпшілігі жоғары мектепте бағдарламалаумен таныс екенін ескере отырып, сәл жоғары деңгейде ұсынылды, сонымен қатар PL/CT және PL/CS PL/C нұсқаларын қамтитын толықтырулар енгізілді. "Программалауға кіріспе: Құрылымдық тәсіл" бірнеше туынды оқулықтардың негізі болды, олар кейде қосымша авторлармен бірге жазылды және не бастауыш деңгейдегі оқушыларға арналды, не басқа тілдерді немесе диалектілерді қамтыды.
Мұра
PL/C 1980-жылдардың басында әлі де қолданыста болды. Конвей PL/C орнатылған түрлі орындарда қанша уақыт қолданылғанын білмейтінін айтты. 2022 жылға қарай, PL/C-тің бастапқы коды жоғалып қалған сияқты.