Programlama modeli - Programming model

Bir programlama modeli , belirli bir programlama dili seçiminin üstünde ve ötesinde seçilen bir programlama stilidir . Yürütme, kütüphane çağrıları gibi görünen şeylere dayalı olabilir . Örnekler, POSIX Threads kitaplığını ve Hadoop'un MapReduce'unu içerir . Her iki durumda da yürütme modeli , kodun yazıldığı temel dilden farklıdır. Örneğin, C programlama dilinde giriş/çıkış veya iş parçacığı davranışı için yürütme modeli yoktur. Ancak böyle bir davranış, normal bir C kitaplığına çağrı gibi görünen bir çağrı yaparak C sözdiziminden çağrılabilir.

Bir programlama modelini normal bir kitaplıktan ayıran şey, çağrının davranışının programın yazıldığı dil açısından anlaşılamamasıdır. Örneğin, POSIX iş parçacığı kitaplığına yapılan çağrıların davranışı C açısından anlaşılamaz. dilim. Bunun nedeni, çağrının, dilin yürütme modelinden farklı bir yürütme modelini çağırmasıdır. Bir dış yürütme modelinin bu çağrılması, bir programlama dilinin aksine, bir programlama modelinin tanımlayıcı özelliğidir .

Olarak paralel işlem yürütme modeli genellikle yüksek performans elde etmek için donanım özellikleri göstermelidir. Paralel donanımdaki büyük miktardaki varyasyon, benzer şekilde çok sayıda paralel yürütme modeline eşzamanlı bir ihtiyaç duyulmasına neden olur. Her yürütme modeli için yeni bir dil oluşturmak pratik değildir, bu nedenle paralel yürütme modelinin davranışlarını bir API aracılığıyla çağırmak yaygın bir uygulamadır. Bu nedenle, programlama çabasının çoğu, paralel diller yerine paralel programlama modelleri aracılığıyla yapılır. Ne yazık ki, bu tür programlama modelleri etrafındaki terminoloji, yürütme modeline ilham veren donanımın ayrıntılarına odaklanma eğilimindedir ve bu bağımsız dünyada, bir programlama modelinin yalnızca bir yürütme modeliyle yakından eşleştiğinde olduğu gibi yanlış bir inanç oluşur. donanım özellikleri.

Referanslar