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

Lux Render: Özgür, Fiziksel Tabanlı Render Sistemi

Tarık

Windows ortamında üç boyutlu grafik işiyle iştigal edenlerin GNU/Linux dağıtımlarını tercih 'edememelerinin' birinci nedeni çoğu zaman, yüksek gerçekçilikte görsel çıktı sağlayabilen ve piyasayla yarışabilecek kalitede render sistemlerinin mevcut olmamasıdır.

Fakat durum artık eskisi gibi değil ve ortalık kızışacak gibi. Zira işte tam bu noktada Lux Render dediğimiz alet devreye giriyor ve Maxwell Render gibi paralı akranlarıyla boy ölçüşebilecek kalitede, ışığın fizikteki kurallarını benzetimleyerek çalışıyor ve gerçekten işe yarıyor gibi görünüyor. Hem de bedava. Hem de açık kaynak kodlu.

Muhasebeci 0.5 Kullanıma Hazır

qorkem

Uzunca bir süreden beri üzerinde çalıştığımız projemizin 0.5 sürümü nihayet bitmiştir. 0.5 sürümünün bu kadar gecikmesinde projenin baştan sona komple elden geçirilmesi, yeni bölümlerin eklenmesi, daha kolay kullanım olanağı sağlanması gibi sebepler neden olmuştur. Yeni sürüm hazıranırken eski sürümlerdeki pek çok hata giderilmiştir. Sorun yaratan kodlar silinip yeniden yazılmıştır. Stabilite için gerekli görünen herşey yapılmıştır. Daha kolay bir kullanım için fonksiyon tuşları, sağ-tıklama menüleri programın her tarafında rahatlıkla görülebilmektedir.

Diğer detaylar icin burayı ziyaret edebilirsiniz.

Looking Glass 3D LiveCD

halixus

Looking Glass 3D LiveCD 2.3a yayinlandi. Looking Glass 3D yi kuramayanlar, kurupta çalıştıramayanlar düşünülerek hazırlanmış. Slax tabanlı bir Live3d yaklaşık olarak 250MB boyutunda. LG3D nedir nasıl bir şeydir diye merak edenler için iso dosyası indirilmeye hazır. Minimum 2GHz işlemci ve 512MB RAM ile çalıştırmanız önerilmekte. Daha önceki sürümündeki hatalar giderilmiş. En azından çalışabilir bir sürüm olmuş.Pencereleri 360 derece döndürmek, yakınlaştırıp uzaklaştırmak oldukça eğlenceli. Bu sürümünde gaim ve firefox la birlikte geliyor. Ekran görüntüleri ise burada.

F# ile Programlama - Microsoft Dil Teknolojilerinde Nereye Gidiyor?

FZ

Don Syme’in F# programlama ile ilgili tanıtım ve demo videolarını gördükten sonra Pazartesi mutlaka F# derleyicisini ve etkileşimli kabuğunu indirip denemem gerektiğini düşünmüştüm.

Emacs + SLIME + Common Lisp tarzında rahat bir etkileşim ve hızlı geliştirme, deneme, sonuçları anında görme imkanı sunan F# bir betik dilinin kıvraklığı ile fonksiyonel programlamadan ve ileri programlama tekniklerinden faydalanmayı sağlıyor. Derlenen programlar .NET IL (Intermediate Language) koduna derlendiği ve bunlar da JITlenerek (Just In Time compilation) çalıştırıldığı için performans gayet iyi görünüyor.

EROS: Extremely Reliable Operating System

FZ

Bu aralar FM sitesinde güvenlik, işletim sistemleri, vs. muhabbetleri yapılırken pek çok ilgili konunun ara kesitinde yer alan bir şey ilgi çeker diye düşündüm ve paylaşmak istedim.

Johns Hopkins üniversitesi bilgisayar bilimleri bölümünde çalışan Prof. Jonathan Shapiro önderliğindeki ekip "mevcut işletim sistemlerindeki güvenlik problemleri spesifik uygulamalardan değil en baştaki tasarım kararlarından kaynaklanıyor" düsturunu benimseyerek bir işletim sistemi geliştirmişler ve adını da EROS : Extremely Reliable Operating System koymuşlar.