İki listenin Hikayesi: Java yerine Ruby

0
anonim
Her şey haftalık işlerinizin basit bir listesini yapıp bunu dünya ile paylaşabilmenizi sağlayan Ta-Da list'in bir kopyası olan Bla-Bla list'in Geert Bevin tarafından yazılması ve duyurulması ile başladı.
Meselenin özü Ta-Da list'in Ruby on Rails ile Bla-Bla list'in ise java ve RIFE kullanılarak yazılmış olması ve Bevin'in bu iki örneği kullanarak RoR a saldırmasıydı. Theserverside da ve çeşitli bloglarda (blog1 blog 2) devam eden tartışmada onlarca yorum yazıldı. Hatta Ruby ve diğer betik dillerinin Java için ne ölçüde bir tehdit oluşturduğuna dair bir analizi burada ve Justin Gehtland'ın Java Spring/Hibernate üzerinde çalışan bir web uygulamasını Ruby ve RoR üzerine taşıyarak iki teknolojiyi karşılaştırmasını anlatan bir makaleyi de burada bulabilirsiniz. (Bu kadar bağlantıdan sıkılanlar için bu son testin sonucu RoR %15 ile %30 daha hızlı. Üstelik yeni sürümle birlikte daha hızlı bir bytecode derleyiciside yolda. Konu ile ilgili tartışmaları buradan ve buradan takip edebilirsiniz.)

Bütün bu savaşın arasından seçtiğim aklı başında yapılmış birkaç yorumu da aşağıda bulacaksınız.

Yorum1 Yorum2 Yorum3

Son olarak bu resmi de akılda tutmakda fayda var.

Görüşler

0
Nightwalker
Sadece java değil diğer dillerle de ( Perl, Smalltalk, Python ) kod bazında kıyaslama için bu [www.io.com] adrese bir gözatılabilir.
0
mdakin
Java ile olan karşılaştırma için bir iki not düşeyim.
Ruby bilmiyorum ama hata durumunda ne olursa olsun sadece hatayı ekrana basmış, o yüzden java kodunun fonksiyonelliğini de o şekilde düşürmek isterseniz koddaki asıl kalabalığa neden olan iki exceptionu tek exceptiona indirgeyebilirsiniz. ayrıca maksat ekrana hata basmaksa sadece e.printStackTrace() diyebilirsiniz.

yani Java kodundaki exception bölümü

catch(Exception e){
e.printStackTrace();
}
e indirgenebilir.

Daha sonra koda bakınca, bence aralarında çok da fark yok, Java'nın fazla verbose olmasını dezavantaj olarak görmüyorum. FZ'nin verdiği yorum linklerinde konu ile ilgili ilginç noktalar var.


0
FZ
Enteresandır, Lisp ile uğraşmaya başlayalı çok olmadı (birkaç ay ve yani öyle yoğun da çalışamıyorum, araya büyük boşluklar giriyor filan) ama geçenlerde şu fraktal zoom videolarını üreten kodun bir kısmına baktıydım, gidiyor veritabanına bağlanıyor, bir şeyler çekiyor, sonra bazı hesaplamalar yapıyor filan... okuması gayet kolaydı yani anlaşılabilirliği gayet yüksekti (elbette ki çok karışık Lisp kodu yazılabilir, bahsettiğim örnek ne çok basit ne çok karmaşık idi, orta karar bir Lisp programı ve veritabanına bağlanmak, bazı temel hesaplamalar yapmak gibi temel işlemler söz konusuydu).

FM Forum - Lisp:

http://www.fazlamesai.org/forum/viewforum.php?f=37
0
tongucyumruk
Python kıyaslamaları adına konuşmak gerekirse, sözkonusu belge 2001 yılına ait ve orada Python hakkında bahsedilen tipler ve sınıfların farklı şeyler olması problemi uzun zamandır ortalıkta yok. Kendi iterator'larımızı yazabiliyoruz, closure'lar da o belgeden bu yana oldukça gelişti. Acaba yazara bir güncelleme notu mu yollasak? (Attachment olarakta 2001'den beri gelen Python'un changelog'unu tabii)
0
Nightwalker
Yazının güncelliği ileilgili yorumum aşağıda ancak daha güncel kıyaslmalar için bu [www.ruby-doc.org] adrese bir göz atmak isteyebilirsiniz.
0
abakana
Bu kod karşılaştırmalarında dikkatimi çeken şey ruby kodlarının pseudo mantığıyla hazırlanmalarıydı.
Bu da bana şunu hatırlattı "1 haftada PHP öğrenirsiniz ama 1 yılda PHP öğrenemessiniz."
0
Nightwalker
Söz konusu belge gerçekten oldukça eski ve yalnız python değil Ruby konusunda da yeni gelişmelerden uzak.

Ancak benim belgeyi göstermekteki amacım satır bazında kod kıyaslaması yapmak değil Ruby ile yazılan kodun etkinliğini göstermek açısından bir başlangıç kapısı açmaktı.

Zaten haberin sonunda verdiğim yorum linklerinden de anlaşılabileceği gibi bu iş yalnız satır saymakla olmaz. Asıl önemli olan nokta Ruby'de neden daha az yazı yazmanız gerektiğidir.

Ruby ile daha az yazarak kodlanabilir. Çünkü Ruby pratik ve etkili çözümler üretir. Hatta bu kod ilk bakışta psuedo kodmuş gibi de görünebilir [ gerçekten :o) ]. Ama Ruby, siz ne yapmak istiyorsanız onu yapar. Ve en önemlisi eğlencelidir.

Çok eski ve deneyimli bir programcı değilim ama program yazmaya başladığımdan beri ilk defa küfretmeden kod yazıyorum :o) ve bunun yarattığı duyguyu herkesin en az bir kez hissetmesi gerektiğine inanıyorum.
Görüş belirtmek için giriş yapın...

İlgili Yazılar

Robot programlayarak Java öğrenin

sundance

Robocode sayesinde artık oyun oynayarak Java öğrenmeniz mümkün.

Daha önce C-Bots ve P-Bots (bilin bakalım ne öğretiyorlar) programlarının yaptığını şimdi de Robocode Java için yapıyor. Dört beş tane basit komutla bir matrix üzerinde hareket edebilen, düşmanı bulup ona ateş edebilen robotları kontrol ettiğiniz bu program. Asıl programlama kısmı Düşman robotları nasıl bulup yokedeceğinizin algoritmasını sizin oluşturmanız.

Bütün Java destekleyen platformlarda çalışan Robocode, IBM Alphaworks`ün son zamanlarda bizi heyecanlandıran bir başka ürünü.

Sun® firmasından olumlu bir adım

roktas

Son birkaç gün içinde Simon Phipps'in de belirttiği gibi sessiz sedasız önemli bir gelişme oldu ve Sun, Java dağıtımını belirleyen lisans şartlarını gevşetti. Bu değişikliğin en önemli sonucu Java'nın artık diğer Özgür Java gerçeklemeleriyle (GCJ, Kaffe, GNU Classpath vb.) birlikte (fakat onlarla karıştırılmadan) dağıtılabilecek olması. Daha da açık söylemek gerekirse Sun Java'yı Debian veya Ubuntu'da non-free depodan 'apt-get install sun-java5-jre ' komutuyla kurabileceksiniz, ilk paket hazır durumda.

Java: Nerede Kullanmalı, Nerede Kullanmamalı?

FZ

Verilytics'te kıdemli sistem mühendisi olarak çalışan Adam Ronthal Java ile ilgili makalesinde bu programlama dilinin (ve platformunun) nerede işe yaradığını ve nerede problem çıkardığını gerçek hayatta karşısına çıkan somut senaryolara dayanarak anlatıyor ve çarpıcı örnekler veriyor. Ağ programlamadan uzaktan yönetime, yüksek trafikli bir web sitesinin optimizasyonundan üçüncü parti araçlara dek pek çok farklı alandan örnekler verip kıyaslamalar yapan Ronthal, yeri geldiğinde Perl gibi programlama dillerinin, yeri geldiğinde wget gibi belli bir hedefe yönelik uzmanlaşmış programların çok daha iyi çözüm sunabildiklerine değiniyor.

Java Struts

malkocoglu

Jakarta projesinin gözde teknolojilerinden Struts, JSP sayfaları ile sunucu tarafı Java kodlarının bağlanması için çok faydalı bir teknolojiye dönüştü. Model/Görüntü/Kontrolör (Model/View/Controller), kısa namı ile MVC olarak olarak bilinen mimarinin gerçekleştirimi olan Struts, tekrar kullanılır servis tarafı kodlarının tasarlanmasında yardımcı da oluyor.

Bu teknoloji hakkında ki yazıları www.bilgidata.com adresinde bulabilirsiniz.

Java Neden İyidir ?

anonim

Java 'nın .Net'e karşı üstünluklerini anlatan bir sunum Kafası karışanlar için iyi bir kaynak olabilir. www.manageability.org/manageabilityWiki/WhyJavaIsBetterThanDotNet sitesindeki en göze çarpan maddelerin alındığı bu sunumu sizde seveceksiniz :)

Java Neden iyidir?

Editörün Notu: Hazır ortalık ısınıyorken olgunlaşma yolunda emin adımlarla ilerleyen rakip Mono (özgür yazılım modeline uygun .NET ortamı) sitesine de bir göz atmakta fayda var, Mono 1.0 Beta 1 çıkmış durumda!