Tam o sırada, başka bir pillinetwork sitesi olan zamazing.org'da: "İnsan dışkısıyla çalışan motor"

Etiketler: , , ,

Bu aralar Open Source dünyasında python ve Ruby arasında müthiş bir rekabet var. Bu iki dil GNU lisansına sahip. C++ kadar güçlü fakat öğrenilmesi kolay olduğu için tercih ediliyor. Hatta python'un resmi sayfasında python'un Nasa ve google tarafından kullanıldığı bile söyleniyor. Bu da Python'u bir adım önde kılıyor gibi. Ama asıl beni şaşırtan 3D Studio Max'a en büyük rakip olan Blender'ın python ile yazılmış olması. Blender Linux, Windows, Mac OS X platformlarında çalışabiliyor. Burada ise Blender kullanılarak oluşturulan 3D imajlar bulunmakta. Bazı resimleri gerçeğinden ayırmak çok güç. Bu aslında Open Source'un geldiği noktaya en güzel örnektir. Sizce ?

Spacer
Spacer
 | 16 yorum var 
 | 25 Mart 2006 00:57 

sonraki yazı »
Macintosh'ta XP

Yorumlar

Gerçekten open source atağa kalkmış bulunmakta. Ülkemizdeki kanıtı ise pardus olmalı. Bayağı bir önem veriliyor artık open source'a.

fatihturan  |  (0 puan) 25 Mart 2006 10:16

yanlış hatırlamıyorsam blender uzun bir süre ücretli ve kapalı bir program olarak geliştirildi. sonra geliştirilmesi durduktan sonra biri parasını verip satın alıp open source dünyasına hediye etti.

şu anki durumu gayet başarılı ama, 2-3 mb arası değişen boyutu ile tek tıklama ile en düşük konfigürasyon bilgisayarda 1 sn de açılabilmesi 1 cd ile uzun bir sürede yüklenen rakibi 3dmax'a oranla gayet başarılı

gCg  |  (0 puan) 25 Mart 2006 10:44

bu site ruby'yle yapıldı, nasa haltetmiş :P

şaka bi yana ruby de python da güzel diller. pitonda benim üç adet canımı sıkan nokta var.

  1. si blockların indentationla belirtilmesi.
  2. si classlarin methodlarina `self` objesinin parametre olarak gecirilemsi zorunlulugu
  3. CPAN ya da Gem kadar oturmus bir kutuphane havuzuna sahip olmamasi. Piton icin yazilmis kutuphaneler sayi ve kalite olarak rubyden kat kat ustundur ama bunnarin merkezi olarak biryerde dagitilmamasi (bu konuda girisimler var ama belki de ben bulamadim) insani bayiyor. ruby'nin Gem sistemi `gem install rails` kadar basit hale getiriyor olayi.

kullanin kullandirtin bu dilleri. cidden hepsi guzel diller. haskell eifell smalltalk LISP bunlara da bakin. her sene bir dil ogrenin. ben `yeni bir dil ne kadar farkli olabilir` derdim hep ama rubyde gordum ki insanin ufkunu aciyor yeni diller.

postexitus  |  (0 puan) 25 Mart 2006 11:46

Blender'ı açık kaynakken bir açık kaynak komünitesi para toplayıp satın aldı ve açık kaynak olarak kullanıma açtı. Ve postexitus'a kesinlikle katılıyorum. ruby programlama üzerine bakışınızı değiştirebiliyor. Diğer dilleri eleştiriyorsunuz git gide.

feldrim  |  (0 puan) 25 Mart 2006 12:55

Bende böyle böyle php, c++ falan öğreniyim diyordum. python da bir ara ilgi alanıma girdi. Fakat nasıl ki edebiyat kesmeyince felsefeye doğru yöneldiysem, code kesmeyince uml ye döndüm. Teorik yanına daha fazla önem vermek lazım bu işlerin diye düşünüyorum. Şimdi UML ile uğraşıyorum. websitesi yapcam da :)

zee  |  (0 puan) 25 Mart 2006 13:18

Ben halen java diyorum. Java ile ruby karsilastirmasi ile ilgili bir iki yazi okudum. Ruby'nin java'ya karsi bir ustunlugunun olmadigini soyluyorlardi. Gerci java-memory kullanimi ile ugrasmak ciddi zaman kayiplarina neden olabiliyor. Java bir de bildigim kadari ile en fazla destegin oldugu dil. ornegin Ingiltere'de universiteler de java ogretiliyor. (eskiden c++ ogretirlerdi..)

her sene bir dil ogrenmek yerine bir dili, ciddi bir sekilde, tam anlami ile ogrenme taraftariyim.

@Zee, abi, uml ile web sitesi yapamazsin..Ben mi yalnis biliyorum? :)

ap  |  (0 puan) 25 Mart 2006 14:12

Konuya destek olmak maksadıyla, turkpython.net adresinden türkçe python, try ruby ile de ruby denemelerini browser üstünden yapabileceğinizi bildirerek görevimi yapmış, mizansene uymuş olayım. ;)

@ap işte ben umlsiz yapamayacağımı farkettim. o kadar soyut sınıf içinden çıkmaya ne ram ne cache yeter bende. ;)

zee  |  (0 puan) 25 Mart 2006 14:50

@ap ruby vs. java karsilastirmasini yapmamak lazim. java herseyden once statik ve derlenen bir dil; rubyse dinamik ve yorumlanan bir dil. guclu olduklari alanlar farkli olacaktir. ben sahsen java kullanmayi sevmiyorum, beni sinirlandirdigini dusunuyorum. ama statik dillerin de hem hiz hem de disiplin acisindan getirdikleri var. simdi 100 kisilik bir development ekibinin ruby piton ya da php gibi dinamik bir dili kullanmasi zor olacaktir. ancak statik bir dilin getirdigi `zorlamalar` gelistirme surecini daha duzenli yapacaktir.

lakin kucuk development guruplarinda dinamik diller agir bir performans artisina sebep olabilirler. ozellikle text prosessingin on planda oldugu web sayfasi gibi konularda dinamik dillerin (read: php piton ruby perl) bariz avantaji var.

bu konuda cok sevdigim bir analoji var. bir dagdan asagi inen virajli bir yolda, insanlarin kaza yapmasini engellemek icin yolun kenarina asilamaz bariyerler koyabilirsiniz. boylece insanlarin yoldan cikmasini engellersiniz. ama isini bilen bir insanin da yolu takip etmeden, hizli bir sekilde, patikadan dumduz asagi inmesini de engellersiniz. iste ben o izci olmayi seviyorum. dilin beni engellemesinden nefret ediyorum. dilin beni aptal yerine koymasindan nefret ediyorum. javanin statik yapisinin yaptigi nedir derleme esnasinda `hop canim bu integer lutfen buna string atama` demektir. ben akli basinda bi adamsam zaten bu hatayi yapmam. ayrica bunu engellemek binlerde diger hatanin, business logic hatalarinin onune gecemez. neyse bu konuda ilerde daha yazmak istiyorum, simdilik sakinlesiyim :P

java ve c#'in en bariz avantajiysa cok kuvvetli development araclarina sahip olmalari. ama bu biraz da dilin kompleksligini IDE ile desteklenmesi gerekliliginden geliyor. ruby o kadar temiz ki vi'la bile yazarken `ulen code inspector lazim` demiyorsunuz.

postexitus  |  (0 puan) 25 Mart 2006 15:55

Her sene bir dil. Bunu okuyunca aklıma Peter Norvig geldi. Onun 10 yılda programlamayı öğrenin diye bir yazısını okumuştum vaktiyle.Üniversitenin ilk yıllarında şunu mu bunu mu öğrensem diye sorardım abilerime. Herkes de kendi bildiği dili överdi bana. Aslında Blender bize hangi dili değil, Bildiğimiz dili ne kadar iyi kullanmamız gerektiğini ispatlıyor. Ruby, Python, Java önemli değil önemli olan ne kadarını kullanıyoruz.

clawhammer  |  (0 puan) 25 Mart 2006 18:01

bence programcilik dille dogrudan alakali birsey degildir. programcilik bir mentalitedir ve bu mentaliteniz dogru oturduktan sonra kullandiginiz dile 3 ayda alisirsiniz (dil cok sınırlı veyahut bambaşka (assembly gibi) bir dil değilse). ben 4 senedir php kullanıyodum rubyye alışmam 1 ay, phpde yapabildiğim herşeyi yapabilecek hale gelmemse 3 ay sürdü. şimdi pitona geçmek istesem 3 ayda geçerim sanırım. ama rubyde asıl zorlandığım şey mvc mentalitesine alışmak oldu. ancak şimdi mvc yi öğrendim ve her dilde bunu kullanabilirim (sanırım :) ). javada spring+hibernate ile denemeler yapıyorum ve rubyden once bu nanelerden hiçbişi annamıyoken şimdi iki satır doküman okuyarak birşeyler becerebiliyorum.

pragmatic programmers diye cok yararli kitaplar cikaran bir yayinevi var. bu adamlar surda her sene bir dil ogrenelim olayini anlatiyorlar. her dilden ogrendiginiz `guzellikleri` sonradan tek bir dil icinde birlestirebilir ve blenderi yaratabilirsiniz. mesela bu konuda Graham Klyne sunlari demis:

I learned Haskell a couple of years ago, having previously programmed in Python and (many) other languages. Recently, I've been using Python for a project (the choice being determined by both technical and non-technical issues), and find my Python programming style is now heavily influenced (for the better, I hope ;-) by my Haskell programming experience.

bu arada haskell'e gozatmak isterseniz buraya... gercekten ilginc bir dil.

yalniz ben bu mvc geyiginden filan birsey ogrendim ki oyle `haydi ogrenelim` diyince olmuyor. illa ki guzel bi proje olusturmak lazim ister profesyonel ister amator olsun. insan bazi problemlerle karsilasmadan dilin inceliklerini anlayamiyor.

mesela gecen gun ruby'de method interception diye bir yazi okudum. adam bir block icinde bir metoda giden tum cagrilari kesiyor ve kendi yazdigi metoda yonlendiriyor; blok bitince de metodun eskisi gibi calismasini sagliyordu. boylece icine mudahale edilmesine izin vermeyen 3rd party kutuphaneleri bile kendi istediginiz gibi degistirebiliyorsunuz. evet bu encapsulation'a acaip aykiri ama, bana verdigi ozgurlugu gorunce `salla enkapsulasyonu` demek istiyorum :)

postexitus  |  (0 puan) 25 Mart 2006 21:51

Hadi sizi ruby'ye özendiriyim biraz (tabi rails eklentileriyle)

mesela php'de "45 dakika önce" demek için ne yaparız? time()-60*45 .. Ruby On Rails'teyse 45.minutes.ago demek yeterli. 1.day.from_now, 3.minutes.since(blog.created_at) ... bu dili seviyorum.

postexitus  |  (0 puan) 26 Mart 2006 11:01

ruby ile ilgili pek bilgim yok acikcasi. kisa bir arastirma yaptim. bir iki sey okudum. Gorunen o ki, herkesin birlestigi 'ruby ile programlamanin daha keyif verici oldugu'. Ama statik dillerin halen dinamik dillere nazaran cok daha avantajli oldugunu dusunuyorum. bu konu ile ilgili guzel bir link de buldum.
her ne kadar dinamik dillerde code yazmanin hizli oldugu konusunda herkes hem fikirse de, 'risk of run time error' problemi onemli bir unsur -ozellikle 'mission critical' aplikasyonlarda-. Bir de hiz problemi oldugundan soz ediliyor. hiz C,java, ruby.. gibi gorunuyor. Yani en hizlisi C sonra java vs gibi...
'patikadan dumduz asagi inmek' ornegi ise harika bir ornek..:) programci acisindan mukemmel, keyif verici, adrenalin arttirici. Ama bir de aplikasyon'un security'si acisindan da bakmak lazim. Program'i yazdigin kisiler icin asagiya sag salim varmak en onemli unsur. :)

programciligin bir mentalite oldugu konusunda ise yuzde yuz ayni fikirdeyiz. Dil bilmek ile alakali degil programcilik. bir dili cok iyi bilipte programci olamayan bir suru insan biliyorum.

surekli yeni diller ogrenmek konusunda ise halen kafam da soru isaretleri var. son 7 yilini surekli java yazarak son 3 yilinda her web programini mvc ile yazmis biri olarak her yazdigim programda yeni bir seyler ogrendigimi soyleyebilirim.

Gerci onca programdan sonra sikilmaya baslamadin desemde yalan olur. yakin bir zaman da (tabi zaman bulabirsem) ruby ile bir iki sey yazmaya calisacagim . Sayet soylendigi gibi 'keyif veriyor' ise ilk olarak buraya postalarim.:)

ap  |  (0 puan) 26 Mart 2006 16:42

@postexitus'un yazdığı örneğe bakınca aklıma şu geldi: Ruby, tam olarak nesne yönelimli (object-oriented) değil mi o zaman? Birkaç class örneği verebilecek olan var mıdır?

gemeaux  |  (0 puan) 26 Mart 2006 17:17

hayır bilakis tam olarak nesneye yönelimli. rubyde java veya c'deki temel tipler (string, integer vb.) yoktur. bunlar bile birer objedir.

benim örneğimden yola çıkarsak 45 bir integer objesi. "minutes" diye bir metodu var. 45.minutes 45 dakikanın saniye cinsinden degerini yine integer olarak döndürüyor. yine bu integer'ın "ago" isminde bir metodu var. bu da şimdiki timestamp'ten 45x60'ı çıakrıp onu bir Time objesine dönüştürerek bize geri veriyor.

"ulen integerın da ago diye metodu olur mu?" demeyin. bunlar modüllerle sağlanıyor. yani tabi ki rubynin core library'sinde minute ya da ago diye metodlar yok ama ruby'nin esnekliği kullanılarak integer class'ı bu metodları alacak şekilde genişletilebiliyor.

ap, sana her söylediğinde katılıyorum. tek bi değişik düşüncem var. bence runtime error alma ihtimaliyle yanlış logic yazarak programı çakma ihtimalini karşılaştırmak lazım. kaç kere yanlış assignment yapıyoruz, kaç kere business logic hatası yapıyoruz. ben şahsen ilkini çok çok az yaparken ikincisini çok yapıyorum :) bu yuzden de unit testingi benimsemeye, unit testing kullanmaya çalışıyorum. bu benim type-cast hatalarımı da engelliyor, business logic hatalarımı da. o yuzden bi abimiz demişti "aslolan strong-typing değil strong-testing'dir" diye.

ayrıca strong testing programı testedilebilir parcalara bolmeyı zorunlu kılıyor. bunun kıymeti yazılım bittikten sonra anlaşılabiliyor :)

haskelli inceliyorum ben de dünkü yorumu yazdıgımdan beri. haskell'in güzelliği anladığım kadarıyla her işlemin bir matematik fonksiyonu gibi tanımlanmasının zorunlu olması. böylece isteseniz bile bir fonksiyonu çok kompleks yazamıyorsunuz. programın işleyiş sırası yok sadece tanımlı fonksiyonlar var. çok ilginç.

postexitus  |  (0 puan) 26 Mart 2006 17:31

Merhabalar
Her dilin kendine özgü bir yerde üstünlüğü vardır
Önemli olan mantığını kavramak ve ortaya güzel şeyler çıkartmaktır.Ruby ve python gerçek güzel diller.Bu yıllar içinde en çok favori olan dil ise şu anda PHP ancak bunun ilerleyen yıllarda ruby veya ptyhon olacağını düşünüyorum

Linux007  |  (0 puan) 18 Aralık 2008 11:03

üye olunpillinetwork sitelerine yorum ekleyebilmek ve daha fazlası için, üye olun ya da giriş yapın.

Bu Yazıyı Tutanlar

Beğendiğiniz bir yazıya "tuttum" demek için başlığın yanındaki yıldıza tıklayabilirsiniz.

Bu yazıyı rapor et. Kural dışı içeriğe rastladığınızda editörlerimize rapor ederek müdahale edilmesini sağlayabilirsiniz. (Hangi durumlarda rapor edebilirim?)
bildirgec.org bölümleri
pillinetwork hesabınızla giriş yapın.

son yorumlar

bildirgecinfo

bildirgec.org içeriği kullanıcıları tarafından üretilen kolektif bir blogdur.

network siteleri

RSS Dosyası
pillikutu