Başlayıp öğrenemeyenlerin gözü korkmuş. Korku en caydırıcı olay bu hayatta.
Çocukken Kedi tarafından tırmalanan yetişkinler bir ömür boyu o korkuyu atlatamıyor. İlk girişiminde iflas eden esnaf, bir daha tek başına asla bir işe girişemiyor. Korku çok büyük bir engel.
Evet, yeni başlayacağınız bir girişimde küçük işler ile başlamanız doğru olacak. Üniversite okuyan biri ile Lise okuyan biri asla bir olamaz. Kendi kapasitenize göre hedefler seçin kendinize.
Python da o kadar kolay değil. Hatta yeni başlayan birisini çok kolay bezdirebilir. Aslında hayatta hiç bir iş kolay değil. Dışarıdan farklı görünür ama her işin ustalığı var.
Canınızın istediği yerden başlayın işte. Ne o kadar uzatıyorsunuz.
Ben dahiyim herhalde. Programlamaya basladigimda temelim yoktu ve C++ ile başladım. Tabii ki ben yaptim diye herkes yapacak diye bir şey yok ancak karsindakinizin yatkinliklarini vs bilmeden, rastgele ve keskin bir genelleme yapiyorsunuz. Ogrenemezsiniz kesinlik iceren bir ifade.
Programlamaya ilk defa baslayacak birine verilecek en kotu tavsiye "X dili zor y ile basla" ya da "X dili zor alternatif dil bak" olabilir diye dusunuyorum. Programlama dilden ibaret degildir. Sonrasinda bu insanlarin farkli bir dile gectiklerinde sifirdan "programlama" ogrendiklerini gorursun. Cunku kisi programlamayi ya da mantik kurmayi ogrenmemistir, sadece dili ezberlemistir.
Temel konseptleri ve programlamanin arkasindaki fikiri ogrenmeye caba harcadiktan sonra, hangi genel programlama diliyle basladiginizin bir onemi yok.
Temel programlama egitimleri sirasinda C++ gorecegin konseptlerin diger dillerde gorecegin konseptlerden bir farki veya zorlugu da yok.
Yukarida verdigim iskelet, C++, Java ve C# icin ortak mesela. Eger JS'e gecersek iskelet biraz daha soyle degisecek;
JavaScript:
function <function_name>(<parameter_name1>, <parameter_name2>, ...) {
<function_body>
}
// alternatif olarak;
const <function_name> = (<parameter_name1, <parameter_name2>, ...) => {
<function_body>
}
Son olarak Python;
Python:
def <function_name>(<parameter_name1>, <parameter_name2>):
<function_body>
# alternatif olarak type hinting yapilabilir;
def <function_name>(<parameter_name1>: <type_hint>): # kalan kisimlari ayni. type hint basit bir okunabilirlik yardimindan fazlasi degil. beklenen typei belli ediyorsunuz, enforcing yok.
Hepsi farkli syntaxlar kullansada fikir ayni. Tabii ki bu dillerde gelistikce kendi tips and trickleri ve zorluklari olacak. Ancak TEMEL programlama ogrenecek biri icin butun bu dillerde fark edecek seyler aşırı kisitli. Static ve dynamic typing, implicit ya da explicit typing vb fark edecek, ki bunlari temel asamada ogrenmesi lazim zaten.
Pointer manipulation, MEMORY_MANAGEMENT, templating falan temel programlamaya dahil degil. Memory nedir temel programlama konusu olarak ogrenmek gerek, ancak nasıl yonetmen gerektigini ilk asamada ogrenmen gerekmiyor. Programlamaya yeni baslayacak birine, sabirli olmasi gerektigi, bol bol arastirma yapmasi gerektigi, ve temel programlama konseptlerini ogrenmesi gerektigi tavsiyesi verilmeli derim ben.
Bence C++'ı o kadar abartmaya gerek yok çoğumuz C++ ile başladık. Doğru bir sırayla öğrenildiğinde zor ya da imkansız değil önemli olan insanları korkutmamak yoksa ulaşılması imkansız bir seviye olarak algılanıyor.
Ben kendimden konuştum hiçbir temelim yoktu sadece İngilizcem vardı C++ başladım ve 1 hafta sonra hiçbir şey anlamadığımı fark ettim bende C# başladım ve onu öğrendim. Birçok kişi anlık hevesle başlıyor zaten şu işe. Çevremden de başlamak isteyenler oldu C++'a ve çoğu bıraktı ya da daha kolay bir dile geçtiler. Tabii herkesin yeteneği farklı ama bu birçok kişinin anlık hevesle başladığı gerçeğini değiştirmez.