"Derleyici hafızayı ayırır" demek gerçek anlamda doğru olmayabilir, ancak doğru şekilde düşündüren bir metafor.
Gerçekte olan şey, derleyicinin kendi belleğini ayıran bir program oluşturmasıdır. Bunun dışında belleği ayıran program değil, işletim sistemi.
Gerçekte olan şey, derleyicinin bellek gereksinimlerini tanımlayan bir program oluşturması ve işletim sisteminin bu açıklamayı alması ve belleği ayırmak için kullanmasıdır. İşletim sisteminin bir program olması ve programların aslında hiçbir şey yapmaması dışında, CPU tarafından gerçekleştirilen bir hesaplamayı tanımlarlar. CPU'nun sadece karmaşık bir elektronik devre olması dışında, antropomorfize edilmiş küçük bir homonculus değil.
Ancak programları, derleyicileri ve CPU'ları gerçekte oldukları için değil, bilgisayarın içinde yaşayan küçük insanlar olarak düşünmek mantıklıdır, çünkü bu insan beynine iyi uyan bir metafordur.
Bazı metaforlar, bir soyutlama düzeyindeki şeyleri tanımlamak için iyi çalışır, ancak başka bir düzeyde de iyi çalışmaz. Derleyicinin düzeyi üzerinde düşünürseniz, derlenen program gerçekten "bellek ayırma" olarak çalıştırıldığında bellek tahsis edilmesine neden olacak kod üretme eylemini açıklamak mantıklıdır. Bir derleyicinin nasıl çalıştığını düşündüğümüzde, doğru fikrimiz var ve ne yaptığımızı unutamayacağımız kadar uzun soluklu değil. Bu metaforu derlenmiş programın seviyesinde kullanmaya çalışırsak, garip bir şekilde yanıltıcıdır, fark ettiğiniz şey budur.