İçeriğe atla

Otomatik programlama

Otomatik programlama, programcıların soyutlanmış bir düzeyde geliştirme yapmalarını sağlamak üzere kaynak kodu üreten yaklaşıma verilen addır.[1]

Otomatik programlama kavramının tanımı zaman içinde değişiklik göstermiş; terim 1940'larda delikli bant üzerinde insanlar tarafından yapılan işlemlerin makinelere devredilmesi anlamında kullanılırken sonraki yıllarda, geliştirilen yazılımların Fortran ve ALGOL gibi üst düzey dillere aktarılması için dile getirilmiştir.

Kaynakça

  1. ^ Ricardo Aler Mur, "Automatic Inductive Programming 4 Mart 2016 tarihinde Wayback Machine sitesinde arşivlendi.", ICML 2006 Tutorial. Haziran 2006

İlgili Araştırma Makaleleri

<span class="mw-page-title-main">Programlama dili</span>

Programlama dili, yazılımcının bir algoritmayı ifade etmek amacıyla, bir bilgisayara ne yapmasını istediğini anlatmasının tektipleştirilmiş yoludur. Programlama dilleri, yazılımcının bilgisayara hangi veri üzerinde işlem yapacağını, verinin nasıl depolanıp iletileceğini, hangi koşullarda hangi işlemlerin yapılacağını tam olarak anlatmasını sağlar.

<span class="mw-page-title-main">C (programlama dili)</span> programlama dili

C, yapısal bir programlama dilidir. Bell Laboratuvarları'nda, Ken Thompson ve Dennis Ritchie tarafından UNIX işletim sistemini geliştirebilmek amacıyla B dilinden türetilmiştir. Geliştirilme tarihi 1972 olmasına rağmen yaygınlaşması Brian Kernighan ve Dennis M. Ritchie tarafından yayımlanan "C Programlama Dili" kitabından sonra hızlanmıştır. Günümüzde neredeyse tüm işletim sistemlerinin yapımında %95'lere varan oranda kullanılmış, hâlen daha sistem, sürücü yazılımı, işletim sistemi modülleri ve hız gereken her yerde kullanılan oldukça yaygın ve sınırları belirsiz oldukça keskin bir dildir. Keskinliği, programcıya sonsuz özgürlüğün yanında çok büyük hatalar yapabilme olanağı sağlamasıdır. Programlamanın gelişim süreciyle beraber programlamanın karmaşıklaşması, gereksinimlerin artması ile uygulama programlarında nesne yönelimliliğin ortaya çıkmasından sonra C programcıları büyük ölçüde nesne yönelimliliği destekleyen C++ diline geçmişlerdir.

<span class="mw-page-title-main">C♯</span> programlama dili

C#; Microsoft tarafından .NET Teknolojisi için geliştirilen modern bir programlama dilidir. Sözdizimi C-like bir deneyim sunar.

Fortran, özellikle sayısal hesaplama ve bilimsel hesaplama için uygun olan genel amaçlı, yordamsal, zorunlu programlama dilidir.

<span class="mw-page-title-main">Yazılım</span> bilgisayarın somut olmayan çalıştırılabilir bileşeni

Yazılım, değişik ve çeşitli görevler yapma amaçlı tasarlanmış elektronik aygıtların birbirleriyle haberleşebilmesini ve uyumunu sağlayarak görevlerini ya da kullanılabilirliklerini geliştirmeye yarayan makine komutlarıdır.

<span class="mw-page-title-main">Nesne yönelimli programlama</span> nesne kavramına dayalı programlama paradigması

Nesne yönelimli programlama veya kısaca NYP, Her işlevin nesneler olarak soyutlandığı bir programlama yaklaşımıdır. NYP destekleyen programlama dilleri yüksek seviye diller olarak adlandırılır.

<span class="mw-page-title-main">K3b</span>

K3b, Linux sistemler için tasarlanmış, KDE projesi kapsamında gelişitirilen özgür ve ücretsiz bir CD/DVD/Blu-ray yazma uygulaması. K3b kullanılarak; Veri CD'leri oluşturma, Ses CD'si hazırlama, kalıp dosyası yazdırma gibi temel yazdırma işlemlerinin yanı sıra Video CD/DVD'lerini ya da Ses CD'lerini bilgisayara kopyalama gibi daha pek çok işlem gerçekleştirilebilir.

Veri yapısı, bilgisayar ortamında verilerin etkin olarak saklanması ve işlenmesi için kullanılan yapı.

<span class="mw-page-title-main">Programlama</span> bilgisayar probleminin orijinal formülasyonundan çalıştırılabilir bilgisayar programlarına yönlendiren süreç

Programlama ya da diğer adı ile yazılımlama, bilgisayarın donanıma nasıl davranacağını anlatan, bilgisayara yön veren komutlar, kelimeler, aritmetik işlemlerdir. Diğer bir tanımla programlama, bilgisayar programlarının yazılması, test edilmesi ve bakımının yapılması sürecine verilen isimdir.

<span class="mw-page-title-main">KWrite</span> KDE masaüstü için bir metin düzenleyicisi

KWrite, KDE masaüstü için bir metin düzenleyicisidir. KWrite'ın bazı ana özellikleri renkli yazım hatası ya da herhangi bir programlama dili için düzenlenebilir olmasıdır. Örneğin: C/C++, Java, Python, Perl, Bash, Modula 2, HTML ve Ada gibi programlama dillerini kullanırken renklendirme yaparak kullanıcının işini kolaylaştırır.

Betik dili, betik yorumlamak için yazılmış özel çalışma-zamanı sistemlerinin yorumlayabileceği programlama dilleridir. Diğer programlama dilleri ile yazılan kodlar makine koduna çevrilip çıkan program doğrudan çalıştırılırken betik kodları interpreter tarafından doğrudan okunur ve yorumlanarak işlemler yorumlayıcının kendisi tarafından yapılır.

<span class="mw-page-title-main">Java (yazılım ortamı)</span>

Java, Sun Microsystems tarafından üretilen ve yazılım uygulamaları geliştirmeye yardımcı yazılımlar bütünüdür. Java'nın kullanım alanı gömülü aygıtlardan cep telefonlarına, kurumsal sunuculardan süper bilgisayarlara uzanmaktadır. Cep telefonları, Web sunucuları ve kurumsal uygulamalarda sıkça kullanılan Java'nın masaüstü bilgisayarlardaki kullanımı daha az yaygındır. Ne var ki, bu ortamda çalışan Java uygulamacıkları Dünya Çapında Ağ üzerinde gerçekleştirilen işlemlerde kullanım kolaylığı sağlamaktadır.

Yazılım tasarımı, bir sorunun yazılım çözümü için, sorun giderme ve planlama aşamasıdır. Yazılımın özellikleri kararlaştırıldıktan sonra yazılım geliştiricileri sorun için bir çözüm geliştirir. Bu aşama mimarisel görünüm kadar, alt düzey algoritma gerçeklemeyi de içerir. Yazılım tasarımı için programlamanın ilk aşaması da diyebiliriz. Programlama işlemine başlamadan önce mutlaka ön çalışma yapmak ve programın nasıl işleyeceğini ortaya koymak gerekir. Programlama makine dili veya yüksek seviyeli bir programlama dili kullanılarak yapılır.

<span class="mw-page-title-main">Grace Hopper</span>

Grace Brewster Murray Hopper, Amerikalı bir bilgisayar bilimcisi ve Birleşik Devletler Donanması arka amiraliydi. Harvard Mark I bilgisayarının ilk programcılarından biri, ilk bağlayıcılardan birini icat eden bilgisayar programcılığının öncüsüydü. Hopper, makineden bağımsız programlama dilleri teorisini geliştiren ilk kişiydi ve bu teoriyi kullanarak oluşturduğu FLOW-MATIC programlama dili daha sonra, bugün halâ kullanılmakta olan erken bir üst düzey programlama dili olan COBOL'u oluşturmak için genişletildi.

Programlama paradigmaları, programlama dillerini özelliklerine göre sınıflandırmanın bir yoludur. Diller birden fazla paradigma içinde sınıflandırılabilir.

<span class="mw-page-title-main">Adobe Photoshop Lightroom</span> Fotoğraf düzenleme ve yönetme yazılımı

Adobe Photoshop Lightroom, macOS ve Microsoft Windows için Adobe Systems tarafından geliştirilmiş bir fotoğrafçılık programıdır. Programın %40'ı Lua programlama dili ile yazılmıştır.

Swift, Apple tarafından iOS ve macOS platformlarına iOS ve Mac uygulamaları geliştirmek için oluşturulan, derlenerek çalışan güçlü ve kullanımı kolay, nesne yönelimli bir programlama dili.

<span class="mw-page-title-main">Yapay zekâya yönelik programlama dilleri listesi</span> Vikimedya liste maddesi

Yapay zekâ araştırmacıları yapay zekâya yönelik programlama dilleri geliştirmişlerdir.

<span class="mw-page-title-main">Ayrıştırıcı (yazılım)</span>

Ayrıştırıcı, girdi verilerini alır ve girdinin yapısal bir temsilini vererek, süreçte doğru sözdizimini kontrol eden bir veri yapısı oluşturan bir yazılım bileşenidir. Ayrıştırma öncesinde veya sonrasında başka adımlar izlenebilir veya bunlar tek bir adımda birleştirilebilir. Ayrıştırıcı, genelde girilen karakter dizisinden belirteçler oluşturan ayrı bir sözcük tabanlı analiz motorunu takip eder. Ayrıştırıcılar elle programlanabilir veya bir ayrıştırıcı üreteci tarafından otomatik olarak veya yarı otomatik olarak oluşturulabilir. Ayrıştırma, biçimlendirilmiş çıktı üretimlerini tek bir şablonda tamamlama görevi görür. Bunlar, farklı etki alanlarına uygulanabilir, ancak bir derleyicinin girdi ve çıktı aşamaları gibi genellikle bir arada sunulur.

ML genel amaçlı bir işlevsel programlama dilidir. Lisp'ten esinlenmiş dilde ifadelerin veri tipini otomatik olarak atayan Hindley-Milner sistemi kullanılmıştır. Örüntü eşleme ve atık toplama teknolojilerini de bünyesinde barındıran ML birçok programlama dili araştırmasına kaynaklık etmiş; derleyici tasarımı, otomatik teorem kanıtlama ve program doğrulama uygulamalarında kullanılmıştır.