Sıfırdan Başlayanlar İçin Yazılım Sözlüğü

Appcent Akademi
Appcent
Published in
3 min readAug 19, 2022

Yazıda Ne Var?: Bu yazıda, sıfırdan yazılıma başlayanların çok sık karşılaştıkları yazılım terimlerini anlattık.

Yazılım günümüzün en popüler sektörlerinden biri. Hem ülkemizde hem de dünyada bu alanda çalışanlara ihtiyaç giderek artıyor. Hatta, ABD Çalışma Bakanlığı’nın verilerine göre, yazılım geliştirmedeki istihdamın 2020’den 2030’a kadar %22 artması bekleniyor. Durum böyle olunca pek çok insan farklı alanlardan yazılıma yönelmenin yollarını arıyor.

Yazılım öğrenmeye başlayanların en sık sorduğu soru “Nereden başlamalıyım?” oluyor. Bu sorunun tek bir doğru cevabı yok ama yazılıma dair temel konseptleri öğrenmek konuları daha iyi kavramanıza yardımcı olacaktır çünkü yazılım öğrenmeye yeni başlayanların karşılaşabileceği birçok kafa karıştırıcı terim var. Bu amaçla sizin için bir yazılım sözlüğü hazırladık.

Platform:

Geliştirdiğiniz yazılımın üzerinde çalıştığı yazılım ortamına platform deniyor. Kişisel bilgisayarlarda platform, yazılım uygulamalarının çalıştırılabileceği temel donanım (bilgisayar) ve yazılımdır (işletim sistemi). Örneğin Windows üzerinde bir uygulama geliştiriyorsanız Windows sizin için bir platform. Aynı durum Android ve iOS için de geçerli ancak bunlar arasında .NET ve Java gibi platformları da ekleyebiliriz. Çünkü bu platformlarda geliştirilen uygulamalar doğrudan işletim sistemi üzerinde çalışmaz. Arada bir virtual machine yani sanal makine vardır. Kodunuz sanal makine üzerinde çalışır. Yani sanal makine, işletim sistemi ile uygulamanız arasında bir katman (platform) vazifesi görmektedir.

Kod → Sanal Makine → İşletim Sistemi

Sıralamanın bu şekilde olması her işletim sistemine özel kod yazma zahmetinden bizi kurtarır.

Library: Yazılım geliştiriciler günümüzde her şeyi sıfırdan yazmaz. Sık kullanılan belli başlı fonksiyonların yazılmışları mevcut. Artık entegre geliştirme ortamlarında (IDE) kod tamamlama özelliği bile sunuluyor. Her yazılım diline özgü library yani kütüphane seçenekleri bulunuyor. Örneğin her yazılım dilinin math, metin, grafik ve veritabanı işlemleri için fonksiyonlar barındıran kütüphaneleri vardır. Ayrıca kendiniz de sık kullandığınız fonksiyonlardan kişisel kütüphanenizi oluşturabilirsiniz. Kod yazarken onlarca kütüphane kullanmanız gerekebilir ve kütüphaneler size oldukça zaman kazandırır. Bir yazılım dilini öğrenirken belli şeyleri yazarak öğrenmeniz daha faydalı olur ancak kendinizi geliştirdikçe ihtiyaç anında kütüphane kullanmaktan çekinmeyin. Öte yandan, dikkat etmeniz gereken bir husus da kütüphane kullanırken ölçülü olmak. Çok fazla ve gereksiz kütüphane kullanmak projenizin build süresini uzatabilir.

Runtime Environment: Geliştirdiğimiz yazılımların çalışmasını sağlayan yardımcı yazılımlardır. Örneğin, Node.js, Javascript’in tarayıcı (browser) dışında da çalışmasını sağlıyor. Öte yandan Java ve .NET kendi runtime (çalışma-zamanı) ortamını sağlar. Java için bu JRE (Java Runtime Environment) iken .NET için CLR (Common Language Runtime) olmaktadır.

API: Türkçeye “Uygulama Programlama Arayüzü” olarak çevrilebilir. API, kendine ait veriler ve çalışma prensipleri ile geliştirilen uygulamaların, birbirleri ile iletişime geçerek çalışmasını mümkün kılan yazılımdır. API’lar çoğunlukla front-end ve back-end arasındaki haberleşmede kullanılır.

IDE: Programlama işlerini organize etmemizi sağlayan araçlara IDE (Integrated Development Environment) denir. Kod yazma editörlerinden farklı bir yapıya sahip olan IDE’ler, çeşitli diller ve editörler için geliştirilmiş olabilir. Örneğin günümüzde popüler olan IDE’lerin bir çoğu Visual Studio Code, Android Studio, XCode gibi çeşitli platformlar için geliştirilmiştir. IDE’ler kod tamamlama, kod üretme, debug etme gibi pek çok özellik barındırabilirler.

Framework: Framework yazılım ya da uygulama geliştirmek için geliştirilen yazılımlardır. Biraz kafa karıştırıcı değil mi? Esasen framework bir yapıdır. Size oluşturmak istediğiniz yapı için bir iskelet sağlar. Frameworkleri belli bir amacı gerçekleştirmek için oluşturulmuş kütüphaneler topluluğu olarak da gösterebiliriz. Kütüphaneler topluluğuna yenilerine ekleyip özelleştirebilirsiniz. Bazı gelişmiş frameworklerde veri tabanı bağlantısı, form kontrolü, mail atma, tema motoru ve kullanıcı giriş çıkışı gibi kütüphaneler de mevcuttur. Günümüzün en güncel frameworkleri arasında NodeJS, Vue ve Angular bulunur.

SDK: SDK, Software Development Kit yani Yazılım Geliştirme Kitinin (devkit) kısaltmasıdır. Spesifik bir platformda yazılım geliştirmek için ihtiyaç duyabileceğimiz tüm geliştirme araçlarını barındıran kitlere SDK adı verilir. İçerisinde bir yazılım geliştiricinin ihtiyacı olan her şey yer alır. SDK’yı bir tamircinin tamir çantası gibi düşünebilirsiniz. Nasıl ki bir tamir çantasında tamircinin ihtiyacı olan ekipmanlar varsa SDK’da da API’lar, IDE, dokümantasyonlar gibi bir yazılım geliştiricinin ihtiyacı olan pek çok şey bulunur.

Stack: Bir sorunu çözmek için bir araya getirdiğimiz framework, platform, dil ve yazılım topluluğuna stack adını veriyoruz.

Artık yazılım geliştirme sürecinde en sık karşılaşacağınız terimlere hakimsiniz. Bir sonraki yazımızda sıfırdan yazılıma başlayanlar için back-end ve front-end’e dair temel konseptlerden bahsedeceğiz. Yazılımın temel kavramlarına dair daha fazla bilgi edinmek ve alanında uzman yazılım geliştiricilere sorular sormak için bizi sosyal medya hesaplarımızdan takip edebilirsiniz! 👇

LinkedIn | Instagram | Kommunity | Twitter

Sıfırdan yazılıma başlayanlar için hazırladığımız diğer yazılarımıza da göz gezdirebilirsiniz:

--

--

Appcent Akademi
Appcent
Writer for

Teknoloji ve dijitalleşen dünya ile ilgili bilgi ve deneyimlerimizi paylaşıyoruz