Programcılar için
10 parmak klavye dersleri
- Farklı programlama dilleri
- Parantezler, operatörler ve anahtar kelimeler
Her programlama dilinin kendine özgü bir sözdizimi vardır. 10 parmak klavye pratiği sayesinde kodu daha hızlı yazabilirsin. Yukarıdaki dersler, seçtiğin dilin farklı kod parçacıklarını içerir; bunlarla anahtar kelimeleri ve sembolleri yazmayı çalışabilirsin.
Programcılar için 10 parmak klavye dersleri
Programlama dili örnekleriyle 10 parmak yazma pratiği yap
Programlamada 10 parmak klavye
Programlama genellikle mantıksal problemleri çözmek, sistemler tasarlamak veya uygulamalar geliştirmek olarak tanımlanır. Bunların hepsi doğrudur. Ancak çoğu kişi programlamanın temelinde editöre kod yazma becerisinin olduğunu unutuyor. Programcı kodu klavyeyle yazar. Parantezleri veya bir for döngüsünü yazarken tuşları aramak, çalışmayı kesintiye uğratır. Akıcı yazmak, kod girişi sırasında bu tür duraklamaları azaltır. Programlamada 10 parmak klavye, dikkati yazma eyleminden çok sorunun çözümüne vermeni sağlar. Programlamada hızlı yazma "dakikada 120 kelime" demek değildir; kodun sembollerini, anahtar kelimelerini ve yapılarını akıcı ve doğru biçimde yazabilmektir.
Neden 10 parmak klavye programcılar için önemlidir
Normal metnin aksine kod, belirli bir yapıya ve sözdizimine uyar. Yanlış bir işaret yazdığında derleyicinin ya da yorumlayıcının niyetini tahmin etmesine güvenemezsin. Bir yazım hatası sözdizimi hatasına yol açabilir veya kod geçerli kalsa bile programın anlamını değiştirebilir. Bu nedenle programlamada hızlı yazmayı doğrulukla birlikte çalış; yalnızca hızlanmak, daha az düzeltme yapacağını garanti etmez. 10 parmak klavye kullanımı, klavye yerine editöre bakmana ve tuşları aramaya daha az dikkat ayırmana olanak tanır. Programın mantığını kontrol etmek ve sorunları çözmek yine ayrı işlerdir.
AgileFingers tam da bu zorluğa odaklanıyor: programcılara rastgele karakterlerle değil, gerçek kodlarla alıştırmalar sunuyor. Buradaki amaç dili sıfırdan öğretmek değil, sözdizimini yazarken rahat olmanı sağlamak. 10 parmak klavye kullanımı ile sözdizimine hâkimiyetin birleşimi programcıya güven verir.
Yazım açısından diller
Farklı dillerde farklı tuş dizileri kullanılır. 10 parmak klavye çalışırken dilleri tuş dizilerine göre gruplamak, nesne yönelimli ya da fonksiyonel olup olmamalarına göre gruplamaktan daha mantıklıdır. AgileFingers şu diller için alıştırmalar sunuyor: Java, JavaScript, C++, C#, Go, PHP, SQL, Bash ve Python. İşte farkları:
Süslü parantezlerin sık kullanıldığı diller (Java, JavaScript, C++, C#, Go)
Bu diller süslü parantezleri {} ve normal parantezleri sık kullanır. Java, C++ ve C# dillerinde ifadeler genellikle noktalı virgülle biter; Go çoğu noktalı virgülü otomatik ekler, JavaScript ise birçok durumda bunların atlanmasına izin verir. Bu işaretler kodun iskeletini oluşturur. Yazarken tuşları aramak zorunda kalırsan düşüncen bölünebilir. Java örneği:
public class Greeter {
public static void main(String[] args) {
for (int i = 0; i < 5; i++) {
System.out.println("Merhaba " + i);
}
}
}
Ya da sözdizimi ayrıntılı ama tutarlı olan C#:
for (int i = 0; i < 10; i++) {
Console.WriteLine($"Değer: {i}");
}
Böyle döngüleri hızlı yazmak, süslü parantezlere, operatörlere ve ifadelere hâkimiyet gerektirir. C++ işaretçi operatörlerini (*, ->) ekler, Go sözdizimini basitleştirir ama yine de süslü parantezlere dayanır. AgileFingers bu kalıpları pekiştirmen için pratik sağlar.
Betik ve sorgu dilleri (Bash, PHP, SQL)
Betik dilleri sembolleri yoğun şekilde kullanır. Bash'te sık sık pipe (ing. "pipe" - |), yönlendirmeler ve dolar işareti $ kullanırsın:
for file in *.txt; do
echo "İşleniyor $file"
done
PHP dilinde değişken adının başına $ yazılır. PHP kodu HTML içine yerleştirildiğinde, dosyada HTML etiketleri ve C benzeri sözdizimine sahip kod parçaları bir arada bulunur. SQL dilinde ise noktalama işaretlerinden çok sorguyu oluşturan anahtar kelimeler öne çıkar:
UPDATE users
SET active = 0
WHERE last_login < NOW() - INTERVAL '30 days';
Bu tür dillerde 10 parmak klavye, sembollere ve anahtar kelime dizilerine alışkanlık kazandırır. Eksik bir noktalı virgül veya yanlış bir pipe dikkati hemen dağıtır.
Girintiye dayalı diller (Python)
Python'un farkı, girintinin sözdiziminin bir parçası olmasıdır. Yanlış girinti veya eksik iki nokta üst üste işareti sözdizimi hatasına neden olabilir. Tipik yapı: if ...:, yeni satır, girinti. Örneğin:
def factorial(n):
if n == 0:
return 1
return n * factorial(n - 1)
Python'da 10 parmak klavye pratiği, kodun görsel yapısına ve girintiye dayalı sözdizimine alışmana yardımcı olur. Editörler çoğunlukla boşlukları otomatik ekler, ancak her bloğun nerede başlayıp bittiğini yine de görmen gerekir. Kodun alışılmış düzenini bilmek, yazarken ve kontrol ederken yapısını takip etmeyi kolaylaştırır. AgileFingers, bu yapıları yazmayı çalışabileceğin çok sayıda Python örneği içerir.
Diğer programlama dilleri
Bunların dışında Rust, Kotlin, Swift ve Haskell gibi dillerin de kendine özgü sözdizimleri vardır. Rust bellek güvenliğini borrowing (&) ve lifetime ('a) yapılarıyla vurgular. Kotlin lambda ifadelerini ve fonksiyon türlerinde ok gösterimini kullanır. Swift C-benzeri sözdizimini modern öğelerle birleştirir. Haskell girintiye dikkat gerektirir ve sembolik operatörler kullanır. Hangi dil olursa olsun, 10 parmak klavye bu zorlukları aşmana yardımcı olur.
Akış halinde programlama
Göreve tamamen odaklanıp fikirlerini gereksiz kesintiler olmadan koda dönüştürebildiğinde programlama daha keyifli olur. Bu yoğun odaklanma durumuna "akış" (ing. "flow") denir. 10 parmak klavye kullanımı, tuşları arama ve gözünü editörden klavyeye tekrar tekrar çevirme ihtiyacını azaltır. Böylece yazma eylemi, programın mantığına, tasarımına ve problem çözmeye ayırdığın dikkati daha az böler. Yine de dilin sözdizimini bilmen ve kontrol etmen gerekir; bu bilgi yalnızca parmak hareketleriyle değil, dili öğrenip kullanarak edinilir. Otomatik tamamlama ve kod kopyalama da çalışma yönteminin parçası olabilir. Hangi yöntemi kullanırsan kullan, eklediğin kodu anlaman ve gözden geçirmen önemlidir.
Kod tamamlama
Otomatik tamamlama, uzun değişken ve sınıf adlarının yanı sıra tekrar eden döngüler ve kod blokları için de kullanışlıdır. Ancak bir öneriyi bütünüyle kabul ettiğinde, onu karakter karakter yazmayı çalışmış olmazsın. Dili öğreniyorsan eklenen kodu oku ve yapısını anlayıp anlamadığını kontrol et. Bazı yapıları kendi başına yazmayı da dene. Otomatik tamamlamayı kullanmak, tek başına sözdizimini unutacağın anlamına gelmez.
Yapay zekâ asistanları (ing. "AI assistants") tüm fonksiyonları veya birkaç kod bloğunu bir arada önerebilir. Bu, yazma işini azaltabilir; ancak öneriyi okuyup ihtiyaca göre düzenlemen gerekir. Küçük ayrıntılar programın davranışını değiştirebilir. Asistan kullanmak, seni tek başına pasif bir kod denetçisi yapmaz. Hangi kodu kabul edeceğine ve projeye nasıl ekleyeceğine yine sen karar verirsin. Kendi değişikliklerini, eklemelerini ve düzeltmelerini yaparken 10 parmak klavye kullanımı da faydalıdır. AgileFingers ile dil yapılarını kendin yazmayı çalışabilir, sembollerine ve anahtar kelimelerine alışabilirsin.
IDE'ler ve editörlerle çalışma
Entegre geliştirme ortamı (ing. Integrated Development Environment, IDE) basit bir editörden fazlasıdır: düzenleme, hata ayıklama, yeniden yapılandırma, test ve proje yönetimini bir arada sunar. Örnekler arasında IntelliJ IDEA, PyCharm ve Rider bulunur. Güçlü tamamlama, hata yakalama ve gezinme özellikleri sağlarlar. Akıcı yazmak, kodu girerken ve düzenlerken faydalıdır. Sık kullanılan birçok komuta klavye kısayollarıyla erişilebilir; fare ve klavye kullanımı ise göreve ve çalışma alışkanlıklarına göre değişir.
IDE'lerde otomatik tamamlama kullanışlıdır, ancak dile ilişkin temel bilginin yerine geçmez. Ortaya çıkan kodu anlıyorsan uzun tanımlayıcılar ve yaygın yapılar için kullanabilirsin. Bir for döngüsü yazmayı çalışmak istediğinde, bazen şablon kullanmadan yazıp koşulunu ve gövdesini kontrol et. 10 parmak klavye kullanımı, kodu kendin girerken ve değiştirirken faydalıdır. Tamamlama araçları ve yazma alıştırmaları aynı çalışma yönteminin parçası olabilir.
IDE ile editör arasında bir yerde Visual Studio Code durur. Kimi zaman IDE olarak görülür ama aslında gelişmiş bir editördür. Doğru eklentilerle son derece güçlü hale gelir. Vim emülasyonu eklentileri, Vim kısayollarını VS Code içinde kullanmanı sağlar. Git desteği editöre yerleşik olarak gelir; diğer eklentiler veritabanı gezgini veya linting (ing. "linting") gibi özellikler sunar. 10 parmak klavye kullanımı, kodu yazarken ve düzenlerken faydalıdır; ancak bu araçların yararı, onları göreve uygun biçimde nasıl kullandığına da bağlıdır.
Neovim - klavye odaklı editörün gücü
Neovim, klavyeyle düzenleme yapmak için tasarlanmıştır; ancak fareyi de destekler ve grafik arayüzler üzerinden kullanılabilir. Komutlarıyla belirli düzenleme işlemleri yapabilirsin: dd bir satırı siler, ciw bir kelimeyi değiştirir, :%s/foo/bar/g ise tüm dosyadaki metni değiştirir. Gezinmek için örneğin 42G seni doğrudan 42. satıra götürür. 10 parmak klavye kullanımı, komutları ve kodu yazarken faydalıdır. Komutların kendisini de öğrenmen gerekir; onları belirli düzenleme işlerinde kullanarak buna alışabilirsin.
Eklenti ekosistemi (ing. "plugins") Neovim'i çok yönlü kılar: telescope.nvim arama için, coc.nvim veya nvim-cmp tamamlama için, fugitive.vim Git için. Bu eklentiler editöre arama, tamamlama ve sürüm kontrolü komutları ekler. Klavyeyle çalışmayı tercih ediyorsan Neovim'in düzenleme komutlarıyla birlikte bu eklentilerin kısayollarını öğrenebilir, kod yazarken 10 parmak klavye becerinden yararlanabilirsin.
Mekanik klavyeler ve yazma konforu
Yıllarca kod yazdıktan sonra klavyenin çalışma alışkanlıklarınla nasıl bağlantılı olduğunu fark edersin. Mekanik klavyeler ayrı mekanik anahtarlar kullanır ve farklı tuş hissi seçenekleri sunar. Uzun bir çalışma sırasında konfor, modele, klavyenin konumuna ve kendi tercihlerine bağlıdır. Kırmızı, mavi veya kahverengi gibi renklerle belirtilen farklı anahtar türlerini seçebilirsin. Bunlar gereken basma kuvveti, dokunsal tepki ve ses bakımından değişir; özellikler belirli modele göre değerlendirilmelidir. Böylece sana uygun tuş hissini seçersin. 10 parmak klavye pratiğini rahat ettiğin bir klavyede yapabilirsin. Mekanik anahtarlar tek başına daha az yorgunluk veya daha yüksek doğruluk garanti etmez; ellerin konumu ve molalar da konforu etkiler.
Yapay zekâ ve becerilerin korunması
Yapay zekâ araçları kod parçaları, tüm fonksiyonlar ve programlar üretebilir. Önerileri, elle yazma işinin bir kısmını azaltır; ancak gerçek görevi çözüp çözmediklerini kontrol etmen gerekir. Anlamadığın kodu kabul etmek, onu sonradan değiştirmeyi veya içindeki hataları bulmayı zorlaştırır. Bu yüzden dili öğrenmeye ve kendi programlarını yazmaya devam etmek önemlidir. Yapay zekâ kullanmak, tek başına sözdizimi bilgisini kaybetmek veya yaratıcı çalışmayı bırakmak anlamına gelmez. Çözüm tasarlamak, değişikliklere karar vermek ve sonucu kontrol etmek hâlâ programlamanın parçasıdır.
Yapay zekâ, tekrar eden kodda veya print ve console.log gibi hata ayıklama çıktılarında faydalı olabilir. Böyle durumlarda da neyin nerede yazdırılacağına sen karar verirsin ve önerilen kodu kontrol edersin. Göreve göre kod yazar, değiştirir veya önerileri gözden geçirirsin; bunların hepsi programcının işidir. 10 parmak klavye kullanımı, elle yazarken ve düzeltme yaparken faydalıdır. AgileFingers, kod örneklerindeki anahtar kelimeler ve sembollerle yazma hızını ve doğruluğunu çalışabileceğin alıştırmalar sunar. Dil ve program tasarımı bilgisini ise öğrenerek ve kendi projelerini yaparak geliştirirsin.
Sonuç
Programlamada 10 parmak klavye kullanımı, kod yazarken ve düzenlerken işe yarayan bir beceridir. Tuşların yerini bildiğinde sürekli klavyeye bakmak yerine editörü izleyebilirsin. Böylece bir fikri koda dökerken doğru karakteri aramak için daha az ara verirsin. Ancak yazma hızı ile programın doğruluğu farklı konulardır: Kodun mantığını kontrol etmek ve sonucu test etmek yine gerekir. Kendi kodunu yazarken göreve uygun olduğunda otomatik tamamlama ve yapay zekâ önerilerinden de yararlanabilirsin.
AgileFingers, Java, Python, Go ve diğer dillerden kod parçaları içeren programlama dersleri sunar. Örneklerdeki tuş dizilerini tekrarlayarak yazma hızını ve doğruluğunu çalışır, sık kullanılan simgeler ve tuş dizileri için kas hafızası geliştirirsin. Bu alıştırmalar kodun yazımına alışmanı sağlar; ancak nasıl çalıştığını anlamak için dili öğrenmek ve kendi projelerin üzerinde çalışmak gerekir. Araçlar kodu üretse veya tamamlasa da kendi değişikliklerini ve düzeltmelerini girerken 10 parmak klavye becerisi yararlı olmaya devam eder.