the scene > scripting

Hangi scripting dilini önerirsiniz?

<< < (2/3) > >>

skate:
@Dilemma: Bu söylediğin şeyle ilgili iki önemli nokta var.

Birincisi, dökümanlara bu nedenle index oluşturuluyor olması. Yani sen çok iyi bildiğine eminsen tamamen atlamakta serbestsin o bölümleri.

ıkinci önemli nokta ise çok iyi bildiğini düşündüğün kavramlara ait başlıklarda dile özel olan ve senin bilmene imkan olmayacak şeylerin de geçebilmesi durumu. Çünkü her dilin kendine özel farklılıkları olabiliyor. Sen "string" başlığını atlıyorsun stringlerle ilgili herşeyi biliyorum diye ama adam sana "strings.printable" diye bir özelliğinden bahsediyor. Sen bu özelliği atlar, okumazsan bir süre sonra print out alman gereken bir durumda yazdırılabilir bir çıktı elde etmek için kendi fonksiyonlarını yazmakla uğraşırken, o bölümü okumuş biri dilin içinde gelen bu özelliği kullanıp, tek satırda bitiriyor işi. Bu nedenle dilin temeliyle ilgili satır aralarını dahi okumak lazım. Aksi taktirde yine sonuca ulaşırsın ancak o dile hakim birinin yazacağı kodun birkaç misli kod yazmış olursun ve belli durumlarda daha sakat sonuçlar alabilirsin.

Python'u geçtim, örneğin JavaScript ile ilgili döküman okumayan kişilerin başına gelenler (benim 90 sonlarındaki halim :)).

parseInt("073")

beklediğim sonuç integer olarak "73". Gerçekte  elde ettiğim sonuç "59". WTF?! durumu söz konusu di mi? Halbuki "parseInt string'i integer'a çevirir" kadar temel bilgimin yanısıra parseInt'in "0x" ile başlayan stringleri hexadecimal olarak kabul ettiğini, sadece "0" ile başlayanları octal kabul ettiğini ve ayrıca 2'den 36'ye kadar istediğim tabanda dönüşüm yapabilen optional 2. bir parametresi olduğunu dökümanını okumadan bilemiyorsun işte ve böyle durumlarda apışıp kalıyorsun.

Bu nedenlerden dolayı sana dökümanın başları dahil olmak üzere her satırı dikkatli okumanı öneriyorum, hele ki Python gibi sürprizlerle dolu bir dil söz konusu olduğunda. :)

Dilemma:

--- Alıntı yapılan: ray;28855 ---Python for Programmers başlığıyla bir sunum:
http://www.aleax.it/goo_py4prog.pdf
--- Alıntı sonu ---


Aslına bakılırsa ben henüz programcı değilim. Daha önce c++, java, javascript ve bunlardan daha uzun bir süre php çalıştım. Ama gerçek anlamda hiç birine hakim olmadım. c++ ve java zor geldi. Javascript çalışırken jquery'yi keşfettim ve onu öğrendim. PHP'de işimi görecek kadar öğrendim sonra CMS kullandım. Bunlardan dolayı verdiğin kaynak pek bana göre değil gibi, ama yine de diğer diller ile olan benzerlikler, farklılıklar ve Python'un özelliklerini görmek açısından iyi.


--- Alıntı yapılan: skate;28856 ---@Dilemma: Bu söylediğin şeyle ilgili iki önemli nokta var.

Birincisi, dökümanlara bu nedenle index oluşturuluyor olması. Yani sen çok iyi bildiğine eminsen tamamen atlamakta serbestsin o bölümleri.
ıkinci önemli nokta ise çok iyi bildiğini düşündüğün kavramlara ait başlıklarda dile özel olan ve senin bilmene imkan olmayacak şeylerin de geçebilmesi durumu.

Bu nedenlerden dolayı sana dökümanın başları dahil olmak üzere her satırı dikkatli okumanı öneriyorum, hele ki Python gibi sürprizlerle dolu bir dil söz konusu olduğunda. :)
--- Alıntı sonu ---


Aslında benimde aklımda bu olduğundan dolayı satır satır okuyordum. Ama bunun örnekler ile temellendirilmesi çok iyi oldu.

endo:
Ben böyle işler için REBOL kullanıyorum, aşağıdaki satır moldibi.com sitesini okuyor, içindeki tüm büyük M (0x4D) harflerini * ile değiştiriyor ve sonucu bir dosyaya


--- Kod: ---parse/all/case s: read [URL]http://www.moldibi.com[/URL] [some [x: #{4D} (change x &quot;*&quot;) | skip]] write dosya.txt s
--- Kod sonu ---

Öğrenilmesi diğer bütün dillerden çok daha kolay (eğer başka dil bilmiyorsan).
Ama uzmanlaşması tabii her dilde olduğu için yeterli çaba ve zaman gerektirir.

Örneğin bunu birden fazla dosya için yapmak istersen: (biri http, biri ftp, biri lokal dosya, istersen pop mail..)


--- Kod: ---i: 0
foreach file [[URL]http://www.moldibi.com[/URL] [url]ftp://user:pass@myftp.net/xx/dosya.txt[/url] %my-local-file.txt ] [
    parse/all/case s: read file [some [x: #{4D} (change x "*") | skip]] write rejoin [%dosya i %.txt] s
]

--- Kod sonu ---

dosya1.txt, dosya2.txt .. şeklinde dosyaların olur.

REBOL'ün core exesi 295 kb (linux, mac, windows).
Grafik destekleyen versiyonu (REBOL/View) ~800 kb.

Sadece biraz ilgi çekeyim dedim, bildiğin yol-yordamla yapmaya devam sen :)

Dilemma:
http://www.istihza.com/ sitesindeki python3 dokümanının tamamını
ve
http://docs.python.org/py3k/tutorial/index.html daki dokümanlarda 9. Classes'a kadar olan kısmı okudum uyguladım.

Bahsettiğim programı yazarken özellikle karakter sorunu çok yaşadım. Sonra başka bir şekilde işleri çok daha kolay yapmanın bir yolunu buldum. Yani yukarıda bahsettiğim programa artık ihtiyacım yok.


Fakat yine de programlama öğrenmek istiyorum. Daha öncede bir çok dil için bu seviyeye kadar geldim. Fakat sonrasında nasıl bir yol izleyeceğim konusunda kararsız kaldım ve bıraktım. Bu sefer bunu yapmak istemiyorum.
Genelde bir proje seç ve onu yap derler. Bu seçeneği düşündüm fakat aklıma hem yapabileceğim kadar basit hemde bana araştırma ve öğrenme fırsatı verecek kadar zor bir proje bulamadım. şu ana kadar Konsolda çalışan, ıngilizce - Türkçe sözlük, Hesap Makinası ve Telefon defteri gibi şeyler yaptım.

Öneride bulunursanız sevinirim.

skate:
Madem console uygulamaları yaptın, bence sıra arayüzlü uygulamalara gelmiş. Python 3'de bu kadar ilerlediğine göre artık PyQt tarzı bir GUI kütüphanesi kullanabilirsin.

http://www.riverbankcomputing.co.uk/software/pyqt/intro

Bu kütüphane ile konsoldan yaptığın projeleri çok daha kullanışlı window/form yapılı uygulamalara çevirebilirsin. Bu noktada biraz veritabanı tarafını da kurcalarsan ticari uygulamalar yazma noktasına kadar ilerlemen mümkün.

Sonraki adım dersen (python bu iş için ne kadar uygun emin değilim ancak) DirectX/OpenGL tarzı 3 boyut kütüphanelerinden birini kurcalayıp demo/oyun yazma noktasına doğru yavaş yavaş ilerleyebilirsin.

Benim önerilerim bunlardır.

Navigasyon

[0] Mesajlar

[#] Sonraki Sayfa

[*] Önceki Sayfa

Tam sürüme git