Otomatik Programlama Nedir?

Bilgisayar bilimi ve bilgisayar mühendisliğinde otomatik programlama, daha soyut kullanıcı girişi veya komutlarına cevap olarak bazı sistem veya yazılımlar tarafından bilgisayar programlama kodunun üretilmesi anlamına gelir. Bir anlamda, otomatik programlama, bir bilgisayar veya yazılımın, programcı tarafından girilen bir ifadeyi, açıklamada açıklanan eylemleri somut olarak gerçekleştirebilecek bir kod bloğu ile değiştireceği herhangi bir durumu tanımlar. Başka bir anlamda kullanıldığında, otomatik programlama, tamamlanmış bir uygulamayı yalnızca programcının en açık yönüne dayanarak sezgisel olarak birleştirebilecek bir programlama dili veya sistemi oluşturma amacını tanımlayabilir. Otomatik programlama, bazı bilgisayar araştırma alanlarında, bir görevi tamamlamak için özerk bir program üretebilen veya işlevselliği geliştirmek için kendi kodunu değiştiren bir yapay zeka (AI) sistemi tasarlama sürecine atıfta bulunmak için kullanılabilir.

Otomatik programlamanın tanımı biraz belirsizdir. Başlangıçta, bilgisayar programcılığının ilk yıllarında, soyut montaj dili benzeri talimatların genişletilmiş makine koduna çevirisini tanımlamak için kullanıldı. Buna otomatik programlama adı verildi çünkü derleyici otomatik olarak tek bir insan tarafından okunabilir ifadeyi düzinelerce veya daha fazla makine kodu talimatıyla değiştirecekti, programı otomatik olarak ilkel bir şekilde yazdı. Aynı eylemler, hala kullanılan programlama dilinden bağımsız olarak, çoğu durumda dil derleyicileri tarafından gerçekleştirilir.

"Otomatik programlama" teriminin bir diğer kullanımı, otomatik kod üretimini tanımlamaktır. Bu, bir son kullanıcının bir programı nasıl göreceğini belirtmek için entegre bir geliştirme ortamı (IDE) veya başka bir aracın görsel olarak veya çok kolay bir şekilde kullanılmasıdır. İstenen sonuç oluşturulduktan sonra, yazılım veya IDE daha sonra programlayıcıdan başka bir giriş yapmadan sonuca ulaşmak için otomatik olarak fonksiyonel kaynak kodu üretebilir.

Bazı durumlarda, otomatik programlama ayrıca, kaynak kodun doğal dil gibi göründüğü kadar yüksek bir seviyede dillerin nasıl uygulanacağına ilişkin çalışmayı da ifade eder. Bunun gibi bir programlama dili, programcının geniş girdisine dayanarak uygulamayı otomatik olarak üretir. Bir dil ne kadar otomatik olursa olsun, programcının, programlama dilinin kendisini kullanarak belirli işlevler için kodu manuel olarak değiştirmesi gerektiğine dikkat edilmelidir.

Yapay zeka alanında, orijinal olarak verilmeyen yetenekleri eklemek için kendini otomatik olarak programlayabilen bir sistem geliştirmek için bazı araştırmalar yapılır. Bu aynı zamanda, belirli bir problemi çözebilecek bağımsız yazılım yazabilen AI'lara da uzanır. Bir uygulama hızlı program prototipleri oluşturmak için AI kullanabilecek bir programlama dili oluşturmak olacaktır.