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

Emerge: Bir StarLogo Videosu

FZ

Animasyon konusunda uzmanlaşan James Mortensen'in, StarLogo kullanarak hazırlamış olduğu Emerge videosu, çok basit kurallara göre hareket eden etmenlerin (agent), çok etmenli sistemde (mutliagent system) ne tür düzenlere yol açtıklarını gösteriyor.

Müziklerle de zenginleştirilmiş bu videoda her kuralın önce ismi ardından da yol açtığı örüntü (pattern) canlı bir şekilde görüntüleniyor. Karmaşık sistemlerin, toplumsal örüntülerin, vb. fenomenlerin modellenmesi ile uğraşanların ve "hacker" amblemi olarak seçilmiş "Game of Life"ın başka şeylerle bağlantısını görmek isteyen meraklı "hacker"ların ilgisini çekebilecek bir video.

Javacılar İşleri Neden Zorlaştırıyor? (Ya da Perl, Haskell ve Lisp Üstüne)

FZ

Değerli FM üyelerinden ve editörlerinden Recai Oktaş ile programlama dilleri üzerine yazışırken bazı enteresan yazılarla karşılaştım. Konu dillerin bir araç olarak kullanımından bir kültür olarak nasıl bir bakış açısı sunduklarına geldi.

Söz gelimi 5 yılı aşkın süredir Java kodlayan, Java ile ilgili 2 kitabı bulunan ve Jakarta Struts projesinde aktif katılımcı olan James Turner'ın Why Do Java Developers Like to Make Things So Hard? başlıklı yazısı ilk paragraftaki duruma güzel bir örnek teşkil ediyordu. Turner kendince basit olan bir işi, FTP ile dosya yollamayı şifreli hale getirme işini Java ile yapmaya çalışmış ve ciddi bir karmaşa ile karşılaşmıştı. Aynı işi daha az deneyimli olduğu Perl ile yapmaya kalktığında ise...

Bir programcı gözüyle DNA

tongucyumruk

"Eğer bir çekiçseniz, herşey bir çivi gibi gözükecektir".

Sanıyorum özellikle bu siteyi takip eden programcıların çoğu en az bir kez biyolojik yapılarla bilgisayarlar arasında bir bağlantı kurmaya çalışmıştır. Bu site DNA'dan başlayıp proteinlere uzanarak bilgisayar kavramları ile bu kavramların biyolojik karşılıkları konusunda oldukça detaylı bir inceleme içeriyor. Eğer kendini 4'lük sistemde (T, G, C, A) çalışan bir robot olarak ifade edenlerdenseniz bir uğramanızda fayda var.

AmigaOS`un Hakları KMOS Inc.`e Satıldı

dcc

Amiga Inc., yaptığı açıklamada Amiga işletim sistemi AmigaOS'un tüm versiyonlarının kaynak kodlarını, isim haklarını ve satış haklarını KMOS Inc.'e devretti. Finansal durumu pek de iyi olmayan Amiga Inc. bu hamleyle asıl projesi olan AmigaDE'ye odaklanmayı ve AmigaOS 4.0'ın çıkışını hızlandırmayı düşünüyor. Böylece AmigaOS 4.0'ı hazırlayan Hyperion firmasının alacağı ekonomik destek de artmış oldu.

Türk programcıların yeni dosya paylaşım ağı projesi

anonim

Bir grup Türk programcı, Türkçe arabirimli, napster/gnutella benzeri bir dosya paylaşım projesi üzerine çalışmaya başladılar. Grup istemci / sunucu programlarını ve programların kullandığı protokolu hazırlama aşamasında. Grup webmaster, grafiker, programcı ve beta testerlar aramakta. Daha fazla bilgi için http://www24.brinkster.com/sandik adresini ziyaret edebilirsiniz..