Veritabanı Uygulamaları PIC-Mikroişlemci Programlama Paylaş
Duyuru: Kısa bir süre için fiyatlarımızda % 50 ye varan indirimler!!!


YAZILIM (Software)

Yazılım ;

En yalın tanımıyla yazılım; elektronik bir donanımı, belirli bir işi yapmak için derlenmiş komutların bütünüdür. Bu komutlar işlemcilerde işlenerek bir olaya dönüştürülür. Türk Dil Kurumu Sözlüğü’ne göreyse yazılım; Bir bilgisayarda donanıma hayat veren ve bilgi işlemde kullanılan programlar, yordamlar, programlama dilleri ve belgelemelerin tümü. (TDK Sözlük)

Yazılım aslında hayatımızın her alanında bulunmaktadır ve hayatımızı kolaylaştırır. Bilgisayarlar, telefonlar, televizyonlar, mobil teknoloji, internet, sanayide kullanılan yeni nesil cihazların neredeyse tamamı, otomotiv, inşaat, eğitim, reklam, pazarlama, iletişim, medya, eğlence, sağlık başta olmak üzere hemen hemen tüm sektörlerde, uzay sanayisinde, günlük hayatta kullanılan bazı teknik aksesuarlarda kısacası “yazılım” yaşamın her alanında kullanılmaktadır.

Yazılım denince ;

Bir fikrinizin, yada size verilen bir yazılım işini yapabilmek için ilk önce donanımı ve/veya işletim sistemini seçmek gerekir.

Eğer elektronik bir donanım yapılıyorsa ihtiyaca göre en uygun performanslı ve en uygun fiyatlı işlemci ve donanımlar seçilmelidir. İşlemciler günümüzde 5 TL’den başlayıp binlerce liraya kadar çıkabilmektedir bu yüzden doğru işlemci seçimi çok önemlidir. Ardından bu işlemcinin desteklediği dil ve dile uygun derleyici belirlenmelidir. Her işlemcinin her dile ait desteği olmadığı için, desteklediği diller arasındaki seçim bu dillerin sağladığı hız ve kolaylığa göre olmalıdır.

Eğer bilgisayar için bir yazılım yapılıyorsa öncelikle hangi işletim sistemi için yazılım yapılacağı seçilir. Ardından hangi programlama dilinin kullanılacağı belirlenir. Bunun akabinde derleyici yardımı ile yazılan kodlar makine diline çevrilir. Yazılan dile uyumlu bir derleyici kullanılması bu yüzden zorunludur. Bilgisayarda dil ve derleyici uyumu elektronik cihazlara göre daha çeşitli ve kolay erişilebilir olduğu için kısa bir araştırma ile ihtiyaçlar kolaylıkla bulunabilir. Burada önemli olan programı hangi işletim sistemi için derleyeceğinizdir. Linux için derlenen program Windows’ta, Windows için derlenen program Linux’ta çalışmayacaktır. Aynı şeyler MacOs içinde geçerlidir.

Sistem ve Uygulama Yazılımları ;

Herkesin bildiği gibi Windows, Android, iOS gibi kullanıcının ilk karşılaştığı, donanımların ve yazılımların uyumlu çalışmasını sağlayan temel yazılımlardır. En detaylı yazılım türü Sistem yazılımlarıdır. Sistem yazılımları hem kullanıcıya hem donanıma ve elektroniğe yön veren yazılımlardır.

Bilgisayarda kullanılan, bir görevi yapmak için yazılmış yazılımlar ise Uygulama türü yazılımlardır. Web programları, Ofis Programları, Resim ve Video Düzenleme Programları, Oyunlar gibi birçok kategoride uygulama bulunmaktadır. İnsanların çalışmalarını hızlandırmak, bir işlemi bir veya birkaç tuşla yapabilmek için yazılmış yazılımlardır.

Yazılım Dilleri ;

Kullanıcı arabirimine sahip uygulama yazılımı yapmak isteniyorsa arayüzü sürükle bırak mantığı ile daha kolay ve hızlı yapılabildiği için C#, Visual Basic veya Java tercih edilebilir. Oyun yazmaya yeni başlayan yazılımcılar genellikle hazır motor kullandığı için C# dilini öğrenmeleri kesinlikle gereklidir. En kolay anlaşılabilir dilin Basic olduğunu ve başlangıçta programlama mantığını öğrenmek için ideal olduğunu düşünüyorum. Java dili, yazılım işinde profesyonelleşmek, bu konuda bir işte çalışmak için mutlaka geliştirilmesi gereken çok önemli bir dildir.

Hesaplama, dosya okuma ve yazma gibi arayüz gerektirmeyen, hız gerektiren işlemler için yazılacaksa C, C++ veya Python dili başta öğrenmek için çok daha idealdir. Aynı zamanda C dili elektronik devrelerin neredeyse tamamında kullanılmaktadır. Diğer dillerle yapılan çalışma süresi hız karşılaştırmasına göre C dili, makine diline en yakın dil olduğu için en hızlı çalışan programlama dilidir. Öğrenmek için biraz daha zor bir dil olsa da hız ve kaynak kontrolü açısından mutlaka öğrenilmesi gereken çok önemli bir dildir. Assembly dilini bu kıyaslamanın dışında tuttum, çünkü bir bilgisayar programı yazmak için Assembly dili çok fazla zaman ve enerji sarf ettirecektir. Elektronik devrelerde ise daha basit işlemler için Assembly dili tercih edilebilmektedir, fakat karmaşık işlemlerde bilgisayarda olduğu gibi zaman ve enerji kaybı üst seviyede olacaktır. C++ dili C diline göre daha kolaylaştırılmış olsada temelde aynıdır. Kütüphane oluşturmak ve derleme esnasındaki sürekli oluşan döngü hatalarına ve kütüphane yollarına karşı daha optimum bir kullanım sunar.

Web sitesi veya web uygulaması yapmak isteniyorsa mutlaka HTML, CSS ve JavaScript bilinmelidir. HTML ve CSS tek başına kullanılamadıkları için biri HTML olmak üzere en az ikisi mutlaka bilinmelidir.Bu üç dilin internette ve kitapçılarda oldukça fazla kaynağı ve ücretsiz örnek çalışmalar var, o yüzden günümüzde öğrenilmesi çok kolay olan dillerdir. Aynı zamanda sitenin hayata geçmesi için PHP gibi sunucu üstünde çalışan programlama dillerinin de bilinmesi gerekmektedir. Django, Flask gibi Python tabanlı web çatıları da web sitesi oluştururken kullanılmaktadır.

Python dili tüm dünyada çok popüler bir dildir. Eğer bir uyarlama yada başka bir program ile uyumlu çalışmasını istediğiniz bir yazılım yapılacak ise en azından iletişim yazılımının (port-socket) Python ile yazılması faydalı olabilir. Python, hemen hemen tüm işletim sistemlerinde kullanılabilen, sistem programlama, uygulama programlama, web programlama gibi birçok alanda kullanılabilen gelişmiş bir dildir. Özellikle internette, her alanda oldukça fazla kaynak vardır. Çok az kodla çok fazla iş yaptırılabilir. Ancak büyük programlarda diğer dillere göre oldukça yavaş kalmaktadır. Kullanıcı arabirimi tasarlamak isteyen kişiler için C#, Java gibi nesne-tabanlı dillere göre daha zordur. Çok küçük işlemler yapılacaksa hız bir sorun olmayacağından C veya C++ diline göre tercih edilebilirler fakat işlem yükü büyüdüğünde oldukça hız kaybı ortaya çıkaracaktır. Bu yüzden zorunda kalmadıkça Python dilini ikinci, üçüncü dil olarak öğrenmenin daha doğru olacağını düşünüyorum.

Microsoft yakın zamanda kuantum programlama dili olan Q# (Quantum Sharp) dilini de yayımladı. 2017 lerde üzerinde konuşulmasına karşın 2018 de simulatörve derleyiciyi yayınlayarak teste sunmuş oldu. Evlerde kuantum bilgisayar kullanılmasa da, hatta dünyada bile sayılı kuantum bilgisayarı mevcut olsa da gelecekte yaygınlaşma ihtimaline karşı bu programlama dilinin de incelenip temellerinin öğrenilmesi fayda olacaktır.

YAKIN OLDUĞUMUZ Programlama Dilleri

İnternet dünyasını Tel-Net /Netscape döneminden beri takip etmekteyiz. 1992 yıllarında Apple-Machintosh bilgisayarlarda basit oyunlar ve müzik yazılımları ile başlayan kod yazma hevesimiz zaman içerisinde birçok yenilik ile gelişti.
5"çeyreklik disketlerde kayıt aldığımız programlar yanlızca KB kapasitesinde seyrediyordu. Sonrasında Win 3.1 ve Win95 ile gelişen internet&bilgisayar dünyasında yavaş yavaş HTML ile web sayfaları yapmaya başladık.

Günümüzde Kodlama dili olarak piyasa talepleride dikkate alınıp
HTML
CSS
PHP
MySQL
JS-JQ
dillerine yoğunlaştık. Bunun sebebi;
Bu kodlamaların Free Share (Özgür Paylaşım -Open Source/Açık Kaynak) ) olması yani lisans ücreti gibi gereksinimlere ihtiyaç duymaması ve maliyeti düşürmesidir. Bir diğer sebep ise istenen tasarımların çoğunlukla bu grup ile gerçekleştirilebilmesidir.

Elektronik-Dijital Yazılım için ;

  • PIC Programlama
  • Arduino
  • PLC (nadiren)
  • SCADA ( Uyarlama gerektiğinde Siemens Komponentler ile)
  • C -C++ / Assembly

  • Dillerini aktif olarak kullandık. İhtiyaca göre Dijital sistemler ve İnternet & Bilgisayar ortak kullanımında platform olarak JAVA tercih etmekteyiz.

    JAVA programlama dili Sun Microsystems tarafından tasarlanmaya ve geliştirilmeye günümüzde de devam etmektedir. Aile olarak bazı java aileleri ve yapabilecekleri aşağıda sıralanmıştır:

    j2se : JAVA to Standard Edition: Java’nın standart sürümüdür ve temel fonksiyon ve özellikleri içerir. Genelde java programlama dili denilince kastedilen API’nin ismidir.
    j2ee: JAVA to Enterprise Edition: Java’nın gelişmiş sürümüdür. Genelde web programlamayı içeren JSP gibi eklentiler bu paketin içerisindedir.
    j2me : JAVA to micro edition: Java’nın küçültülmüş sürümüdür. Standart versiyonu olan J2SE’ye göre daha hafif ve daha hızlı olarak tasarlanmıştır. Burada tam bir alt küme olarak düşünmek ve j2se’de bulunan herşeyin j2me’de de olacağını sanmak bir hatadır. J2ME içerisinde programlanan ortama göre (örneğin cep telefonu) özel olarak kullanılan ilave sınıf ve kütüphaneler bulunmaktadır.
    j2card: JAVA to card : JAVA’nın akıllı kartlar (smart cards) için geliştirilen paketinin ismidir.

    Akıllı ev sistemleri ve çok Clientli akıllı kontrol sistemlerinde birçok kolaylık sağlar. SOCKET ve OSI -IP v4 için RFC ye uyumlu birçok seçenek sunar.
    Ayrıca JAVA , Server sistemlerinde Apache ve LINUX ilede uyumlu çalışabilir.

    This site is designed by mathamara@2019.
    http://www.fehmiakgul.com.tr