Yeni başlayanlar için programlama

Kodla Büyü

elgunlu

Aktif Üye
Mesajlar
124
arkadaşlar programlamaya yeni başlayan öğrencilerim var. sizce hangi programlama dili ile başlamalarını önereyim.
 
JavaScript derim. Ekstra bir kompiler/interpreter kurmaya gerek yok. Web Browser üzerinden doğruca çalıştırılabilir. HTML ile hazır grafik kütüphanesi sunuyor. Fonksiyonel bir programlama dili. Nesne yönelimli paradigmayı da destekliyor. Öğrenmesi son derece kolay. Frontend, backend, mobil, desktop vs. ne istenirse yazılabiliyor.

Data Science, görüntü işleme vs. gibi alanlar hedefleniyorsa, projelerin mvp'sini hızlıca çıkarayım deniyorsa Python mantıklı. Ama biraz ileri seviye program yazıp, ekip ile çalışmaya başlayınca Python işin içinden çıkılmaz hal alabiliyor. Çünkü kafanıza göre kod yazmanıza izin veren bir dil. Spagetti kod yazmaya fazla elverişli. Büyük projelerde refactoring ile işin içinden çıkmak da kolay değil. Eğer çamaşır makinanızın önünde 10 tane düğme olsa ve size sınırsız özgürlük verse makine kullanılmaz hale gelir. Python da öyle. Programlamayı öğretmek için belirli kısıtlamalar gerekli. Java veya C# ile başlanması bile çok daha iyi olur.

Girintiler ilk başlarda göze hoş gelse de ilerde baş belası oluyor. Üstelik şu an tüm ideler prettier tarzı eklentiler sunuyor. Yani C syntax diller de gayet güzel ve anlaşılabilir oluyor. Python'un nesne yönelimli programlama kısmında da sorunlar var. Encapsulation tam olarak yok. Access modifier'lar kesinlike Java/C#'taki gibi değil. Başka problemler de var ama epeydir python yazmıyorum.

JavaScript'ten sonra Java veya C#'a geçen biri hiç zorlanmaz. Ne syntax anlamında ne de programlamanın temelleri konusunda. Ancak Python'dan geçen biri büyük sıkıntılar yaşar. Bu yüzden nacizane önerim JavaScript'ten yana.
 
Bu konuda ben de dahil, hepimiz bir kaç önemli detayı uzun zaman boyunca es geçtik. O da şu; kolay olan programlama dilinin başlangıç için en iyi dil olduğunu düşünerek python dedik. Özellikle python programlama dilinin yazımının çok temiz olduğunu düşünerek yaptık. Bütün dünya da bunu böyle kabul edip çoğunlukla başlangıç için python seçti, seçiyor.

Oysaki eğer amacımız öğrenciye loop, if/else, try gibi kavramları öğretmek ise; C gibi, matematiksel yazım diline sahip dilleri seçmemiz gerekirdi. Ama öte yandan, C, python gibi diller derleyici/yorumlayıcı ile çalıştığından bizim bir de bu konuda öğrencilerin eksikliklerini gidermemiz gerekiyor. Sonra üstüne birde ide falan arıyoruz vs vs. Oysa en önemli şey şu başlangıç için; yaz, çalıştır. Bunu da sağlayan şey tarayıcıdır/javascripttir. Her sistemde, her telefonda, her bilgisayarda tarayıcı var, dolayısıyla öğrenci bir de kurulum ile cebelleşmeyecek. Üstelik gayet de matematiksel bir yazım dili var.

İş bu sebeple benim de tavsiyem javascripttir. Tek eksiği hata çıktılarının açık olmaması ki o da size düşüyor. Siz hatayı öğrencilere açıklayabilirseniz, en kolay öğretilebilen ve üstelik görsel olarak da etkileşim sağlayan dil olarak javascript iyi bir seçim olacaktır.
 
Teşekkürler öğretmenim iyi bir açıklama oldu. Bilmeyenler için güzel tavsiyeler var
 
Java ama yanında kahve de içecek, kahve sevmiyorsa c#.
 
Çok teşekkür ederim arkadaşalar. Çok bilgilendirici, aydınlatıcı yazılarınız için ayrıca teşekkür ederim. Javascript banada uygun göründü. Önerebileceğiniz online veya yazılı kaynak var mı?
 
Hocam web geliştirme konusunda önerebileceğim çok kaynak var ama sizin öğrenciler programlamanın temelleri için JavaScript öğrenecekler. Kaç yaş grubu bilmiyorum ama Megep'te eski de olsa JavaScript kitabı var. Ona bakabilirsiniz. Tek kaynak olarak onu kullanın, takıldığınız yerleri w3schools'ta aratın derim. Başlangıç seviyesi için megep kaynağı yeterli olur. Programlamanın temellerini kavradıktan sonra neye yönelmek isterlerse o doğrultuda ilerlerler.

Eğer web geliştirmeye yönelecek olurlarsa tamamen güncel bir kaynak olan Mozilla Developer sayfasına bakabilirler. Epey Türkçeleştirildi. Bir göz atın isterseniz: https://developer.mozilla.org/tr/docs/Learn/Getting_started_with_the_web/JavaScript_basics

Yaş grubu nedir, tek başına mı çalışacaklar sizin rehberliğinizde mi çalışacaklar, algoritma yazmayı biliyorlar mı, JavaScript ile temel algoritma konusu üzerinde ne kadar zaman geçirilecek vs. gibi soruların cevaplarına göre benim de önerim tamamen değişebilir.

Zira JavaScript ile arduino bile çalıştırabilirsiniz, oyun da yapabilirsiniz, web siteleri, mobil ve masaüstü programlar da geliştirebilirsiniz. JavaScript ile temel programlama, algoritma kısmından sonra hangi alana yöneleceğinizi biliyorsanız, daha başka tavsiyelerde de bulunabilirim. Eğer sadece temel programlama öğretecekseniz;

1. Değişkenler/Diziler
2. Karar yapıları(if else)
3. Döngüler (for/while)
4. Fonksiyonlar

konularını öğrenmeleri için megep yeterli. Siz de birkaç sayfada kendiniz anlatabilirsiniz. Zaten sadece bunları kavrayan birinin yazamayacağı program da yok ya, neyse ;)
 
Ben şahsen C söz dizimine alıştığım için python bana soğuk geliyor. İtiraf edeyim çok uğraşmadım python için, Bir ara bir scripti editleyip kullandım.
Nefret ettim girintilerinden.
Özel bir durum yoksa javascript başlangıç içinde bitiş içinde harika. Tabi tip bağımsız olması kodlar kalabalıklaştıkça programcıyı yoruyor. O yüzden ardından typescript e geçmek çok isabetli olur. Sonuçta typescripte js çıktı veriyor ama bence çok zevkli bir supperscript.
Çok geniş kullanım alanı var, çok geniş framework desteği var, html ve css ile desteklenince çok güzel şeyler yapılabiliyor.
 
En iyi kaynak aslında mdn ve w3school fakat derli toplu değil yani müfredata uyarlamak için yeterli olmaz ve ikisi de ingilizce.
 
Geri
Üst