14 KiB
Programlama Dillerine ve Geliştirici Araçlarına Giriş
Bu ders, programlama dillerinin temellerini kapsar. Burada ele alınan konular, günümüzdeki modern programlama dillerinin çoğuna uygulanabilir. 'Geliştirici Araçları' bölümünde, bir geliştirici olarak size yardımcı olacak faydalı yazılımlar hakkında bilgi edineceksiniz.
Sketchnote: Tomomi Imura
Ders Öncesi Test
Giriş
Bu derste şunları ele alacağız:
- Programlama nedir?
- Programlama dillerinin türleri
- Bir programın temel unsurları
- Profesyonel geliştiriciler için faydalı yazılımlar ve araçlar
Bu dersi Microsoft Learn üzerinden alabilirsiniz!
Programlama Nedir?
Programlama (kodlama olarak da bilinir), bir bilgisayar veya mobil cihaz gibi bir cihaz için talimatlar yazma sürecidir. Bu talimatları bir programlama diliyle yazarız ve cihaz bu dili yorumlar. Bu talimat setleri farklı isimlerle anılabilir, ancak program, bilgisayar programı, uygulama (app) ve çalıştırılabilir dosya en yaygın isimlerdir.
Bir program, kodla yazılmış herhangi bir şey olabilir; web siteleri, oyunlar ve telefon uygulamaları programlara örnektir. Kod yazmadan bir program oluşturmak mümkün olsa da, cihazın yorumladığı temel mantık büyük olasılıkla kodla yazılmıştır. Çalışan veya çalıştırılan bir program, talimatları yerine getiriyor demektir. Bu dersi okuduğunuz cihaz, ekranınıza bu içeriği yazdırmak için bir program çalıştırıyor.
✅ Küçük bir araştırma yapın: Dünyanın ilk bilgisayar programcısı olarak kabul edilen kişi kimdir?
Programlama Dilleri
Programlama dilleri, geliştiricilerin bir cihaz için talimatlar yazmasını sağlar. Cihazlar yalnızca ikili (1'ler ve 0'lar) anlayabilir ve çoğu geliştirici için bu, iletişim kurmanın verimli bir yolu değildir. Programlama dilleri, insanlar ve bilgisayarlar arasındaki iletişim aracıdır.
Programlama dilleri farklı formatlarda olabilir ve farklı amaçlara hizmet edebilir. Örneğin, JavaScript genellikle web uygulamaları için kullanılırken, Bash genellikle işletim sistemleri için kullanılır.
Düşük seviyeli diller, bir cihazın talimatları yorumlaması için genellikle yüksek seviyeli dillere göre daha az adım gerektirir. Ancak, yüksek seviyeli dilleri popüler yapan şey, okunabilirlikleri ve desteklenebilirlikleridir. JavaScript, yüksek seviyeli bir dil olarak kabul edilir.
Aşağıdaki kod, JavaScript ile yüksek seviyeli bir dil ve ARM montaj koduyla düşük seviyeli bir dil arasındaki farkı göstermektedir.
let number = 10
let n1 = 0, n2 = 1, nextTerm;
for (let i = 1; i <= number; i++) {
console.log(n1);
nextTerm = n1 + n2;
n1 = n2;
n2 = nextTerm;
}
area ascen,code,readonly
entry
code32
adr r0,thumb+1
bx r0
code16
thumb
mov r0,#00
sub r0,r0,#01
mov r1,#01
mov r4,#10
ldr r2,=0x40000000
back add r0,r1
str r0,[r2]
add r2,#04
mov r3,r0
mov r0,r1
mov r1,r3
sub r4,#01
cmp r4,#00
bne back
end
İnanması zor olabilir, ancak ikisi de aynı şeyi yapıyor: 10'a kadar bir Fibonacci dizisi yazdırıyor.
✅ Fibonacci dizisi, şöyle tanımlanır: Her sayının, kendisinden önceki iki sayının toplamı olduğu bir sayı dizisi. 0 ve 1 ile başlar. Fibonacci dizisini takip eden ilk 10 sayı: 0, 1, 1, 2, 3, 5, 8, 13, 21 ve 34.
Bir Programın Unsurları
Bir programdaki tek bir talimat, ifade olarak adlandırılır ve genellikle talimatın nerede bittiğini veya sonlandığını belirten bir karakter veya satır aralığına sahiptir. Bir programın nasıl sonlandığı, kullanılan dile bağlı olarak değişir.
Bir programdaki ifadeler, bir kullanıcıdan veya başka bir yerden sağlanan verilere dayanarak talimatları yerine getirebilir. Veriler, bir programın davranışını değiştirebilir, bu nedenle programlama dilleri, verilerin daha sonra kullanılabilmesi için geçici olarak saklanmasını sağlayan bir yol sunar. Bunlara değişkenler denir. Değişkenler, bir cihazın belleğinde veri saklamasını söyleyen ifadelerdir. Programlardaki değişkenler, cebirdeki değişkenlere benzer; benzersiz bir isme sahiptirler ve değerleri zamanla değişebilir.
Bazı ifadelerin bir cihaz tarafından çalıştırılmama olasılığı vardır. Bu genellikle geliştirici tarafından tasarlandığında veya beklenmeyen bir hata oluştuğunda meydana gelir. Bir uygulama üzerindeki bu tür bir kontrol, onu daha sağlam ve sürdürülebilir hale getirir. Genellikle, bu kontrol değişiklikleri belirli koşullar karşılandığında gerçekleşir. Modern programlamada bir programın nasıl çalışacağını kontrol etmek için yaygın olarak kullanılan bir ifade if..else
ifadesidir.
✅ Bu tür ifadeler hakkında daha fazla bilgiyi sonraki derslerde öğreneceksiniz.
Geliştirici Araçları
🎥 Yukarıdaki görsele tıklayarak araçlar hakkında bir video izleyebilirsiniz.
Bu bölümde, profesyonel geliştirme yolculuğunuza başlarken faydalı bulabileceğiniz bazı yazılımlar hakkında bilgi edineceksiniz.
Bir geliştirme ortamı, bir geliştiricinin yazılım yazarken sıkça kullandığı araçlar ve özelliklerden oluşan benzersiz bir settir. Bu araçların bazıları, geliştiricinin özel ihtiyaçlarına göre özelleştirilmiştir ve geliştiricinin iş öncelikleri, kişisel projeleri veya kullandığı programlama dili değiştiğinde zamanla değişebilir. Geliştirme ortamları, onları kullanan geliştiriciler kadar benzersizdir.
Editörler
Yazılım geliştirme için en önemli araçlardan biri editördür. Editörler, kodunuzu yazdığınız ve bazen çalıştırdığınız yerlerdir.
Geliştiriciler, editörleri birkaç ek nedenle kullanır:
- Hata ayıklama (Debugging), kodu satır satır inceleyerek hataları ve sorunları ortaya çıkarır. Bazı editörler hata ayıklama özelliklerine sahiptir; bunlar belirli programlama dilleri için özelleştirilebilir ve eklenebilir.
- Sözdizimi vurgulama (Syntax highlighting), koda renkler ve metin biçimlendirmesi ekleyerek okunmasını kolaylaştırır. Çoğu editör, özelleştirilmiş sözdizimi vurgulamasına izin verir.
- Eklentiler ve Entegrasyonlar, geliştiriciler için geliştiriciler tarafından oluşturulmuş özel araçlardır. Bu araçlar, temel editöre dahil edilmemiştir. Örneğin, birçok geliştirici, kodlarının nasıl çalıştığını açıklamak için belgeler yazar. Belge içindeki yazım hatalarını bulmaya yardımcı olmak için bir yazım denetimi eklentisi yükleyebilirler. Çoğu eklenti, belirli bir editör içinde kullanım için tasarlanmıştır ve çoğu editör, mevcut eklentileri aramak için bir yol sunar.
- Özelleştirme, geliştiricilerin ihtiyaçlarına uygun benzersiz bir geliştirme ortamı oluşturmasını sağlar. Çoğu editör son derece özelleştirilebilir ve geliştiricilerin özel eklentiler oluşturmasına da olanak tanır.
Popüler Editörler ve Web Geliştirme Eklentileri
Tarayıcılar
Bir diğer önemli araç tarayıcılardır. Web geliştiricileri, kodlarının web üzerinde nasıl çalıştığını görmek için tarayıcıya güvenirler. Ayrıca, editörde yazılan HTML gibi bir web sayfasının görsel öğelerini görüntülemek için de kullanılır.
Birçok tarayıcı, geliştiricilerin uygulamaları hakkında önemli bilgileri toplamasına ve yakalamasına yardımcı olan bir dizi özellik ve bilgi içeren geliştirici araçları (DevTools) ile birlikte gelir. Örneğin: Bir web sayfasında hatalar varsa, bunların ne zaman meydana geldiğini bilmek bazen faydalı olabilir. Bir tarayıcıdaki DevTools, bu bilgileri yakalamak için yapılandırılabilir.
Popüler Tarayıcılar ve Geliştirici Araçları
Komut Satırı Araçları
Bazı geliştiriciler, günlük görevleri için daha az grafiksel bir görünümü tercih eder ve bunu başarmak için komut satırına güvenirler. Kod yazmak, önemli miktarda yazı yazmayı gerektirir ve bazı geliştiriciler, klavye üzerindeki akışlarını bozmamayı tercih eder. Masaüstü pencereleri arasında geçiş yapmak, farklı dosyalar üzerinde çalışmak ve araçları kullanmak için klavye kısayollarını kullanırlar. Çoğu görev fare ile tamamlanabilir, ancak komut satırını kullanmanın bir avantajı, fare ve klavye arasında geçiş yapmaya gerek kalmadan birçok şeyin yapılabilmesidir. Komut satırının bir diğer avantajı, yapılandırılabilir olmasıdır; özel bir yapılandırma kaydedebilir, daha sonra değiştirebilir ve diğer geliştirme makinelerine aktarabilirsiniz. Geliştirme ortamları her geliştiriciye özgü olduğu için, bazıları komut satırını hiç kullanmaz, bazıları tamamen ona güvenir ve bazıları ikisinin bir karışımını tercih eder.
Popüler Komut Satırı Seçenekleri
Komut satırı seçenekleri, kullandığınız işletim sistemine bağlı olarak değişir.
💻 = işletim sistemine önceden yüklenmiş olarak gelir.
Windows
- Powershell 💻
- Komut Satırı (CMD olarak da bilinir) 💻
- Windows Terminal
- mintty
MacOS
Linux
Popüler Komut Satırı Araçları
Dokümantasyon
Bir geliştirici yeni bir şey öğrenmek istediğinde, büyük olasılıkla nasıl kullanılacağını öğrenmek için dokümantasyona başvurur. Geliştiriciler, araçları ve dilleri doğru bir şekilde nasıl kullanacaklarını öğrenmek ve ayrıca nasıl çalıştıkları hakkında daha derin bir bilgi edinmek için genellikle dokümantasyona güvenirler.
Web Geliştirme Üzerine Popüler Dokümantasyonlar
- Mozilla Developer Network (MDN), Firefox tarayıcısının yayıncısı Mozilla'dan
- Frontend Masters
- Web.dev, Chrome tarayıcısının yayıncısı Google'dan
- Microsoft'un kendi geliştirici dokümanları, Microsoft Edge için
- W3 Schools
✅ Biraz araştırma yapın: Artık bir web geliştiricisinin ortamının temellerini bildiğinize göre, bunu bir web tasarımcısının ortamıyla karşılaştırın ve farklılıklarını inceleyin.
🚀 Meydan Okuma
Bazı programlama dillerini karşılaştırın. JavaScript ile Java'nın bazı benzersiz özellikleri nelerdir? Peki ya COBOL ile Go?
Ders Sonrası Test
Gözden Geçirme ve Kendi Kendine Çalışma
Programcılar için mevcut olan farklı diller hakkında biraz araştırma yapın. Bir dilde bir satır yazmayı deneyin ve ardından bunu iki farklı dilde yeniden yazın. Ne öğrendiniz?
Ödev
Feragatname:
Bu belge, Co-op Translator adlı yapay zeka çeviri hizmeti kullanılarak çevrilmiştir. Doğruluk için çaba göstersek de, otomatik çevirilerin hata veya yanlışlıklar içerebileceğini lütfen unutmayın. Belgenin orijinal dili, yetkili kaynak olarak kabul edilmelidir. Kritik bilgiler için profesyonel bir insan çevirisi önerilir. Bu çevirinin kullanımından kaynaklanan yanlış anlama veya yanlış yorumlamalardan sorumlu değiliz.