Ken Thompson, “'e' ile yaratıcılığımı heceleyeceğim” derken ne demek istedi?


59

1
Aslında, büyük olasılıkla söylediği şeyi kastetmedi: muhtemelen ikicreat kişiyle heceleyeceği anlamına geliyordu - sonuçta zaten biri zaten var. Tabii ki, UNIX'in sadece [[]] bir yazım hatası düzeltmeyi gerektiren herhangi bir önemli değişiklik olmadan olması gerektiği şeklindeki açık mesaj.
Dietmar Kühl

Yanıtlar:



33

Sadece man 2 creatsistem çağrısına değinmiyor. Ayrıca mümkün olan her küçük karakterden tasarruf etmek için modası geçmiş eğilimlerden de bahsediyor, mümkün olduğunda, bazen bu sadece kafa karıştırıcı, özellikle şimdi başka bir karakteri yazmak ve saklamak nadiren engel oluyor.


15
Sanırım soru bağlamında sadece creat () 'e gönderme yapıyordu. Yaptığı nokta, bir dosya oluşturma çağrısında yer alan bu küçük yazım hatası dışında, Unix'te farklı şekilde yapacağı hiçbir şey olmadığıydı.

15
@jmucchiello, yazım hatası değil. Bu kasıtlı (standart olmasa da) bir kısaltmadır. Sanki kısaltmaların ağır kullanımı ile uyuyor fcntl, ls, mvgenel olarak, vb.
Matthew Flaschen

6
Kabul ediyorum, ama depolayacak TB'lerimiz varken bile bu kısaltmaları seviyorum :)
tgkprog

2
Teletype tuşlarına basmak zordur. Birkaç harften tasarruf etmek faydalı oldu. İlk olarak elenebilecekler ünlüler ve yedekli ünsüzlerdi.
Erkin Alp Güney

24

Yeni dosyalar oluşturmak için UNIX sistem çağrısını ifade eder. Bazı makinelerdeki bağlayıcılar en fazla 6 karakterden oluşan tanımlayıcılarla sınırlandırılmıştır. Görünüşe göre, Ken böyle bir bağlayıcı ile çalışmak olmuştur ve dolayısıyla zorunda oluşturmak sistem çağrısı kısaltılmış creat bu sınırlamayı eşleşecek. İroni olduğunu oluşturmak çok yapar.

Ayrıca bakınız: 9. emir ne anlama geliyor?


15
Derleyici (derleyicinin oluşturduğu kullanıcı sembolleriyle çakışmasını önlemek için) '_'kullanıcı değişken / işlev adlarından önce hazırlandığı ve sembol üretirken kullanmamaya dikkat ettiği için derleyiciye 5 olan 6 karakter sınırı '_'.
von

3
@ vonbrand: Bununla birlikte, çağdaş olabileceğini düşündüğüm şeyi unlinkveya var umountolabileceğini açıklamıyor gibi görünüyor creat.
Dolda2000

@ Dolda2000 Eh, derleyici yapmadı, ancak linker bu sınırlama vardı oldukça mümkün. Yani umountçatışma olur umounya umounxya da her türlü, ancak bu ad izin verilecek. Ama bu saf spekülasyon :)
Luaan

23

Cevaplamak için altı yıl geç kaldım, ancak mevcut cevapların Thompson'ın teklifinin amacını özlediğine inanıyorum.

Bir 'e' ile creat heceleyeceğim.

Ken Thompson açmak ve muhtemelen bir dosya oluşturmak için kullanılan işlevin ismini yazmıyor. Aksine, Unix'in doğru yapıldığını, yani farklı şekilde yapılması gereken önemli bir şey olmadığını ifade ediyor .

İnce nokta UNIX mimari ses olmasıdır, ve uygulamaları iyi. Unix'te geliştirilecek bir şey bulmak için birinin bisiklete ihtiyacı olacaktır . Böylece, ortak bir sistem çağrısı adı hakkında bariz nitpick.


3
Doğru, bize UNIX mimarisinin çok küçük boyutlarda geliştirilebileceğini söylemek istiyor. Fakat temelde UNIX doğru yaptı. BTW. creatCLI komutu olmayan bir sistem çağrısıdır.
ikrabbe
Sitemizi kullandığınızda şunları okuyup anladığınızı kabul etmiş olursunuz: Çerez Politikası ve Gizlilik Politikası.
Licensed under cc by-sa 3.0 with attribution required.