Bilgisayarların Ruhları: Yazılım​

Bilgisayarların Ruhları: Yazılım​

    Ben, hayatımızda her alanda aktif olarak kullandığımız teknolojik ürünleri (aynı zamanda insanları) her zaman iki kısımda incelerim: Ruh ve beden. Bedenler, ruhlarımızı saklamak ve ruhlarla bir bütün olarak nizami bir faaliyet içerisinde yer alıp bizlerin maddi ortamda varlığımızı sürdürmemizi sağlarlar. Ruhlar ise o bedene anlam veren cevherlerdir, asıllarıdır. 

    Teknoloik ürünlerin bedenleri donanım birimleri; ruhları ise yazılımdır. Elimize almış olduğumuz herhangi bir donanım biriminin yazılımsız (ruhsuz) bir anlam ifade etmediği ve donanım birimleri (bedenleri) ne kadar güzel olursa olsun yazılımları (ruhları) yeterli nitelikte değilse biz kullanıcıları için ikinci plana düşmektedir.

Yazılım, değişik ve çeşitli görevler yapmak amaçlı tasarlanmış elektronik aygıtların birbirleri ile haberleşmesine ve aralarında bir uyum sağlayarak görevlerini yerine getirmelerine veya kullanılabilirliklerini arttırmaya yönelik makine komutları bütünüdür. Online ders veren platformlardan tutun da ücretsiz bir şekilde erişilebilinen yazılım sayfalarına kadar yazılıma dair her türlü ders ve dökümantasyonun revaçta olması, günümüzde yazılım bilmek artık bir ayrıcalık olmaktan çıkıp adeta bir zorunluluk haline büründüğünün en güzel göstergesidir. Herkes, ilgili oldukları alanlarla ilişkili programlama dillerini öğrenip o alanlarda kendilerini geliştirip insanlığa ve maddi (parasal) anlamda kendilerine faydalı işler yapmak suretiyle çaba sarf ediyorlar.

   Hangi alanda yazılımla uğraşmak istediğine karar verdikten sonra yazılım yazmaya adım atmak isteyen her yeni bireyin kafasında ilk olarak beliren sorular “Alanıma en uygun programlama dili hangisi? Bu dilin özellikleri ve diğer dillerden farkları nelerdir? ” gibi o programlama dilini tanımya yönelik olur. Ben de sizlere bu soruların cevaplarını bulmakta bir nebze de olsa yardımcı olmak ve sizlere bu çok farklı ruhları tanıtmak isterim.

Python

     Son zamanların en popüler ve en kapsamlı dillerinden birisi olan Python, aslında ABC dilinin alternatifi olarak tasarlanmıştı. Fakat daha sonra boynuz kulağı geçti.

    Python, kullanımı son derece basit, tasarımı zarif ve anlaşılır olan bir kodlama dilidir. Python’un kullanıcı sayısının gün geçtikçe artması global bir iletişim ve sorun çözme olanağı sağlamaktadır. Karşılaşacağınız herhangi bir sorunda yüksek ihtimalle sizden daha önce aynı sorunla karşılaşan birisinden yardım alabileceksiniz demek oluyor bu da. En az globalliğinin büyüklüğü kadar büyük kütüphanelere ve modüllere sahip.

  Günümüzde aktif olarak kullanılması, popüler uygulamalarda (YouTube,İnstagram,Spotify…) başta gelen dil olması ve makine öğrenmesi,derin öğrenme ve veri bilimi gibi güncel sistemlere entegreli olması kendisine hakim olanlara geniş iş imkanları sunmaktadır.

Python’da mobil bilgi işlem için uygun olmayışı, kod yürütürken fazladan iş yapılması sebebiyle ortaya çıkan yavaşlık ve kullandığı yüksek bellek bizlere olumsuz noktalar olarak dönüş yapmakta.

C/C++

   Programa dillerinin atası sayılabilen bu iki dil aynı temel söz dizimine sahip iki programlama dilidir.

C++,C diline çok yakındır; nesneye yönelik programlama kavramını alır ve C’nin söz dizimi ile birleştirir. Kompleks yapısına karşın son derece hızlı, kararlı yapısı, kritik ve kaynak kısıtlı sistemlerde aktif olarak kullanılması, temel donanım üzerinde tıpkı C gibi tam kontrol sağlaması; sahip olduğu çeşitli veri yapıları, aritmetik işlemle ve algoritmalar için kullanıma hazır kütüphanelerinden dolayı rekabetçi programcıların adeta gözbebeği durumunda.

C ve C++ bir çok programlama dilinden daha hızlı kod yürütme yeteneğine sahiptir. Programları daha anlaşılır kılarlar. Fakat modern dünyadaki programla zorluklarını çözememesi, öğrenilmesinin kolay olmayışı; karmaşık söz dizimine sahip olması gibi dezavantajları da göz önüne alınmalıdır.

İşletim sistemleri, dosya sistemleri gibi neredeyse tüm düşük seviyeli sistemler C ve C ++ ile yazılır. C, IoT (Nesnelerin İnterneti) ve Gerçek Zamanlı Sistemler, Makine Öğrenimi (Machine Learning), Derin Öğrenme, Gömülü sistemler gibi alanlarda kullanılır. C ++; oyunlar, GUI uygulamaları ve gerçek zamanlı matematiksel simülasyonlar gibi çok çeşitli uygulama alanlarına sahiptir.

C kullanılan popüler projeler; Microsoft Windows, Linux, Mac, iOS, Android, Windows Phone çekirdekleri, Oracle Database, MySQL

C ++ kullanılan popüler projeler; Adobe ürünleri, Mozilla tarayıcı ve Microsoft

Java

Java, olumlu geri dönütlerin alındığı öğrenme eğrisi; yüksek geliştirici verimliliği ile güçlü, yüksek özellikli , çeşitli paradigmalı yorumlanmış bir programlama dilidir. Java’nın sahip olduğu geriye dönük olarak uyumluluğu büyük bir kuruluşta gelişime dayalı bir iş arayan birisi iseniz Java öncelikleriniz arasında olmalıdır.

Kolay öğrenilmesi, sahip olduğu çok sayıda açık kaynaklı kütüphaneleri, otomatik bellek ayırma işlevine sahip olması, işletim sistemleri arasında taşınabilir olması, veri tabanı bağlantısı oluşturma-ağ oluşturma gibi işlemlerde sunmuş olduğu API’ler ve geniş iş imkanları ile büyük avantajlara sahiptir. 

İyi şeylerin yanına biraz da kötü şeyler eklemezsek olmaz. Nitekim bu şekilde değerini anlarız. C ve C++ a göre daha yavaş olması, sahip olduğu ayrıntı düzeyi kodları oldukça komplike hale getiriyor olması;2019’dan beri Oracle(Microsoft’tan sonra dünyanın en büyük ikinci yazılım şirketi), kullanıcıların iş, ticaret ve üretim gibi amaçlarla kullanıldığında Java Standard Edition 8 için ödeme yapmasını bekliyor.

Dolayısıyla, güncellemelere ve hata düzeltmeye ihtiyacınız olduğunda, sahip olduğunuz kullanıcı sayısı veya işlemci için ücretlendirilebilir olmamız bizlere olumsuz yönleri olarak sunuluyor.

Java kurumsal yazılım geliştirilmesinde en ön saflarda yer alır. Kurumsal ölçekli web uygulamalarının vazgeçilmezidir. Google Trends’in verilerine göre son beş yıldır popülerliğini yavaş yavaş yitirmiş olsa da Google Play mağazasındaki birçok uygulama Java ile yazılmıştır. Twitter, LinkedIn, Amazon, eBay gibi büyük projelerde de Java’nın kullanıldığı görülmektedir.

İlgi alanınıza yönelik daha birçok programlama dillerini kendi araştırmalarınız ile inceleyebilirsiniz. Benim tavsiyem ilk olarak kendinize “Ne yapmak istiyorum?” sorusunu sorun ve yanıtı alınca incelemelere başlayın. Yazılım alanında kendini geliştirmek için çaba sarf eden birsi olarak ruhlar alemindeki gezimize Victor Hugo’nun bir sözü ile noktayı koyalım: ”Sadece bedenleri, şekilleri, görüntüleri sevenlere ne yazık!! Ölüm her şeyi yok edecek. Ruhları sevmeyi deneyin.”

Bir cevap yazın

E-posta hesabınız yayımlanmayacak. Gerekli alanlar * ile işaretlenmişlerdir