19 Ağustos 2013 Pazartesi

Bilgisayar Programlama Dilleri

Bilgisayar üreticisi firmalar, başlangıçta kendi ürettikleri bilgisayarı çalıştıracak programlama yöntemini kendileri geliştiriyorlardı. Zamanla, bilgisayar cihazından bağımsız olarak konuya ve amaca yönelik programlar hazırlanmaya başlandı. Böylece, hazırlanan programlama yöntemlerinin, değişik bilgisayar cihazlarında kullanılması mümkün oldu. Bu programlama yöntemleri de, giderek "programlama dilleri" haline geldiler.
Programlama dillerinin oluşturulmasındaki amaç, bir dilin bütün bilgisayar cihazlarında kullanılmasının sağlanmasıdır. Fakat uygulamada, IBM uyumlu makineler ve Apple-Macintosh ailesi gibi gruplaşmalar ortaya çıktığından, bu amaca yeteri kadar ulaşılamamıştır.
Bilgisayar programlama dilleri konuşma diline yakın olup olmamasına göre, düşük seviyeli programlama dilleri ve yüksek seviyeli programlama dilleri olmak üzere ikiye ayrılır.



Konuşma diline oldukça uzak, buna karşılık makine diline oldukça yakın olan diller, düşük seviyeli programlama dilleri grubuna girer. Bu dil grubu da Makine Dili ve ASSEMBLY Dili olarak ikiye ayrılır.

Yüksek Seviyeli Programlama Dilleri

Bu grubun kapsamına giren diller, İngilizce konuşma diline yakın olan dillerdir. Bu nedenle bu dilleri kullanarak program yazmak, düşük seviyeli dillere oranla çok daha kolaydır. Yüksek seviyeli programlama dilleri, programcıların tüm ihtiyaçlarına cevap verebilmek için, çeşitli özelliklere sahip çok sayıda komut içermektedir. Böylece, programcıya, düşündüklerini programa dönüştürebilmesi için bir çok imkan sağlanmış olmaktadır. Üst düzey programlama dilleri ile program yazmak ve hata ayıklamak daha kolaydır. Bu diller genelde taşınabilirlik özelliğine sahiptirler. Donanım konusunda uzmanlık gerektirmezler. Ada, Basic, Cobol, Fortran, Module-2, PL/I ve Pascal gibi diller, yüksek seviyeli diller grubuna girerler.
Diğer yandan, düşük ve yüksek seviyeli dillerin özelliklerine sahip diller arasında sayılabilecek bazı diller de vardır. Bunlar arasında C, Forth, Macro Assembler dili sayılabilir. Yukarıda sayılan dillerden başka, değişik amaç, yaklaşım, teknik ve yapılara sahip Algol, APL, Eiffel, Lisp, Jawa, Perl, Prolog, Simula ve Smalltalk gibi birçok programlama dili vardır. 


Dünyanın dört bir köşesinde amatör veya profesyonel programcılar tarafından sürekli olarak geliştirilen milyonlarca farklı program, üç ana grup altında toplanabilir:
1. Sistem Programları 2. Çevirici Programları 3. Uygulama Programları




Kullanıcı Arayüzü (User Interface)

Programların hemen hemen hepsi uygulamaya konulduğunda, giriş verilerini klavyeden almak ve istenilen çıkışları monitörden görüntülemek suretiyle kullanıcı ile ilişkiye girecektir. İşte bir programda, kullanıcı ile bilgisayar arasında haberleşmeyi sağlayan unsura kullanıcı arayüzü denilmektedir. Aynı zamanda bilgisayar programının bak ve hisseti (look and feel) olarak da kabul edilen kullanıcı arayüzünün hukuki niteliği konusunda ABD hukukunda hararetli tartışmalar yapılmaktadır. Kullanıcı arayüzü, birisi fonksiyonel, diğeri audiovisual (görsel - işitsel) olmak üzere iki unsurdan oluşmaktadır.



Kaynak Kodu ve Makina Konu

Problemin çözümü için uygun algoritma kurulduktan sonraki aşama, programın kaynak kodunun yazılmasıdır. Kaynak kodunun yazılması, program geliştirme sürecinin en edebi (literary) kısmıdır. Gerek program akışı, gerekse algoritma, çok detaylı olsalar bile, üsluba ilişkin tercihler olmaktan öteye gidemezler. Bir programın sadece istenen "görevi"; yapması yeterli değildir. Aynı zamanda, o programın kolayca okunabilir nitelikte de olması gerekir. Zira, bir programın hatalarının giderilebilmesi ve sonradan geliştirilebilmesi, ancak onun okunabilir olması halinde mümkün olur.

Program kodlaması da denilen kaynak kodunun yazılması için, genellikle yüksek seviyeli programlama dillerinden birisi kullanılır. Programın kodlanmasında kullanılacak programlama dilinin çözülecek problemin yapısına uygun olması gerekir. Kodlama, esas itibarıyla, akış diyagramında yer alan bilgi düzeninin, seçilen bir programlama dilinin kurallarına uygun olarak bilgisayara aktarılması işlemidir. Bu nedenle, program akışı ve algoritma gerekli ayrıntıları taşıyorsa, programın kodlaması da basit olur. Bununla beraber, uygulamada, program akışı aşamasında önemli detayların atlandığı da görülmektedir.


Programın kodlanmış şekline kaynak program (source program) adı verilir. Kaynak program, insanlar tarafından okunabilen, yazdırılabilen, üzerinde değişiklik yapılabilen bir yapıdadır. Ancak programın bu hali, bilgisayar tarafından anlaşılmaz ve dolayısıyla çalıştırılmaz. Bu nedenle, kaynak programın ek bir işlemle, bilgisayarın anlayabileceği şekle çevrilmesi gerekir. Programın, derleyici veya yorumlayıcılar kullanılarak "0" ve "1" lerden oluşan makine diline dönüştürülmüş son haline objektif kod denilmektedir. Objektif kod, bilgisayar tarafından hemen uygulanabildiği halde, insanlar tarafından kolayca anlaşılamaz. Programdaki gizli bilgiler ve teknikler, ancak objektif kodun ters işlemle kaynak koduna çevrilmesi suretiyle öğrenilebilir. Bunu zorlaştırmak için programlar, objektif kod şeklinde piyasaya sürülmektedir.


Program Akışı & Algoritma

Program Akışı: Program geliştiricisi, programı herhangi bir kodla yazmaya başlamadan önce, elde ettiği verilerin mantıksal olarak sıralandığı bir taslak oluşturur. Bu taslakta programın fonksiyonunu nasıl yerine getireceğini genel olarak belirleyen işlem basamakları yer almaktadır. Program akışı, verilerin işlem basamaklarının mantıksal dizi şeklinde birbirine bağlanmasıdır.

Program akışı, akış diyagramında (flow chart) resim ve sembollerle şematik olarak gösterilmektedir. Bu şekilde hazırlanmış program akışı, program geliştiricilerine program kodunun yazılmasında, büyük kolaylık sağlar. Bu yönüyle program akışını, mimarların inşaat faaliyetlerine başlamadan önce hazırladıkları proje şemasına benzetmek mümkündür. Program akışı, bir bilgisayar programına esas olan fikrin ifadesidir. Bir programın fikri, program akışında yer alan ayrıntılardan çıkarılabilir. En genel anlamda bir programın fikri, o programın amaç veya fonksiyonudur. Buna göre, bir kelime işlem programının temelindeki fikir, "yazmayı daha kolay hale getirmek" olarak açıklanabilir.

Aynı zamanda program fikrinin, bilgisayarda problemin çözümüne doğrudan yönelmiş ayrıntılı işlem basamaklarından çıkarılması da mümkündür. Böylece genel olarak "yazmayı kolaylaştırmak" olarak belirlenen bir kelime işlem programının fikrinin ayrıntılı ifadesi şu şekilde olabilir: "Daktilo etmek ve dokümanları düzenlemek için hızlı bir iç bellek kullan; dokümanları depolamak için bir dosya sistemi kullan; çıkışı basitleştirmek için kelime atlayıcısı kullan." Program fikrinin ayrıntılı olarak ifade edilmiş bu şekli, program geliştirme sürecinin en fazla çaba ve emek gerektiren kısmıdır. 

Algoritma:  Algoritma kelimesinin matematikte kullanılan "logaritma" kavramıyla bir ilgisi yoktur. Algoritma kelimesi, IX. yüzyıl ünlü Türk bilgini matematikçi "Ebu Cafer Muhammed bin Musa El - Harezmi"nin isminin kısaltılmasından türetilmiştir. "El - Harezmi" kelimesinden esinlenerek İngilizce'de "algorithm" denilmiştir.
Program akışı hazırlandıktan sonra, program algoritmasının kurulmasına sıra gelir. Program geliştiricisi, bu aşamada alt problemlerin çözüm yolunu belirler. Algoritma en geniş anlamıyla, verilerden hareketle istenen sonucun nasıl alınacağını gösteren bir uygulama metodudur.

Algoritma; çözüm yolu aranan problemin herhangi bir adımında ne gibi işlemler yapılacağının tıpkı bir yemek tarifinde olduğu gibi yazıya dökülmüş şeklidir.Algoritmada her adımda giriş veya çıkış bilgileri, bölme, çarpma, aktarma, test ve benzeri işlemler yer almalıdır. Belli bir sayıda adımdan sonra algoritma mutlaka son bulmalıdır. Algoritma anlatımda kullanılan cümlelerin kolay, basit ve benzer konular için de geçerli olmasına dikkat edilmelidir. Program geliştiricisi çözümü istenen probleme uygun algoritmayı kurabilmek için, çeşitli kaynaklardan faydalanabilir. Benzer programlar verimli bir kaynak olabilir. Gelişmiş ülkelerde, bilgisayar kitapları ve diğer süreli yayınlar, belirli problemlere ilişkin algoritma yayınlamaktadırlar. Algoritmayı paket program kütüphaneleri şeklinde bazı büyük pazarlardan da elde etmek mümkündür. Nihayet, çok fazla rafine olmuş bazı programlama dillerinde, program geliştirme aşamasında algoritmaya ihtiyaç duyulmaz. Zira, bu tür dillerde algoritma, programlama dilinin tanımı içerisinde yer almıştır.






VB.NET Fonksiyon Oluşturma

VB.NET'te Fonksiyon oluşturmaile ilgili temel bir örnek.Örneğin zorluk derecesi giriş niteliğindedir.

İndirme Adresi

Text to Speech

Yazıların sese dönüşümü ile ilgili hazırlanmış bir örnek.Proje içerisinde yazılan yazılar, form içerisinde bulunan buttona tıklandıktan sonra, kullanılan api sayesinde sese dönüşmektedir. 

İndirme Adresi

Hayatın Anlamı

VB.NET'te hemen hemen her objenin form üzerinde sahip oldukları konumlar vardır. Bu örnekte sahip olunan bu konumların nasıl değiştirildiği gösterilmiştir.

İndirme Adresi