C önişlemcisi C'ye eklidir, ancak ana dilden tamamen farklı bir sözdizimine sahiptir:
sözdizimsel olarak anlamlı boşluk (satırın sonu bir ifadeyi sonlandırır, makro değiştirme listesinin başlangıcını belirledikten sonra boşluk)
parantezli bloklar yerine anahtar kelime tabanlı bloklar
elif
,else if
beyan yerine yansıtan anahtar kelimeli tanımlamalar-yansıtır-kullanım,
=
değer tanımı için hayıralternatif bir dize sözdiziminin ipuçları (
#include <>
vs#include ""
)tembel değerlendirme (açıkça, C; ancak 6.10.3.1 , önemli olan birkaç yerde, belirli bir makro genişleme düzenini ima ettiği şeklinde okunabilir )
Gerçekten C'ye hiç benzemiyor! Teknik olarak ise kendi dil, ama her zaman C neredeyse-ayrılmaz bir parçası olarak kullanılmaktadır oldu ve o sözdizimsel onunla entegre olmaz çok garip görünüyor.
Wikipedia tarihi hakkında konuşmuyor; Portland Pattern Repository , geçici bir söz veriyor , ancak diğer insanlar tarafından C. dışında kalanlar tarafından tasarlanmasının ötesinde ayrıntıya girmiyor. Dennis Ritchie'nin C tarihine sahip web sitesinin büyük olasılıkla cevabı vardı ama ne yazık ki hayır. daha uzun
Makro motoru olarak, belli ki çok farklı açıklıyor zamanı diline gelen anlamsal sahip bazı o aslen olarak düşünülmüştü olsun, modern gözlere de belirsiz (farklılıkları değil, görsel tasarım yönlerini yetenekli bir tür içinde eğlenceli ki onun değiştirme sistemi, ya da güçlü optimize edicilerden önceki bir zamanda satır içi işlevler için uygun bir yöntem olup olmadığını “yalnızca” olarak kabul eder). Sonunda C ++ şablonlarının, başlangıç noktası olsaydı C-benzeri anlambilim gerçekte başlangıç noktası olsaydı, makrolara karşı daha mantıklı bir evrim olacağına daha yakın bir şey gibi görünüyor, ancak bunun sözdizimi için olduğundan daha az somut kanıt var.
Neden bu şekilde tasarlandığına veya yaratıcıların etkilerinin ne olduğuna dair bir kayıt var mı?