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

Curl Programlama Dili Yarışması Sonuçlandı

FZ

Friedger Mueffke ve Nikhil Damle Curl programlama dili yarışmasında en iyi dereceleri aldılar. Söz konusu yarışma Curl Corp. tarafından destekleniyordu.

Mueffke etkileşimli bir web form elementi, Damle ise bir alışveriş arabası tasarladı. Programlar basit olmakla birlikte her iki yazılımcı da dilin çok kullanışlı ve öğrenilmesinin de çok kolay olduğunu belirttiler.

Rakun XML Uygulama Platformu projesi 0.3.1 sürümünü çıkardı

evolution

İTÜ Yazılım Geliştirme Merkezi'nde 4 kişilik bir ekip tarafından yürütülen proje 0.3.1 sürümüne ulaştı. Web üzerinden uygulama tasarımı için tamamıyla XML kuralları kullanan platform arayüzler konusunda da kurumsal ihtiyaçları karşılayabilmek için AJAX yöntemini benimsemiştir.

Turquaz muhasebe 0.3 ve sonrası

huseyin

Turquaz açık kodlu muhasebe programının 0.3 versiyonu yayınlandı. Bu versiyonla birlikte, stok, cari, çek-senet, fatura, döviz ve ayarlar modüllerini içeriyor. Detaylı bilgiye ve programa web sitesinden http://www.turquaz.com ulaşabilirsiniz.
Programın bundan sonraki gelişimi için ....

MyAsist Web Framework

myasist

MyAsist, "web Tabanlı uygulamaların geliştirmesini en verimli halde nasıl yaparız?" sorusuna çözüm arayışlarımızın bir ürünüdür.

Kişisel ve Öğrenim amaçlı kullanımlar için ücretsiz olarak edinilebilir.

C Kodlarınız Assembly Dilinde Nasıl Görünür?

Soulblighter

Kodlarınızın Assembler karşılığını görmek isterseniz gcc'ye -S anahtarını girmeniz yeterli. Sonucu merak edenler, bu haberin kaynağı olan bu siteye bakabilir.