“Yeniysem hangi programlama dilini öğrenmeliyim?”
“İşler için en çok hangi programlama dili rağbet görüyor?”
“En popüler programlama dili nedir?”
En iyi programlama dillerinin resmi sıralamasını arıyorsanız, burada bulabilirsiniz: IEEE Spectrum en iyi programlama dilleri
Bu liste, belirli bir programlama dilinin bugün kullanımda olup olmadığını kontrol etmek için harikadır. Ancak, programlama konusunda yeniyseniz, yalnızca listeye dayalı bir dil seçmenizi önermiyorum.
Bilgisayar bilimi tamamen birikimli bir çalışma alanıdır. Bu, birbirini izleyen her konunun önceki konulardan oluştuğu anlamına gelir.
Daha önce okulda programlamayı (veya herhangi bir STEM alanını) öğrenmeye çalıştıysanız, elinizden gelenin en iyisini yapmaya çalıştıysanız ancak başarısız olduysanız - sorun siz değildiniz. Herhangi bir kümülatif konunun iyi bir profesörü, müfredatı dikkatli bir şekilde düzenler. Her öğrencinin ön koşulları yeterince hazırlamış ve yerine getirmiş olması koşuluyla, öğrencilerin ön bilgilerine yönelik beklentiler açık olmalıdır. İyi bir profesör beklentileri anlar ve bu kapsamın ötesinde hiçbir bilgiyi varsaymaz. Beklentilerin dışındaki her şey öğretilmelidir. Müfredattaki her konu, diğer konulara göre sırayla sıralanır.
Bir konu kümülatif olduğunda, bir ders müfredatı veya öğrenme yolu tasarlanırken titiz bir dikkat gösterilmelidir. Bununla birlikte, sıralaması için bir dil seçmeyin; Önceki bilgiler hakkında hiçbir varsayımda bulunmayan eksiksiz bir öğrenme yolunuz olan bir dil seçin.
Kodlamayı öğrenmeye başlamadan önce, yukarıda belirttiğim nokta üzerinde düşünmek önemlidir: bilgisayar bilimindeki her şey birikimlidir.
Bunu tekrar etmeyi seviyorum çünkü hevesli bir programcı olarak yapabileceğiniz en büyük hata, programlamayı öğrenecek kadar zeki olduğunuzu düşünmediğiniz için pes etmenizdir. Kodlama öğrenmenin zekanızla hiçbir ilgisi yoktur.Evet, programlama öğrenmek zordur, kim olduğunuzdan dolayı değil, öğrenilecek çok konu olduğu için.
İlk kural, aşağıdaki senaryonun gerçekleşeceğini kabul edin: Size kesinlikle hiçbir anlam ifade etmeyen yeni bir konuyla tanıştınız.
Bu senaryo tekrar tekrar gerçekleşecek. Bu durumla nasıl başa çıktığınız, her seferinde başarınızı belirleyecek tek faktördür.
Öğrendiğiniz mevcut konu size mantıklı gelmiyorsa, olduğunuz yerde kalın. Bir sonraki konuya geçmeyin. Tekrarlamak gerekirse, konular birikimlidir. İlerlemek, çerçevesi, duvarları ve temeli olmayan bir eve çatı takmaya çalışmak gibidir.
Kendimi sürekli bu durumda buluyorum . Öğrendiklerimi kavramak için genellikle bir video eğitiminin aynı dersini birkaç kez tekrar izlemem gerekiyor. Kendinizi benim yerimde bulursanız cesaretiniz kırılmasın.
Kullanmakta olduğunuz öğretici (veya kitap) konuyu yeterince açıklamadıysa, işinize yarayacak başka kaynaklar bulmanız gerekecektir. Öğreticinin bir konuyu kapsaması senin için işe yaramadı diye vazgeçmenin hiçbir mazereti olamaz. YouTube'da öğrenmek istediğiniz hemen hemen her şeyi ücretsiz olarak bulabilirsiniz. Neyi arayacağınızı belirleyin (örneğin, [programlama dilinizdeki] [konu] + diğer yardımcı anahtar kelimeler).
YouTube'da eğitici öğreticiler arıyorsanız, önce istatistikleri kontrol edin. Derecelendirmeye ve/veya görüntüleme sayısına hızlıca bir göz atın. Bir videonun zaman ayırmaya değer olup olmadığından hala emin değilseniz, başkalarının görüşlerini ölçmek için bazı yorumları okuyun.
Pek çok konu ilk seferde anlam ifade etmeyecektir. Bu nedenle, olumsuz benlik düşüncelerinden kaçının.
Amaç, öğrenirken anlayışınızın bilincinde olmaktır. Öğrenme yolunda ilerlerken, kendini yansıtmanız gerekir. Ele aldığınız her konu için kendinize aşağıdaki gibi sorular sorun:
"Bu konu bana mantıklı geliyor mu?"
“Yeni bir terminoloji var mıydı? Eğer öyleyse, her yeni terim için resmi bir tanım sağlandı mı?”
“Yeni beceriler var mıydı? Her yeni becerinin uygulamada nasıl kullanıldığını anlıyor muyum? Alıştırma problemlerini çözerek bu beceriyi anladığımı gösterebilir miyim?”
"Yarın öğrendiklerimi hatırlayacak mıyım? Ve sonraki gün? Değilse, onu nasıl belleğe işleyeceğim?”
Son bir tavsiye: ezberlemenin gücünü asla hafife almayın. Ezberleme, öğrenmede tamamen kullanılmayan bir yaklaşımdır. Evet, bir konunun anlaşılması nihai hedeftir. Ancak anlaması zaman alabilir. Bir konuyu gerçekten kavramakta zorlanıyorsanız, konuyu parçalayın ve önemli terimleri ezberleyin. Bir şeyin nasıl çalıştığını anlayamıyorsanız, ilk hedefiniz ezberlemek olmalıdır. Ezberlemeyle nasıl başa çıkacağınız konusunda ipuçlarına ihtiyacınız varsa, çalışma kartı tekniğini kullanmayı düşünün. Bu tekniği nasıl kullandığım hakkında daha fazla bilgiyi Mülakat Hazırlık belgemde bulabilirsiniz .
İlk adım, makalemde ele aldığım bilgisayar bilimi temellerini öğrenmek: Bilgisayar Bilimi Terminolojisine Giriş . Bu makale özellikle dinleyicilerim, yani herkes düşünülerek yazılmıştır. Bunu, bilgisayar geçmişi olmayan herkesin anlaması kolay olsun diye kasıtlı olarak oluşturdum.
Makalede yer alan kavramlar ağırlıklı olarak tanımlayıcıdır. Makaleyi rasgele okuyabilirsiniz ve bu sizin için yeterli. Bu terimleri hafızaya almanızı tavsiye ederim. Her terime okuldaymış gibi yaklaşın ve bir sınav için her terimin tanımını hatırlamanız gerekir. Eğer istemiyorsanız, kendinizi bu kadar kapsamlı bir şekilde taahhüt etmek zorunda değilsiniz. Ancak, bu kavramlardan ne kadar çok belleğe aktarabilirseniz, sonraki konuları anlamak o kadar kolay olacaktır.
Hayır, programcı olmak için matematikte güçlü olmanıza gerek yok. Matematik becerileri yardımcı olabilir, ancak gerekli değildir.
Matematik yetenekleriniz konusunda güvensizseniz, önermeler mantığını öğrenmenizi öneririm. Önerme mantığının kapsadığı ilkeler, programlamanın yapı taşlarıdır.
Önermeler mantığını şu YouTube eğitiminden öğrenebilirsiniz: Önerme Mantığının Temel Kavramları .
Bilgisayar biliminin temellerini öğrendikten sonra, bir programlama dili öğrenmeye hazır olacaksınız.
Geçmişi ne olursa olsun herkese uygun bir yol tasarlamak için çok düşündüm ve çaba harcadım. Bu öğrenme yolu için Java'yı seçtim çünkü Java en deneyimli olduğum dil.
Java, en çok talep gören programlama dillerinden biridir. Nesne yönelimli bir programlama dili olarak sınıflandırılmıştır (bunun ne anlama geldiğini daha sonra öğreneceksiniz) ve masaüstü, web ve mobil uygulamalar yapmak için kullanılır.
Bir kitaptan öğrenmeyi tercih ediyorsanız, şunları tavsiye ederim: Head First Java .
Bir video eğitimi arıyorsanız, Derek Banas'ın Java YouTube eğitimindeki #1–19, 31–33, 88 ve 93 numaralı videoları izlemenizi tavsiye ederim: Java Video Tutorial .
YouTube eğitimindeki ilk video, sizi Eclipse adlı bir bilgisayar programını indirmeye yönlendirecektir . Eclipse bir Entegre Geliştirme Ortamıdır ( IDE ). Bir IDE'yi , programcılar için yapılmış bir kelime düzenleyici için süslü bir terim olarak düşünebilirsiniz. Programlarınızı çalıştırmak için diğer araçlarla birlikte programlama için bir metin düzenleyici sağlayan bir bilgisayar uygulamasıdır. İşte Derek Banas'ın Eclipse'in nasıl indirileceğine ilişkin YouTube videosunun bağlantısı: Java için Eclipse yükleyin .
Algoritma , belirli bir görevi gerçekleştirmek için her adımın açıkça tanımlanmış, yürütülebilir ve sonlu (yani, sonsuza kadar devam etmeyen) olması gereken bir dizi talimattır (veya adımlar).
Veri yapısı , verileri bellekte düzenlemenin bir yoludur.
Algoritmalar ve veri yapıları, programlamanın en zorlu konularından ikisidir. Programlamada temel yeterlilik için algoritma öğrenmenize gerek yoktur . Bununla birlikte, saygın bir teknoloji şirketinde yazılım mühendisi olarak çalışmak istiyorsanız, görüşmeler sırasında algoritmaları ve veri yapılarını anlamanız beklenecektir.