Ritim İstanbul A5 Blok No:46, D:112, 34846 Maltepe/İstanbul

Zorunlu programlama (imperative programming) nedir, örnekleri nelerdir?

Programlama dilleri bazen karmaşık gelebilir. Bunun en önemli nedeni pek çok programlama dilinin sayıca oldukça fazla olmasıdır. Bilgisayar bilimcileri günümüzde programlama dillerini çeşitli paradigmalara göre tasnif etme yoluna başvurur. Buna göre ortaya çıkan yaklaşımlar gerek yazılım mühendisliği bölümlerinde okuyan öğrencilerin gerekse de yazılım hakkında bilgi sahibi olmak isteyen kullanıcıların daha anlaşılabilir bir yöntem edinmelerine yardımcı olur.

Zorunlu programlama dilleri nedir?

Zorunlu dillerdeki programlama modeli, her bir ifadenin bir bellek deposu üzerinde bir etkisi olduğu bir anda ifade paradigmasına dayanır. Zorunlu programlama, bir kişinin bellek deposundaki hücrelerin içeriğini değiştirmesine izin veren atama ifadesinin etrafında toplanmıştır.

- ADT Çözümleri -
Yönetilen Hizmetler Görseli
Advanced Dynamics Teknoloji'de işletmeler için dış kaynaktan hizmet modeliyle Yönetilen Hizmetler çözümleri sunuyoruz.
generic
type Stack_Elt is private;
package Stack is

type S is private;

procedure lnit (A_Stk : in out S);
procedure Push (value : in Stack_Elt; A_Stk : in out S);
procedure Pop (A_Stk; in out S);
function Top (A_Stk : in S) return Stack_Elt;
function Empty (A_stk : in S) return BOOLEAN;

private
type Stk;
type S is access Stk;

end Stack;

Daha basit bir ifadeyle zorunlu programa dilleri bir kodun nasıl yazılacağını söyler. Bildirimli programlama dilleri ise bir kodun ne yapması gerektiğini söyler.

Zorunlu programlama dillerinin uygulama modeli, operasyon işlevlerini taklit etmeleridir. Zorunlu dillerin doğası gereği, işlemleri her zaman işlev olarak gerçekleştirmezler. Çoğu zaman, bir tür örneğinin durumunu değiştiren işlemler, yeni bir tür örneği oluşturup döndürmez, ancak istemciye ait orijinal örneği değiştirmek için yan etkileri kullanır.[1]

Dezavantajları

Zorunlu dillerde programların yazılması, hatalarının ayıklanması ve bakımı bildirimsel dillerde yazılanlara kıyasla genellikle daha zordur. Zorunlu programlama, bir çözüm prosedürünün “nasıl” belirlendiğine daha fazla vurgu yapar. Zorunlu dillerde yazılan programlar genellikle kod boyutu açısından daha büyüktür ve bildirimsel dillerde yazılan programlara kıyasla daha hızlı çalışır. Zorunlu dillerin sağlam bir matematiksel temeli yoktur.[2]

Örnekleri

1973’te Massachusetts Institute of Technology (MIT) bünyesinde çalışan Amerikalı bilgisayar bilimci Barbara Liskov ve öğrencileri soyut veri türlerini (abstract data types) birleştirmenin bir yolunu buldu ve CLU programlama dilini oluşturdular.[3] Günümüzde ise Modula-2 ve Ada programlama dilleri dil tasarımı aşamasında soyut veri türlerine daha fazla önem vermiştir.

Zorunlu programlama dillerine Pascal, C ve Java örnek olarak gösterilmektedir.[4]

Dipnotlar


[1] (Morris & Tamm, 1993, s. 3)

[2] “CS3671: Programming Languages: Lecture 1.” https://personal.utdallas.edu/~gupta/courses/apl/lec1.html. Erişim tarihi: 5 Ağu. 2022.

[3] Kapsamlı bir kullanım bulamamakla birlikte, CLU, günümüzde yaygın olarak kullanılan birçok özelliği tanıttı ve nesne yönelimli programlama dillerinin (OOP) geliştirilmesinde bir adım olarak kabul edildi.

[4] “CS3671: Programming Languages: Lecture 1.” https://personal.utdallas.edu/~gupta/courses/apl/lec1.html. Erişim tarihi: 5 Ağu. 2022.

Moment.js nedir ve nasıl kullanılır?

JavaScript kütüphaneleri programlama sektöründe sıklıkla karşılaşılan sorunları çözmek ve otomatikleştirmek için geliştirilir. Popüler JavaScript kütüphanelerinden biri de Moment.js'tir. Peki Moment.js nedir ve programlama dünyasında...

JavaScript’te değişkenler ve aralarındaki farklar: var, let & const

JavaScript, web geliştirmenin temel taşlarından biri olarak, dinamik ve etkileşimli web siteleri oluşturmanın anahtarıdır. Bu güçlü programlama dilinin en temel yönlerinden biri, veri saklama...

Fiyat takip yazılımları nasıl çalışır?

E-ticaret dünyası her geçen gün daha rekabetçi bir hal alıyor. Bu ortamda, işletmelerin rakiplerini ve pazar trendlerini yakından takip etmeleri hayati önem taşıyor. İşte...

HTML div elementi ve kullanım senaryoları

Her gün milyonlarca web sayfasını ziyaret ediyor, okuyor veya üzerlerinde işlem yapıyoruz. Peki, son kullanıcılar için görsel olarak renderlanan bu sayfaların arkasındaki kodlarda kullanılan...

React ‘hook’ nedir ve ne için kullanılır?

React hook, React JavaScript kitaplığındaki bir özelliktir. Hook'lar, sınıf bileşenlerine ihtiyaç duymadan, fonksiyon bileşenlerinde durum (state) ve diğer React özelliklerini kullanmaya olanak tanır. İlk...

IPv4 ve IPv6 nedir? Aralarındaki farklar nelerdir?

Her gün internete bağlanıyoruz, ancak teknik olarak internete nasıl bağlandığımızla ilgili bir fikriniz var mı? İnternet, modern yaşamın ayrılmaz bir parçası haline geldi ve...

Daha fazla blog içerik

Moment.js nedir ve nasıl kullanılır?

JavaScript kütüphaneleri programlama sektöründe sıklıkla karşılaşılan sorunları çözmek ve otomatikleştirmek için geliştirilir. Popüler JavaScript kütüphanelerinden biri de Moment.js'tir. Peki Moment.js nedir ve programlama dünyasında...

JavaScript’te değişkenler ve aralarındaki farklar: var, let & const

JavaScript, web geliştirmenin temel taşlarından biri olarak, dinamik ve etkileşimli web siteleri oluşturmanın anahtarıdır. Bu güçlü programlama dilinin en temel yönlerinden biri, veri saklama...

Fiyat takip yazılımları nasıl çalışır?

E-ticaret dünyası her geçen gün daha rekabetçi bir hal alıyor. Bu ortamda, işletmelerin rakiplerini ve pazar trendlerini yakından takip etmeleri hayati önem taşıyor. İşte...

HTML div elementi ve kullanım senaryoları

Her gün milyonlarca web sayfasını ziyaret ediyor, okuyor veya üzerlerinde işlem yapıyoruz. Peki, son kullanıcılar için görsel olarak renderlanan bu sayfaların arkasındaki kodlarda kullanılan...