Yeni raporumuz yayında! Yazılımcıların gözünden Yapay Zeka (AI) Raporu 2024 Hemen göz atın→

Yeni raporumuz yayında! Yazılımcıların gözünden Yapay Zeka (AI) Raporu 2024 Hemen göz atın→

Yazılıma Nereden Başlamalıyım? Yazılımcıların Mutlaka Bilmesi Gerekenler

Ocak 25, 2024
Yazılıma nereden başlamalıyım

​Günümüzde bilgisayar ve yazılım olmadan bir yaşam düşünmek neredeyse imkânsız durumda.

Yazılım, hayatımızı kolaylaştıran donanım cihazlarını kontrol eden komutların çalışmasını sağlayan bir yapı sağlar. Otomotiv, inşaat, eğlence, sağlık gibi sektörlerde; “akıllı” olarak adlandırdığımız cihazlar, günümüzde neredeyse tüm sistemlerde kullanılıyor.

Peki, yazılım öğrenmek zor mu? Eğer kendinize bir yol haritası oluşturursanız yazılım sizin için vazgeçilmez bir dünya haline gelebilir.

“Yazılımcı olmak istiyorum ancak yazılıma nereden başlamalıyım, hangi programlama dillerini öğrenmeliyim?” sorularına yanıt arıyorsanız bu yazı tam size göre!

Yazılıma başlarken nelere dikkat edilmeli?

Yazılıma başlamak ve yazılımın mantığını kavramak için bilgisayar birimlerinin nasıl çalıştığını kavramak gereklidir. Bu noktada iyi bir donanım bilgisine sahip olmanız beklenir. Peki bilgisayarın donanım birimleri ve görevleri neler?

Bilgisayarın donanım birimleri; anakart, işlemci, bellek, monitör, sabit disk, ekran kartı, ses kartı ve yazıcı olarak listelenebilir.




Anakart:
Bilgisayarın tüm parçalarını üzerinde barındırarak bu parçalar arasındaki iletişimi sağlar.

İşlemci: Bilgisayarın beyni olarak bilinen, belirli mantık ve matematik işlemlerini elektronik olarak yapabilecek dijital bir devredir.

Bellek: Bellek, random access memory olarak ifade edilen geçici bir depolama alanıdır. İçerisinde yer bilgiler güç kesildiği anda kaybolur.

Sabit Disk: Sabit disk, Hard Disk (Hdd) olarak bilinmektedir. Elektrik kesilse dahi bilgilerin halen saklandığı, farklı hızlarda ve farklı boyutlarda bulunan manyetik bir ortamda verilerinizin saklanabilmesini sağlayan, bilgisayarların hafıza türlerinden birisidir.

1) Bilgisayar Biliminin Temelleri

Bilgisayar bilimi, bilgisayarların yazılımları ve donanımları hakkında araştırma yapan ve bu araçların nasıl çalıştığını inceleyen pratik bir bilim dalıdır. İkinci Dünya Savaşı sırasında ilk dijital bilgisayarın geliştirilmesiyle bilgisayar biliminin temelleri atılmıştır.

Bu aşamada öğrenmeniz gereken temel kavramlar; dijital bilgisayarın organizasyonları, sayı sistemleri, algoritmik yaklaşım, flowcharting, yapısal programlama kavramları, giriş/çıkış deyimleri, kontrol yapıları, diziler ve döngüler olarak listeleyebiliriz.

Yazılımın en temel konusu olan Nesne Yönelimli Programlama’nın temel prensiplerine göz atarak harika bir başlangıç yapabilirsiniz!

2) Önerme Mantığı

3) Algoritmalar ve Veri Yapıları

Sizin için hazırladığımız blog yazısı ile algoritmaların hayatımızda neden bu kadar önemli konumda olduğu sorusuna yanıt arayarak yazılımcıların mutlaka bilmesi gereken yazılım algoritmaları listesi oluşturduk.

4) Faydalı Kaynaklar

Kod yazmayı eğlenceli hale getirmek istiyorsanız ‘Kodlama Becerilerinizi Geliştirmenin Eğlenceli Yolu: Kodlama Oyunları’ blog yazımıza göz atabilirsiniz!

Yazılım kategorileri nelerdir?

Yazılımı temel olarak bilgisayar yazılımları ve elektronik yazılımları olarak ayırabiliriz. “Yazılıma nereden başlamalıyım?” sorusunun asıl cevabı yazılım çeşitlerini öğrenmek ile başlar.

Bilgisayar yazılımları, işlevleri açısından kendi içerisinde ayrılır.

1. İşletim Sistemi Yazılımları:

Akıllı cihaz olarak adlandırdığımız telefon, tablet, bilgisayar gibi teknolojik araçların açıldığı andan kapandığı sürece kadar görev yapan yazılımdır.

İşletim sistemi yazılımları olmazsa, donanımlar çalışmaz ve yapmak istediğiniz hiç bir işlemi gerçekleştiremezsiniz. Sonuç olarak, işletim sistemleri bilgisayarda çalışan donanım birimlerinin ve yazılımlarının yönetimini, denetimini sağlayan sistem yazılımlarıdır.


Aynı zamanda işletim sistemleri, bilgisayara ve yazılıma bağlı olarak farklılık göstermektedir. İşletim sistemlerine örnek vermek gerekirse; Windows İşletim Sistemi, MacOS (Apple OS X) İşletim Sistemi, UNIX İşletim Sistemi, Linux İşletim Sistemi, Pardus İşletim Sistemi, Android İşletim Sistemi ve iOS İşletim Sistemi olarak sıralayabiliriz.

2. Uygulama Yazılımlar:

İşletim sistemi yazılımları ile uyumlu şekilde çalışan programlardır. Bunlara örnek vermek gerekirsek; Photoshop, Office Programları, oyunlar ve virüs programları uygulama yazılımlardır.

Genel amaçlı ve özel amaçlı uygulama yazılımları olarak 2’ye ayrılır.


Teknoloji ve yazılım dünyasında bilgisayar sistemleri için geliştirilmiş genel amaçlı uygulama yazılım uygulamaları oldukça sık kullanılmaktadır.


Genel amaçlı uygulama yazılımlarına örnek verecek olursak; Microsoft Office, Notepad, Chrome, Windows Media Player, VLC Media Player, GOM Player ve Winamp olarak örnek verebiliriz.

3. Programlama Yazılımları:

İşletim sistemi yazılımlarının ve uygulama yazılımlarının oluşturulması için gerekli olan programlardır. Java, Delphi, Pascal, C++, Visual Basic gibi uygulamalar programlama yazılımlarına örnek olarak verilebilir.

Diller, araçlar ve başlangıçtan orta düzeye ilerleme

Binlerce programlama dili mevcut, bunların bazıları diğerlerinden daha popüler.

Fakat popüler olması o programlama dilini öğrenmemiz için yeterli mi?

Çoğu teknoloji şirketi yazılım ekibine ekip arkadaşı aradığında, yeni çıkan programlama dillerine nispeten eski ve alışagelmiş programlama dillerine aşina olan kişileri daha çok tercih ettiklerini belirtiyor.

Türkiye’nin büyüyen teknoloji şirketlerinin hangi teknolojileri kullandığını merak ediyorsanız
Türkiye Teknoloji Dizini sayfamıza göz atabilirsiniz.

Programlama dilini belirli standartlar içerisinde yazılım geliştirme imkanı sağlayan bilgisayar dili ve temeli olarak tanımlayabiliriz.

Bir yazılım oluşturulması gerekiyorsa ilk olarak makinelerin dilini anlayarak komutlar eşliğinde çalıştırılması gerekli.

Programlama dili unsurları şöyledir;

İşlev ve Hedef: Programlama dilleri soyut makinelerde hesaplama araçlarını kullanmayı tanımlar. Programlama dilleri insanların makinelere talimatlarını iletmelerine izin verir.

Soyutlamalar: Programlama dilleri genellikle veri yapılarını tanımlama, işleme veya yürütme akışını kontrol etmek için soyutlamalar içerir

Güç: Programcıların bilgisayarlarla iletişim kurmak için kullanabileceği birçok programlama dili vardır. Programlama dillerinin asıl amacı, bilgisayarların büyük ve karmaşık bilgi yığınlarına hızlı ve verimli olacak şekilde işlemesine izin verir.

Hangi yazılım dili tercih edilmeli?

Hangi programlama dilini öğrenmeliyim sorusunu sorduğunuzda kararınıza yön verecek pek çok farklı etken mevcut. Çoğu kişisel olan bu etkenlerin bazıları yaşadığınız yerle, gelecekteki kariyer beklentileriyle ve diğer şeylerle alakalı.

“Hangi programlama dilini öğrenmeliyim, yazılıma nereden başlamalıyım?” diye sorduğunuzda aşağıdaki beş noktayı değerlendirmelisiniz.

1. Programlama deneyiminiz:

En önemli ilk şey programlama deneyiminizdir. En iyi programlama dillerinin bazılarını öğrenmek oldukça zordur ve yeni başlayanlara uygun değildir. Ancak Java ve Python gibi en popüler dillere yeni başlayanlar için hazırlamış olduğumuz kaynaklar bulunuyor. Kariyer hayatının başında olan yazılımcılar için doğru yönlendirme yapabilmek adına blog yazılarımıza göz atabilirsiniz.

2. Kariyer süreciniz ve ne yapmak istediğimiz:

Rastgele bir programlama dili öğrenmek için en yaygın yapılan hatalardan biridir. Seçim yaparken amacınızı belirlemeli, kariyerinizle, ne iş yapmak istediğinizle gelecekte yapmak istediğiniz bir iş üzerinde karar vermelisiniz. Öncelikle şu an ilgilendiğiniz şeyleri düşünün.

Kariyer hayatınızın ilerleyen süreçlerinde mutsuz olacağınız fakat popüler olan bir alana yönelmek sizin için muhtemelen endişe verici olacaktır. Geçmişteki deneyimlerinizle uyumlu ve alakalı bir dil seçmek oldukça faydalı olacaktır.


İlk başlıyorsanız veya yeni bir alana geçmeyi düşünüyorsanız size bu konuda yardımcı olabilecek bir programlama dili seçin. Örneğin back-end web geliştirici olarak çalışıyorsunuz ama gönlünüz Blockchain programlamada. O halde Solidity öğrenmeyi düşünmelisiniz.

3. Programlama dili zorluğu:

“Hangi programlama dilini öğrenmeliyim?” sorusunu düşündüğünüzde dilin zorluğunu düşünmek oldukça önemli. Yeni bir dil öğrenmeye ayıracak çok vaktiniz yoksa veya bir öğrencisiyseniz düşük zorluk seviyesinde bir programlama dili seçmeyi düşünmelisiniz.

Peki yazılımcıların en sık karşılaştıkları zorluklar neler?

Yazılım geliştirme sürecinde karşılaşılan sorunlar genellikle, yazılım yaşam döngüsü sürecinde ortaya çıktığı araştırılıyor.

‘Yazılımcıların Karşılaştığı Zorluklar ve Çözüm Yöntemleri‘ne gelin birlikte göz atalım!

4. Öğrenmek için mevcut kaynaklar:

Yeni bir programlama dili öğrenmeye başlamak istiyorsanız internette hakkında pek çok kaynak bulunan popüler dillerden biri olmalı.

5. Programlama dillerinin çok yönlülüğü:

Bir dili öğrenmeye başlamadan önce kullanım alanlarını göz önünde bulundurmak oldukça önemli. Bazı dillerin oldukça spesifik kullanımı varken bazılarıysa pek çok farklı kullanım alanına sahip.

Programlama dili türleri

Programlama dilleri statik ve dinamik diller olmak üzere ikiye ayrılır.

Statik Diller: Statik diller pek çok insanın gözünde dinamik dillerden daha “ileri seviye” görüşündedir. Statik diller genellikle sabit, ölçeklenebilir ve bakımı kolay dillerdir. “Yazılıma nereden başlamalıyım?” sorusunun ana cevabı, statik dilleri öğrenmek ile başlar.

Üst düzey mobil uygulamalar ve en iyi web site back-end’leri genellikle statik dillerden biriyle oluşturulmuştur. Java, C, Swift, C++ ve C# gibi her amaca uygun diller statik dillerdir.

Dinamik Diller: Genellikle esnek ve öğrenmesi kolay olan dinamik programlama dilleri statik dillere alternatif olarak görülür. Fazla zaman harcama gerektirmeden eğlenerek projekerinize başlayabilirsiniz.

Öğrenmek için dinamik bir programlama dili seçerseniz kodunuzdaki detaylara ince ayarlar yapmak için daha az, yeni konseptleri keşfetmek ve üzerinde alıştırma yapmak için daha çok zaman harcarsınız. Dinamik diller yeni başlayanlar arasında popülerdir.

En popüler dinamik programlama dillerinin bazıları PHP, Ruby, Python ve JavaScript’dir.

Diğer: SQL gibi veri tabanlarıyla iletişim kurmak ve veri yönetmek için kullanılan diller statik ve dinamik dillerden ayrılıyor.

Kriterlerine uygun pozisyonlarla eşleşmeye hazır misin? Hemen ücretsiz profilini oluştur.

Recent Posts

Go to Top