Mobil ve Bilgisayar Yazılım Dili Seçmek

Mobil ve Bilgisayar Yazılım Dili Seçmek
Bilinmeyen Bilişim Kitabı

Mobil ve bilgisayarda program yapmayı isteyen kardeşimizin sorusunu cevaplıyoruz.

SORU:

Merhaba kodcu herif abi. Bu soruyu sormadan önce tüm yazılarını okudum.  Öncelikle hazırlık öğrencisiyim. Elektrik elektronik mühendisliği okuyorum. Yazılarını okudum ve hem bilgisayara hem de mobile program yazabilecek dilleri öğrenmeye karar verdim. (Buraya kadar sıkıntı yok.)
1-)Bu dilleri hangi sıraya göre öğrenmeliyim? Yoksa gözümü kapayıp rasgele birini mi seçeyim.
2-) Yazılarında görsel setleri tavsiye etmişsin. İnternette araştırdım. Çıkan sonuçların %90’ı illegal şekilde.(Torrent vs.) Bir de sen yazılarında görsel setleri kullandığını belirttin. Hoşuna giden(verdiği eğitim veya görseller, anlatış tarzı vs) setler var mı? Varsa hangisini önerirsin?

CEVAP:

Sorunu okuyunca “acaba düşündüklerimi ne şekilde yazsam kırılmaz” diye düşünmekten yazıya başlamam zor oldu. O yüzden şimdiden söyleyeceklerim için kesinlikle kırılmanı istemediğimi bilmeni istiyorum. Kardeşim hem söylediklerinde hemde düşündüklerinde biraz ayakların yere basmıyor. Önce “bu soruyu sormadan önce tüm yazılarını okudum” diyorsun. Benim sadece Kodcu Herif ‘te 500 civarı yazım var, hepsini mi okudun… =) Bari şunu biraz netleştir, “sadece mobil ile alakalı yazılarını okudum” ya da “ tavsiyelerini okudum” de. Hepsini okudum dersen, haftalarca, belki de aylarca KodcuHerif.Com ‘dan başını kaldırmayıp sadece yazıları okuman gerek. Kaldı ki biz diğer siteler gibi bir kaç yüz kelimelik basit yazılar yazmıyoruz, bir yazı ortalama 1.000 kelimelik oluyor =)

Diğer bir mesele, madem o kadar yazı okudun, bunların neticesinde iki platforma mı yönelmeye karar verdin… Ben hiç bir yazımda “kendinizi hem mobilde hemde bilgisayarda geliştirin” demedim ki… “Bir platform seçin, onda uzmanlaşın, diğer platformlarda da bilgi sahibi olun ama asla seçtiğiniz platformdan uzaklaşmayın” dedim. Neyse, diğer tezatlıklara soruna cevap vererek değineceğim.

Yazılım Dili SeçmekYazılıma başlamaya, yazılım dili seçmeye dair bu zamana kadar kaç yüz soru geldi saymadım. Çoğuna KodcuHerif.Com ‘da soruya cevap olacak bir kaç konunun linkini verdim, diğerlerine sadece yazılıma başlamaya yönelik soru sormadığı için konu açarak cevap verdim. Fakat her daim ortak cevap, bu konunun başında da belirttiğim gibi bir platform seçip, o platforma yönelik olan yazılım dilini tercih etmek oldu. Örneğin Web Yazılım platformunu seçersiniz, iki tane yazılım dili seçeneğiniz vardır. Biri ASP.Net diğeri PHP. Bu durumda ben size kalkıp da “kesinlikle ASP.Net öğren” ya da “kesinlikle PHP öğren” demem, diyemem. Çünkü ikisininde birbirine nazaran avantaj ve dezavantajları var. Bu avantaj ve dezavantajları siz değerlendirecek, hangisi size uygun ise onu seçip başlayacaksınız.

Aynı şekilde mobil platformuna yönelikte Android, Apple ve Windows Mobile olmak üzere 3 seçeneğiniz var. Bunlarında birbirine yönelik avantaj ve dezavantajları var. Yine bunların avantaj ve dezavantajlarını siz değerlendirip tercihinizi yapacaksınız.

Dil tercihi de göz kapatıp “ooo piti piti…” diyerek yapılmaz. Seçtiğiniz dili öğrenmek, onda kendinizi geliştirmek ve çalışmalar yapmak bir kaç gün, hafta ya da ay gibi kısa vadede olabilecek bir şey değildir. Yıllarınızı vereceksiniz, o dilde projeler yapacaksınız, para kazanmaya çalışacaksınız. Dolayısıyla iş ve hayat şartlarınızda rol oynayacak.

100 ‘den fazla yazılım dili var. Hiç kullanılmayan bir yazılım diline yıllarınızı vererek kendinizi geliştirirsiniz, hiç para kazanamayabilirsiniz. Çok tercih edilen bir yazılım dilinde kendinizi geliştirirsiniz pastadan pay almaya çalışırsınız.

Bu nedenle yazılım dili seçmek konusunda ne benim nede bir başkasının “bu yazılım dilini seç” demesini sallamayın. Çünkü başkası için cazip görünen bir yazılım dili, ya size uymayabilir ya da o yazılım dilinin şartları sizin o yazılım dilinden beklentilerinizi karşılayamayabilir.

Setleri

Görsel Eğitim SetleriKodcuHerif.Com ‘da yazılım öğrenmeye dair verdiğim tavsiyelerde bana en cazip görünen yöntem olduğu için hep görsel eğitim setlerini tavsiye ettim. Çünkü görsel eğitim setlerinde hem anlatıyorlar, hem gösteriyorlar hemde uyguluyorlar. Örneğin kitaptan çalışılmak istenildiğinde, kitapta yazılım geliştirilen platforma dair bir yazıda “Menüde Tools ‘a tıklayın, açılan alt menüde Options ‘a tıklayın, çıkan pencerede Web Browser ‘a tıklayın ve Search Page textboxına bu linki yazın” diyor. Sonra sen başlıyorsun “Tools nerede, options nerede, web browser nerede, textbox ne” diye aramaya ve düşünmeye… Anlatılan basit bir şeyi yazıyı okumak, anlamak, bulmak, uygulamak dakikalar sürüyor ve bu yazılımda öğrenilmesi gereken bir dünya şey olduğunu düşünecek olursak çok ciddi zaman kaybettiriyor. Görsel eğitim setlerinde adam bunları saniyeler içinde yapıyor. Sen hem görüyor, hem duyuyor, hemde anlıyorsun. Bu açıdan bana görsel eğitim setleri daha cazip geliyor.

Ha, kitaptan öğrenilemez mi, elbette öğrenilebilir. Hatta benim “ için görsel eğitim setleri kullanın” tavsiyeme karşılık “ben kitaptan öğrendim” diyen ve kitabı tavsiye eden kardeşlerimde var. Bu da herkesin iyi bir şekilde öğrenme şeklinin farklı olduğunun başka bir kanıtıdır. O yüzden benim tavsiyelerim sadece tavsiyedir, kural değil =)

Yararlanılabilecek görsel eğitim setleri konusunda da kesin bir adres veremem. Hem reklam yapmayalım hemde yanlış yönlendirmeyelim. Ben bu zamana kadar onlarca görsel eğitim setinden yararlandım. Bunların arasında parasını verip satın aldıklarım olduğu gibi internetten indirdiklerimde var. İllegali elbette kesinlikle tasvip etmiyorum. Bir görsel eğitimin ücretsiz versiyonunu bulsam dahi ücretli versiyonunu bulup alırım. Çünkü ortada bir emek var ve o emeğe saygı duyulmalı. Saygı duymadığınız emekten elde edeceğiniz bilgi size hayır getirmez. Dolayısıyla sana da tavsiyem bulduğun illegal görsel eğitim setlerinin legal halini araştır. Bulursan satın al, bulamazsan yapacak bir şey yoktur, internetten indir. Emeğe saygı duymak adına öğrenmekten, bilgi almaktan vazgeçecek değiliz =) Zaten bütün görsel eğitim setlerini yapanların bir ismi ve sitesi vardır. Legal versiyonunun bulunmayacağını sanmıyorum.

SONUÇ

Şartlar yazılım sektöründe sıkıntılı olduğundan senin için en ideali mevcut mesleğinde kendini geliştirmen, okulundan en iyi şekilde mezun olman ve mesleğine yönelik çalışmalar yapman 😉

Bilinmeyen Bilişim Kitabı
  • Aaaa Dddd

    Öncelikle kodcu herif’e teşekkür ediyorum sorularıma cevap verdiğin için.

    Cevabını okurken “acaba daha açık mı sorsaydım?” şeklinde düşünmedim değil. Ama bende senin cevabına cevap vermek için yazıyorum. (cevabın cevabı çok uzun oldu sanırım.)

    İlk baş, bu siteyi 3-4 ay önce takip etmeye başladım. İlk olarak da webtekno’da karşılaştım. O yüzden bol bol zamanım oldu, yazılarını okumak için. Hatta bir soru cevapta, bir kadın sorusunda “tüm yazılarınızı okudum.” şeklinde bir ifade vardı ve siz “zaten erkekler tam olarak okumadan soru soruyor.” şeklinde cevap vermiştiniz.(Tam net hatırlamıyorum ama buna yakındı. Bu arada her yazınız yaklaşık olarak 2 sayfa:D)

    Gelelim şu 2 platform olayına. Aklımda 2 platforma da program yazmak gibi bir fikrim var ama ikisini aynı ayna öğrenmek gibi bir plan yok.(O kadar dâhi birisi değilim.) Burada bunu belirmemin sebebi hangi dili öğrenirsem, diğer platformun dilini de kolayca öğrenebilirim? “Mesela objective-c dilini (mobil platformu) öğren, bu şekilde java’yı veya c++’yı daha kolay öğrenirsin.” şeklinde bir öneri için belirttim.

    Şu “ooo piti piti…” olayına gelelim. (Okurken güldüğüm yerlerden biri ayrıca) Ben, yazılarınız okudum ve anladığım kadarıyla benim işime 3-4 dil yarıyor. Java, C++, C#… Bende bir üst paragrafta belirttiğim gibi bu dillerden hangisine yöneleyim diye düşünürken sordum sorumu. (Tamam hatalıyım. Yine ilk kısımda bahsettiğim keşke soruyu daha açık sorsaydım olayına döndüm.)

    Eğitim setlerine gelince. O soruyu sormadan önce araştırdığımda, karşıma onlarca legal görsel set çıktı. Ve binlerce de illegal olanları. Forumlarda dolaştığımda ise bir çok kişi illegal indir demiş ve kimse de şu set çok iyi veya bu set çok kötü diye bir girişimde bulunmamış. Bu yüzden sormuştum bunu. O soruyu yazarken “kesin yazmaz. Reklam vermiş gibi olur o yüzden.” diye düşünmedim değil. Ama şansımı denemek istedim:D. Eğer e-postamı görüyorsan direk posta atabilir misin?(soru sormadan önce e-posta bilgisi alıyorsun. Oradan görebiliyorsan. En azından şu eğitim seti şöyle avantajlı ama aynı zamanda şu yönü sakat. Veya bundan hiç verim alamadım ama bir bak. şeklinde olursa da olsun. Burada ki google hesabından da göndersen olur.)

    Eğitim durumundan bahsetmişsiniz. Elektrik ve elektronik mühendisliği isminden biraz farklıdır. Üniversitenin 2. yılında(3 te olabilir.) elektronik veya elektrik bölümlerinden birini seçiyorsunuz. Mezun olduktan sonra da yüksek lisanla da biyomedikal, telekominikasyon vs vs bölümlerde uzmanlaşabiliyorunuz.(Hatta yanlış hatırlamıyorsam, bir tanıdığımın arkadaşı telekominikasyonu bitirip yüksek bir maaş ile amerikada da işe başladı.) Burada amacım yazılım işine başvurmak değil. Bunu 2 şekilde açıklayabilirim. Biri maddi yönü biri felsefi yönü.

    Maddi yönü olarak, pilotları örnek verebilirim. Pilotlar sürebildikleri her taşıt için ve bildikleri her dil için fazladan maaş alırlar. “Araba kullanmasını bilen bir pilot, uçak kullanırken bu bilgi ne işine yarıyacak?” diye sorabilirsiniz. Bende bilmiyorum ama öyle(miş. Kuzeni pilot olan arkadaşım var. Ondan duydum.)

    Felsefi olarak ise; Francis Bacon ‘ün bir sözü vardır. İnternette aratırsanız ve anlama geldiğini bulabilirsiniz.

    “Scientia potentia est.” veya daha güzel hali

    “Nam et ipsa scientia potentia est.”