BLP 4210 PLATFORM BAIMSIZ PROGRAMLAMA Dr Asl Ergn
BLP 4210 PLATFORM BAĞIMSIZ PROGRAMLAMA Dr. Aslı Ergün 1 Dokuz Eylül Üniversitesi Uzaktan Eğitim Uygulama ve Araştırma Merkezi – DEUZEM – http: //deuzem. deu. edu. tr
Ders İçeriği • Bu derste platform bağımsız Java ve Python Dilleri ve çalışma platformları tanıtılacak, bu dillerde temel programlama bilgisi verilecektir. • Ders %40 vize , %60 final içerecektir. • Ders notları http: //kisi. deu. edu. tr/asli. ergun/ sitesinde bulunacaktır. 5 Dokuz Eylül Üniversitesi Uzaktan Eğitim Uygulama ve Araştırma Merkezi – DEUZEM – http: //deuzem. deu. edu. tr
PLATFORM BAĞIMSIZ PROGRAMLAMA • Bilişim sektöründe platform bir bilgisayar sisteminin kurulu olduğu düzene verilen addır. • Windows, Mac OS, HP-Unix, Sun Solaris, Redhat Linux, Ubuntu, Cent. OS, cep telefonu işletimsistemleri ve internet(word wide web) ayrı birer platformdur. • Platform Bağımsız ise bu sistemlerin tümü için fark gözetmeksizin çalışabilen uygulamalara verilen addır. 2 3 Dokuz Eylül Üniversitesi Uzaktan Eğitim Uygulama ve Araştırma Merkezi – DEUZEM – http: //deuzem. deu. edu. tr
Örnek Diller: C#, Python, Java • Geliştirilen yazılım platforma uygun derleme gibi küçük değişiklikler yapılarak yada hiçbirdeğişiklik yapmadan tümplatformlardaçalıştırabilme yazılımcıiçin büyük fayda sağlamaktadır. • Bu programlama dillerine örnek olarak c#, python ve java verilebilir. • C, C++ platform bağımlı dillere örnektir. Çünkü C ve C++ programının derlenmesinden sonra oluşan . exe çalışabilir dosyası her platformda çalışmaz. 3 4 Dokuz Eylül Üniversitesi Uzaktan Eğitim Uygulama ve Araştırma Merkezi – DEUZEM – http: //deuzem. deu. edu. tr
Derleyici Framework • Platform bağımsız dillerde kod direk makine diline çevrilmemektedir. • Bunun yerine IL(Intermediate Language- Ara Dil) adı verilen özel bir dile çevrilmekte ve bu sayede platform üzerine kurulan dile ait özel derleyici frameworkler (IL’yi makine diline çeviren özel yapı) sayesinde IL dilindeki programımız makine diline çevrilmektedir. 4 5 Dokuz Eylül Üniversitesi Uzaktan Eğitim Uygulama ve Araştırma Merkezi – DEUZEM – http: //deuzem. deu. edu. tr
Python Platform Bağımsız Yapısı • Python’da farklı platformlardaki yorumlayıcılar, sistemin yapısına göre kaynak kodu, python sanal makinesinde makine diline çevirir. 5. 12. 2020 6 Dokuz Eylül Üniversitesi Uzaktan Eğitim Uygulama ve Araştırma Merkezi – DEUZEM – http: //deuzem. deu. edu. tr
Java Nedir? • Java programlama dili, Sun Microsystems firmasından James Gosling tarafından geliştirilen ve 1995 yılında piyasaya çıkan bir programlama dilidir. • Java platformdan bağımsız çalışan, nesne tabanlı, yüksek hızlı, basit tasarımlı, güvenli, dinamik bir programlama dilidir. 12/5/2020 7 Dokuz Eylül Üniversitesi Uzaktan Eğitim Uygulama ve Araştırma Merkezi – DEUZEM – http: //deuzem. deu. edu. tr
Yazılım Geliştiriciler Neden Java'yı Tercih Ediyor? • Yazılımı bir platformda yazmak ve diğer bir sanal platformda çalıştırmak • Web tarayıcısı ve erişilebilir Web hizmetleriyle çalışacak programlar yaratmak • Çevrimiçi forumlar, mağazalar, anketler, HTML formlarını işleme ve daha fazlası için sunucu tarafı uygulamaları geliştirmek • Üst seviyede özelleştirilmiş uygulamalar ve hizmetler yaratmak için Java dili kullanarak uygulamaları ve hizmetleri birleştirmek • Cep telefonları, uzak işlemciler, mikro denetçiler, kablosuz modüller, sensörler, ağ geçitleri, tüketici ürünleri ve neredeyse tüm elektronik aygıtlar için güçlü ve verimli uygulamalar yazmak 12/5/2020 8 Dokuz Eylül Üniversitesi Uzaktan Eğitim Uygulama ve Araştırma Merkezi – DEUZEM – http: //deuzem. deu. edu. tr
JAVA • Java dilinde yazılan programların her platformda (farklı işlemci ya da işletim sistemlerinde) çalışabilmesi için geliştirilmiş , program çalıştırabilen bir sanal makine(JVM) bulunmaktadır. • Örneğin windows pc'de derlenen bir. class dosyası, bir linux makinede hiçbir işlem gerektirmeden çalışır. • Bytecode'lar JVM'in anladığı makine dilidir. Bir nevi java kodu ile makine kodu arasında bir ara-dildir. • Her platform için özel olarak yazılmış JVM'ler bu bytecode'ları alarak interpreter aracılığıyla uygun hale çevirerek çalıştırır. 5. 12. 2020 9 Dokuz Eylül Üniversitesi Uzaktan Eğitim Uygulama ve Araştırma Merkezi – DEUZEM – http: //deuzem. deu. edu. tr
JAVA Platform Bağımsız Yapısı 5. 12. 2020 10 Dokuz Eylül Üniversitesi Uzaktan Eğitim Uygulama ve Araştırma Merkezi – DEUZEM – http: //deuzem. deu. edu. tr
Java Avantajları • Nesne Tabanlı & Dağınık : Java nesne tabanlı bir programlama dilidir. İhtiyaç halinde gerekli modüllere ağ üzerinden erişilmesi mantığına dayandığından, modüllerinin tamamının lokal bilgisayarda bulunması gerekli değildir. • Sağlam & Güvenilir : Java güçlü bellek yönetimi yeteneği sayesinde programcı hatalarını yakalayabilir ve her nesne için güvenli bir çalışma ortamı sağlar. 5. 12. 2020 11 Dokuz Eylül Üniversitesi Uzaktan Eğitim Uygulama ve Araştırma Merkezi – DEUZEM – http: //deuzem. deu. edu. tr
Java Avantajları • Platform Bağımsız & Taşınabilir: Uygulama geliştiricilerin en büyük kabusu programların farklı işlemcilerde ve işletim sistemlerindeki çıkardığı problemlerdir; uygulama birisinde çalışırken diğerinde çalışmayabilir. Java derleyicisi burada devreye girer ve programı "bytecode"a çevirir. Bu kod tamamen platform bağımsız olduğundan tüm işlemcilerde çalışır. • Multi-threaded & Dinamik 'Multi-threaded' bir programda bir çok işlemin aynı zamanda gerçekleşmesi özelliğidir. Java bu tür program geliştirmeye önemli ölçüde destek verir. 12/5/2020 12 Dokuz Eylül Üniversitesi Uzaktan Eğitim Uygulama ve Araştırma Merkezi – DEUZEM – http: //deuzem. deu. edu. tr
JAVA ile İlgili Bazı Kavramlar JVM(Java Virtual Machine): Java sanal makinesi donanımdan bağımsız yazılım geliştirme ihtiyacına cevap verme amacıyla geliştirilen bir teknolojidir. Java’nın temel felsefesi olan “bir kere yaz, her yerde çalıştır” sanal makine sayesinde varolmuştur. Garbage Collector: Çöp toplayıcı sayesinde Java’da bir nesne oluşturulduktan sonra o nesne ile işiniz bittiğinde hiçbir şey yapmanız gerekmez. Sanal makine akıllı bir biçimde kullanılmayan bellek bölümlerini belirli aralıklarla ya da adaptif metodlarla sistemi otomatik olarak temizler ve sisteme iade eder. Java API: Java yazılımlarında kullanılan yazlım kütüphanelerine genel olarak verilen isimdir. Java API ile disk, grafik, ağ, veri tabanı, güvenlik gibi yüzlerce konuda kullanıcılara erişim imkani sunulur. Java API J 2 SDK’nin bir parçasıdır. JDK(Java Development Kit): Java geliştiricileri için standart kütüphanelerden ve JVM den oluşmaktadır. JRE(Java Runtime Environment) Sadece Java uygulamalarını çalıştırmak için kullanılır. İçinde JVM yi barındırır. 12/5/2020 13 Dokuz Eylül Üniversitesi Uzaktan Eğitim Uygulama ve Araştırma Merkezi – DEUZEM – http: //deuzem. deu. edu. tr
Java Kurulumu 5. 12. 2020 14 Dokuz Eylül Üniversitesi Uzaktan Eğitim Uygulama ve Araştırma Merkezi – DEUZEM – http: //deuzem. deu. edu. tr
Java Kurulumu 12/5/2020 15 Dokuz Eylül Üniversitesi Uzaktan Eğitim Uygulama ve Araştırma Merkezi – DEUZEM – http: //deuzem. deu. edu. tr
Java Kurulumu 12/5/2020 16 Dokuz Eylül Üniversitesi Uzaktan Eğitim Uygulama ve Araştırma Merkezi – DEUZEM – http: //deuzem. deu. edu. tr
Java Kurulumu 12/5/2020 17 Dokuz Eylül Üniversitesi Uzaktan Eğitim Uygulama ve Araştırma Merkezi – DEUZEM – http: //deuzem. deu. edu. tr
Java Kurulumu 12/5/2020 18 Dokuz Eylül Üniversitesi Uzaktan Eğitim Uygulama ve Araştırma Merkezi – DEUZEM – http: //deuzem. deu. edu. tr
Linux(ubuntu) Java Kurulumu • • • sudo apt-get install default-jre (sudo apt-get install openjdk-9 -jre) sudo apt-get install default-jdk export JAVA_HOME=/usr/lib/jvm/java-8 -openjdk export PATH=$PATH: /usr/lib/jvm/java-8 -openjdk/bin javac -version 12/5/2020 19 Dokuz Eylül Üniversitesi Uzaktan Eğitim Uygulama ve Araştırma Merkezi – DEUZEM – http: //deuzem. deu. edu. tr
Java programı Çalıştırma • Pogramcı kodu yazar. (. java uzantılı) • Bu kodu java derleyicisi(javac) ile derler (. class uzantılı kod oluşur. ) • Bu koda bytecode denmektedir. • Bytecode JVM(java) tarafından adım işletilir. 12/5/2020 20 Dokuz Eylül Üniversitesi Uzaktan Eğitim Uygulama ve Araştırma Merkezi – DEUZEM – http: //deuzem. deu. edu. tr
İlk java programı 5. 12. 2020 21 Dokuz Eylül Üniversitesi Uzaktan Eğitim Uygulama ve Araştırma Merkezi – DEUZEM – http: //deuzem. deu. edu. tr
Konsol (cmd) ortamında java programı çalıştırmak 12/5/2020 22 Dokuz Eylül Üniversitesi Uzaktan Eğitim Uygulama ve Araştırma Merkezi – DEUZEM – http: //deuzem. deu. edu. tr
JAVA IDE Programları • IDE programları daha hızlı efektif programlar yazmak için kullanılır. En popüler IDE'ler: • Netbeans • Eclipse • Intelli. J 12/5/2020 23 Dokuz Eylül Üniversitesi Uzaktan Eğitim Uygulama ve Araştırma Merkezi – DEUZEM – http: //deuzem. deu. edu. tr
Intelli. J Kurulumu • Intelli. J sitesinden community versiyonu indirilir. 12/5/2020 24 Dokuz Eylül Üniversitesi Uzaktan Eğitim Uygulama ve Araştırma Merkezi – DEUZEM – http: //deuzem. deu. edu. tr
Setup programını çalıştırıyoruz. 12/5/2020 25 Dokuz Eylül Üniversitesi Uzaktan Eğitim Uygulama ve Araştırma Merkezi – DEUZEM – http: //deuzem. deu. edu. tr
Kurulum Klasörünü seçiyoruz. 12/5/2020 26 Dokuz Eylül Üniversitesi Uzaktan Eğitim Uygulama ve Araştırma Merkezi – DEUZEM – http: //deuzem. deu. edu. tr
Konfigurasyon seçimlerini yapıyoruz. 12/5/2020 27 Dokuz Eylül Üniversitesi Uzaktan Eğitim Uygulama ve Araştırma Merkezi – DEUZEM – http: //deuzem. deu. edu. tr
Menu kalsör seçimini yapıyoruz ve install basıyoruz. 12/5/2020 28 Dokuz Eylül Üniversitesi Uzaktan Eğitim Uygulama ve Araştırma Merkezi – DEUZEM – http: //deuzem. deu. edu. tr
12/5/2020 29 Dokuz Eylül Üniversitesi Uzaktan Eğitim Uygulama ve Araştırma Merkezi – DEUZEM – http: //deuzem. deu. edu. tr
Intelli. J başladığında: 12/5/2020 30 Dokuz Eylül Üniversitesi Uzaktan Eğitim Uygulama ve Araştırma Merkezi – DEUZEM – http: //deuzem. deu. edu. tr
12/5/2020 31 Dokuz Eylül Üniversitesi Uzaktan Eğitim Uygulama ve Araştırma Merkezi – DEUZEM – http: //deuzem. deu. edu. tr
Pluggins(eklentiler) 12/5/2020 32 Dokuz Eylül Üniversitesi Uzaktan Eğitim Uygulama ve Araştırma Merkezi – DEUZEM – http: //deuzem. deu. edu. tr
Yeni bir proje yaratalım: 12/5/2020 33 Dokuz Eylül Üniversitesi Uzaktan Eğitim Uygulama ve Araştırma Merkezi – DEUZEM – http: //deuzem. deu. edu. tr
12/5/2020 34 Dokuz Eylül Üniversitesi Uzaktan Eğitim Uygulama ve Araştırma Merkezi – DEUZEM – http: //deuzem. deu. edu. tr
Başka java SDK seçmek: 12/5/2020 35 Dokuz Eylül Üniversitesi Uzaktan Eğitim Uygulama ve Araştırma Merkezi – DEUZEM – http: //deuzem. deu. edu. tr
12/5/2020 36 Dokuz Eylül Üniversitesi Uzaktan Eğitim Uygulama ve Araştırma Merkezi – DEUZEM – http: //deuzem. deu. edu. tr
12/5/2020 37 Dokuz Eylül Üniversitesi Uzaktan Eğitim Uygulama ve Araştırma Merkezi – DEUZEM – http: //deuzem. deu. edu. tr
Tip of the Day 12/5/2020 38 Dokuz Eylül Üniversitesi Uzaktan Eğitim Uygulama ve Araştırma Merkezi – DEUZEM – http: //deuzem. deu. edu. tr
Programı çalıştırma 12/5/2020 39 Dokuz Eylül Üniversitesi Uzaktan Eğitim Uygulama ve Araştırma Merkezi – DEUZEM – http: //deuzem. deu. edu. tr
Ekran Çıktısı 12/5/2020 40 Dokuz Eylül Üniversitesi Uzaktan Eğitim Uygulama ve Araştırma Merkezi – DEUZEM – http: //deuzem. deu. edu. tr
Netbeans Kurulumu 5. 12. 2020 41 Dokuz Eylül Üniversitesi Uzaktan Eğitim Uygulama ve Araştırma Merkezi – DEUZEM – http: //deuzem. deu. edu. tr
Netbeans Kurulumu 12/5/2020 42 Dokuz Eylül Üniversitesi Uzaktan Eğitim Uygulama ve Araştırma Merkezi – DEUZEM – http: //deuzem. deu. edu. tr
Netbeans Program Çalıştırma 5. 12. 2020 43 Dokuz Eylül Üniversitesi Uzaktan Eğitim Uygulama ve Araştırma Merkezi – DEUZEM – http: //deuzem. deu. edu. tr
Netbeans'te Proje Oluşturma 12/5/2020 44 Dokuz Eylül Üniversitesi Uzaktan Eğitim Uygulama ve Araştırma Merkezi – DEUZEM – http: //deuzem. deu. edu. tr
Netbeans'te Proje Oluşturma 12/5/2020 45 Dokuz Eylül Üniversitesi Uzaktan Eğitim Uygulama ve Araştırma Merkezi – DEUZEM – http: //deuzem. deu. edu. tr
Netbeans'te Proje Oluşturma 12/5/2020 46 Dokuz Eylül Üniversitesi Uzaktan Eğitim Uygulama ve Araştırma Merkezi – DEUZEM – http: //deuzem. deu. edu. tr
Netbeans'te Proje Çalıştırma 12/5/2020 47 Dokuz Eylül Üniversitesi Uzaktan Eğitim Uygulama ve Araştırma Merkezi – DEUZEM – http: //deuzem. deu. edu. tr
Hello. World package helloworld; /** * * @author LENOVO */ public class Helloworld { /** * @param args the command line arguments */ public static void main(String[] args) { // TODO code application logic here System. out. println("Hello, World"); } } 12/5/2020 48 Dokuz Eylül Üniversitesi Uzaktan Eğitim Uygulama ve Araştırma Merkezi – DEUZEM – http: //deuzem. deu. edu. tr
Netbeans'te Proje Çalıştırma 12/5/2020 49 Dokuz Eylül Üniversitesi Uzaktan Eğitim Uygulama ve Araştırma Merkezi – DEUZEM – http: //deuzem. deu. edu. tr
Eclipse Kurulumu 5. 12. 2020 50 Dokuz Eylül Üniversitesi Uzaktan Eğitim Uygulama ve Araştırma Merkezi – DEUZEM – http: //deuzem. deu. edu. tr
Eclipse Kurulumu 12/5/2020 51 Dokuz Eylül Üniversitesi Uzaktan Eğitim Uygulama ve Araştırma Merkezi – DEUZEM – http: //deuzem. deu. edu. tr
Eclipse program Çalıştırma 52 Dokuz Eylül Üniversitesi Uzaktan Eğitim Uygulama ve Araştırma Merkezi – DEUZEM – http: //deuzem. deu. edu. tr
Eclipse program Çalıştırma 12/5/2020 53 Dokuz Eylül Üniversitesi Uzaktan Eğitim Uygulama ve Araştırma Merkezi – DEUZEM – http: //deuzem. deu. edu. tr
Eclipse Proje Oluşturma 12/5/2020 54 Dokuz Eylül Üniversitesi Uzaktan Eğitim Uygulama ve Araştırma Merkezi – DEUZEM – http: //deuzem. deu. edu. tr
Eclipse Proje Oluşturma 12/5/2020 55 Dokuz Eylül Üniversitesi Uzaktan Eğitim Uygulama ve Araştırma Merkezi – DEUZEM – http: //deuzem. deu. edu. tr
Eclipse Proje Oluşturma 12/5/2020 56 Dokuz Eylül Üniversitesi Uzaktan Eğitim Uygulama ve Araştırma Merkezi – DEUZEM – http: //deuzem. deu. edu. tr
Eclipse Proje Oluşturma 12/5/2020 57 Dokuz Eylül Üniversitesi Uzaktan Eğitim Uygulama ve Araştırma Merkezi – DEUZEM – http: //deuzem. deu. edu. tr
Eclipse Proje Çalıştırma 12/5/2020 58 Dokuz Eylül Üniversitesi Uzaktan Eğitim Uygulama ve Araştırma Merkezi – DEUZEM – http: //deuzem. deu. edu. tr
Eclipse Proje Çalıştırma 12/5/2020 59 Dokuz Eylül Üniversitesi Uzaktan Eğitim Uygulama ve Araştırma Merkezi – DEUZEM – http: //deuzem. deu. edu. tr
2017 -2018 Güz Eğitim Döneminde Herkese Başarılar Dilerim. Dr. Aslı Ergün Dokuz Eylül Üniversitesi Uzaktan Eğitim Uygulama ve Araştırma Merkezi – DEUZEM – http: //deuzem. deu. edu. tr
- Slides: 60