2010-11-05 13 views
5

Go talk 2009 pdf, neden gidilen dili bulduğunu açıklamak için bir yorum yaptı:Bir 'sistem dili' ile ne anlama geliyor?

 
No new major systems language in a decade. 

Sistem dilinin anlamı nedir?

  • Doğal ikili oluşturarak hedef sistemde çalışması gereken bir dil mi?
  • İşletim sistemini kendi başına oluşturabilen bir dil mi?

C#/Java'nın bir sistem dili olmadığını ve C/C++ olduğunu görebiliyorum.

cevap

10

Bu kaba, gayri resmi bir ayrımdır, ancak fikir, diğer programcılar için araçları programlayan programcılara hedeflenen, programlanmış iş uygulamaları geliştiren programcılara ve "sistem programlama dilleri" ni hedefleyen "uygulama programlama dilleri" dir. derleyiciler, vb.) ve OS çekirdekleri, aygıt sürücüleri gibi düşük düzeyli yazılımlar.

Kısacası, çoğu (yakın zamanda, yine de) diller, uğraşmak için kullanıcılara yönelik yazılım geliştirmeyi kolaylaştırmak için tasarlanmıştır. Bazı bilgisayar bilmeyen etki alanı --- finans, mühendislik, vb. ile. Sistem programlama dilleri, C, FORTH, Go, vb. gibi, ya da en azından hesaplama alanında programlama için uygun olan programlama dilleridir.

Bunlar genellikle, ancak, her zaman, yerel kod derleme, geniş "punning" izin veren gevşek tip sistemler ve işaretçiler veya eşdeğer bir yapı aracılığıyla yönetilmeyen bellek erişimi özelliği.

+0

Kesinlikle yönetilmeyen belleğin burada neden bir özellik olması gerektiğini anlamıyorum. Belleği ve işaretçileri yönetmiş olabilirsiniz. –

+1

@ Matthieu M .: Doğru, ancak burada önemli olan özellik, işaretçiler değil, yönetilmeyen bellek erişimi idi. Aygıt sürücüleri, işletim sistemi çekirdeği, vb. Düşünün. - bir noktada keyfi bellek konumlarını okuma ve yazma yeteneğine ihtiyacınız var. Ek olarak, işaretleyicilere (yani bellek konumlarını temsil eden aritmetik özellikli bir türe) izin veren herhangi bir bellek yönelimli dil, bazı kişilerin "işaretçiler" düşünürken tam olarak neyi düşündükleri değil, uygulanan bazı büyük çalışma zamanı kontrollerine sahip olacaktır. –

3

Look here? Bu bir sorta atmadan bir bağlantı olarak çıkarsa özür dilerim, ama bu gerçekten ihtiyacınız olan her şey olmalı. Başka bir şey daha istemediğin sürece.

C# kesinlikle sistem dili değil bir nedeni, .NET bağımlılığıdır.

+0

.NET'in [a "sistem programlama" alt kümesi, çekirdeğin bir parçasıysa (başka bir önyükleme kayışı adımı) ne olur? ;-) Ayrıca, teknik olarak, C# .NET gerektirmez (C# sadece bir dil belirtimi: VS/.NET bir uygulama - yararlı kütüphaneler de dahil olmak üzere - ve Mono bir rakip derleyici/çalışma zamanı). –

+0

evet her ikisi de iyi puanlar –