Değişen dünya koşulları ve sürekli gelişen teknolojiyle artık dijital bir çağda yaşadığımız yadsınamaz bir gerçektir. Her şey çok hızlı değişiyor. Bilgisayarın doğuşundan bu yana kullanılan yazılım dillerine dahi yeni eklentiler, güncellemeler dahil oluyor. Hatta bazı yazılımcılar ya da firmalar tarafından ortaya yeni bir yazılım dili bile çıkarılabiliyor.
Geleceğini yazılım üzerine kurmak isteyen birçok aday hangi alana yöneleceğini, hangi aşamaları takip edeceğini karar vermekte zorlanabilir. Çünkü girilen her yol bizi yeni bir yol ayrımına çıkarmakta ve her yol ayrımı bizleri yeni kararlar almaya zorlamakta, her yeni karar ise hayatımızı şekillendirmekte. Aynı anda birçok alanda çalışmalar yapılabilir fakat gibi özellikle iş dünyası ve piyasanın genel durumuna baktığımızda her yazılımcının uzmanlaştığı bir alan şart gibi. İyi bir yazılımcı tüm bu çalışmalarının yanında sürekli gündemi takip ederek teknolojik gelişmelerden haberdar olmalı, kendisini sürekli geliştirerek yaşam boyu öğrenme açlığını korumalı ve uzmanlık alanı dışındaki diğer alanlarda da az bile olsa ilgilenerek çok yönlü bir kişiliğe sahip olmalıdır.
Yazılım dilleri düşük seviyeli diller ve yüksek seviyeli diller olarak 2 ana başlıkta toplanabilir. Birbiri arasındaki semantik özelllikleri, kodlama benzerlikleri ve makine diline olan yakınlıkları bu sınıflandırmayı oluşturuyorlar. Assembly, C++ gibi makine diline daha yakın diller düşük seviyeli diller kabul edilirken Java, C# gibi diller yüksek seviyeli kabul edilir. Öğrenme kolaylığı açısından baktığımızda düşük seviyeli dillerin yüksek seviyeli dillere oranla biraz daha karmaşık ve zor olduğunu söyleyebiliriz. Ancak çalışmak istediğiniz alan hangi dile uyuyorsa o dili öğrenmek için ne kadar kolay veya zor olursa olsun tüm konsantrasyonunuzu oraya toplamak zorundasınız.
Yazılım dili öğrenmek isteyen kişiye hangi alanda çalışmak isterse istesin en temel başlangıç olarak C Programlama Dili tavsiye edilir. BELL Laboratuvarlarında Unix oluşturulmaya çalışılırken bir yan ürün olarak çıkan C programlama dili kendisinden daha eski olan Java’nın meydana getirdiği maliyet fazlalığını minimuma indirmiştir. Programlama mantığını temelden oturtmak isteyen herkesin ilk durağı olan C, tam öğrenildiği takdirde hangi dil ile çalışılmak istenilirse istenilsin o dil için büyük bir öğrenme kolaylığı sağlayacaktır.
1) Web Design (HTML, CSS, JAVASCRİPT, JQUERY)
Hepimizin yapmak istediği şeylerden biri olan kişisel web sitesi yapmak, bir web sitesinin nasıl kodlanması gerektiğini öğrenmek ve internet tabanlı bir yazılım geliştirmek istiyorsanız herhangi bir yazılım diline doğrudan girmek yerine bu alanda kendinizi geliştirebilirsiniz. Genel olarak bir web sitesi yapmak için birçok hazır platform bulunuyor fakat bir web sitesi kodlamak ile web sitesi yapmak arasında çok ciddi farklar vardır. Bu alanda Mahşerin 3 Atlısı olarak nitelenen ve birbirinin tamamlayıcısı olan HTML, CSS ve Javascript dilleri kullanılır. Web sitesi programlamayı bir ev yapmaya benzetirsek HTML tuğlaları, CSS tuğlalar arası bağları, Javascript ise diğer evlerle olan konumunu ve ilişkisini betimler. Kodlama sematikleri birbirine son derece yakın olan bu diller yazılımı sevdiren diller olarak da adlandırılmakta ve hemen hepimizin başlangıç noktası kabul edilmektedir. Tüm bunların yanında evin temelini sağlam atmak istiyorsanız Bootsrap öğrenmeniz de yararınıza olacaktır. Öğrenmesi son derece basit ve kodlanması gayet kolay olan bunlar için herhangi bir derleyiciye ihtiyaç duyulmaksızın bilgisayarınızdaki not defterini kullanmanız yeterli olacaktır. Bilgisayarınızda Jquery destekli uzantısı olduğunu kontrol etmeniz de önemli.
2) Web Development (PHP, ASP.NET, JAVA EE, DJANGO)
Bunlar Türkiye’deki iş alanları ve piyasanın tercih durumuna bakarsak oransal olarak diğer alanlara göre en çok tercih edilen ve bilinen yazılım alanıdır. Web Design ile ilgilenen herhangi birinin kullanmasa bile sıkça karşılaşacağı bir server sunucusu olan Php bu alanda ASP.NET ile en çok tercih edilendir. Öğrenmesi oldukça eğlenceli ve kolay olan bu dillerle internet tabanlı yazılım ve uygulamalar geliştirebilirsiniz.
3) Desktop Software (C++, JAVA SE, PYTHON, DELPHI, VISUAL BASIC.NET)
Masaüstü uygulamalar yüksek ve düşük seviyeli dillerin her ikisinin de kesişim alanına giren bir alandır. C++ ve Python biraz daha derin öğrenmeye ve makineye yakınlık sağlarken Java biraz daha kolay ve hazır Tool ile kodlamadan çok maliyet miktarını azaltan bir dildir. Piyasada en yaygın olarak Java kullanılırken C++ bilmek de çok ciddi oranda artı katacaktır. Burada dikkat edilmesi gereken nokta bu dillerin birbirinden tamamen bağımsız ve alakasız olup zorlukları ve uygulandıkları alanların tamamen farklı olmasıdır.
4) Mobile Software (SWIFT, JAVA, C#)
Mobil uygulamalar geliştirmek ve sonuç odaklı projeler yapmak istiyorsanız en çok tercih edilen alanlardan diğeri olan bu alanda Java ve özellikle C# bayrak taşıyanlardır. Oyun yazılımlarında daha çok C# kullanılırken mobil geliştiricilerde Java tercihi biraz daha az maliyetlidir.
5) Embedded Systems (C, C++, ASSEMBLY)
Makine diline yakınlığı açısından düşük seviyeli kabul edilen bu dillerin öğrenilmesi oldukça zahmetlidir. Özellikle Assembly artık pek tercih edilmese bile C++ yeni gelen güncellemeler sonrası ve C’de meydana gelen dramatik değişimler onları biraz daha komplike hale getirmiştir. Elektronik kodlamaya dayanan bu yazılım alanı oldukça sabır ve özveri gerektirmektedir.
This post is also available in: English
Yorumlar (0) Yorum Yap