Detaylı bir Python - Ruby Kıyaslaması

0
FZ
Gerçek anlamda yüksek seviyeli dil olarak kabul edilebilecek, popülariterleri gittikçe artan ve Java programcıları tarafından dahi ciddi ciddi değerlendirilmeye başlanan Python ve Ruby dilleri ile ilgili detaylı ve güzel bir kıyaslama makalesi: Ruby, Python, "Power"

Görüşler

0
darkhunter
Bu karşılaştırmada Ruby ezilmiş sanki :) Yazıda Psyco'dan söz edilmiş üstünkörü, python ile ciddi işler yapan herkesin tanışması gerek psyco'yla, bu ismi boşuna vermemişler ona :

" 2x to 100x speed-ups, typically 4x, with an unmodified Python interpreter and unmodified source code, just a dynamically loadable C extension module."

Bkz : "High-level languages need not be slower than low-level ones." :)


0
librid
http://psyco.sourceforge.net/introduction.html'den:

Drawbacks


    Psyco currently uses a lot of memory. It only runs on Intel 386-compatible processors (under any OS) right now. There are some subtle semantic differences (i.e. bugs) with the way Python works; they should not be apparent in most programs.

"Profiling" yapıp belirli fonsiyonları elle optimize etmek çok daha iyi bir çözüm gibi görünüyor. Psikopat arkadaşın kullanımı hafıza kullanımını arttırıp, nerde çıkacağı belli olmayan hatalar üretecekse, elde edeceğimiz (aynı sayfada yazdığına göre tipik olarak) x4 hız avantajına değmez.
0
darkhunter
Bu açıdan da adını doğruluyor, fakat ortalama 4x artış hiç de yabana atılır bir artış değil (ki çoğu durumda daha fazlası), ben birkaç projede kullandım bu şeyi, genellikle problem yaratmıyor. Ama çok daha karmaşık işlerde, bir de psyco için debug gerekeceği de aşikar diye düşünüyorum.
0
librid
4x hız artışı projeniz için gerçekten önemliyse yanlış dil kullanıyorsunuz gibi geliyor bana. Ayrıca genelde script dilleri yazılırken performansa pek dikkat edilmez bu yüzden daha önce belirttiğim gibi kod profile edilerek performans açısından önemli noktalar elle optimize edilirse algoritmik karmaşıklık dahi düşürülüp 4x'i devede kulak bırakacak denli hız artışları elde etmek oldukça olası.
0
darkhunter
Hız faktöü yüzünden dil değiştirmek gibi bir isteğim yok, kaldı ki python level'daşlarına göre (TDK görmesin) oldukça hızlı bir dil diye düşünüyorum.

Evet, kodu profile etmekte sağlam bir çözüm ama zaman bakımından da bir o kadar anlamsız geliyor bana, hele ki psyco ile tanıştıktan sonra...
0
librid
Bu söylediğiniz bilgisayar mühendisliği öğretisine aykırı, profile etmek her zaman birinci seçenek olmalıdır. Ayrıca Psyco söylediğiniz kadar mükemmelse geliştiricisi neden artık farklı bir proje ile uğraşıyor üstelik Psyco'nun kendi belirttiği yüksek hafıza ihtiyacı ve bug yaratma potansiyeline rağmen (ve diğer mimarilere neden port edilmedi hala?)
0
darkhunter
Oyunu kuralına göre oynadığımı kim söyledi?
Lütfen, geliştiricinin başka projelerle uğraşması gibi argümanlar koymayın ortaya. how-to'lar üzerinden tartışmayalım, kurun psyco'yu ve inceleyin, ne demek istediğimi daha iyi anlarsınız. Metin üzerinden tartışmak anlamsız oluyor biraz.
0
anonim
Bu tip yazılar genellikle bir dili daha iyi bilen birileri tarafından o dilin üstünlüklerini göstermek üzere yazılıyorlar. Örnek için bakınız söz konusu makale...

I'm not that familiar with Ruby libraries, but I get the impression that like Python the Next Step for Ruby will be accomplished on top of the language, not as an extension to it. If you know of something that belongs here, please comment.
0
librid
Bütün yazı Ruby'ye karşı Python'u savunan bir dille yazılmış ve bu sürekli savunma halinde duruşu yüzünden okuyucu üzerinde Ruby'nin daha üstün olduğu izlenimini bırakıyor.
Ruby'nin şu anda en önemli eksikleri tam Unicode desteği ve hızlı bir VM. Neyse ki her ikisi de yakında çıkacak olan Ruby 2.0'da geliyor. Ruby 2.0 çıktığında gerek hız açısından gerek eksiksiz multibyte karakter desteği (UTF-8, UTF-16 ya da diğer popüler kodlamalar) bakımından Python'dan daha üstün hale gelecek.
Şu sıralar Ruby veya Python arasından birini seçip öğrenmek isteyenlere kesinlikle Ruby'yi tavsiye ediyorum (merak etmeyin Ruby 2.0'da yeniden çalışmanızı gerektirecek çok radikal değişiklikler olmayacak). Ruby çok daha güçlü olmasına karşın daha anlaşılır, temiz ve kolay öğrenilen bir dil. Zaten yaratıcısı Matz Ruby'yi Lisp ve Perl kadar güçlü fakat öğrenen kişiyi (bu dillerin aksine) hiçbir zaman zor durumda bırakmayacak kadar kolay olacak şekilde tasarladı; yani kolay olması bir tasarım hedefiydi.
Python Ruby'ye göre kesinlikle öğrenmesi daha zor bir dil örneğin neden hem List hem de Tuple tipleri var, nerede List nerede Tuple kullanacaksınız? Neden stringler mutable değil (anlamı string'ler üzerinde oynama yapılamıyor)? Daha pek çok örnek verilebilir. Python çok fazla kendine özgü bir dil, kafa karışıklarını atlatsanız bile öğrendikleriniz diğer dillerde fazla işinize yaramayacak. Ruby ise Java, Perl hatta Lisp programcıları için bile (bkz. Paul Graham) çekici geliyor çünkü yazımı gerçekten açık, temiz ve kolay öğrenilen bir dil olmasına karşın Python'dan daha güçlü ve eksiksiz.
0
anonim
Anladığım kadarıyla ruby konusunda tecrübelisin. Bence bir türkçe ruby portalı açıp öğrenmek isteyenlere yardımcı olabilirsin.
0
anonim
Unutmuşum eğer böyle birşey yapacak olan biri olur ise hosting hizmetini bedava vereceğim. Ancak maalesef ruby desteği yok. Ama bir ruby portalını illa ruby ile yazmak zorunda değil kimse. PHP ile bir açık kaynak portal sistemi kullanılabilir.
0
librid
Desteğiniz için teşekkür ederim. Belki portal değil ama bir posta listesi hatta bir gezegen kurmak iyi olurdu. Türkçe kaynak arayanlar için Pınar Hanım'ın çevirisi başlangıç olacaktır daha ileri konular posta listesinde tartışılabilir. Böyle bir oluşuma liderlik etme isteğim şu anda pek yok çünkü ben de henüz öğrenme aşamasını bitirmedim ayrıca sanıyorum Ruby deyince insanlar RoR da öğrenmek isteyecekler ve web programlama ilgi alanıma girmiyor şu anda (RoR demişken, RoR fastcgi ile kullanılabiliyor bu yüzden hosting bulmak düşünüldüğü kadar zor olmayabilir). Bu yüzden nightwalker'a atıyorum topu, acaba o ne düşünür :-)
0
anonim
Sanırım bir süre daha topu ayağımda çevirmeyi tercih edeceğim. Bunun iki sebebi var birincisi ben de kendimi henüz bir RoR ve ya Ruby desteği verecek yeterlilik de görmüyorum. İkincisi bu sitenin forumlarında bir Ruby bölümü var oraya gelen sorular henüz yeterli kullanıcı ve destekci sayısına ulaşılamadığını düşündürüyor bana... Ama yine Ruby hareketi durdurulamaz :) ( Mail listesi değilde Lisp ciler gibi gizli bir tarikat mı kursak acaba ;) )
0
FZ
Gizli tarikat yok ki, Lisp, öğrenmek isteyen herkese açık:

http://church.cs.bilgi.edu.tr/lcg/

http://cs.bilgi.edu.tr/mailman/listinfo/cs-lisp

http://groups.google.com/group/comp.lang.lisp

Ruby'ye gelince, allah aşkına bu kadar basit olduğu söylenen bir sistem için insanlar portal, vb. şeyler bekliyor ki? Çat pat İngilizce konuşan biri bile herhalde sistemi kurup kurcalayabilir, yanılıyor muyum? Yani bu bir engel teşkil ediyor olamaz.
0
FZ
Mevcut "trend"lere baktığımızda Ruby'nin geleceği parlak, önü açık görünüyor çünkü kritik kitle büyüklüğünü yakalamış gibi. İnsanlar bir şeylerden şikayet ededursun, "Ruby"ciler üretmeye ve şaşırtmaya devam ediyor.
Görüş belirtmek için giriş yapın...

İlgili Yazılar

Haftanın Sitesi: Cryptool - Kriptografinin Gizemleri

anonim

Bu haftanın sitesi: www.cryptool.org.

Açık kaynaklı bir yazılım olan Cryptool'un asıl amacı konu ile ilgilenen hevesli öğrencilere şifrelemeyi ve şifreleme mantığını anlatmak.

Program ile ilgili daha ayrıntılı bilgiyi bu adreste, ekran görüntülerini ise burada bulabilirsiniz.

Eclipse İçin Türkçe İmla Denetimi Eklentisi: Musahhih

FZ

Yusuf Karagöl, Zemberek tabanlı ve Eclipse içinde javadoc, yorum ve karakter katarlarında Türkçe imla denetimi yapan Musahhih isimli bir eklenti geliştirmiş.

Kaynak: http://zembereknlp.blogspot.com/

Dillo 0.6.5

m1a2

200 KB civarı kilosuyla çok işler yapabilen minik browser`ınız yeni sürümüyle karşınızda. Sun Sparc`tan iPAQ`e kadar bir çok platform`da çalışan Dillo`nun Fazlamesai`nin yorum alanlarında kaybolmaması için yeni sürümü de fırsat bilerek şöyle bir vitrine koymak güzel olur diye düşündük. Hemen şuradan indirip, derleyelim ve deneyelim. Bu işlem için harcayacağımız vakit ayrıntılı bir tanıtımı okumaya ayrılacak süreden daha kısa olacaktır kanaatimizce ;) Yeni sürümün flash özelliğini belirtelim ama. 0.6.5 çerez (cookie) desteğiyle geliyor ve tabii olmazsa olmaz bugfix`lerle.

Flash 10 son beta versiyonu (Astro) yeni linux özellikleriyle birlikte çıktı

ersin2k

Geçtiğimiz ay Adobe Flash Player in 10ncu sürümü Windows yanında Mac OS X ve Linux için aynı anda yayınlandı. Bu beta sürümü yeni 3D efektler, geliştirilmiş metin düzeni, geliştirimiş API ve görsel performans güçlendirmeleri eklemişti. Bugün Adobe Flash player 10 için yeni bir beta daha çıkarttı.ASTRO adlı bu versiyonda linux için penceresiz "wmode" , web kameraları için Video4Linux 2 (V4L2) desteği, yeni dil desteği (Türkçe artık var), arttırılmış hız ve güçlendirilmiş stabilite sunuyor. Ancak henüz 64 bit versiyonu yok.

Yeni ve Akıllı Bir Paket Yöneticisi: Smart Package Manager

FZ

smart: (programming) Said of a program that does the Right Thing in a wide variety of complicated circumstances.

Yukarıdaki alıntı Free Online Dictionary of Computing'den ve Smart Package Manager sistemini tavrını vurguluyor.

Smart Paket Yöneticisi projesi yazılım güncelleme ve kurulum konusuna akıllıca ve taşınabilir algoritmalarla yeni bir yaklaşım getirme iddiasında. Araç şu anda pek çok büyük GNU/Linux dağıtımı ile çalışıyor ve APT, APT-RPM, YUM, URPMI gibi yerel paket yöneticilerine kıyasla bazı avantajlar getiriyor. Smart, diğer dağıtımlardaki paket yöneticilerinden daha iyi bir yönetici olmak iddiasında