0
I Use This!
Activity Not Available

Project Summary

Nedir bu bilgisayar programcılığı ? Zor mu? sizce? Genelde bukonu birçok forumlarda yer almıştır ama bende ufak ufak ipuçları vereyimdiye düşündüm sizlerekendimce: Birçok kişi bilgisayar programcılarının ne ile uğraştığını bilir fakat nasıl uğraşıp neler yaptığını pek bilmez.. Bu konulara biraz özet olsa da anlatmak istedim. Bilgisayar dünyasında sıkça kullanılan bir kelimeden bahsetmek istiyorum yazılım... Yazılım(software) kelimesi bilgisayar programlama dilleriyle oluşturulan dökümanları, dosyaları ifade eder. Yani bilgisayarınızda işletilmek, çalıştırılmak üzere tasarımlanmış dosyalar yazılım kapsanına girer. Bu dosyalar nasıl yapılır ? Yazılım programlama dilleri ile tasarlanır ve yazılır,programlama dili de nedir? Programlama dilleri, bilgisayarınızın donanımını(ekran kartı, ses kartı, modem, mouse, klavye...) sizin en rahat biçimde kullanabileceğiniz düzeye getirmeye çalışır. Yani bilgisayarda buz diye nitelendirdiğim burakkamlar 1010110 gibi rakamlarını sizin zevkle kullandığınız programlara, işletim sistemlerine, oyunlara çevirir. Örneğin kullanılmakta olan Windows diğer diliyle (yazılım) işletim sistemi onbinlerce sayfa milyonlarca bilgisayar kodunun biraraya gelmesinden oluşur.işin tüm zorluğu, o kodların arasında dolaşan, hata mesajlarını günlerce kodları gözden geçirerek arayan, sandalye tepesinde saatlerce aynı ekrana bakarak ilginç görüntüler sergileyen programcıların üzerindedir... Bilgisayar programcıları işini zevkle yapan ve işini bir hobi edinmiş insanlardan oluşur, en azından öyle olmalı. Aksi halde yoğun konsantrasyon ve sabır isteyen bu işi yapmak aşırı zorlaşır. Neyse... Programlama dillerinden bahsediyorduk Programlama dilleri kendi aralarında sınıflara ayrılmışlardır. İnsanın en zor öğrenebileceği, anlayabileceği yani 1100101 gibi makina kodlarına yakın diller en düşük seviyeli(low level) programlama dilleri, insanın en kolay anlayıp kullanabileceği ve insan diline yakın özellikler gösteren diller ise en yüksek seviyeli(high level) programlama dilleridir. Şimdi bu sınıflandırmaya örnekler vereyim nedirpeki? Çok yüksek seviyeli diller : VisualBasic, VB.NET, Acces , Foxpro ... Yüksek seviyeli diller: Pascal ,Basic ,Fortran... Orta seviyeli diller: C ,C++, C# , Java ,ADA... Düşük seviyeli diller: Assembly... Makina dilleri: Bilgisayarın çalışma dilleri 1 ve 0'lardan oluşur... Bu dillerin kullanıldığı alanlara örnek verirsek; Bilim ve Mühendislikte: Pascal ,C ,C++ ,Java ,Fortran... Veritabanı Programcılığında: Dbase ,Acces ,Foxpro ,Sql... Yapay Zeka Kullanımında: Prolog ,Lisp... Sistem Programcılığında: C ,C++ ,Java ve sembolik makina dilleri... Bir bilgisayar programı nasıl yazılır ? Bir yazılım değişik dillerle oluşturulabilir fakat izlenen yöntemler genelde birbirine benzer.Örneğin Algoritma... Algoritma, elimizdeki sorunun çözümüne gidebilmek için tasarlanan yollar,yöntemlerdir. Örneğin bir arkadaşınıza daha önce gitmediği bir yerdeki bir adresitarif edeceksiniz. Bunun için anlatımda genelden özele giden bir yol izlersiniz. Önce gideceği semti sonra caddeyi sonra işyerinin olduğu yönü tarif eder son olarak da kolay bulması için işyerinin çevresindeki göze batan özelliklerden bahsedersiniz.İşte bu yaptıklarınız bir algoritmadır. Ve amacınız arkadaşınıza işyerinizi bu algoritma yardımıyla tarif etmektir... Bilgisayar programlama dilleri de programcılıkta bunu gibi yöntemler kullanarak çözüme gider. Algoritmanın uzunluğu kullanılan programlama dilinin seviyesi ve problemin karmaşıklığı ile doğru orantılıdır. Yapılan algoritma ve tasarımdan sonra yazılım aşamasına gelinir ve bu aşamada yapılacak programın kullanım ömrü, programın kullanım düzeyi ve hangi amaçla kullanılacağı gibi soruların cevaplarına bakılarak programlama dili seçilir. Dil seçimi bazı kriterlere göre yapılmaktadır, örneğin kısa sürmesi ve görsel tasarım içermesi, veritabanı iletişimi yoğun kullanılması gereken bir program yapmamız gerekiyor olsun. Bu durumda Assembly dili ile yola çıktığımızda bahsedilen proje birkaç kişilik deneyimili bir programcı grubu ile birkaç yıl alır. C ile iki programcı aynı işi üç dört ayda VisualBasic veya Delphi ile bir programcı bahsedilen işi bir iki aya yakın bir sürede yapabilir. Başka bir açıdan örnek vermeye çalışırsam örneğin bir ekran kartı programlamamız gerekiyor ve bu kartın driver'ını ( sürücüsünü ) biz yazacağız. Bu durumda bu işi VB veya Delphi ile yapmamız imkansızdır, kullanmamız gereken diller öncelikle Assembly ve C/C++ olmalıdır. Evet, programlama dillerinin kendi alanları vardır ve her dil kendi branşında kullanıldığı sürece başarılı ve etkili kullanılmış olur. Buraya kadar anlattığımı özetlersem. Bir bilgisayar programı yazmak için belli aşamalar vardır ve bu aşamalar geçildiğinde kodlamaya başlanabilir. Bunlar nelerdir? Analiz Algoritma Dil Seçimi Kodlama Analiz ile gerçekleştirilmek istenen proje tasarımlanır ve parametreleri araştırılır.Algoritma ile adımlar tayin edilir. Dil seçimi ile en uygun programlama dili seçilir. Ve kodlamaya başlanır... Kod yazıldıktan sonra da bazı aşamalardan geçer bunlar da genel olarak : Test ve Debug Pilot denemeler ve ilk versiyon denemeleri Hazır halde çalışır programı sunma Programlama Dilleri

Bu bölümde programlama dillerinin kullanıldıkları alanları ve özelliklerini inceleyeceğiz. Programlama dilleri uygulama alanlarına göre dörde ayrılır: Bilimsel ve Mühendislik Alanında : Üniversitelerde ve bilimsel kuruluşlarda mühendislik veya matematik hesapları için kullanılan bu dillere örnek; Pascal, C, C++, Java dilleridir. Veritabanı Kullanımında : Genellikle Personel kayıtları, fabrika stok veya depo denetimi gibi veritabanı gerektiren işlemlerde kullanılan diller;DBASE,SQL,FOXPRO,PARADOX gibi veritabanı dilleridir. Sistem Programcılığında : İşletim sistemlerinin ve sistem programlarının yazılımında kullanılan dillere örnek, C ,C++ ,Java ve makina dilleridir. Genel Amaçlı kullanım : Çeşitli konularda uygulama geliştirmek için kullanılan dillere örnek,C ,C++ ,Java ,VB ve Pascal'ı verebiliriz. Son yıllarda programlama dillerinde nesneye yönelik tasarımlar yapılmış ve bu dillerin çoğunun nesneye yönelik programlama yapabilen uyarlamaları çıkmıştır. Nesneye yönelik programlama, programcının kendi sınıfını ve nesnesini oluşturup bunun üzerinde işlemler yapmasına olanak sağlayan ve programlama dillerinin geldiği son aşamalardan birisidir. Bu konu oldukça kapsamlı olup bunun geniş açıklamasını burada yapmayacağım. OOP(Object Oriented Programming) yani Nesneye Yönelik Programlama'nın kullanılmasıyla ve Visual programcılığın da gelişmesi ile beraber ortaya oldukça güzel görünümlü ve kullanışlı programlar çıkmaya başladı. Bu bilgisayar programlarına olan ilgiyi arttırdı ve bu konulardaki araştırmaları hızlandırdı. Sonuçta şu anda, pekçok dilin artık nesneye yönelik olan ve visual özellikler içeren sürümleri kullanılmakta ve tercih edilmektedir. Örneğin: C++ ,Visual C++ ,C++ Builder ,Delphi ,Java... İnternet'in de yaygınlaşmasıyla programlama dillerine yeni özellikler eklendi ve internet'te kullanılabilecek nitelikte görsel özellikli diller çıkarıldı. Örneğin HTML, kullanıcının dikkatini çeken renkli ve hareketli arabirimiyle her geçen gün yeni ekler ile gelişmektedir. JavaScript ve VBScript iki script dili olarak HTML'ye getirdiği ek özelliklerle çokça kullanılır oldu. Ve asp ile veri tabanını aktif kullanıma sunma, aktif sayfalar hazırlama olanağı elde edildi. Görüldüğü gibi özellikle internet'in gelişmesi ile birlikte programlama dillerinin yapılacak işe veya kullanılacak platforma göre değişik özellikler gösteren uyarlamaları çıktı. Bu durumda web teknolojisini izleyen ve internet üzerinde yazılım geliştirmek isteyen bir programcının javascript ,vbscript ,java ,HTML gibi dilleri bilmesi ve bu konularda kendini geliştirmesi gerekir. Uygulama programlarına ,ticari programlara, veya işletim sistemlerinin kullanımına yönelik yazılım geliştirmek isteyen programcıların da C++ ,Java ,Delphi gibi son zamanların en popüler dilleri üzerinde çalışması, bunları öğrenmesi gerekir. Internet programcılığı, esnek mimari, OOP gibi konularda söylenmesi gereken önemli bir nokta da Java'nın programlama dünyasına getirdiği önemli bir özelliktir. Java nın çıkması ile atılan önemli bir adım da platform'dan yani işletim sisteminden bağımsız olarak çalışan, her sistemde çalışabilen, programların yazılabilmesidir. İleriye yönelik bir bakış açısı ile bakıldığında cep bilgisayarlarının, kablosuz cihazların, cep telefonlarının sıklıkla kullanılacağı ve artık PC lerin döneminin kapanmaya başladığı düşünülürse birçok cihazda çalışabilecek programların yazılmasının önemi anlaşılabilir. Java son yıllarda programlama dünyasına gelmiş en iyi programlama aracıdır ve yeni çıkacak programlama dillleri de Java'nın birçok özelliğinden esinlenmektedir. Şimdi programlama dillerine özet bir bakış yapalım; C

Yapısal programlama dilleri arasındadır. Öğrenilmesi zaman almasına rağmen oldukça kullanışlı ve esnek yapısı ile adından yıllarca bahsettirmiş, bilgisayar programcılığının temel dillerinden biridir. C ile bilgisayarınıza bir sistem yazmaktan bir oyun yazmaya veya printer kontrolü yapmaya kadar her türlü işlem yapılabilir ve bu özelliği sayesinde kullanım alanı çok geniş bir dildir. C++

Nesneye yönelik programlama yapabilen diller arasındadır. C'nin saydığımız tüm özelliklerine ek olarak güçlendirilmiş nesne yönetim özelliği ile şu anda bilgisayar dünyasının en çok kullanılan dillerinden biridir C#

Nesneye dayalıdır(OOP). C++ ın ve Java'nın pozitif yönlerini bünyesinde birleştirmiş yeni bir dildir. Programcıya internet uygulamaları ve yerel uygulamalar yazmakta bazı kolaylıklar getirmiştir. İleriye dönük olarak microsoft'un java teknolojisine rakip olarak ortaya sürdüğü bir programlama dilidir ve microsoft'un bu konulardaki (internet uygulamaları) yelpazesini genişletmeye yönelik bir atılımdır. Microsoft teknolojileri kullanacak programcıların C#'ı öğrenmeleri zamanla gerekecektir ve öncelikle öğrenilmeye başlanması da avantaj getireceği açıktır. Java

Nesneye yönelik dillerdendir. Son yıllarda geliştirilmiş bir dil olup modern ve yenlikçi altyapısı ve visual özellikleri ve sürekli gelişen kütüphane (library) desteği ile gün geçtikçe kullanımı artan bir dil olmuştur. Java dili hemen hemen her alanda kullanılabilen esnek ve güçlü bir dildir. VB.NET

Nesneye dayalı bir dildir. VisualBasic(VB) teki biçok özellik bu dilde yeniden yapılandırılarak değişmiştir. Yapısına bakılırsa VB den ayrı yeni bir dil geliştirilmiş denilebilir. Eklenen bazı özellikler ile VB de yapılamayan birçok işlem artık yapılabilmektedir ve OOP nin özellikleri desteklenerek daha verimli kod yazmaya olanak sağlanmıştır. VB programcılarının VB.NET'e geçişleri kolay olmayacak olsa da VB yerine VB.NET kullanımı gün geçtikçe artacaktır. VB.NET internet uygulamalarından yerel uygulamalara kadar kullanım imkanı geniş bir dildir. Delphi

Pascal tabanlı bir dil olup nesneye yönelik programlama yapabilme özelliği taşır. Öğreniminin çok zor olmayışı ve üniversitelerde pascal eğitiminin ağırlıklı verilmesi nedenleriyle çoğu bilgisayar programlama öğrencisinin tercih ettiği bir dildir.Visual programlama özelliği taşır. Pascal

Pascal Yapısal bir dildir, C 'ye benzerlik gösterir. Öğrenilmesinin zor olmayışı ve bilgisyar eğitimi veren okullarda okutulan bir ders olması sebebiyle kullanım alanı genelde üniversiteler ve bilimsel hesaplamalar yapan kurumlardır. VisualBasic

Basic tabanlı bir dil olup öğrenilmesi kolay, kullanım alanı geniş bir dildir. Özellikle görsel uygulamalarda projenin arabiriminin hızlı yazılmasını sağladığı için genelde kullanıcı arabirimi tasarımlarında kullanılır. Kapsamlı veya çok kullanıcılı uygulamalarda kullanılmaz. Kullanıcı sayısı az olan veya kısa sürede bitmesi gereken küçük ölçekl projelerde tercih edilen bir programlama aracıdır. Yoğun olarak kullanılmaktadır Programlama dillerinin hepsini incelemeye imkan olmadığından çok kullanılan bir kısım dilden bahsetmeye çalıştım. Her dilin kullanım amacı ve yönelimi farklı olabilir önemli olan hedeflediğiniz konularda size yardımcı olacak dili seçip onunla çalışmanızdır.

Tags

programlamadilleri

In a Nutshell, hacklibrary...

 No code available to analyze

Open Hub computes statistics on FOSS projects by examining source code and commit history in source code management systems. This project has no code locations, and so Open Hub cannot perform this analysis

Is this project's source code hosted in a publicly available repository? Do you know the URL? If you do, click the button below and tell us so that Open Hub can generate statistics! It's fast and easy - try it and see!

Add a code location

GNU Library or "Lesser" GPL (LGPL)
Permitted

Commercial Use

Modify

Distribute

Place Warranty

Use Patent Claims

Forbidden

Sub-License

Hold Liable

Required

Include Copyright

Include License

Distribute Original

Disclose Source

State Changes

Include Install Instructions

These details are provided for information only. No information here is legal advice and should not be used as such.

All Licenses

This Project has No vulnerabilities Reported Against it

Did You Know...

  • ...
    Black Duck offers a free trial so you can discover if there are open source vulnerabilities in your code
  • ...
    compare projects before you chose one to use
  • ...
    use of OSS increased in 65% of companies in 2016
  • ...
    anyone with an Open Hub account can update a project's tags

 No code available to analyze

Open Hub computes statistics on FOSS projects by examining source code and commit history in source code management systems. This project has no code locations, and so Open Hub cannot perform this analysis

Is this project's source code hosted in a publicly available repository? Do you know the URL? If you do, click the button below and tell us so that Open Hub can generate statistics! It's fast and easy - try it and see!

Add a code location

Community Rating

Be the first to rate this project
Click to add your rating
   Spinner
Review this Project!
Sample ohloh analysis