10 parmak klavye kursu

 dk.
25 WPM
 
7 günlük maksimum hız
son hız
hız ≥ hedef
çizelge
 

Programlama dersleri

Her programlama dilinin kendine özgü bir sözdizimi vardır. 10 parmak klavye pratiği sayesinde kodu daha hızlı yazabilirsin. Yukarıdaki dersler farklı kod parçacıklarından oluşur ve her çalıştırmada karıştırılır.

Programlamada 10 parmak klavye kullanımını konuşalım.

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. Bunun için programcı klavyeyi kullanır - ve bunun yakın zamanda değişeceğine dair hiçbir işaret yok. Eğer akıcı yazamıyorsan, ritmi ve odağı kaybedersin. Bir parantezin nerede olduğunu düşünmek zorunda kaldığında veya for döngüsünü otomatik olarak yazamadığında dikkatini esas işten uzaklaştırırsın. 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; semboller, anahtar kelimeler ve kodun yapıtaşlarıyla akıcı ve hatasız olabilmektir.

Neden 10 parmak klavye programcılar için önemlidir

Serbest metnin aksine, kodun katı bir yapısı ve sözdizimi vardır. Yanlış bir sembol yazamazsın ve derleyicinin ya da yorumlayıcının bunu "anlamasını" bekleyemezsin. Her yanlış karakter programın çalışmasını etkiler. Programlamada hızlı yazma düşünce hızına yetişmek, daha az düzeltme yapmak ve asıl işe - problem çözmeye - odaklanmak demektir. 10 parmak klavye olmadan programlama verimsiz ve bölük pörçük hale gelir. Onunla birlikte ise daha akıcı, bilinçli ve tatmin edici olur.

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 ile sözdizimine hâkimiyetin birleşimi programcıya güven verir.

Yazım açısından diller

Farklı diller parmaklardan farklı şeyler ister. 10 parmak klavye açısından onları fiziksel kalıplarına 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ı:

Klamer ağırlıklı diller (Java, JavaScript, C++, C#, Go)
Bu diller süslü parantezleri {}, noktalı virgülleri ve parantezleri yoğun biçimde kullanır. Kodun "iskeleti" bunlarla kurulur. Bunları yazarken yavaşsan düşünce zincirini kaybedersin. 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, klamerlere, operatörlere ve ifadelere hâkimiyet gerektirir. C++ işaretçi operatörlerini (*, ->) ekler, Go sözdizimini basitleştirir ama yine de klamerlere dayanır. AgileFingers bu kalıpları pekiştirmen için pratik sağlar.

Sembol ağırlıklı betik 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'de her değişken $ ile başlar, HTML benzeri etiketlerle C benzeri sözdizimi arasında sık sık geçiş yapılır. SQL'de ise noktalama değil, daha çok 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. Eksik boşluk veya iki nokta üst üste programı bozar. 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, bu görsel yapıyı içselleştirmeni sağlar. Editörler çoğunlukla boşluk ekler, ama blokların nasıl göründüğünü bilmek seni hata kontrolünden kurtarır. AgileFingers bu kalıpları pekiştiren ç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 ifadeleri ve ok fonksiyonları 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

Programlama en iyi, tamamen odaklandığında - fikirlerin ve kodun zihninden ekrana akıp gittiğinde - hissedilir. Bu durum genellikle "flow" (ing. "flow") olarak adlandırılır. Yazmayı mekanik bir işten yaratıcı bir eyleme dönüştürür. 10 parmak klavye bu duruma ulaşmanın anahtarıdır, çünkü hangi tuşa basacağını düşünmezsin, sözdizimi üzerinde durmazsın. Yeterince pratikle yazma görünmez hale gelir ve uzun süre derin çalışmayı mümkün kılar - ki bunu hiçbir autocomplete ya da kopyala-yapıştır sağlayamaz.

Kod tamamlama

Otomatik tamamlama uzun değişken veya sınıf adları için faydalıdır. Ama tüm döngüleri veya blokları önerdiğinde, sözdizimini alıştırmazsın. Sonuçta bunları yazmayı unutursun.

Yapay zeka asistanları (ing. "AI assistants") daha da ileri gider. Bazen tüm fonksiyonları, hatta birden fazla bloğu önerir. İlk başta verimli görünür, ama zamanla onlarsız kod yazarken tereddüt edersin. Küçük ama önemli ayrıntıları unutursun. Kod üzerindeki sahiplik duygunu kaybedersin. Programcı olmaktan çıkıp üretilen kodun denetçisi olursun. 10 parmak klavye seni aktif tutar - yapıların kendin tarafından yazılmasını sağlar, hafızanı ve becerini güçlendirir. AgileFingers da tam olarak bu noktada sana destek olur.

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. Ama bunların faydasını, klavyede hızlıysan tam olarak alabilirsin. Yavaş yazıyorsan veya fareye çok başvuruyorsan, avantajları kaybolur.

IDE'lerde kod tamamlama kullanışlıdır ama temel bilgilerin yerine geçmemelidir. Uzun isimlerde kullan, ancak temel dil yapılarında değil. Eğer IDE her for döngüsünü senin yerine yazarsa, zamanla becerini kaybedersin. Programlamada 10 parmak klavye bağımsızlık sağlar: yapıyı kendin yazabilir, IDE'yi ise destek için kullanabilirsin.

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. Popüler olanlardan biri Vim emülasyonu, ki bu Vim'in kısayollarını VS Code'a taşır. Diğer eklentiler Git entegrasyonu, veritabanı gezgini veya linting (ing. "linting") ekler. Ama hangi aracı kullanırsan kullan, 10 parmak klavye olmadan verimlilik sınırlı kalır.

Neovim - klavye odaklı editörün gücü

Neovim klavye ile verimlilik için tasarlanmıştır - düğmeler ve dikkat dağıtıcılar olmadan. Grafik IDE'lerin aksine, kesin komutlarla çalışırsın: dd satırı siler, ciw kelimeyi değiştirir, :%s/foo/bar/g tüm dosyada metni değiştirir. Navigasyon da hızlıdır: 42G seni doğrudan 42. satıra götürür. Neovim'de 10 parmak klavye bir seçenek değil - giriş şartıdır. Ne kadar hızlı ve doğru yazarsan, ortam o kadar verimli olur.

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. Burada önemli olan arayüz değil, hız, hassasiyet ve odaktır. Tam kontrol isteyenler için 10 parmak klavye ve Neovim birleşimi programlamanın en tatmin edici deneyimlerinden biridir.

Mekanik klavyeler ve yazma konforu

Yıllarca kod yazdıktan sonra klavyenin sadece bir araç olmadığını, çalışma biçiminin parçası olduğunu fark edersin. Mekanik klavyeler, çoğu dizüstü bilgisayar klavyesinin veremediği tutarlılık ve kontrol sağlar. Saatlerce kod yazan biri için bu, daha az yorgunluk ve daha yüksek hassasiyet demektir. Anahtar türlerini - kırmızı, mavi veya kahverengi - seçerek tuş hissini kendi tercihine göre ayarlayabilirsin. İyi bir mekanik klavyede 10 parmak klavye pratiği yazmayı akıcı ve konforlu hale getirir. Bu küçük farklar zamanla hızda ve sürdürülebilirlikte büyük kazanç sağlar.

Yapay zekâ ve becerilerin korunması

Yapay zekâ araçları giderek daha yetenekli hale geliyor. Kod parçaları, fonksiyonlar hatta tüm programlar üretebiliyorlar. Çözümleri senin yazmandan daha hızlı önerebiliyorlar. Ancak risk şudur: Eğer onlara fazla güvenersen, kendi becerilerin körelir. Sözdizimini hatırlamazsın. Kendi başına kod yazma alışkanlığını kaybedersin. Programlama yaratım işinden, aracın ürettiğini denetlemeye dönüşür.

Bu, yapay zekânın tamamen reddedilmesi gerektiği anlamına gelmez. Doğru kullanıldığında tekrar eden kod parçalarında veya hata ayıklamada yardımcı olur - örneğin hızlı bir print veya console.log. Ama yapay zekâ her bloğu senin yerine yazıyorsa, artık programcı değilsin - denetçi oluyorsun. Çoğumuzun hayal ettiği yol bu değildir. 10 parmak klavye seni aktif ve yaratıcı tutar. AgileFingers gibi araçlar da tam bu nedenle vardır - becerilerini güçlendirmek ve bağımsızlığını korumak için.

Sonuç

Programlamada 10 parmak klavye, tüm diğer becerileri sessizce güçlendiren temel bir yetenektir. Yaratıcı akışı sürdürür, hataları azaltır ve aşırı derecede autocomplete veya yapay zekâya bağımlı olmaktan korur. Klavyeye bakmadan yazdığında yazıyı değil, kodu üretirsin. Klavye düşüncenin doğal bir uzantısına dönüşür.

AgileFingers, programcıların gerçek deneyimlerini yansıtan dersler sunar. Rastgele karakterler yerine Java, Python, Go ve birçok dilin gerçek sözdizimini çalışırsın - günlük kodlama için gerekli kas hafızasını oluşturursun. Kazanç çifte: daha hızlı yazarsın ve dilleri daha iyi anlarsın. Otomasyonun arttığı bir dünyada kendi kodunu 10 parmak klavyeyle yazmayı öğrenmek programcı için en iyi yatırımlardan biridir.