от bop_bop_mara(4-04-2011)

През 70-те години на XX век разработчиците на Unix отделят голяма част от времето си да адаптират операционната система към най-различни платформи. Оказва се, обаче, че най-трудоемкото в този процес не е пренаписването на машинно зависимите части от програмния код на системата, а адаптирането на самия език C към различния хардуер. Така започва работата по първия преносим компилатор - Portable C Compiler (pcc) на Стивън Джонсън. Сега, повече от 30 години по-късно, pcc достигна своята версия 1.0.

Още с появата си pcc оказва огромно влияние върху C и Unix и за съвсем кратко време става модел за подражание. За първи път излиза през 1979 година в Unix Version 7, а после става неизменна част от BSD клона чак до 1994 година, когато в 4.4BSD е заменен от gcc, като така и не успява да достигне официална 1.X версия. Освен концепцията за максимална независимост от конкретната платформа, комбиниран с yacc и lint, компилаторът въвежда практиката за сканиране и предупреждение за синтактично правилни конструкции, които може да са потенциални грешки. В началото на 80-те години на XX век почти всички съществуващи компилатори са базирани на pcc.

През 2007 година Андерс Магнусон (познат още като Ragge) обявява в мейл листата на NetBSD, че проектът по осъвременяване на оригиналния компилатор pcc, с който се занимава вече пета година в свободното си време, започва да дава задоволителни резултати и има реален потенциал да стане сериозен и конкурентно способен софтуер. Версията, която е представена тогава, е под номер 0.9.8.

Финансирана от BSD Fund, разработката на компилатора върви уверено напред - довършва се имплементацията на стандарта C99, прави се версия не само за i386, а и за amd64 процесори, поддържа се съвместимост с gcc. И така на 1 април 2011 година, съвсем на сериозно, версия 1.0 на първия в историята преносим компилатор за C вече е факт. Спрямо оригинала е пренаписана около 50% от frontend частта и около 80% от backend частта. А основните качества, които трябва да привлекат потребителите, са производителността, която е била поставена като основна цел от самото начало, и либералният BSD лиценз.

Източници:
Новината на сайта на BSD Fund
Официалният wiki-сайт на pcc
The Development of the C Language, Dennis Ritchie
Статията за pcc в Wikipedia



<< IEEE планира стандарти за облачни изчисления | Първоаприлска китка >>