Bu kodu daha kısa nasıl yaparım?

Bunun için en iyisi ilgili diller için araştırma yapmaktır. Mesela Java için JNI veya JNA.

peki soru biraz alakasız ama python ile yazdığımız dosyayı direkt assemblye çeviren bir şey var mı ?

Bu amaçla geliştirilmeye çalışılmış Compyler adında bir proje var, ama destek bırakılmış.
https://wiki.python.org/moin/PythonImplementations

O zaman belki ilerde devam ettirilebilir
Peki eğer geliştirdikleri şey olsaydı pythonu(derlenmiş halini) işletim sistemi olmayan bir yerde çalıştırabilirmiydik

Bilmem, bırakmalarının bir sebebi olsa gerek.

Büyük ihtimalle.

Acaba neden bıraktılar bence çok mantıklı bir proje :thinking:

İngilizcem yettiği kadar anladım yanlışım varsa düzeltin sanırım canı sıkıldığı için bırakmış


birde bunlardan bahsediyor bunlar peki ne

pyasm
pyasm is a dynamic assembler for python. It can generate either coff files as binary output to create an executable, or dynamically compile code, load it to memory, and bind it to a python variable for real time execution.

The files are located at site-packages/pyasm. There is some more documentation under the 'doc' subdirectory there.

xpython
xpython is a slightly modified version of the python interpreter. It primarily contains two modifications. There are two new builtin objects called xcodeobject and xfunctionobject. These run the compiled code, and are hooked into ceval. The pertinent files are where you'd expect them to be in the python source tree.

Evet, konu ilgisini çekmeyi bırakmış ve bu projeden para kazanıp kazanamayacağı konusunda umudu azalınca bırakmış.

1 Beğeni

o zaman hala umut var :smile:

peki bahsettiği diğerl compilerler onlar ne mesela pyasm

Bu konuyu bu kadar diretmemin sebebi arkadaşım ile düşündük acaba python ile işletim sistemi yazılırmı diye ve diğer konularda sizin açıkladığınıza göre olay yorumlamalı dil olması değil direk assemblye çevrilmemesiymiş ondan

Ama bence gereksiz birşey. Derleme sonrası yavaş çalıştığını da belirtmiş. Projenin tutmama sebebi de bu olabilir.

Kişisel olacak ama, neden direkt olarak C öğrenmek istemiyorsun? Python kodları ile birileri işletim sistemi yazmaya kalksa bile, sadece Python kullanmakla bu işin olmayacağını kısa sürede anlayacaktır. Hatta C biliyor olsa bile, işletim sistemi yazmaya kalktığında, önünde yüzlerce konu olduğunu görecektir. İşletim sistemi yazmak, elindeki donanımı yönetmeye çalışmak demektir. Yani işin sadece yazılımsal kısmı yok, donanımsal kısmı da var. Yanlış anlamayın, kırıcı olması için değil sadece Bir şekilde bu soruların sonu gelmeyecektir demeye çalışıyorum. Belki temel sorunu anladıktan sonra, hedefe daha çok yaklaştıran sorular sorabilirsiniz :slight_smile:

2 Beğeni

sıkıntı yok zaten amacımız yazmak değil merak :smile:

1 Beğeni

İstiyorsanız assembly ve C öğrenebilirsiniz, bir dili amacı dışında kullanmayı diretmeye gerek yok bence. Eğer çok umutlu iseniz projeyi siz de devam ettirebilirsiniz :slightly_smiling_face:

O proje python bytecode’unu assembly’e çeviriyormuş, ama bu @aib’in de bahsettiği gibi Python’un bir VM’ye olan bağımlılığını kaldırmış olsa da çalışma şeklini çok değiştirmiş olmuyor. Hala değişken oluşturma işlemleri Heap’da yapılıyor vs.

2 Beğeni

Bu konuyu sormamın diğer sebebi başka bir forumda birisinin neden yorumlamalı bir dil öğreneyim ki işletim sistemi olmadan çalışmıyor demesiydi

1 Beğeni

Anladım zaten bu soruyu sormamın sebebi merak
peki bir soru daha :smile:

Heap nedir

Öğrenmesi kolay olduğu için, hızlıca algoritma geliştirebileceğimiz bir betik dili bilmemiz için, performans çok önemli değilse işimizi kolayca halletmek için, popüler olmasından kaynaklı kütüphane bolluğundan faydalanmak için, hafızanın kontrolünü garbage collider’e bırakmak için…
Ama işletim sistemi yazmak için, gömülü sistem geliştirmek için, donanımı istediğimiz gibi yönetmek için, yazılabilecek en verimli kodu yazmak için değil.

1 Beğeni

evet bu açıklamayı bana onu söyleyen adama göndereceğim

peki heap nedir açıklarmısınız

Yani açıklamaya çalışırım ama bu şekilde tam oturmaz, bir video anlatımı takip etseniz şuan daha iyi olur diye düşünüyorum.

1 Beğeni