Duyuruyu Kapat
Facebook Gözat
Twitter Gözat

Python mu Ruby mi?

Konu, 'Yazılım Geliştirme' kısmında ZuLuuuuuu tarafından paylaşıldı.

  1. hasanyasin

    hasanyasin Aktif Üye

    Kayıt:
    23 Şubat 2007
    Mesajlar:
    439
    Beğenilen Mesajlar:
    0
    Python yeni başlayanlar için de profesyoneller için de çok harika bir dil. PHP'yle kıyaslamak anlamsız olur; ama şimdi PHP aşıklarını kızdırmayayım... :)

    Ruby de hoş bir dil evet; ama Python çok daha olgun. Bu ilk cümlemi de cevap olarak kabul etmeyeceğinizi biliyorum sevgili ZuLuuuuuu... Python'u birazcık savunayım: Ruby kanadından gelen bir "iftira" olarak Python'un tutarsız oluşu iddiasını yanıtlayayım önce. Evet Pthon'da bir dosyayı açmak için önce dosya = open("dosya adı"); dersiniz ve bu andan itibaren dosya.close(); metoduna erişiminiz olur. Zira open, dosya "nesnesi" döndüren bir "fonksiyon"dur. Bu tutarsızlık mı?

    Teorik mükemmellik, pratikte mükemmellik anlamına gelmez. Yani nesne yöneliminin teorik olarak anlamı, kuralları, bir dilde tam olarak kelimesi kelimesine uygulandığında biz karşımızda bazı "saçma" kısıtlamalarla berbat hâle gelmiş bir dil buluruz. Bunlar bir hayli derin ve programcılardan çok programlama dili geliştirecek insanları ilgilendiren konular ve bir dili kötülemek için önüne gelen her insanın böyle şeyleri sakız yaptıklarını gördüğünüz zaman bunlara hiç pirim vermeyin...

    ROR bir dil değil, bir web framework. Ruby-severlerin kullandıkları dili ve araçları sunumu ve anlatış tarzı oldukça başarılı. Bu nedenle yaklaşımlarınızda pazarlama tekniklerinin etkisi altında kalmadığınızdan emin olmaya çalışın:)

    Biraz mizahi bir yaklaşım olsa da ben yeni bir bakış açısı daha getireyim konuya:D Ruby, Japon icadı, Python Alman. Almanlar mühendislikte erişilmezler ve Japonlar da icad edilen şeyleri daha iyi sunmakta:) LISP ve Ruby, Philips ve Sony gibi. Philips icad eder ve Sony onu satar..! Python'sa VW gibi, kimseye aldırmaz, kendi dünyasında tam bir ermişlik duygusu içinde huzurla yaşar.

    NASA neden Pyhton kullanıyor? Eskiden Fortran kullanıyordu, şimdi de Python kullanıyor. Bu bir programcı için bir anlam ifade etmiyor; ama bir fizikçi ya da matematikçi için anlamlı. Python herkes için çok kolay bir dil. Ben de eşimi (kendisi fizikçidir) matlab ya da mathematica yerine Python kullanmaya yönlendiriyorum. Çok sevdiğini söyleyebilirim:) Python işte böyle bir şey: Matlab'ın da yerini alabilecek kadar "geniş bir kütüphane"ye sahip. Kütüphaneler önemlidir kod yazanlar için. Ruby'de pek öyle geniş geniş kitaplık dizilerine rastlayamazsınız. Tabii bu geçici bir durum elbette; ama ömürlerimiz de geçici değil mi?

    "PHP'den daha sağlam yapı" görmediklerini söyleyen arkadaşlara, kendilerini sorgulamaları için basit bir soru: Bu kadar zamanda bu kadar çok dil sürümü ve bu derece büyük değişiklikler sizce sağlam bir yapının göstergesi midir yoksa bir yapboz tahtasına öykünme mi?
     
  2. turker

    turker Agresif Üye

    Kayıt:
    19 Temmuz 2002
    Mesajlar:
    5,988
    Beğenilen Mesajlar:
    0
    ben hiçbir zaman durduk yerde dil öğrenme mevzusuna anlam verememişimdir. bildiğin bir dil varsa ve isteklerini/istenilenleri yerine getiriyorsa veya sana yeterli para kazandırıyorsa neden başka bir dil öğrenesin ki?
     
  3. treeq

    treeq Üye

    Kayıt:
    29 Mart 2007
    Mesajlar:
    47
    Beğenilen Mesajlar:
    0
    Şehir:
    TR / 34
    Calistigin dil isteklerini karsiliyordur ama baska diller belkide ufkunu genisletir ve sana daha fazla seyler yapma imkani verir diye baska dil arayisina girmis olabiliriz, esasinda calistigimiz dil isteklerimizi karsiliyordur ama yeni birseyler ogrenmek istiyor olabiliriz.
     
  4. turker

    turker Agresif Üye

    Kayıt:
    19 Temmuz 2002
    Mesajlar:
    5,988
    Beğenilen Mesajlar:
    0
    webden masaüstüne geçersen yeni birşey öğrenirsin(tersinde de) ama aspden phpye geçince yeni ne öğreneceksin?
     
  5. treeq

    treeq Üye

    Kayıt:
    29 Mart 2007
    Mesajlar:
    47
    Beğenilen Mesajlar:
    0
    Şehir:
    TR / 34
    Ben herhangi bir dili savunmuyorum, benim savundugum sey, bir dilde kullanilabilen kutuphane diger bir dilde mevcut olmayabilir..
     
  6. perlci

    perlci Daimi Üye

    Kayıt:
    12 Eylül 2004
    Mesajlar:
    2,298
    Beğenilen Mesajlar:
    0
    turker ,ASP ciler kızacak ama çok şey :)
     
  7. Fuzz

    Fuzz Üye

    Kayıt:
    8 Mart 2007
    Mesajlar:
    117
    Beğenilen Mesajlar:
    0
    Meslek:
    Web Developer
    Şehir:
    İzmir
    ASP'den PHP'ye geçince 100lerce yeni şey öğrenirsin (kendimden biliyorum)
     
  8. turker

    turker Agresif Üye

    Kayıt:
    19 Temmuz 2002
    Mesajlar:
    5,988
    Beğenilen Mesajlar:
    0
    asp bilmiyorum ama yalın(built-in gelen şekliyle) dil olarak düşünürseniz fark yok gibidir sanırım. yok kütüphanelerle beraber kıyaslama yapacaksak perl hepsine ağır basar heralde :)
     
  9. treeq

    treeq Üye

    Kayıt:
    29 Mart 2007
    Mesajlar:
    47
    Beğenilen Mesajlar:
    0
    Şehir:
    TR / 34
    Tercih edilmemesinin sebebi zaten syntax degil kutuphane desteginin yaz olusu, performans eksikligi ve arkasindaki source desteginin eksik olmasidir.

    Kutuphane kiyaslamasina gelmeden evvel PHP'nin sadece dilin yeterliligi (performans,hiz,dilin kendisini tamamlamis olmasi) konusuna deginecek olursak ASP'e herhalde 70 - 80 % agir basar.
     
  10. hasanyasin

    hasanyasin Aktif Üye

    Kayıt:
    23 Şubat 2007
    Mesajlar:
    439
    Beğenilen Mesajlar:
    0
    Yeni diller öğrenmeden yeni diller öğrenmenin kazandıracaklarını öğrenmek zor:)

    Her dil bir araçtır. Ne kadar farklı araca erişiminiz varsa, o kadar güçlü bir programcı olursunuz. Daha açık bir ifadeyle, bildiğiniz her dil size kafanızdakini gerçekleştirebilmek için farklı yollar sunar ve siz birçok dil bilmekle bir tek yola hapsolup kalmak yerine bu yollardan dilediğinizi seçme "hakkı"nızı elinize almış olursunuz.

    Konu Python/Rubby olduğu halde yine bir şekilde PHP/ASP başlığına kaydı... Bu arada PHP'yi çok seven dostlarımız sorduğum minik soruyu kendilerine sormuşlardır umarım. Acaba PHP'nin "çok güzel, çok harika, web için çok uygun bir dil" oluşu bir yanılsamadan ve kendini kandırmadan ibaret olabilir mi?
     
  11. HunTER

    HunTER ...

    Kayıt:
    15 Ağustos 2002
    Mesajlar:
    8,684
    Beğenilen Mesajlar:
    0
    Meslek:
    Web Programlama
    Şehir:
    İstanbul
    Degıl.. Aslında surdan almak lazım.. PHP'de ben bu dılı ogrenmeye basladıgım gunden bu yana (2002) devrım nıtelıgınde degısıklıkler yapılmadı.. Eger PHP5 ıle bırlıkte gelen yenı nesne modelını saymazsak tabı.. Kı o bıle varolanın ustune bırsey eklemekle yetındı.. Gerıye donuk bır etkısı olmadı.. Halıyle bu tur eklemelere koklu degısıklıkler demek mumkun degıl..

    Asıl soruya gelınce, bu webden ne anladıgınıza baglı olarak degısır.. Eger web sızın ıcın masaustu yazılımın bır uzantısı yada devasa projelerınız ıcın bı tur kullanıcı arayuzunden ıbaretse elbette PHP sıze gore degıldır..

    Ama webden anladıgınız blog ve forum yazılımları, ıcerık yonetım sıstemlerı ya da buna benzer dıger web oyuncakları ıse PHP tum bunların ustesınden rahatlıkla gelır.. Ustelık bu sırada hantal rakıplerı henuz katmanlarla bogusuyordur (DAL, BL, PL vs..)

    Bu mevcut ufkundan memnun olup olmamanla alakalı sanırım.. Ben yaptıgım ısı ve yurudugum yolu sevıyorum.. Bırgun fıkrım degısırse bır baska araca gecmek zor degıl.. Sımdı bununla vakıt kaybetmeme gerek yok..

    Bunun yerıne elınızdekı aracı en ıyı sekılde kullanmaya odaklanabılırsınız.. Ote yandan ufku gormekle ufka yurumek aynı sey degıldır..
     
  12. treeq

    treeq Üye

    Kayıt:
    29 Mart 2007
    Mesajlar:
    47
    Beğenilen Mesajlar:
    0
    Şehir:
    TR / 34
    Bu dile nasil baktiginiz ve ne beklediginize bagli, eger sizin icin amac high-level gorselligi ve renderi icerisinde barindiran bir oyunsa elbette ihtiyaclarimizi karsilamaz ama eger HunTER'in dedigi gibi blog, cms, forum gibi kucuk projeler icin oldukca kullanisli ve istekleri karsilayan bir dil oldugunu soyleyebilirim.

    Ayrica yeni bir dil ogrenme istedigi baska bir dile ihtiyac duyuldugu zaman yapilir ama bunun yaninda ihtiyac olmadan da baska dillerde kullanilabilecek gucu gorebilmek adina baska diller denenebilir..
     
  13. Sancar Saran

    Sancar Saran Daimi Üye

    Kayıt:
    9 Mart 2007
    Mesajlar:
    2,063
    Beğenilen Mesajlar:
    1
    Meslek:
    Bilgi Islem
    Şehir:
    Izmir
    Selam,

    Konun PHP/ASP ye kaymasindan dogal ne var ? Python (Zope Turbogears) ve Ruby (on Rails) belli kaliplar disinda cok fazla birseyler sunan platformlar degil. Bizim buralrdada cok konusuyorlar bu ikisi icin ancak, sonuca nasil ulasacagiz belli degil. Bitmis urun konusunda su anda cok fazla birsey yok. Veya soylede bakabiliriz en basitinden bu gun ceviz.net forumlarindan bu ikisi hakkinda ne kadar fayda saglayabiliriz ?

    Teknik mukemmelikle kullanim pratikligini hic bir zaman birbirine karistirmayin.
    2. Dunya savasinda Almanlar donemin en mukemmel tanklarina sahipti. Ruslar ise en basit isletilen ve on zirhi en cok dayanana, Amerikalilar ise en kolay uretilene.

    Bir alman Tiger i indirmek ancak 4 5 amerikan Shermani ile mumkun olabiliyordu.

    Veya soyle diyelim.

    Valla patronlar pekte guclu programcilikla ilgilenmiyor. Surekli cok kisa sureli deadline ler verip is istiyorlar. PHP ile cok hizli bir bicimde siteleri olusturabiliyorsunuz.

    Eger PHP6 da mevcut sorunlarini cozup experleri icin bir takim onlemler almaz ise. Uzmanlardan bir cogu PHP ile ugrasmaktan sIkIlIp baska platformlara dogru yola cikacagi asikar (ozelliklede Ruby). Yinede bu bile PHP nin zayif oldugu anlamina gelmez. PHP ile birseyler yapmak gercekten cok kolay. Bazi eksikleri (shared memory vs) 3. parti imkanlarla giderilebiliyor. Bu sayede karmasik seyler yapmak icin daha fazla zamaniniz kaliyor.

    Bununda otesinde bizim dukkan ekmegini PHP den cikartiyor. Karnimizi doyurdugumuz muddetce kendinizi kandirip kandirmadigimizin onemi nedir ? Bence bu programlarin teknik mukemmelligi tartismasi bir gereksizlik. Hepsi birer arac hangisi isinize geliyorsa kullanin.

    Cok cok uzun zaman once, programciligin beni asan bir konu oldugunu dusunurdum. Her nedense bana cok zormus gibi gelirdi. 7 Sene kadar once PHP bu konudaki sorunlari asmama cok yardimci oldu. Bu gun PHP ile kafamda kurdugum hemen hemen herseyi yazabiliyorum, sanirim ugrasirsam C veya C++ prgramida yazabilirim. Buda beni icin gani gani yeterli.

    Ha gecen gun zend encoder aldik, megersem zend encoder APC ile calismazmis. Sirf bu yuzden %30 performans kaybimiz var. Bunu satis temsilcisine ilettik, adam ehe bizde zend cache var onu alin dedi (cpu basina bin dolarcik kadar). Yani boyle gicik taraflarida var yok degil...

    Neyse kalin saglicakla...
     
  14. hasanyasin

    hasanyasin Aktif Üye

    Kayıt:
    23 Şubat 2007
    Mesajlar:
    439
    Beğenilen Mesajlar:
    0
    Python hakkında ne kadar çok mit var kafalarda:) Lütfen birkaç saatinizi ayırıp inceleyin ve ondan sonra kendi kendinize tekrar yorumlayın...

    Eğer bu ikisi arasında bir tercih yapılıyorsa Python'un tercihi her zaman için pratikliktir.

    Bakın bu çok meşhur "this" metodunu import ettiğiniz zaman alacağınız çıktı:

    The Zen of Python, by Tim Peters

    Beautiful is better than ugly.
    Explicit is better than implicit.
    Simple is better than complex.
    Complex is better than complicated.
    Flat is better than nested.
    Sparse is better than dense.
    Readability counts.
    Special cases aren't special enough to break the rules.
    Although practicality beats purity.
    Errors should never pass silently.
    Unless explicitly silenced.
    In the face of ambiguity, refuse the temptation to guess.
    There should be one-- and preferably only one --obvious way to do it.
    Although that way may not be obvious at first unless you're Dutch.
    Now is better than never.
    Although never is often better than *right* now.
    If the implementation is hard to explain, it's a bad idea.
    If the implementation is easy to explain, it may be a good idea.
    Namespaces are one honking great idea -- let's do more of those!
     
  15. HunTER

    HunTER ...

    Kayıt:
    15 Ağustos 2002
    Mesajlar:
    8,684
    Beğenilen Mesajlar:
    0
    Meslek:
    Web Programlama
    Şehir:
    İstanbul
    Hersey bı yana aslında forumda Python'u bu denlı tutkuyla savunan bırının olması guzel.. O bolumun bıraz canlılıga ıhtıyacı var.. Eger bunu basarırsan ben kendım yonlendırırım ınsanları Python'a :)
     
  16. hasanyasin

    hasanyasin Aktif Üye

    Kayıt:
    23 Şubat 2007
    Mesajlar:
    439
    Beğenilen Mesajlar:
    0
    Teşekkürler HunTER:)

    Python bilen gençlere ihtiyacım mı var? Evet var:D

    Ama burada asıl istediğim sizi Python'a değil Python'u size kazandırmak. Gerçekten hayatınız değişecek. PHP ile bir sürü uygulama geliştirdim ve ufacık tefecik şeyler değillerdi bunlar. Lakin şimdi PHP'yle nerede karşılaşıyorum? Sadece başkalarının kodlarında... :)
     
  17. ubuntu

    ubuntu Üye

    Kayıt:
    9 Şubat 2007
    Mesajlar:
    180
    Beğenilen Mesajlar:
    0
    Python öğrenmek istemiştim fakat kaynak ve kitap eksiklği yüzünden cesaret edememiştim (türkçe kaynak). Özellikle kullanımı çok rahat. Dİğer diller gibi fazla fazla işaretlerle uğraştırmıyor. Keşke bol bol türkçe kaynağı olsaydı.

    >>>3+5
    8
    >>>

    Kısa ve öz :)
     
  18. Sancar Saran

    Sancar Saran Daimi Üye

    Kayıt:
    9 Mart 2007
    Mesajlar:
    2,063
    Beğenilen Mesajlar:
    1
    Meslek:
    Bilgi Islem
    Şehir:
    Izmir
    Ozaman sormak lazim...

    Neden yok ?

    Neden PHP nin dokumani hemen diger tumunden daha iyi ?

    Super dil yazan adamlar neden dokuman konusunda geride kaliyorlar...

    Enteresan ?
     
  19. perlci

    perlci Daimi Üye

    Kayıt:
    12 Eylül 2004
    Mesajlar:
    2,298
    Beğenilen Mesajlar:
    0
    Python öğrenmek aksine kolay değil zordur. Ruby de öyle. İşin içine girdiğinizde göreceksiniz. Türkçe kaynak zaten eksik hatta yok. Bir ara birisi çeşitli yardım dökümanları hazırlamıştı ama sonra onları bir kitap olarak derleyip bastı.
    Ben her iki dil ile de ilgilendim ve sonra bıraktım.

    Ama ben illa öğreneceğim diyorsanız o kitabı alabilirsiniz. ilk Türkçe Python kitabı.(Mustafa Başer'in yazdığı Python kitabı)
     
  20. ZuLuuuuuu

    ZuLuuuuuu Üye

    Kayıt:
    28 Şubat 2004
    Mesajlar:
    25
    Beğenilen Mesajlar:
    0
    @hasanyasin, özellikle ayrıntılı cevapların için teşekkürler. Hangi dili tercih ettiğimi merak edenler varsa söyleyeyim. Birkaç tartışma daha okudum ve teknik olarak Ruby'nin daha üstün olduğunu gördüm. Çünkü Python'u savunanlar hep işin kolaylığından, güzelliğinden, zevkli olmasından, kütüphane zenginliğinden bahsederken; Ruby'yi savunanlar sürekli teknik olarak Python'da yapılamayacak şeylerden bahsediyorlardı.

    Aslında kütüphane zenginliği, döküman bulabilme konusu önemli konular elbette. Ayrıca Python'u bir aralar öğrenmeye başlamış ve sıradanlıktan çıkarak syntax'a getirdiği yeniliklere bayılmıştım, yani felsefesini sevmiştim. Bu yüzden Ruby'yi öğrenmeye başladıysam da aklım sürekli Python'da kaldı.

    Veee, birden birşey oldu. Ruby ile bir Tk arayüz örneğini çalıştırmaya çalışınca hata aldım. İnternette yaptığım araştırmalardan Tk kütüphanelerinin Ruby Windows kurulum dosyasından çıkartıldığını duydum. Yani artık Ruby ile program geliştirdiğimde insanlardan:

    1) Programımın dosyalarını,
    2) Ruby'yi,
    3) Tk'yı (2. ve 3. seçenek toplamda 40 küsur MB'lık bir dosya ediyor söyleyeyim. Python ise 10 küsur MB.)

    çekmelerini ve kurmalarını istemem gerekecek, üstelik bunların sürümünün birbirine uyması gerekiyor falan da filan da... Tk dışında bir grafik kütüphanesi kullanırsam yukarıdaki madde sayısı 4'e çıkıyor çünkü en azından Ruby'nin yanında Tk binding'leri hazır geliyor. Ben de "Eeeee yeter ama döküman dediler, yapılır dedik; kolaylık dediler, teknik dedik ama bu kadar şeyden de fedakarlık edemem artık ben Python öğrenecem!" deyip şimdi yeniden Python'a başladım :) Zaten bir aralar Murat Başer'in kitabını da almıştım iyi oldu kenarda durmayacak işe yarayacak.

    Ruby belki kağıt üzerinde yani teoride daha iyi bir dil, ancak pratikte daha 2-3 sene Python bu işi rahatlıkla götürecek belki de Python bu süre içerisinde Ruby'ye teorik olarak da yetişecek. O yüzden şu an bir seçim yapacaksanız en akıllıcası -bence- Python.

    Ek not: Ben Japonlar'ı çok severim aslında, dünyada bize zararları dokunmamış (en azından ben bilmiyorum) nadir büyük ülkelerden :) O yüzden Ruby'ye bir sempatim vardı açıkçası :)

    Ek not 2: Bir de Japonlar robot teknolojileri konusunda oldukça ileriler. O yüzden Ruby'nin robot programları konusunda muhakkak bir artısı olur diye düşünüyordum (Ruby'nin yapımcıları muhakkak robot şirketlerinin mühendisleriyle temas halindedir, onlardan geribildirim alıyorlardır.). Ben de bu öğreneceğim betik dilini robot topluluğumuzdaki otomasyonlarda, yapay zekada falan kullanmak için öğrendiğimden o bakımdan da Ruby'ye bir sempatim vardı.

    Ek not 3: Ama işte sempatiler yetmiyor :) Python'u öğrenmek şu durum için daha mantıklı. Hem ismi daha güzel Python'un, Ruby biraz kaba Phuby falan olsaymış belki...