MsXLabs

MsXLabs (https://www.msxlabs.org/forum/)
-   Bilgisayar (https://www.msxlabs.org/forum/bilgisayar/)
-   -   Bilgisayar Programlama ve Programlama Dilleri Nedir? (https://www.msxlabs.org/forum/bilgisayar/51749-bilgisayar-programlama-ve-programlama-dilleri-nedir.html)

Asi-BeL 7 Eylül 2007 22:40

İşletim sistemi, bilgisayar programları, bilgisayar donanımı ve yazılımı(hardware, software), programlama dilleri ve bilgisayar programcılığı hakkında genel bilgiler....

Bilgisayar programı nedir ?
Bilgisayarın çalışma temelinde işletim sistemi adı verilen ve bilgisayarın çalışabilmesi için gerekli veriler, komutlar ve dosyaları içeren ana program vardır. Bilgisayar açıldığı zaman harekete geçen ve otomatik olarak yüklenen dosyalar ve komutlar, kullanıcının bilgisayarda işlem yapabilmesini sağlayan zemini oluştururlar. İşletim sistemine bilgisayarın ruhu diyebiliriz. Dos, Windows, Linux, Zenix gibi farklı işletim sistemleri mevcuttur. İşletim sistemi de temelde bir bilgisayar programıdır ve bilgisayarın hangi durumda nasıl davranması gerektiğini bildiren komutlar içerir. Bilgisayar komutlarla hareket eder, bilgisayar programları da bilgisayara komut veren ve belli durumlarda belli şekilde çalışmasını düzenleyen, işlemleri sıraya koyan, belli yapılar oluşturabilen komut dizilimleridir.

Programlama Dili Nedir ?
Bilgisayar genel olarak iki kısımdan oluşur. Yazılım(Software) ve Donanım(Hardware). Bilgisayarı oluşturan fiziksel parçalar(Monitör, Klavye, Ana Kart, Hard Disk vb..) bilgisayarın donanım kısmını oluşturur. Bilgisayarın çalışmasını sağlayan işletim sistemi, işletim sistemi üzerinde oluşturulan diğer programlar, bilgisayarın içerisinde bulunan dosyalar vb.. ise yazılım kısmını oluşturur. Programlar programlama dilleri ile oluşturulur. Assembler, Basic, Cobol, Fortran, Pascal, Visual Basic, C, C++ birer programlama dilidir ve her birinin farklı komutları ve kuralları mevcuttur. Programlama dilleri farklı özelliklere sahiptir ve farklı amaçlar için farklı programlama dillerinin kullanılması daha uygundur. C dili matematiksel işlemler, mühendislik ve sistem yazılımlarında daha uygunken, HTLM dili ile internet sayfaları tasarlanır. ASP veya PHP ile internet üzerinden veritabanı uygulamaları geliştirilebilir. Java ve .net(datnet) programlama dilleri yine web(internet) tabanlı programlama dilleridir ve internet üzerinde çok değişik amaçlı uygulamaların hazırlanmasında kullanılırlar. Bu diller ile oluşturulan ****** dosyaları HTML dilinden farklı olarak kullanıcının ulaşabileceği açık kod uygulamaları değildir. Database veya veri tabanı denen ve bilgilerin saklanması, depolanması, sınıflandırılması ve sorgulanmasında büyük kolaylıklar sağlayan diller de (SQL- Structured Query Language, Oracle ) kısmen programlama dili kısmen de database programları olarak kabul edilebilir.

Programlama dilleri ile bilgisayarda çok çeşitli amaçlarla kullanılabilecek programlar oluşturulur. Programlama dillerini insan ile bilgisayar arasında iletişim kuran, insan dilini bilgisayar diline çeviren iletişim kanalı olarak da tanımlayabiliriz. Bilgisayarın kayıt mantığının temelinde elektronik olarak bitler şeklinde yazılan sıfır(0) ve bir(1) den oluşan elektronik veya elektro manyetik kayıt ortamlara veya geçici belleklere yazılan bilgiler vardır(Hard disk, ram, rem bellek vb..). Bu bitlerden oluşan kayıtlar yorumlanarak anlamlı komutlara dönüştürülür. Programlama dilleri ile daha anlaşılır olarak kodlanan komutlar derlenip yorumlanarak daha alt düzeyde elektronik olarak işlenebilen komutlara dönüştürülür.

Bilgisayar Programları Nasıl Yazılır ?
Programlar programlama dilleri ile yazılır. Konuştuğumuz dildeki gramer kuralları, anlam ve mantık ilişkileri gibi programlama dilleri de kurallar, dizilim mantığı ve komutlar içerir. Programlama dillerinde bu kurallar daha katıdır ve yazılanların derlenmesi ve programa dönüşmesi için programlama dilinin kurallarına uyulması gerekir.

Programlara dillerine ait bir arayüz bulunur ve bu arayüz üzerinde programcı yapmak istediği işleme göre gerekli komutları yazar, gerekli formları oluşturabilir. Bu arayüz, programın komutlarının yazılabileceği bir editör, programlama diline ait araç ve nesneler (tools, object, component) bazı yardımcı programlama araçlarından oluşur. Modern nesneye dayalı programlamada, yani OOP(Object Oriented Programming) tabanlı visual programlamada ,programcı formlar oluşturarak, formlar üzerinden yordamlar oluşturmak, nesnelere özellik vermek, yeni nesneler yaratmak, nesneye ait olayları(event) kontrol etmek gibi çok yönlü ve karmaşık süreçlerle ilgili işlemleri yapabilmektedir. Modern programlama tekniğinde komutlar yukarıdan aşağı çalışan ve sırayla işlem yapan tekdüze bir süreci ifade etmez, oluşturulan nesnelere ait pek çok özellik içerir ve süreç tek yönlü değil, bir ağacın dalları gibi farklı yönlerden farklı şekilde işleyebilir.

Bu arayüz aracılığı ile oluşturulan yazılım derlenerek(compile), bilgisayarın anlayabileceği dile çevrilir ve bilgisayarda çalıştırılabilecek bir dosyaya (exe, dll vb..) dönüştürülür. Özellikle web programlamada, oluşturulan kodlar başka bir dosyaya dönüştürülmeksizin direkt olarak yorumlanabilir. Yani bazı kodlar açıktır(HTML vb..) derlenerek exe vs..gibi dosyaya dönüştürülmeden kullanılır.

Programcı nasıl çalışmalıdır ?
Programcılık her şeyden önce sabırlı olmayı gerektiren bir meslektir. İstenilen sonuçlara ulaşmak çoğu zaman sabırlı ve sistemli bir çabayı gerektirir. Programcı yaratıcı ve araştırmacı olmalı, hızla değişen ve yenilenen yazılım ve bilgisayar-teknoloji dünyasını takip etmeli, yeniliklere açık olmalı, analitik düşünebilmeyi, analiz yapabilmeyi, analizlerden sonuçlar çıkarmayı iyi bilmelidir. Programcılıkta mantık birinci derecede önemli bir öğedir ve mantık kurallarının çok iyi bilinmesi gerekir.

Programcı her şeyi önceden tasarlayamasa da bir projeye başladığında olası adımları önceden planlayarak bir akış diyagramı oluşturmalıdır. Algoritma denen bu akış diyagramı ile işe nereden başlanılması gerektiği, belli adımlarda neler ile karşılaşılabileceği, bu adımların farklı seçeneklerinde nasıl davranılması gerektiği, nerelerde esneklik tanınabileceği, oluşturulan çerçevenin sınırlarının ne olacağı belirlenmelidir. Başlangıçta bu planlama yapılmadığı takdirde, farklı şekilde oluşturulan ve belli bir aşamaya gelmiş bir projeye yeni bir mantığın adapte edilmesi çok külfetli ve zaman alabilen bir işleme dönüşebilir, hatta bazen imkansız hale gelebilir. Bu durumda tekrar başa dönülmesi, yapılan işin ve harcanan zamanın boşa gitmesi istenmeyen ama sık sık karşılaşılan bir durumdur.

Başka bir alandan bir örnek vererek ne söylemek istediği açıklamaya çalışayım. Diyelim ki 10 katlı bir bina yapmak için bir plan hazırladığınızda nasıl temelde kullanacağınız demir ve beton miktarını, kolon genişlikleri ve yerini 10 kata göre hesaplayıp binanın temelini ona göre atıyorsanız, bilgisayar programcılığında da temelde oluşturacağınız altyapıyı, yapının tümünü düşünerek oluşturmak zorundasınız. Temeli 10 katlı binaya göre atıp 100 katlı bina inşa edemezsiniz. Başka bir yönden şöyle düşünelim; 10 katını yaptığınız normal betonarme bir binanın tüm katlarını 3 metre tavan yüksekliğinde inşa ettikten sonra fikir değiştirip 5. ve 6. katlarını 4 metre yapamayacağınız gibi bilgisayar programcılığında da geriye dönüşü çok zor olan yapılarla karşılaşabilirsiniz. Fakat aynı binayı prefabrik olarak değişik malzemelerden oluşturup gerekli vinç mekanizmasını koyarak esnek olarak tasarlarsanız istediğiniz katın yüksekliğini değiştirebilirsiniz. Tasarlanan programın da mümkün olduğu kadar esnek olması ve değişimlere açık bir yapıya sahip olmasında sayısız yarar vardır. Parametrik ve fonksiyonel olarak tanımlayabileceğimiz yapılarla oluşturulan yazılım hep yazılımcı için hem de programı kullanan kullanıcı için çok daha büyük kolaylık ve esneklik sağlayacaktır.

İyi bir programın kıstasları nelerdir ?
Eğer yapılan program kapsamlı ise çok karmaşık ve çok ihtimalli bir yapı üzerinde inşa edilmiş demektir bu kapsamlı ve karmaşık yapının kullanıcıya en basit haliyle yansıtılması gerekir. Yani kullanılan program kullanıcıya yansıyan kısmında karmaşık tasarımlar, gereksiz form ve pencereler, fazla sayıda menü ve buton yerine sade ve anlaşılır bir arayüz oluşturulmalı yani kolay kullanılabilmelidir. .İyi bir program her şeyden önce amaca uygun olmalı, programdan istenilen sonucu verebilmede başarılı olmalıdır. Program parametrik bir yapıda farklı seçeneklerde farklı sonuçlar vererek, kullanıcılara daha fazla sayıda alternatif sunmalı mümkün olduğunca hatalardan arındırılmalıdır. Yukarıda da basedildiği gibi esnek olabilmeli, yeni şart ve durumlara mümkün olduğunca kolay adapte edilebilmelidir.


Misafir 22 Mart 2012 10:25

proglamlama
 
proglama nedir


Misafir 12 Ağustos 2012 23:02

tesekkürler vermiş olduğunuz bilgiler için C kodlama dilini öğrenmeye çalısıyorm ... o konu hakkındada yazarsanız cok sevinirim basarılar...


AndThe_BlackSky 10 Haziran 2013 19:00

PROGRAMLAMA DİLLERİ

Programlama dilleri iki ana bölümde toplanabilir: (a) Makineye yönelmiş diller ya da makine dilleri, (b) probleme yönelmiş diller ve bunlara ilişkin programlama sistemleri.

1.1. Makine Dili ile Kodlama

Problem önce,bilgisayarın özellikleri ve mevcut komutlarla yapabileceği işlemler dizisi biçiminde ifade edilir;sonra programcı tarafından bu, bilgisayarın makine dilinde yazılır.Elde edilen makine dilindeki program gerekli veri ile birlikte,bilgisayarca doğrudan doğruya icra edilebilir ve aranan sonuçlar bulunur.Ancak makine dili ile programlamada bazı önemli güçlükler ortaya çıkar.Bütün komutların makine dili ile kodlanması; komutların makine tarafından icra olunacak sırada yazılması ve yanlışlıkla ya da başka bir nedenle bazı komutlar atlanmışsa, bundan sonraki bütün komutların araya eklenenler için ötelenmesi ve adreslemenin yenilenmesi zorunluluğu;bütün lojik ve program düzenlemenin programcı tarafından yapılması;programcının kullandığı bilgisayarı çok iyi anlamış olma gereği bu güçlüklere örneklerdir.

1.2. Programlama Sistemleri

Programlama sistemleri genel olarak bir dil ve bir birleştirici ya da derleyici programdan oluşur.Programlama dili,programcı tarafından kolayca öğrenilebilecek ve yazılabilecek,bilgi işlem sisteminin yapım özellikleri ve yapılacak işlemler arasında uzlaşma sağlayabilecek bir biçimde olmalıdır.Bu dilin,diğer herhangi bir dildeki gibi, dilbilgisi,noktalama ve yazma kuralları olacağı acıktır.
Bir bilgisayarda programlama sistemlerinin bulunması makine dilinde programlamanın güçlüklerini önemli ölçüde azaltır.Birleştirici program ve derleyiciler,programların makine dili dışında probleme yönelmiş bir dilde hazırlanabilmesi olanağını sağlar.Programlama dilinde makine diline çeviriyi,birleştirici ya da derleyici aracılığı ile,bilgisayarın kendisi yapar. Programlama sisteminin dili makineye ya da programa yönelmiş olabilir.

1.3. Sembolik Programlama Sistemleri

Sembolik programlama sistemleri,programcıyı makine dili ile kodlamanın güçlüklerinden büyük ölçüde kurtarır;fakat belli bir bilgisayara göre hazırlandıklarından ve sistemin programlama dilinin kısmen makineye yönelik olmasından dolayı makine dili düzeyinde çalışan ,öğrenilmeleri oldukça uzun suren sistemlerdir ve her bilgisayar için farklıdır,diğer bir deyişle makineye bağlıdır;her bilgisayarda ayni dil kullanılamaz.

1.4. Probleme Yönelmiş Diller ve Derleyiciler

FORTRAN,COBOL,ALGOL, vb. bu tur programlama sistemlerine bazı örneklerdir.Bu tur programlama sistemleri ile çalışmada,temel programın derleyici program aracılığı ile bilgisayarca,belli kurallara uyarak makine dili programına çevrilmesine derleme denir.Derleme sırasında rastlanan dil kurallarına aykırı olan hatalar özel hata mesajları ile bilgisayarca programcıya bildirilir.
Probleme yönelmiş dillerin en önemlilerinden biri,bilimsel ve mühendislik araştırma ve uygulamaları için geliştirilen ve en yaygın olarak kullanılan FORTRAN dilidir.FORTRAN adi,formül çevirisi anlamındaki, İngilizce “FORmula TRANslation” kelimelerinin ilk hecelerinden oluşur.FORTRAN dili sayısal hesapla ilgili herhangi bir problemin kolaylıkla ifade edilebilmesini sağlayacak biçimde düşünülmüştür.Komutlar ya da deyimler herhangi bir güçlük olmaksızın anlaşılabilir ve yorumlanabilir.Bazı deyimler problemin matematiksel bağıntılarına çok benzer. FORTRAN programlama sistemi 1954 yılında J.W Backus tarafından önerilmiş ve ilk kez 1957 yılı baslarında IBM 704 Bilgi İşlem Sisteminde kullanılmıştır.1960 yılında BURROUGHS kendi bilgisayarları için bir FORTRAN derleyicisi hazırlamıştır.Günümüze kadar çeşitli FORTRAN programlama sistemleri geliştirilmiş ve kullanılmıştır.FORTRANII,FORTRANII-D,FORTRANIV bunların en önemlilerine örneklerdir.Genel olarak,bir sonraki işlemin bir öncekine göre daha gelişmiş olduğu ve programlamada daha geniş olanaklar sağladığı söylenebilir.




karelsuat 11 Haziran 2013 13:55

Programlama Dilleri Nedir? Gelişimi ve Tarihi
MsXLabs.org

Bir programın oluşturulmasında kullanılan komutlar, tanımlar ve kuralların belirtildiği programlama araçları olarak tanımlanabilen "programlama dilleri"nin ne kadar eski olduğunu ve nasıl bir gelişim gösterdiğini hiç merak ettiniz mi? Peki ya ilk programlama dilinin 100 yıldan fazla zaman önce bir kadın tarafından yazıldığını biliyor musunuz?

Ada Lovelace tarafından Charles Babbage’ın tanımlamış olduğu “Analytical Engine” ile Bernoulli sayılarının hesaplanmasına ilişkin makalesinde olduğu söylenen bu program, birçok tarihçi tarafından ilk programlama dili kabul edilmektedir. Bunu bir programlama dili olarak kabul etmeyenler olsa da gerçek anlamdaki programlama dillerine öncülük ettiği bir gerçektir. Aşağıdaki infografikte tarihsel olarak programlama dillerini(Fortran, Lisp, Cobol, Pascal, C, C++, Objective-C, PERL, Python, Ruby, Java, PHP, JavaScript), ünlü kullanım yerlerinden bazılarını ve çeşitli özelliklerini bulabilirsiniz. Aynı zamanda Veracode'dan güvenli programlama hakkında da bazı ipuçları var.

Programlama Dilleri Nedir? Gelişimi ve Tarihi



Saat: 06:53

©2005 - 2024, MsXLabs - MaviKaranlık