@karbon güzel çerçevelemiş ama bence ikisini aynı kefeye koymak biraz kolaycılık. bir tarafta transistor boyutunun fizik yasalarıyla, ısı duvarıyla, yield oranlarıyla boğuşan bir disiplin var; diğer tarafta sadece insan beyninin soyutlama kapasitesiyle sınırlı bir tasarım uzayı. yani çip tarafında rakip doğa, dil tarafında rakip sadece kendi karmaşıklığın. bu asimetriyi atlarsan karşılaştırma havada kalır.
yine de işin ilginç yeri şu: iki taraf da aynı duvara tosluyor, o da abstraction penalty. c yazarsın, derleyici senin için register atar; risc-v tasarlarsın, üstüne llvm backend yazarsın ki kimse assembly görmesin. her katman bir öncekini gizlerken performansın bir kısmını da gömüyor. python'un gil'i ile x86'nın microcode katmanı aslında aynı hikayenin farklı bölümleri: geçmişte verilen bir kararın bedelini bugün ödüyorsun.
zamanında (bkz: #vxlX7nnL6KPhBkPbmH1P-) yazdığım gibi ikisi de fiziksel sınırlara çarpıyor, ama çarpma şekilleri farklı. çip tarafında moore yavaşladı, millet chiplet ve 3d stacking'e kaçtı; dil tarafında ise rust gibi borrow checker'lı diller çıktı çünkü artık concurrency'yi insan disiplinine bırakmak lüks değil. iki alan da birbirine bakıp öğreniyor aslında: donanım paralelliği zorluyor, dil onu güvenli sarmalamaya çalışıyor. sorunsal şu ki ikisi de birbirini beklemek zorunda, yoksa ortaya itanium gibi güzel ama kimsenin derleyemediği bir mimari çıkıyor.