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

GPU: Küresel İşleme Birimi

Tarık

GPU ingilizce adıyla Global Processing Unit, geniş konu yelpazesindeki bilgisayar uygulamaları ve araştırma çalışmalarını desteklemek amacıyla geliştirilen işlemci gücü paylaştırma çatısıdır.

SynthMaster: İlk Türk ses işleme ve efekt yazılımı

FZ

Bilgisayarlar sayesinde dolap büyüklüğündeki ses işleme cihazları küçük yazılımlara dönüştü. Son örnek bir Türk'ün imzasını taşıyor.

Bu alandaki dev oyuncuların yanına, işlev olarak hiçbir eksiği bulunmayan bir isim daha katıldı: SynthMaster. Bülent Bıyıkoğlu adlı bir Türk tarafından 1995 yılında o zamanki bir yazılım yarışmasına katılmak için hazırlanmaya başlanan SynthMaster, 2004 yılından bu yana aktif olarak geliştirilerek tam bir ürün haline getirilmiş. Bıyıkoğlu, 90'lı yıllarda bu yazılım için çalışırken hazırladığı EffectsMaster adlı uygulama sayesinde Kanada'dan bir iş teklifi alarak bu ülkeye taşınma kararı vermiş.

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.

Prototype Javascript Framework

tongucyumruk

Web bir uygulama geliştirme platformu olarak kendini kabul ettireli çok oldu. Şimdi Web 2.0 gibi konuar tartışılırken web'in her geçen gün artan popülerliği yanında gerçekleştirilmesi gitgide zorlaşan kullanıcı taleplerini yanında getiriyor. İnsanlar her geçen gün daha etkileşimli, daha hareketli web uygulamaları istiyor. Bu durumun her geçen gün programcıları daha fazla yorması sonucunda bugün ulaştığımız noktada artık JavaScript ile yazılmış etkileşimli web uygulamaları geliştirmeyi kolaylaştıran altyapı yazılımları da ortaya çıkmaya başlıyor. İşte Prototype Javascript Framework'te bu amaçla ortaya çıkmış bir altyapı yazılımı.

Türkçe CMS yazılımı : Websis

anonim

Türkiye'de açık-kod'a destek gün geçtikçe büyüyor. Bunun son göstergelerinden biriside Websis. Websis, Cyrocom isimli bir Türk oluşumun meyvesi.
Esas olarak AWF isimli bir CMS'nin 1.1 versiyonu üzerine kurulan Websis, PHP ve MySQL ile çalışıyor.