Kafamdaki sorular
Okul kütüphanesi ve Wikipedia’da geçirdiğim saatler sonunda kafamda oluşan onlarca sorudan aklıma geldiği kadarını mail yoluyla internette bu soruyu cevaplayabileceğine inandığım insanlara gönderiyorum. Sorular şunlar:
- Bir programın(farklı programlama dillerinde yazılmış, henüz derlenmemiş, kaynak koddan) çalıştırıldığı andan işini yapıp kapandığı ana kadar olaylar nasıl gelişir? Bir süredir ilgilendiğim Python programlama dili üzerinden anlatmak gerekirse, programı çalıştırdığımda önce bytecode denilen birşeye(ne olduğunu çözemediğim) derlenir(derlemenin de ne olduğunu çözebilmiş değilim, birkaç farklı anlamı var sanırım), daha sonra bytecode çalıştırılıyor ve Python kodu yorumlar, buradan sonra ne olduğu hakkında bir fikrim yok, işlemciye giden şey(her ne gidiyorsa), herhangi bir kod mudur(makine kodu yada assembly gibi birşey? bunların da ne olduğunu çözebilmiş değilim, işlemcilerin anlayabildiği farklı farklı makine kodları var fakat assembly denen şey ortak sanırım), yoksa sadece 1010010 şeklinde binary’midir(elektronik bilgim yok fakat neticede iletim sadece sinyallerle olabileceğinden-herhalde o iletkenlerin içinden “print ‘hello world’” kodu geçmiyor :)- 101010 formatında birşeyin gitmesi lazım, belki daha sonra bir koda dönüştürülüyordur?). Eğer cevap binary değilse o zaman işlemcinin içinde bir yorumlayıcı olduğu anlamına mı gelir? Aşırı ileri seviye bir scripting dilinin kaynak kodlarının işlemciye gitmesine kadar aşamaları anlatabilir misiniz?
- Bytecode yorumlanmaya hazır kod anlamına mı gelir?(Interpreter’a gidecek kod yani?) Ya da bu anlamı da var mıdır?
- Burada bir başka soru daha geldi aklıma, insanlar ilk bilgisayarlara 100101010011 formatında komutlar gönderiyorlardı, daha sonra bunları gruplayıp isimlendirip assembly’nin temelini attılar(yanlış olabilir, düzeltin lütfen). Daha sonra birileri assembly ile başka diller yazdılar, sonra başkaları bu başka dillerle başka diller yazdı vs.. Soru şu, C dili başka bir dille yazıldı neticede, daha sonra C ile Python yazıldı örneğin. Bu durumda nasıl Python kodunun çalışabilmesi için Python yorumlayıcısına ihtiyaç var, tüm dillerde bunun geçerli olduğunu varsayarak(değilse neden? nasıl?) şunu merak ediyorum, Python kodu çalıştırdığımda Python yorumlayıcısı > C yorumlayıcısı > C’nin yazıldığı dil yorumlayıcısı > vs. şeklinde adımlar izlemesi gerekmez mi? Neden? Nasıl?
- Aslında lisp ile alakalı bir sürü soru vardı kafamda ama sanırım heyecandan unuttum(fazlamesai’deki tüm lisp yazılarını okudum), maillerime cevap alabilirsem ikinci aşama olarak sormayı planlıyorum.
- Frameworklerin yaygınlaştığı dünyamızda web güvenliğinin geleceğini nasıl görüyorsunuz? Bu sayede artık güvenliğimizi dert etmiyoruz, bizim yerimize frameworkün geliştiricilerinin işi.
- Frameworkler varken, CGI öğrenmeye-kullanmaya- gerek var mıdır? Varsa kullanım alanları nelerdir, framework nerede yetersiz kalır?
- Üniversite öğretmenlerinin öğrencilerine “C# öğrenin yeter” dediği günümüz Türkiye’sinde bir bilgisayar mühendisliği öğrencisine neler tavsiye edersiniz?(not: bu olay Sakarya Üniversitesi’nde bilgisayar mühendisliği 1. sınıfta okuyan bir arkadaşımın başına gelmiştir, ben TOBB ETÜ’deyim). Ayrıca bazı üniversitelerimiz ilk sınıfda bazı dersleri pascal üzerinden göstermekte(YTÜ) ve neredeyse tüm üniversiteler öğrencileri bir yerde JAVA öğrenmek zorunda bırakmakta. Bilg. müh. olup da Ruby, Lisp ne bilmeyen insanlar tanıyorum, bir keresinde de okulumda bilg. müh. son sınıfta okuyan bir grupla sohbet ederken arkalardan ödev yapmakta olan bir öğrenci Windows’da komut satırında(DOS diyorlar birde ona) bir üst klasöre nasıl çıkıldığını sormuştu, cevap verdiğimde diğer öğrenciler şaşırdı, çok ileri seviye bir bilgiymiş gibi(bir arkadaşım da bilg. müh. olup da daha mail’e dosya eklemeyi bilmeyen birinden bahsetmişti).
- Yapay zeka’ya giriş için tavsiye ettiğiniz kaynaklar var mı?
- Bu tip sorularımla rahatsız edebileceğim ve bana cevap atmaya üşenmeyecek olan insanlar tanıyor musunuz?(türkçe bilmesine gerek yok, ingilizce öğreniyorum)
Bir yandan Python ile birşeyler yapmaya çalışıyor(Django’ya başladım), bir yandan da yukaridaki konularda araştırmalar yapıyorum. 2 haftadır da tatildeydim ve siteyi iyice boşladığımın farkındayım, tasarımda biraz oyama yaptım ama yarım kaldı ilgilenmeyince tabii..