Java neden iyidir ? - 1
• Küçük cihazlardan büyük sistemlere kadar birçok
ortamda çalışır.
• Akıllı kartlarda (Smart cards)
• Gömülü cihazlarda (JStamp),
• Cep telefonlarında (Nokia, Ericsson, Motorola, .. vb),
• PDA (Palm, Symbian, Sharp),
• Diz üstü bilgisayarda, masaüstü bilgisayarlarda (MacOS,
Linux, Windows)
• Sunucularda (Unix, Linux)
• Kesintisizi sunucularda (non stop servers) (Tandem)
• Büyük bilgisayarlarda (Mainframes) ( IBM )
• Satıcı bağımsızlığı
• .NET bir pazarlama programıdır. Java pazarın kendisidir.
– James Gosling
• Java teknolojileri birçok satıcı tarafından
desteklenmektedir.
• Örneğin “Java Mesajlaşma Servisi (JMS) “
IBM, SpiritSoft , Fiorina , Swift , Open3 , JBoss gibi
çeşitli satıcılar tarafından desteklenmektedir.
• Bunun anlamı özgürlüktür. Yani siz tek satır kod
değiştirmeden, istediğiniz satıcının “Java Mesajlaşma
Servisini (JMS)” kullanabilirsiniz”
• Peki bu özgürlüğün aynısı Microsoft ürünleri için geçerli
midir ?
Java neden iyidir ? - 2
• Açık Toplum Süreci (Open Community Process)
• Java Toplum Süreci – JCP – (Java Community Process –
www.jcp.org ) , satıcılara, organizasyonlara ve bireylere Java
teknolojilerinin geleceğine katkıda bulunmak için bir ortam sunar.
• JCP ‘de bir çok konu bulunur.
– Real-time Specification for Java
– Mobile Game API
– JavaTM 3D API 1.4
– .....
• JCP herkes üye olabilir.
• Örneğin Mobile Game API de olması gereken özellikler veya
olmaması gereken özellikler burada oylanarak bir sonuca varılır.
• Bu sonuç, belirtime (specification) dönüştürülür.
• Son olarakta bu belirtime (specification) sadık kalınarak çeşitli
üreticiler tarafından gerçekleştirilerek piyasaya sunulur.
• Bu belirtimlere sadık kalınmadan ilgili ürün üretilirse hukuki bir suç
işlenmis olur.
Java neden iyidir ? - 3
• Gerekli ortamın daha ufak olması.
• Java uygulamalarını çalıştırmak için gerekli olan
JRE’in (Java Runtime Environment) boyutu 8 MB’dır.
• .NET uygulamalarını çalıştırmak için gerekli olan
ortamın (.NET Runtime Environment ) boyutu ise 23.1
MB’dır.
• Binlerce makinanın bulunduğu bir şirkette, bu
ortamların güncel sürümlerini tüm makinalara
yüklemek istersek, ortamın boyutu ciddi sorunlar
oluşturabilir.
Java neden iyidir ? - 4
• Ticari kalitedeki IDE ‘lerin (Integrated
Development Environment ) fiyatları
• Eclipse ve NetBeans IDE’leri ne tür yazılım (ticari
/ akademik) geliştirirseniz geliştirin bedavadır.
• JBuilder and JDeveloper IDE’leri akademik
yazılım projeleri için bedavadır.
• Visual Studio.NET fiyatı ise 500$ civarlarındadır.
Java neden iyidir ? - 5
• Gelecek Güvencesi - 1
• Java gelecek sürümlere uyumluluktan öte gelecek güvencesi
verir.
• İspat : 1997 yılında yazılan bir program, bügün tüm VM’lerin
(Sanal Makina – Virtual Machine) üzerinde sorunsuz bir
şekilde çalışır.
• Fakat aynı güvence Microsoft teknolojileri için söylenemez
(bkz .NET)
• Canlı bir örnek olarak VB 6’ya olan desteğin kesilmeseni
gösterebiliriz.
• DNA, Microsoft’un iptalinden önce kaç sene piyasa da kaldı ?
Java neden iyidir ? - 6
• Gelecek Güvencesi - 2
• Java’nın eski sürümlerini (Java 1.0.2 ye kadar) Sun Microsystems’in
sitesinden indirebilirsiniz.
• Peki Microsoft, Visual C++ ‘ın eski sürümlerini size verebiliyor mu ?
Para verseniz bile bu eski sürümleri Microsoft’dan temin edemezseniz.
• Örnek :
• Visual Studio .NET 2003, sadece .NET 1.1 sürümünde çalışacak olan
kodu üretir.
• Visual Studio .NET 2002 ise sadece .NET 1.0 sürümünde çalışacak
olan kodu üretiyor.
• Yani kısacası siz .NET 1.1 sürümünü kurup Visual Studio.NET 2002 ile
uygulama geliştiremezsiniz.
• Eğer geliştirtirmeye kalkarsanız Visual Studio.NET 2002 ürününü
sizden güncellemenizi isteyecektir.
Java neden iyidir ? - 7
• Google ve Kaynak olanakları
• İşte sonuçlar (19.05.2004 tarihinde yapılan
arama)
• Java , 71,100,000
• C# , 4,750,000
• Visual basic , 5,270,000
• Arama sonuçları Java’nın Visual Basic
‘den bile daha önde olduğunu
göstermektedir.
Java neden iyidir ? - 8
• Diğer Programlama Dilleri ile Uyum
• Java, diğer programlama dilleri ile uyumlu bir şekilde çalışır.
Örneğin Perl, PHP veya Python ile;
• Kısacası PHP Script’lerini alıp Java ile konuşturup Linux
üzerinde koşturabilirim. Görünenin aksine bu iş sanıldığı kadar
zor değildir.
• Bu iş yerel kütüphaneler (native libraries ) ile standart arabilirim
arasındaki uyumun sonucudur. (Ör : JNI – Java Native
Interface) .
• JNI dışında JSR-223 belirtiminide diğer diller ile ortak
konuşmayı sağlamaya yöneliktir.
http://www.jcp.org/en/jsr/detail?id=223
Java neden iyidir ? - 9
• Java ve Depolanmış İşlemler (Stored
Procedures)
• Java‘yı kullanarak Oracle, DB2 ve Sybase için depolanmış
işlem yazabilirsiniz.
• Bunun için Oracle, DB2, Sybase ve Informix tarafından
desteklenen SQLJ kullanılabilir.
• .NET ortamında deponlamış işlem yazmak için TSQL
kullanmanız gerekli. TSQL, C# veya VB.NET’ den çok farklı bir
yazılım şekline sahiptir.
Java neden iyidir ? - 10
• Milyonlarca Java uyumlu cep telefonu...
• Bugün yaklaşık 250 milyon adet Java uyumlu cep telefonu piyasaya
sürülmüştür.
– 250 milyon adet Java uyumlu cep telefonu
– Bu telefonlar üreten 31 adet üretici
– 77 operatör ile Java bu sektörün lideridir.
– Bkz:
http://www.microjava.com/articles/pe...ontent_id=3811
• Bunun karşılık .NET ortamında çalışan cep telefonu bulmak çok
zordur.
Java neden iyidir ? - 11
• Milyonlarca Java uyumlu cep telefonu... -2
Java neden iyidir ? - 12
• Büyük Yazılım Projelerinin %75 Java ile
Geliştiriliyor.
• Avrupa Finansal Enstitüsü yaptığı araştırmada büyük yazılım
projelerinin %75 inin Java teknolojileri kullanılarak geliştirildiği
ortaya çıkmıştır.
• Bir başka ankette bu sonuçları doğruluyor.
http://www.sdtimes.com/news/092/story5.htm
• Büyük projelerde en fazla kullanılan uygulama sunucuları
(Application Server) ise IBM ve BEA fırmalarına ait.
Java neden iyidir ? - 13
• Akademisyenlerin ve Araştırmacıların Bakış Açısı
• Java teknolojileri sadece üniversitelerde öğretilen bir ders
değildir.
• Java teknolojileri birçok araştırma ve geliştirme çalışmalarında
yoğun olarak kullanılmaktadır ve desteklenmektedir.
• UC Berkeley, Matt Welsh tarafından yapılan çalışmalar sonucu
Yeni I/O sistemi Java 1.4 sürümüne dahil edildi.
• Güney Avustralya Üniversitesi tarafından Java 1.5 ‘de gelecek
olan “Generic Java Language Extension” özelliği geliştirildi.
• Bunun yanı sıra CERN ve HEP gibi araştırma organizasyonları
kullanıcılar için Java projeleri geliştirip sunmaktadırlar.
Java neden iyidir ? - 14
• Java’da Zorunlu güncelleme ücreti yoktur.
• Sizce kaç tane Yönetim Bilgi Sistemi fırması, Microsoft’un
lisans ücreti politıkası yüzünden mağdur durumdadır ?
• Google ‘dan "how to avoid Microsoft's license 6"
şeklinde aratırsanız bu firmaların hiçde az olmadığını
anlarsınız.
• .NET bedava ama .NET kullanmak için Windows işletim
sistemine ihtiyaç duyarsınız. Bunun anlamı lisanslanmanız
gerektiğidir.
Java neden iyidir ? - 15
• Paralel sistemlerde ucuz fiyat
• Google‘ın başarılı olmasında ki sebep nedir ?
• Bu başarının sebeplerinden biri çokta maliyetli olmayan 10.000
adet sunucunun paralel bir şekilde çalışmasıdır.
• Yeni uygulama, tek ve güçlü bir sunucu almaktansa, ucuz ama
bir çok sunucu alıp bunları paralel bir şekilde çalıştırmak.
• Diyelim ki sizde bir çok sunucu aldınız ve .NET ortamında bir
proje geliştiriyorsunuz, bu durumda sizin lisanslanmanız
ortamda çalışan her bir sunucu başına olur.
• Google‘ın böyle bişey yaptığını düşünebiliyor musunuz ? 10.000
adet ufak sunucunun her biri için lisans ücreti vermek büyük
ihtimalle onları iflas ettirirdi.
• Java teknolojilerinde ise sizin iş modeliniz nasılsa, ona göre bir
çözüm bulabilirsiniz.
Java neden iyidir ? - 16
Java neden iyidir ? – 17
Sourceforge.net Projeler ve Programlama Dilleri
67 projects Eiffel
77 projects Ada
283 projects Ruby
778 projects TCL
1,259 projects C#
1,612 projects Javascript
2,999 projects Python
5,317 projects Perl
8,437 projects PHP
11,203 projects Java
12,762 projects C
12,765 projects C++
Java neden iyidir ? – 18
Sourceforge.net Projeler ve Programlama Dilleri
Java neden iyidir ? – 19
İş bulma konusu
Kaynak : www.dice.com, 2004/02/18
• Ada 121
• C# 911
• C++ 3565
• Java 5060
• Perl 1702
• PHP 131
• Python 110
• SQL 6315
• VB 2349
Java neden iyidir ? - 20
• Yüksek Maaş
• Ortalamada Java programcısı, Visual Basic programcısına göre
daha fazla maaş almaktadır (çalışma yıl tecrübesi aynı).
• Bunun sebebi Java teknolojileri ile geliştirilen projelerin yüksek
bütçeli olması değildir.
• Bunun sebebi kabaca Java teknoloji ile geliştirilen projelerin
başarısının, kiralanan / çalıştırılan adam sayısı ile orantılı
olmasıdır.
• http://www.fawcette.com/javapro/2002_06/
magazine/features/salarysurvey/
• http://www.fawcette.com/vsm/2003_06/ma
gazine/features/salarysurvey/
Java neden iyidir ? - 20
• Türkiye’nin Geleceği
• Türkiye‘nin yazılım sektöründe yükselebilmesinin tek
yolu bağımsız teknolojiler kullanmasından geçer.
• Özgürce teknoloji üretmek için kesin olarak Java
teknolojilerini kullanamanız gerekmez.
• Ama .NET kullanmamamız gerektiğide ortadır.
• VB veya .NET ile geliştirilen ürünlerin satılması güzel
bir olay olabilir ama her zaman için Microsoft’a bir
bağımlılık söz konusudur.
• Bağımsız teknolojiler kullanarak üretim yapıp
Türkiye’nin kaynaklarının yurt dışına gitmesini
engellemek hepimizin başlıca görevi olmalıdır.
• Kısacası üretmeliyiz ama özgürce...
• Küçük cihazlardan büyük sistemlere kadar birçok
ortamda çalışır.
• Akıllı kartlarda (Smart cards)
• Gömülü cihazlarda (JStamp),
• Cep telefonlarında (Nokia, Ericsson, Motorola, .. vb),
• PDA (Palm, Symbian, Sharp),
• Diz üstü bilgisayarda, masaüstü bilgisayarlarda (MacOS,
Linux, Windows)
• Sunucularda (Unix, Linux)
• Kesintisizi sunucularda (non stop servers) (Tandem)
• Büyük bilgisayarlarda (Mainframes) ( IBM )
• Satıcı bağımsızlığı
• .NET bir pazarlama programıdır. Java pazarın kendisidir.
– James Gosling
• Java teknolojileri birçok satıcı tarafından
desteklenmektedir.
• Örneğin “Java Mesajlaşma Servisi (JMS) “
IBM, SpiritSoft , Fiorina , Swift , Open3 , JBoss gibi
çeşitli satıcılar tarafından desteklenmektedir.
• Bunun anlamı özgürlüktür. Yani siz tek satır kod
değiştirmeden, istediğiniz satıcının “Java Mesajlaşma
Servisini (JMS)” kullanabilirsiniz”
• Peki bu özgürlüğün aynısı Microsoft ürünleri için geçerli
midir ?
Java neden iyidir ? - 2
• Açık Toplum Süreci (Open Community Process)
• Java Toplum Süreci – JCP – (Java Community Process –
www.jcp.org ) , satıcılara, organizasyonlara ve bireylere Java
teknolojilerinin geleceğine katkıda bulunmak için bir ortam sunar.
• JCP ‘de bir çok konu bulunur.
– Real-time Specification for Java
– Mobile Game API
– JavaTM 3D API 1.4
– .....
• JCP herkes üye olabilir.
• Örneğin Mobile Game API de olması gereken özellikler veya
olmaması gereken özellikler burada oylanarak bir sonuca varılır.
• Bu sonuç, belirtime (specification) dönüştürülür.
• Son olarakta bu belirtime (specification) sadık kalınarak çeşitli
üreticiler tarafından gerçekleştirilerek piyasaya sunulur.
• Bu belirtimlere sadık kalınmadan ilgili ürün üretilirse hukuki bir suç
işlenmis olur.
Java neden iyidir ? - 3
• Gerekli ortamın daha ufak olması.
• Java uygulamalarını çalıştırmak için gerekli olan
JRE’in (Java Runtime Environment) boyutu 8 MB’dır.
• .NET uygulamalarını çalıştırmak için gerekli olan
ortamın (.NET Runtime Environment ) boyutu ise 23.1
MB’dır.
• Binlerce makinanın bulunduğu bir şirkette, bu
ortamların güncel sürümlerini tüm makinalara
yüklemek istersek, ortamın boyutu ciddi sorunlar
oluşturabilir.
Java neden iyidir ? - 4
• Ticari kalitedeki IDE ‘lerin (Integrated
Development Environment ) fiyatları
• Eclipse ve NetBeans IDE’leri ne tür yazılım (ticari
/ akademik) geliştirirseniz geliştirin bedavadır.
• JBuilder and JDeveloper IDE’leri akademik
yazılım projeleri için bedavadır.
• Visual Studio.NET fiyatı ise 500$ civarlarındadır.
Java neden iyidir ? - 5
• Gelecek Güvencesi - 1
• Java gelecek sürümlere uyumluluktan öte gelecek güvencesi
verir.
• İspat : 1997 yılında yazılan bir program, bügün tüm VM’lerin
(Sanal Makina – Virtual Machine) üzerinde sorunsuz bir
şekilde çalışır.
• Fakat aynı güvence Microsoft teknolojileri için söylenemez
(bkz .NET)
• Canlı bir örnek olarak VB 6’ya olan desteğin kesilmeseni
gösterebiliriz.
• DNA, Microsoft’un iptalinden önce kaç sene piyasa da kaldı ?
Java neden iyidir ? - 6
• Gelecek Güvencesi - 2
• Java’nın eski sürümlerini (Java 1.0.2 ye kadar) Sun Microsystems’in
sitesinden indirebilirsiniz.
• Peki Microsoft, Visual C++ ‘ın eski sürümlerini size verebiliyor mu ?
Para verseniz bile bu eski sürümleri Microsoft’dan temin edemezseniz.
• Örnek :
• Visual Studio .NET 2003, sadece .NET 1.1 sürümünde çalışacak olan
kodu üretir.
• Visual Studio .NET 2002 ise sadece .NET 1.0 sürümünde çalışacak
olan kodu üretiyor.
• Yani kısacası siz .NET 1.1 sürümünü kurup Visual Studio.NET 2002 ile
uygulama geliştiremezsiniz.
• Eğer geliştirtirmeye kalkarsanız Visual Studio.NET 2002 ürününü
sizden güncellemenizi isteyecektir.
Java neden iyidir ? - 7
• Google ve Kaynak olanakları
• İşte sonuçlar (19.05.2004 tarihinde yapılan
arama)
• Java , 71,100,000
• C# , 4,750,000
• Visual basic , 5,270,000
• Arama sonuçları Java’nın Visual Basic
‘den bile daha önde olduğunu
göstermektedir.
Java neden iyidir ? - 8
• Diğer Programlama Dilleri ile Uyum
• Java, diğer programlama dilleri ile uyumlu bir şekilde çalışır.
Örneğin Perl, PHP veya Python ile;
• Kısacası PHP Script’lerini alıp Java ile konuşturup Linux
üzerinde koşturabilirim. Görünenin aksine bu iş sanıldığı kadar
zor değildir.
• Bu iş yerel kütüphaneler (native libraries ) ile standart arabilirim
arasındaki uyumun sonucudur. (Ör : JNI – Java Native
Interface) .
• JNI dışında JSR-223 belirtiminide diğer diller ile ortak
konuşmayı sağlamaya yöneliktir.
http://www.jcp.org/en/jsr/detail?id=223
Java neden iyidir ? - 9
• Java ve Depolanmış İşlemler (Stored
Procedures)
• Java‘yı kullanarak Oracle, DB2 ve Sybase için depolanmış
işlem yazabilirsiniz.
• Bunun için Oracle, DB2, Sybase ve Informix tarafından
desteklenen SQLJ kullanılabilir.
• .NET ortamında deponlamış işlem yazmak için TSQL
kullanmanız gerekli. TSQL, C# veya VB.NET’ den çok farklı bir
yazılım şekline sahiptir.
Java neden iyidir ? - 10
• Milyonlarca Java uyumlu cep telefonu...
• Bugün yaklaşık 250 milyon adet Java uyumlu cep telefonu piyasaya
sürülmüştür.
– 250 milyon adet Java uyumlu cep telefonu
– Bu telefonlar üreten 31 adet üretici
– 77 operatör ile Java bu sektörün lideridir.
– Bkz:
http://www.microjava.com/articles/pe...ontent_id=3811
• Bunun karşılık .NET ortamında çalışan cep telefonu bulmak çok
zordur.
Java neden iyidir ? - 11
• Milyonlarca Java uyumlu cep telefonu... -2
Java neden iyidir ? - 12
• Büyük Yazılım Projelerinin %75 Java ile
Geliştiriliyor.
• Avrupa Finansal Enstitüsü yaptığı araştırmada büyük yazılım
projelerinin %75 inin Java teknolojileri kullanılarak geliştirildiği
ortaya çıkmıştır.
• Bir başka ankette bu sonuçları doğruluyor.
http://www.sdtimes.com/news/092/story5.htm
• Büyük projelerde en fazla kullanılan uygulama sunucuları
(Application Server) ise IBM ve BEA fırmalarına ait.
Java neden iyidir ? - 13
• Akademisyenlerin ve Araştırmacıların Bakış Açısı
• Java teknolojileri sadece üniversitelerde öğretilen bir ders
değildir.
• Java teknolojileri birçok araştırma ve geliştirme çalışmalarında
yoğun olarak kullanılmaktadır ve desteklenmektedir.
• UC Berkeley, Matt Welsh tarafından yapılan çalışmalar sonucu
Yeni I/O sistemi Java 1.4 sürümüne dahil edildi.
• Güney Avustralya Üniversitesi tarafından Java 1.5 ‘de gelecek
olan “Generic Java Language Extension” özelliği geliştirildi.
• Bunun yanı sıra CERN ve HEP gibi araştırma organizasyonları
kullanıcılar için Java projeleri geliştirip sunmaktadırlar.
Java neden iyidir ? - 14
• Java’da Zorunlu güncelleme ücreti yoktur.
• Sizce kaç tane Yönetim Bilgi Sistemi fırması, Microsoft’un
lisans ücreti politıkası yüzünden mağdur durumdadır ?
• Google ‘dan "how to avoid Microsoft's license 6"
şeklinde aratırsanız bu firmaların hiçde az olmadığını
anlarsınız.
• .NET bedava ama .NET kullanmak için Windows işletim
sistemine ihtiyaç duyarsınız. Bunun anlamı lisanslanmanız
gerektiğidir.
Java neden iyidir ? - 15
• Paralel sistemlerde ucuz fiyat
• Google‘ın başarılı olmasında ki sebep nedir ?
• Bu başarının sebeplerinden biri çokta maliyetli olmayan 10.000
adet sunucunun paralel bir şekilde çalışmasıdır.
• Yeni uygulama, tek ve güçlü bir sunucu almaktansa, ucuz ama
bir çok sunucu alıp bunları paralel bir şekilde çalıştırmak.
• Diyelim ki sizde bir çok sunucu aldınız ve .NET ortamında bir
proje geliştiriyorsunuz, bu durumda sizin lisanslanmanız
ortamda çalışan her bir sunucu başına olur.
• Google‘ın böyle bişey yaptığını düşünebiliyor musunuz ? 10.000
adet ufak sunucunun her biri için lisans ücreti vermek büyük
ihtimalle onları iflas ettirirdi.
• Java teknolojilerinde ise sizin iş modeliniz nasılsa, ona göre bir
çözüm bulabilirsiniz.
Java neden iyidir ? - 16
Java neden iyidir ? – 17
Sourceforge.net Projeler ve Programlama Dilleri
67 projects Eiffel
77 projects Ada
283 projects Ruby
778 projects TCL
1,259 projects C#
1,612 projects Javascript
2,999 projects Python
5,317 projects Perl
8,437 projects PHP
11,203 projects Java
12,762 projects C
12,765 projects C++
Java neden iyidir ? – 18
Sourceforge.net Projeler ve Programlama Dilleri
Java neden iyidir ? – 19
İş bulma konusu
Kaynak : www.dice.com, 2004/02/18
• Ada 121
• C# 911
• C++ 3565
• Java 5060
• Perl 1702
• PHP 131
• Python 110
• SQL 6315
• VB 2349
Java neden iyidir ? - 20
• Yüksek Maaş
• Ortalamada Java programcısı, Visual Basic programcısına göre
daha fazla maaş almaktadır (çalışma yıl tecrübesi aynı).
• Bunun sebebi Java teknolojileri ile geliştirilen projelerin yüksek
bütçeli olması değildir.
• Bunun sebebi kabaca Java teknoloji ile geliştirilen projelerin
başarısının, kiralanan / çalıştırılan adam sayısı ile orantılı
olmasıdır.
• http://www.fawcette.com/javapro/2002_06/
magazine/features/salarysurvey/
• http://www.fawcette.com/vsm/2003_06/ma
gazine/features/salarysurvey/
Java neden iyidir ? - 20
• Türkiye’nin Geleceği
• Türkiye‘nin yazılım sektöründe yükselebilmesinin tek
yolu bağımsız teknolojiler kullanmasından geçer.
• Özgürce teknoloji üretmek için kesin olarak Java
teknolojilerini kullanamanız gerekmez.
• Ama .NET kullanmamamız gerektiğide ortadır.
• VB veya .NET ile geliştirilen ürünlerin satılması güzel
bir olay olabilir ama her zaman için Microsoft’a bir
bağımlılık söz konusudur.
• Bağımsız teknolojiler kullanarak üretim yapıp
Türkiye’nin kaynaklarının yurt dışına gitmesini
engellemek hepimizin başlıca görevi olmalıdır.
• Kısacası üretmeliyiz ama özgürce...
***Alıntıdır