Ana içeriğe atla

Yeni Başlayanlar İçin Programlama - Terimler, Uygulamalar ve Prensipler

Kodlamaya Başlamadan Önce

Yazılım programlamaya henüz yeni giriştiğinizde öğrenmeniz gereken birçok şey vardır ve bunlar bazen zorlayıcı olabilir. Yeni öğrendiğiniz bir programlama dilini tamamen öğrenmeye çalışırken aynı zamanda oldukça fazla sayıda yeni konseptler, prensipler, pratikle, teknik terimler, yardımcı yazılımlar ve daha bir çok şey keşfedersiniz. Tabi bunların hepsini aynı anda öğrenmek mümkün değil ve zaman alacaktır.

Bu sebeple bana göre bir programlama dilini öğrenip de kod yazmaya başlamadan evvel bu dilin artı ve eksilerini öğrenmek kayda değer bir iş olacaktır. Burada yer alan temel bilgiler bu konuda siz yol gösterecek olan programlama dünyası içindeki ortak terimleri, pratikleri ve yardımcı yazılımları içermekte.

Bu yazıda size bu yolda öğrenmek istediğiniz dil farketmeksizin yukarıda da bahsettiğimiz ortak yönleri ve genel temel bilgileri açıklayacağım.


Yeni Başlayanlar İçin Kod Düzenleme/Yazma Programları

Bir kelime işlemci programında (Office Word gibi) kod yazamazsınız çünkü yarattığınız dökümanın formatı yazıldığı programın formatındaki kodlarla olacaktır. Bu sebeple bir çok bilgisayar yüklü olarak gelen (Not Defteri gibi) ve herhangi bir format içermeyen programları kod yazmak için kullanabilirsiniz ancak bunun yerine bir kod editörü edinmeniz sizin daha çok hayrınıza olacaktır. Bu konuda endişelenmeyin işiniz çok kolay. Ücretsiz olarak edinebileceğiniz birçok kod editörü bulunmakta. (Bazılarını birkaç paragraf aşağıda bulabilirsiniz, bunlar en bilinenlerden.)

Kod editörleri programlama yapmanıza olanak sağlamanın yanında sizin için bu işi daha da kolaylaştırır, kodunuzu gözden geçirirken okunmasını kolaylaştırır ve size birçok kolaylık sunar. Bir kod editörü kullanırken dikkatinizi ilk çekmesi gereken şey satırların numaralandırılmasıdır. Yazdıklarınızı bulmanızı kolaylaştırır, kod hatalarınızı incelerken hata olan satırı bulmanızda yardımcı olur. Numaralandırılmış satırlar kodunuzda yaptığınız değişiklikler hakkında "log" tutmanızı kolaylaştırır ve çoklu kişilerce yapılan yazılımlarda (yazılım şirketi çalışanları gibi) belli noktaları bulma konusunda işiniz kolaylaşacaktır.

Programlamaya başladığınızda farkedeceğiniz diğer bir şey de kullandığınız programın yazdığınız kodları okunabilirliğinin artması açısından renklendirmesidir. Çünkü birçok kod türünde açma-kapama şeklinde uygunsuz kullanımda hata yapılabilecek olan parantezler kullanılır. Bu konuda editörlerin birçoğu açma ve kapama parantezlerini renklendirerek size bu konuda yardımcı olur. Bazen ise otomatik şekilde uygun yerlerde kodları tamamlayarak size zamandan kazanma olanağı kazandırabilir.

Aşağıdaki kod editörü fotoğrafına baktığınızda kod parçacıklarının satır kenarlarında +,- içeren karecikler göreceksiniz. Bu parçacıklar kodlarınızı gizlemek ve açmaya yardımcı olur. Bu sayede o an işiniz olmayan kısımları kapatarak kod kalabalığından sıyrılabilirsiniz.

Aynı zamanda birçok kod editörü kodunuzu çalıştırmak için tarayıcılar, eklentiler gibi olanaklar sağlayarak bu şekilde editörünüzü zenginleştirip kişileştirmenize yardımcı olur. Bu sebeple bir editörü edinmeden önce size sağlayacağı olanaklara bakıp beyaz eşya seçer gibi ince eleyip sık dokumanız işinize gelecektir.


Bazı Ücretsiz Kod Editörleri

Notepad++
Android için DroidEdit
Mac ve FTP için Bare Bones Software | TextWrangler


PHP ile Notepad++ Editöründe Yazılmış Bir Kod Örneği



Syntax (Sentaks)

Programlama dilleri de günlük hayatta kullandığımız diller gibi kendilerine özgü sözdizimi ve yazım kuralları vardır. Göreceksiniz ki birçok programlama dili aslında çokça ortak özellik ve fonksiyonlar barındırır fakat aynı zamanda hepsinin kendine özgü birer sentaksı vardır.

Sentaksı doğru anlamak oldukça önemli bir meseledir ve yeni başlayan birisi olarak göreceksiniz ki farketmeden birçok parantez, köşeli parantez, kesme, tırnak işaretleri ve noktalı virgül hataları yapmış olacaksınız. Bunun çözümü zamanla kendinizi geliştirmek ve bol bol denemeler yaparken renklendirme yapan iyi kod editörleri kullanmak.

Yoda Coding


Bazen yazdığınız kodu bilgisayar sizin algıladığınız şekilde algılamayabilir fakat bu durumda başka programlama stilleriyle bazı normların dışına çıkabilirsiniz. Buna 'Yoda Coding' denmekte. Fotoğraftaki örneğe bakarsak bunu şöyle anlayabiliriz : "5 sayısı count değişkenine eşit mi" yerine "count değişkeni 5 sayısına eşit mi" örneğinin kullanımı.

Açıklama, Girinti ve Okunabilirlik

Kod yazarken okunabilirliği korumak ve sürdürmek, düzenli şekilde yazmak önemlidir. Bu yalnızca işlemcinin kodu okuması için değil aynı zamanda sizin de anlamanız içindir. Bu sebeple kendiniz başka bir zaman geri dönüp bir kod bölüğüne bakmak istediğinizde okunabilirliğinin yüksek olması yararınıza olur. Tabi bir de çoklu kişilerce yapılıyorsa bu iş, diğer programcılar açısından da yararlı olacaktır.

Değişkenler ve fonksiyonlarınız için açıklayıcı tarzda kelimeler seçmek size oldukça yardımcı olacaktır. Aynı zamanda kodlarınızı girintili şekilde (tab koyarak) yazmak da oldukça kullanışlıdır. Her programlama dilinin kendine özgü bir formatı olduğundan dili seçerken bu özellikleri göz önünde bulundurmalısınız çünkü her dilin kendine özgü bir girinti yöntemi vardır.

Açıklamalar oldukça önemlidir. Örneğin bir programcı kodunuzu okurken anlamakta zorlandığı kısımları oraya yazdığınız açıklamalara bakarak anlayabilir, yine aynı şekilde siz de kendiniz için yapabilirsiniz bunu.

Döküman ve Kütüphaneler

İyi bir programcı olmak ingiliz anahtarı kullanmaya benzemez, talimatları okumanız gerekir. Dökümandan kastım, öğrendiğiniz herhangi bir programlama dili için sağlanan ve talimatlar içeren belgeler. (3.parti kaynaklar, SDK ve API' lar. Bu kavramları yazının ilerleyen bölümlerinde açıklayacağız.) Bir yazılım geliştirici olarak, döküman okumaya oldukça zaman harcayağınız garantisini verebilirim. Ancak şu da var ki bu işe ne kadar zaman ayırırsanız o kadar gelişeceksiniz.

Gerçek şu ki, bir programlama dili öğrenmek için gittiğiniz herhangi bir kurs size o dili tamamiyle anlatamaz hatta yıllarca o dile yoğunlaşmış bile olsanız hala o dil hakkında emin olamayacağınız yerler bulunacaktır. Çeşitli kaynaklar okumak ve dökümanlar kullanmak oldukça önemli bir husus ve bu noktada yeni bir programlama dili öğrenmeye başladığınızda -eğer çok da mantıklı ve anladığınız yanları olmasa bile- başladığınız kurs dökümanlarını tamamlayın. (Burada kurs dökümanından kasıt internetten edinilen PDFler, kitaplar, çeşitli tutorial serileridir.)

Kütüphaneler bilgi edinebilmek için bir diğer kaynak ve yeni bir programlama dili öğrenmeye başladığınızda, dil hakkında birkaç işe yarar kütüphane(library) edinmeniz ve bunları kendiniz için sınıflandırmanız her zaman işinize yarayacak bir durumdur. Temel olarak, kütüphaneler daha önceden yazılmış ve sizin de kullanabileceğiniz kodları barındıran bir nevi kod ambarıdır. İstediğiniz kod parçacıklarını alıp kullanabilir, düzenleyebilirsiniz. Kütüphaneleri iyi şekilde kullanmanın size zaman konusunda büyük fayda sağlayacağı da bir diğer su götürmez gerçektir.

Pseudo Code

Pseudo Code dediğimiz kavram, bir kod parçacığının yapacağı veya yapması gerektiği işleri açıklayan yazılardır. İnsan beyni ve yazılım dili arasındaki bir geçiş noktasıdır. Mantıksal ve matematiksel stiller kullanarak bir kodun açıklanmasını amaçlar fakat herhangi bir sentaks veya kod yapısı içermez.

Pseudo Code oluştururken herhangi bir kurala maruz kalmazsınız ve bu konuda kişisel olarak işinize geleni yapmanız mümkün.

Pseudo Code dediğimiz olay, iki sebepten dolayı çok faydalıdır :


  • Problem çözme ve nereden başlayacağını kavrama : Bir kod yazmaya başladığınızda genelde bunun nasıl yapılanacağını ve nereden başlayacağınızı bilemezsiniz. O yüzden başlamadan evvel açıklama girintilerinizi yazmak ve daha sonrasında bunu koda dökmek nereden başlayacağınız, kod yapınız ve düzenli yazmanız konusunda yardımcı olacaktır.



  • Açıklama : Pseudo Code ile aynı zamanda kodunuzu kısa ve kolay bir şekilde okunabilirlik açısından açıklama ekleyebilirsiniz. Ayrıca bunu kodlamaya başlamadan önce yönerge şeklinde de yazarak hem karışıklığı giderebilir hem de bölmelendirmiş olursunuz.


Bir Pseudo Code Örneği




Integrated Development Environments (IDE)

IDE dediğimiz şey, Türkçesi "entegre olmuş ya da interaktif geliştirme ortamı", kod editör dediğimiz programların bir tık üzeridir.

Bir IDE kaynak kod editörü barındırmanın yanısıra kodlarınızı test etmeniz ve hatalarınızı görmek için "debugger" ve kodlarınızın çıktısını yani yazdığınız programın dökümünü almak için "compiler" barındırır. Bunlara ek olarak erişebileceğiniz kütüphaneler vs. de barındırır.

Eğer JavaScript veya PHP gibi ortak kullanılan bir web dili öğreniyorsanız bir IDE' ye ihtiyacınız yoktur. Fakat daha ağır yapılar barındıran diller temel bir IDE' ye ihtiyaç duyarlar.

Popüler olan IDE'ler genelde kullanıcıya değişik dilde kullanım sunarlar fakat seçtiğiniz IDE' nin kullandığınız dile uygun olmasına özellikle dikkat etmelisiniz.

Burada bir ekleme yapmak istiyorum, Türkçe internet ve programlama dillerinde çok yaygın kullanılan bir dil olmadığından dilimizi destekleyecek uygun IDE' ler bulmanız oldukça zor ve hatta neredeyse yok. O yüzden az-çok İngilizce bilmeniz programlama dünyasında her daim yardımınıza yetişecektir.

Bazı Popüler Ücretsiz IDE' ler

NetBeans - Açık kaynak ve bolca kullanıcısı var
Eclipse - Yine aynı şekilde NetBeans gibi açıklayabiliriz


GIT Versiyon Kontrolü ve İşbirliği

Git, bir versiyon kontrol sistemidir. Yazdığımız projeleri, bilgisayarımızda ya da harici disklerde tutmak yerine internet üzerinde tutmamızı sağlayan bir kod yönetim sistemdir.

Geliştiricilerin ortak olarak kullandığı ve programlarını iyileştirmek için değişiklik çetelesi olarak kullandığı işe yarar bir araçtır GIT. Çünkü kodunuzda bir problem ortaya çıktığında onu geçmiş stabil haline alabilmeye şansınız olur. Ayrıca barındırmak ve paylaşmak konusunda "repositories" denilen bir sistem işletmekte. Hali hazırda bulunan kodlar kullanarak tekrar tekrar aynı kodları yazmak durumunda kalmazsınız. GitHub oldukça popüler bir GIT sistemidir, denemenizde fayda var.

Software Development Kit (SDK)

"Software development kit" ya da diğer adıyla SDK, farklı platform veya frameworkler için program oluşturmaya yarayan yazılım parçacıklarıdır. Örneğin, Android platformuna tablet ve telefon gibi cihazlar için bir program üretmek isterseniz Android SDK' ini indirmeniz gerekir. SDK'ler genelde ücretsizdir. Fakat bunun yanında farklı lisans seçenekleri de olabilir - bu sebeple indirmeniz gereken SDK' i iyi seçmelisiniz.

SDK'ler genelde IDE, kütüphane, dersler ve kod örnekleri de içerirler.

Application Programming Interface (API)

API' lar çeşitli üçüncü parti yazılımlar ve web siteleriyle etkileşim kurmanıza yarayan arayüzlerdir.

API' ları çeşitli içerik ve özelliklere ulaşmak ve aynı zamanda Twitter, Facebook gibi popüler alanlara uygulama geliştirmek için kullanabilirsiniz. Bu tarz API' lar genellikle ücretsizdir ve üçüncü parti araçların geliştirilmesi ve diğer websitelerine entegre edilmesi büyük bir websitesi için oldukça iyi bir reklam şeklidir. Diğer bir API şekli de bir yazılımın servis olarak kullanılması. Bunu genelde firmalar sitenize işlevsellik katmak için önerirler. Bunlara ulaşmak genelde ücretlidir.

Diğer Önemli Programlama Terimleri


  • Algoritma - Matematiksel bir problemi çözmek için ilerlenen yol bütünü 


  • Compiler(Derleyici) - Yazdığınız kodları birler ve sıfırlarla makine koduna indirgeyerek çıktısını alan program. 


  • Concatenation - İki şeyi birbirine bağlama işlemi, örnek olarak iki liste veya iki string' i verebiliriz. 


  • Kontrol Akışı - Kodun hangi bölümlerinin işlemde olduğunun kontrolü. 


  • Dump(Çöp) - Program crash(sorgusuz kapanma hali) verdiğinde kaydedilen verinin bir kısmıdır. Problem çözmede ve teşhisinde kullanabilir. 


  • Floating point - Noktanın yer değiştirdiği ondalık sayılardır, örneğin 1.23 sayısı. Bunun karşıtı tam sayı bulunduran "integer" dır. 


  • Function(Fonksiyon) - belli bir sonuç elde etmek için yazılan kod parçacıkları, istenildiği zaman "calling" denilen terimle bir fonksiyon çalıştırılabilir 


  • GUI - General User Interface(Genel kullanıcı arayüzü), kullanıcının bir yazılımın son haline ulaştığı durum 


  • Interpreter - Bazı diller bir derleyiciye ihtiyaç duymaz, bunu yerine 'interpreter' kullanırlar. Interpreter aynı derleyiciler gibi çalışırlar. 


  • Iteration - Tekrarlanmış talimatların sıralaması. Örneğin, bir liste içindeki her obje için tekrarlanmasını istediğiniz olayı o listeye 'iterate' edersiniz. 


  • JSON - JavaScript temelli ortamlar arasındaki veri transfer formatıdır. Bir çok API, JSON kullanır. 


  • Logical Operation - Boolean' ların "and,or,not" formatına kullanılması. 


  • Loop(Döngü) - verilen şart sağlanana kadar işleyen kod parçası. - yahut sonsuza kadar işleyen 'infinite loop' adındaki döngüler sisteme crash verdirirler. 


  • Markup Language - Sayfaları biçimlendirmek için kullanılan görece daha basit diller, HTML gibi. 


  • Nested - İçiçe geçmiş nesneler için 'nested' ifadesi kullanılır. 


  • Recursion - Bir nesnenin kendini hedef alması. Örneğin bir değişkenin, bir döngünün içerisinde her yinelemede kendi değerini artırması gibi. 
  • Run time - Bir programın çalıştırıldığı süre. 


  • Sandbox - Yazılan programın test amaçlı yürütüldüğü platform.


  • Subroutine - Bir programın içinde herhangi bir bölümde yürütülebilen bir fonksiyon ya da kod parçacığı. 


  • Variable(değişken) - İstendiğinde değeri değiştirilebilecek bir verinin saklandığı yer.



UYARI : Bu yazının orjinali şu adreste yer almakta olup, Türkçe' ye tercüme edilerek yayınlanmıştır.

Yorumlar

Bu blogdaki popüler yayınlar

Minecraft Eşya Listesi

Minecraft oyununda kullanılan eşyaların hepsi aşağıda yer almaktadır. Nasıl yapıldığını görmek isterseniz bağlantıya tıklayabilir ve nasıl yapıldığını ve ne işe yaradığını görebilirsiniz. Ayrıca Minecraft Crafting sayfasına giderek listede yer almayan diğer eşyaların yapımını da öğrenebilirsiniz. Minecraft sopa yapımı Minecraft orak yapımı Minecraft kürek yapımı Minecraft kek yapımı Minecraft kazma yapımı Minecraft şeker yapımı Minecraft sandık yapımı Minecraft kova yapımı Minecraft kitap yapımı Minecraft kağıt yapımı Minecraft yay yapımı Minecraft ok yapımı Minecraft çalışma masası yapımı Minecraft çakmak yapımı Minecraft balta yapma

Osmanlı Savaşları 1.7 MOD HİLELİ APK (Para Hileli)

Osmanlı Savaşları 1.7 Hileli Apk indir, Android Apk indir, Mod apk indir, Android Hack indir, Para Hileli Apk, Sınırsız Para Hilesi Merhaba arkadaşlar. Strateji oyun sevenler için Osmanlı Savaşları oyunu apk paylaşıyorum.. Android Apk oyun indir me. Osmanlı Savaşları hileli mod apk indir me linklerini bulabilirsiniz. Osmanlı Savaşları 1.7 Android Hile MOD APK indir Türk yapımı olan Osmanlı Savaşları gerçek zamanlı,çok oyunculu,online strateji oyunudur. Fantastik ögeler içermeyen Osmanlı Savaşlarının tadını cep telefonunuzdan yada tabletinizden çıkarabilirsiniz, Osmanlı Savaşları her ikisini de destekler. Osmanlı temasında geliştirilmiş olan Osmanlı savaşlarının göz alıcı 3d grafikleri ile oyun keyfini sonuna kadar yaşayabilirsiniz. Osmanlı devletinin askerleri ile ordunuzu kurabilir , acem ocağında askerlerinizi eğiterek ordunuzu daha güçlü hale getirebilirsiniz. Mimarlar ile sağlam bir şehir inşa edebilir,işçiler ile kaynaklarınızı artırabilir,kuracağınız savunma silahlarıyla düşmanla

Azar 3.13.4-arm Değerli Taş HİLELİ APK

Azar 3.13.4-arm Değerli Taş Hileli Apk indir, Android Apk indir, Mod apk indir, Android Hack indir, Taş Hileli Apk, Değerli Yeşil Taş Hilesi Merhaba arkadaşlar. Görüntülü Sohbet uygulamaları sevenler için Azar uygulama apk paylaşıyorum.. Android Apk oyun indir me. Azar değerli taş hileli mod apk indir me linklerini bulabilirsiniz. Azar 3.13.4-arm Değerli Taş Android Hile MOD APK indir Azar sayesinde, sadece parmağınızı kaydırarak dünyanın geri kalanıyla bağlanabilirsiniz! Dünyanın dört bir köşesiyle iletişim kurmak işte bu kadar hızlı ve kolay! Uygulamada en çok lazım olan şey tabiki değerli taş oluyor. Azar Değerli Taş hileli apk indir . Bedava hileli apk mod indir azar . bol eğlenceli bu oyunda hile yapmak için aşağıdaki linkleri indiriniz ve kurulum nasıl yapılır yazımızı okuyunuz. ----------------------------------------------------------- Azar 3.13.4-arm Değerli Taş android hile mod apk artık sitemizde şimdi indirin ve uygulama keyfini yaşayın. Uygulamanın hile mod apk indir lin