Yapay zekadan makale özeti
- Kısa
- Ayrıntılı
- Bu video, bir eğitmen tarafından sunulan Java programlama diline giriş amaçlı kapsamlı bir eğitim dersidir.
- Video, Java'nın 1995 yılında Sun Microsystems tarafından geliştirilme sürecinden başlayarak, dilin temel özellikleri, çalışma prensipleri ve avantajları hakkında detaylı bilgiler sunmaktadır. İçerikte Java'nın C++ gibi derlenmiş diller ve Python gibi yorumlanan diller arasındaki farkları, "write once, run anywhere" prensibini sağlayan JVM (Java Virtual Machine) yapısını ve Android gibi platformlarda kullanımını açıklamaktadır.
- Videoda ayrıca derlenmiş ve yorumlanan diller arasındaki performans farkları, nesne merkezli programlama kavramları ve Java'nın platform bağımsızlığı gibi konular örneklerle anlatılmaktadır. Eğitim, komut satırında ve Eclipse gibi IDE'lerde Java programlaması yapma konularına değinmekte ve soru-cevap bölümüyle tamamlanmaktadır.
- 00:01Java Dili Hakkında Giriş
- Java dili, 2010'larda Oracle tarafından satın alınan Sun Microsystems şirketinin geliştirdiği bir programlama dilidir.
- Java, 1990'lı yılların başında, James Gosling liderliğindeki bir ekip tarafından geliştirilmeye başlanmıştır.
- Başlangıçta Java, evdeki tüm elektronik aletleri merkezi bir yerden kontrol eden bir sistem için geliştirilmeye çalışılmıştı.
- 02:27Java'nın Gelişim Süreci
- Java, C++ dilinden esinlenerek geliştirilmiş, ancak daha basit ve platformdan bağımsız bir yapıya sahip olmuştur.
- Java'nın platformdan bağımsız olması, farklı cihazlarda (televizyon, saat, gözlük, kulaklık) çalışabilmesi için önemlidir.
- 1990'lı yılların ortalarında, web fenomeniyle Java'nın gelişimi yön değiştirmiştir ve 1995 yılında genel amaçlı bir programlama dili olarak piyasaya sürülmüştür.
- 07:27Java'nın Özellikleri ve Popülerliği
- Java'nın piyasaya sürülmesi, computing dünyasında büyük bir heyecan yaratmıştır ve günümüzde en yaygın kullanılan dillere sahip komüniteye sahiptir.
- Java, 2010 yılında Oracle tarafından satın alındıktan sonra da komünite tarafından geliştirilmeye devam etmektedir.
- Java, C++'dan esinlenerek geliştirilmiş olmasına rağmen, daha küçük ve daha az anahtar kelimeye sahip bir dil olarak tasarlanmıştır.
- 11:46Java'nın Tanımı ve Özellikleri
- Java'nın ilk çıktığı zaman James Castin tarafından yayınlanan bir white paper'da "nesne merkezli, ağlarda yetenekli, yorumlanan, sağlam, güvenli, mimar olarak tarafsız, taşınabilir, yüksek performanslı, yüksek başarılı, çok kanallı, dinamik bir dil" olarak tanımlanmıştır.
- Java, C++'dan daha basit, daha güvenli ve daha soyut bir dil olarak tasarlanmıştır.
- Java'nın platformdan bağımsız olması, taşınabilir yapısını sağlar ve "write once, run anywhere" sloganıyla bilinir.
- 18:12Nesne Merkezli Programlama
- Nesne merkezli programlamada, nesne veri ve davranışın bir araya getirildiği bir sarmalamadır.
- Sınıf, veri ve davranışın bir araya getirildiği ve sembolik matematiksel bir yöntemle ifade edilen yapıdır.
- Nesne merkezli programlama felsefi ve düşünsel temelleri olan bir yaklaşımdır.
- 19:24Derlenmiş ve Yorumlanan Diller
- Programlama dilleri derlenmiş diller ve yorumlanan diller olarak iki ana kategoriye ayrılır.
- Derleme, insanın yazdığı kaynak kodun makinenin anlayacağı hale çevrilmesi işlemidir.
- İlk yüksek seviyeli diller, makine kodunu yazmanın zorluğunu çözmek için geliştirilmiş ve FORTRAN gibi diller ortaya çıkmıştır.
- 22:53Programlama Dilleri ve Kodlama Seviyeleri
- ESSEN ve FORTRAN programlama dilleri arasında farklar vardır; ESSEN makine koduna yakın bir koddur.
- FORTRAN, 10 yaşındaki bir çocuğun İngilizce konuşması gibi basit bir dil olup nesne kavramı gibi soyutlamaları içermemektedir.
- ESSEN daha elektronik mühendisine yakın bir yerdedir ve makine koduna çevirmek için compiler'lar kullanılır.
- 24:15Kodun Derlenmesi ve Çalıştırılması
- Kaynak kodu yazıp, compiler ile makine koduna çevirerek çalıştırılabilir (executable) bir dosya oluşturulur.
- Windows'ta sonu .exe ile, Mac OS ve Linux'ta sonu .out ile biten dosyalar oluşturulur.
- Monte Carlo yöntemi ile pi sayısını bulan bir algoritma örneği gösterilmiştir.
- 26:36Derlenmiş Kodun Çalıştırılması
- Derlenmiş kod (executable) makinenin anlayabileceği, insanın anlamayacağı kod olarak üretilir.
- Derlenmiş kod, üretilen platforma özel olduğundan başka işletim sistemlerinde çalışmayabilir.
- Monte Carlo pi algoritması, nokta atışı sayısına göre pi sayısını yaklaşık olarak hesaplar.
- 29:25Derlenmiş ve Yorumlanan Diller
- Derlenmiş diller (compiled languages) makine koduna çevirmek zorundadır.
- Yorumlanan diller (interpreted languages) doğrudan çalıştırılır, makine kodu oluşturmaz.
- Python gibi yorumlanan dillerde kod doğrudan çalıştırılır ve anında görüntü modunda makine kodunu oluşturmaz.
- 32:26Derlenmiş ve Yorumlanan Diller Arasındaki Farklar
- Derlenmiş diller çok hızlıdır çünkü çalışma zamanına iş bırakmazlar, pek çok işi derleme sırasında yaparlar.
- Yorumlanan diller sistem dili değildirler, daha nispeten sistemsel olmayan şeyler için kullanılır.
- Yorumlanan dillerde uygulamayı başka bir PC'ye çalışmak için kaynak kodunu diğer makineye atmak gerekir.
- 33:48Derlenmiş ve Yorumlanmış Kodlar
- Derlenmiş kodlar (compilation) etkin ve hatadan temiz kod üretir çünkü çalışma zamanında az iş bırakır.
- Derlenmiş kod platforma bağımlıdır, bu nedenle aynı kaynak kodu her farklı platform için ayrı ayrı derlenmesi gerekir.
- Yorumlanmış kodlar (interpreter) platformdan bağımsızdır, ancak hatalar çalışma zamanında ortaya çıkar ve performansı derlenmiş kodlara göre daha düşük olabilir.
- 37:31Java'nın Derleme ve Yorumlama Mekanizması
- Java hem derleyici (compiler) hem de yorumlayıcı (interpreter) içerir, bu sayede derlenmiş kodların etkinliği ve yorumlanmış kodların platform bağımsızlığına sahip olur.
- Java kodu derlendiğinde makine kodu değil, bytecode adı verilen platform bağımsız bir kod üretilir.
- Bytecode, makine kodu değil, ancak Java Virtual Machine (JVM) tarafından anlaşılan bir kod formatıdır.
- 40:44JVM ve Platform Bağımsızlık
- Java'nın en temel noktası JVM'dir; her Java kodunun çalışacağı ortamda bir JVM olmalıdır.
- JVM sayesinde Java kodu herhangi bir platformda çalıştırılabilir, bu da platform bağımsızlık sağlar.
- Java'nın class kodları platform bağımsızdır ve JVM'li herhangi bir platformda çalışır.
- 43:41Java'nın Kullanım Alanları
- Android cihazlarda uygulamalar Java ile programlanır ve bu cihazlarda bir JVM bulunur.
- IoT (Internet of Things) gibi heterojen yapılar için platform bağımsız diller öne çıkmaktadır.
- Java, Android gibi işletim sistemlerinin temelinde çalışır ve nesne internetine (IoT) ulaşıldığında daha da popülerleşecek.
- 46:44Java ve Programlama Dilleri Hakkında Genel Bilgiler
- Öğretici, önce komut satırında, sonra Eclipse'de kod yazmayı gösterecek.
- Java, JavaScript ve Node.js gibi diller farklı problemler için iyi veya kötü olabilir, dillerin kendileriyle kıyaslanması elmayla armudu kıyaslamak gibi.
- C, C++ gibi dillerin gelecekte de kalacağı, çünkü bunları iyi bilen binlerce insan var.
- 48:19Java'nın Geleceği ve Platform Bağımsızlığı
- Java öğrenen kişinin muhtemelen emekli olana kadar bu dilde çalışabileceği belirtiliyor.
- JVM (Java Virtual Machine) operating system ve hardware ile araya girerek programcıyı yalıtarak platform bağımsızlığını sağlıyor.
- Java platform bağımsız olduğu için, aynı kod farklı platformlarda çalışabilir.
- 50:34Platform Bağımlılık ve Soyutlama
- Java'da platform bağımlı işlemler yapılamaz, örneğin "sizeof" fonksiyonu yoktur.
- Farklı platformlar aynı veriyi farklı şekillerde tutabilir (UTF-8, UTF-16 gibi).
- Java'da nesneler ve algoritmalar üzerine odaklanmak, platform detaylarından bağımsız düşünmek önemlidir.