Author Archives: Naklov67

Yazılım Öğrenmek

Merhaba,

Bu yazıyı, bir yakınımın yazılım konusunda kendisini geliştirmek istediğini ancak nereden başlasa daha iyi olacağı konusunda benden fikir alması sonrasında hazırladım. Umarım hem ona hem de bu konuda kendini geliştirmek isteyenlere faydası olur.

Neden Yazılım Öğrenmeliyim

Öncelikle yazılım öğrenmek ya da bu konuda ilerlemek ile ilgili birkaç şey söylemek istiyorum. Hangi sektörde hangi işi yapıyor olursanız olun yazılım bilmek yapacağınız işe önemli katkılar sağlayacaktır.

Örneğin muhasebecisiniz ve basit Excel tablolarıyla uğraşıyorsunuz. Yazılım konusunda bilgi sahibiyseniz yaptığınız işi daha hızlı yapabilme şansınız var demektir. Yazılım bilgisi olmayan bir kişinin günlerce uğraşıp sonuca ulaşamadığı bir işi VBScript, MAKRO, SQL gibi dilleri kullanarak birkaç saat içinde yapabilirsiniz.

Bir şirkette yöneticilik yapıyorken aldığınız raporları daha anlamlı hale getirebilecek SQL bilgisine sahipseniz işiniz kolaylaşabilir. Uzaya bir robot gönderen NASA yazılım dilini bilen kişiler sayesinde robota komutlar gönderir ve yönlendirir. İyi bir yazar ya da fotoğraf sanatçısının kendi BLOG sitesini açabilecek seviyede yazılım bilmesi büyük bir avantaj sağlayacaktır.

Sonuç olarak, yazılım sektöründe çalışmasanız bile yazılım biliyor olmanız işinizi daha iyi yapmanıza önemli katkılar sağlayacaktır. Bu nedenle basit de olsa yazılım eğitimi almak günümüzde çok önem kazanmıştır.

Nasıl Öğrenmeliyim

Bilgisayar ya da Yazılım Mühendisliği bölümlerinden birinde okuyor olmak öğrenmeniz için avantaj sağlayacaktır. Ancak bu bölümlerde okuyup yazılım bilmeyen ya da yazılım dışında sektörlere yönelen birçok kişi var.

Okulda öğrenmenin dışında öğrenmenin daha etkili yolları da var. Eğer gerçekten istekliyseniz günümüzde öğrenmenin çok fazla ve kolay yöntemi var.

  1. YouTube
  2. Udemy
  3. Microsoft Akademi
  4. Google ( web siteleri – neredeyse her konuda bir yazı bulursunuz)
  5. Kitaplar ( Görsel eğitimi daha çok seviyorum ancak kitaplarda yardımcı olabilir)

Kendinizi geliştirirken, öğrendikleriniz ile birlikte mutlaka ve mutlaka projeler geliştirin. Sürekli araştırın ve öğrenin. Eğer kendi kendine öğrenme seçeneğini seçtiyseniz daha gayretli olmak zorundasınız.

Nerden Başlamalıyım

Öncelikli olarak, ilgi duyduğunuz konularda bir yazılım seçimi yapmak ve bunun nasıl yapılabildiğini merak etmek gerekiyor. Meraklı olduğunuz konuları daha çabuk öğrenebilirsiniz.

Belirlediğiniz konularda projelerin nasıl yapılabileceğini araştırmak ve kullanılan teknolojileri öğrenmek başlangıç için iyi bir seçenek olabilir.

Örneğin bir mobil uygulama yazacaksanız, mobil uygulamaların hangi araçlar kullanılarak yazılabileceğini araştırmalısınız.

Teknolojiler Hakkında

İlgi duyduğunuz ya da yapmak istediğiniz yazılımı belirledikten sonra bunun hangi platformlarda çalışabileceğine karar vermeniz gerekiyor. Web, Masaüstü ve Mobil uygulamalar en yaygın olanlarıdır.

Masaüstü Uygulama geliştirirken hangi işletim sistemlerini destekleyeceğine karar vermek gerekiyor. Microsoft Windows, Linux ya da Mac OS işletim sistemlerinde çalışabilecek uygulama geliştirebilmek için tercih edilecek diller arasında JAVA, Python ön sıralarda geliyor. .Net Core ile geliştirilen uygulamaların bu işletim sistemlerinde çalışması mümkün ancak henüz yeterli seviyede gelişim sağlamadı. Çok yaygın olarak kullanılan Windows işletim sistemini desteklemek için C# dili kullanılabilir. Bunun için Visual Studio ile çalışmak yeterli olacaktır.

Mobil Uygulama geliştirirken de işletim sistemi önem kazanıyor. Android, IOS ve Windows Mobile gibi işletim sistemleri mobil uygulama geliştirirken hedeflenebilir. Mobil uygulama için Native, Hybrid gibi iki farklı teknoloji bulunuyor.

Hybrid teknolojide aynı kodun farklı işletim sistemlerinde çalışması mümkün hale geliyor. Bunun için Cordova, Ionic gibi platformlar kullanılarak HTML/JS dilinde yazılım geliştirilebilir. Ancak bazı uygulamaların Native olması zorunlu hale gelebiliyor.

Native uygulama geliştirirken, Android için Java dili kullanılıyor. Android Studio kullanarak mobil uygulama yazılabilir.

Native uygulamada IOS için ise Xcode kullanarak Swift dilinde yazılım geliştirilebilir.

Web uygulama geliştirirken işletim sisteminin önemi bulunmuyor. Web uygulamalar web browser üzerinde çalıştığından tüm işletim sistemlerinde aynı sonucu verebilmektedir. HTML/JavaScript/CSS yazılım dillerini bilmek öncelikli öneme sahip.

Arayüzlerin güzelleştirilmesi için CSS kullanılır. Daha interaktif arayüzler oluşturabilmek için JavaScript yazılım dili kullanılır. JavaScript yazılım dilinin üzerine kurulmuş birçok kütüphane mevcuttur. Bunlardan en önemlileri JQuery, AngularJS ve React gibi kütüphanelerdir. JavaScript’in temellerini öğrendikten sonra bu kütüphaneleri öğrenmekte fayda var.

Web uygulamalar kullanıcı ile iletişime geçecek ise bu durumda sunucu ve istemci olmak üzere iki ana katmandan oluşmalıdır. Sunucu tarafında hazırlanacak yazılım ya da web servisin hangi dil kullanılarak yazılacağına karar verirken sunucunun işletim sistemine dikkat etmek gerekiyor.

Sunucu, Windows tabanlı ise .Net platformunda C# dili ile geliştirme yapmak avantaj sağlayacaktır. Buna alternatif olarak Note.js, Ruby, Python, Java gibi diller de tercih edilebilir.

Sunucu Linux yada MacOS tabanlı ise Microsoft .Net Core, NoteJS gibi diller kullanılabilir.

Ben Olsam Ne Yapardım

Yazılım öğrenmek gibi bir hedefim olsaydı öncelikli olarak en kolay ilerleyebileceğim ve en yaygın olarak kullanılan platformu seçerdim.

Bunun için Web Uygulaması geliştirmekle başlardım. Web uygulamalarının arayüz kısımlarını hazırlayabilmek için HTML/CSS/JavaScript dillerini öğrenmek gerekiyor. Bu dilleri öğrenmek için Youtube da çok fazla kaynak var. Daha profesyonel anlatımlar için Udemy kullanılabilir.

Temel arayüz eğitimlerini tamamladıktan sonra JavaScript dilini daha derinlemesine öğrenmek gerekiyor. JavaScript dilini kullanarak hazırlanmış JQuery üzerine çalışmalar yapmak gerekiyor. Bu konularda ilerleme sağladıktan sonra da AngularJS üzerinde çalışma yapmanızı tavsiye ederim.

Web arayüzünün tamamlayıcısı olarak sunucu katmanının hazırlanması gerekiyor. Sunucu katmanı sayesinde veritabanı üzerinde kayıtlar tutabilir bunları kullanıcıya sunabilirsiniz. Burada hızlı ilerleyebilmek için Microsoft teknolojilerini kullanmanızı tavsiye edebilirim. Birçok aracı bir bütün olarak sunan Visual Studio kullanmalısınız. Sunucu yazılım dili olarak da C# iyi bir tercih olacaktır.

Visual Studio sayesinde hem HTML/JavaScript hem de C# ı aynı anda kullanabilirsiniz. Başlangıçta C# ile ASP.NET kullanmakta fayda var. İlerleyen dönemde .NET MVC teknolojini öğrenebilirsiniz.

Bu teknolojileri öğrenmenin en iyi yolu, belirleyeceğiniz örnek projeyi yazmak için kafa yormaktır. Bu sırada karşınıza çıkacak sorunları çözmek için araştırma yapacak ve çözümleri buldukça daha iyi öğrenmiş olacaksınız.

HTML/JavaScript dilinin çok popüler olduğunu bir kere daha söylemek istiyorum. Öyle ki; bu dilleri kullanarak Mobil uygulama hazırlanabiliyor. Hatta Masaüstü uygulamalar bile hazırlanırken bu dilleri kullanarak hazırlanabilir. Bu nedenle buradan başlamak çok faydalı olacaktır.