genelde asm ile scripting dilleri arasındaki temel fark şudur; asm herşeye temelden daldığından php'deki gibi yüzlerce library komutu yoktur. komut seti cpu'ya göre belirlidir; sana o komutlarla tüm istediğin herşeyi en temelinden yazmak düşer. aslında hamallıktır da; c++ / vb / .net gibi dillerde component ve library'lerin sağladığı imkanlara sahip olamazsın. ama buna karşın, makinanın anlayacağı ve ihtiyaca yönelik en optimize kodu yazmak da yapabielceklerin arasında. pek çok dil ve library'nin izin vermediği ölçülerde donanımın tüm nimetlerini kullanabilirsin -ki demoların ve oyunların çoğu bu gibi yöntemler üzerine kurulmuştur.
düşünce biçimi oalrak birden fazla dili kavradığında ise genel ortalamaları görmeye başlarsın; yani bunu şu dilde şöyle yapıyordum, bu dilde de ona benzer birşey olmalı diye yaklaşırsın. tabii burada devreye object-oriented ve runtime gibi terminolojiler girecektir devreye; ama zaten üst dillerin hepsinde bu gibi yapısal farklılıklar vardır. assembler'da hiç bunlar düşünülmez; interrupt'ların vardır, game ya da main loop adı verilen temel döngü etrafında herşeyi oluşturursun. haliyle bu yöntem biraz daha monotasking mantığındadır; ama multitasking ve windows ortamalrında çalışmak isteresen aracın asm değil üst diller olmalıdır. yani buradan dili, amacına uygun seçmek gerekir sonucu çıkıyor.
asm benim ilk göz ağrımdı; hala da lda, jsr gibi komutları oop'un cambazlıklarına, event ve trigger'lara tercih etmem. ama asm, purist bir dildir; herşeyi en temeliyle ele almak ve minimalist çalışmak için.
bence senin asm mi c mi diye tercihten ziyade ne yapmak istiyorum ben diye karar vermen ve ona yönelik yolu izlemen gerek. burada olduğuna göre dedemo olayında gözün var; ehh, asm'den ya da c'den kaçınamayacağın ortada. tabii basic'le de demo yazılır, yazılmaz değil; ama...
diğer bir mesele de compiler olayı; tabii ki üst dillerin hemen hemen hepsinin ürettiği makina kodu, optimize olmayacaktır. bunun da sebebi, compiler'ı yazan kişilerin tercih ettiği uyarlama yöntemleri. birebir aynı bir kod bu yüzden de a compiler'ında farklı bir filesize verir, b compiler'ında farklı bir size verir. haliyle dil seçiminden sonra bir de ide/compiler seçimin oluşacak (özellikle c++ gibi üst dillerde geçerli bu).
tüm yazıyı okuyunca aklıma gelenler bunlar. ama sayende sitede bu konuyla ilgili biraz bilgi birikmeye başladı.