C# Console vs Form

"... the JIT compiler determines the most frequently used code and compiles it to machine code."
Buyurun.
JIT = Just in Time Compiler
Anlamı eş zamanlı derleme. .Net platformu için derlenmiş dosya'yı (.exe dosyasını) çalıştırma esnasında makine koduna çeviriyor diyor o alıntıda.

Exe dosyası kendisi .Net dosyası. Aynısını Python veya diğer Script dilleri de yapıyor. Çalışma esnasında çeviri oluyor. Bunu da gerçek anlamda yapmıyor çünkü hiç bir program doğrudan işlemciye erişmiyor. Bunu işletim sistem üzerinden yapıyor ve tüm işlemleri işletim sistemi denetliyor ve yönlendiriyor.

Her İşletim sisteminin de kendi yol ve yöntemleri var. Ve kendi Assembly dili.
Bu nedenle Linux programları Windows'ta, Windows programları MAC'te çalışmıyor.
 
JIT = Just in Time Compiler
Anlamı eş zamanlı derleme. .Net platformu için derlenmiş dosya'yı (.exe dosyasını) çalıştırma esnasında makine koduna çeviriyor diyor o alıntıda.

Exe dosyası kendisi .Net dosyası. Aynısını Python veya diğer Script dilleri de yapıyor. Çalışma esnasında çeviri oluyor. Bunu da gerçek anlamda yapmıyor çünkü hiç bir program doğrudan işlemciye erişmiyor. Bunu işletim sistem üzerinden yapıyor ve tüm işlemleri işletim sistemi denetliyor ve yönlendiriyor.

Her İşletim sisteminin de kendi yol ve yöntemleri var. Ve kendi Assembly dili.
Bu nedenle Linux programları Windows'ta, Windows programları MAC'te çalışmıyor.
Tamam derleme hakkında bilgi edinmiş oldum ancak yine de C# ile yapılan GUI programlar, C++ kadar hızlı çalışmayacaktır.
 
Tamam derleme hakkında bilgi edinmiş oldum ancak yine de C# ile yapılan GUI programlar, C++ kadar hızlı çalışmayacaktır.
O arkadaş yanlış bilgi veriyor. Siz benim attığım kaynaktan okuyun. C++ kadar hızlı çalışmayacaktır elbette fakat arkadaş yanlış bilgi veriyor.

Önce Microsoft Intermediate Language diye adlandırılan bir dile derlenir. Daha sonra .net runtime bu dili çalışma anında makine koduna çevirir. "JIT compilation converts MSIL to native code on demand at application run time" JIT ve Interpreted diller de aynı çalışmaz. "Aynısını Python veya diğer Script dilleri de yapıyor." Hayır, Python yorumlanan bir dildir.

Alıntı yaptığım adres.
  • Interpreter: Reads your source code or some intermediate representation (bytecode) of it, and executes it directly. Kaynak kodunu okur (veya bytecode) ve direkt olarak çalıştırır.
  • JIT compiler: Reads your source code, or more typically some intermediate representation (bytecode) of it, compiles that on the fly and executes native code. Kaynak kodunu okur (veya bytecode) çalışma anında derler ve o makineye özel derlediği kodu çalıştırır.
 
Son düzenleme:
O arkadaş yanlış bilgi veriyor. Siz benim attığım kaynaktan okuyun. C++ kadar hızlı çalışmayacaktır elbette fakat arkadaş yanlış bilgi veriyor.

Önce Microsoft Intermediate Language diye adlandırılan bir dile derlenir. Daha sonra .net runtime bu dili çalışma anında makine koduna çevirir. "JIT compilation converts MSIL to native code on demand at application run time" JIT ve Interpreted diller de aynı çalışmaz. "Aynısını Python veya diğer Script dilleri de yapıyor." Hayır, Python yorumlanan bir dildir.

Alıntı yaptığım adres.
  • Interpreter: Reads your source code or some intermediate representation (bytecode) of it, and executes it directly. Kaynak kodunu okur (veya bytecode) ve direkt olarak çalıştırır.
  • JIT compiler: Reads your source code, or more typically some intermediate representation (bytecode) of it, compiles that on the fly and executes native code. Kaynak kodunu okur (veya bytecode) çalışma anında derler ve o makineye özel derlediği kodu çalıştırır.
C# hakkında fazla bilgi öğrenmek istediğimi düşünmüyorum masaüstü geliştirme açısından. C++ ile başa çıkamaz zaten, anlayın şunu artık. JIT compiler falan filan, bir MSVC ya da G++ neyinize yetmiyor?
 
Tamamen ihtiyaca göre dil seçimi yapılır. Fazla fanatikliğe girmeye gerek yok.
C++ ile başa çıkamaz zaten, anlayın şunu artık. JIT compiler falan filan, bir MSVC ya da G++ neyinize yetmiyor?
Neyi ile başa çıkamıyor? Olaya sadece performans olarak bakıyorsunuz. Ama gerçek dünya da tek etken performans değil.
 
Tamamen ihtiyaca göre dil seçimi yapılır. Fazla fanatikliğe girmeye gerek yok.

Neyi ile başa çıkamıyor? Olaya sadece performans olarak bakıyorsunuz. Ama gerçek dünya da tek etken performans değil.
Ki dediği performansı elde etmek için güzel kod yazması gerek. İyi yazılmış C# (İyi c++ yazmaktan daha kolay), kötü yazılmış c++'dan daha iyi performans verebilir.
 
Memory leak fışkıran kodlar, başarısız yazılmış bellek yapıları nedeniyle sürekli çöken programlar... C#'ta bunların olmayacağı garanti eğer unsafe method kullanılmadıysa.
Bazı IDE'ler memory leak'e karşı uyarıyor. Ve en azından programlama dili programı değil ben programı kontrol ediyorum.

Tamamen ihtiyaca göre dil seçimi yapılır. Fazla fanatikliğe girmeye gerek yok.

Neyi ile başa çıkamıyor? Olaya sadece performans olarak bakıyorsunuz. Ama gerçek dünya da tek etken performans değil.
Doğru, performans tek etken değil. Bu yüzden Adobe, Microsoft ve büyük şirketler yazılımlarını C++ ile yapıyor. Boşuna seçilmiyor bu dil.
 
Tamam derleme hakkında bilgi edinmiş oldum ancak yine de C# ile yapılan GUI programlar, C++ kadar hızlı çalışmayacaktır.
Ben C# daha hızlı demedim zaten. Daha çok kolaylık sağlar ve programları geliştirmede daha az zaman tüketir.

Hız önemliyse Pascal veya C daha optimize. C++ ile arada çok az bir fark var.
Kendiniz de bunu kendi derlediğiniz programlarda, işlem içine bir sayaç ekleyerek ölçebilirsiniz.

O arkadaş yanlış bilgi veriyor. Siz benim attığım kaynaktan okuyun. C++ kadar hızlı çalışmayacaktır elbette fakat arkadaş yanlış bilgi veriyor.

Önce Microsoft Intermediate Language diye adlandırılan bir dile derlenir. Daha sonra .net runtime bu dili çalışma anında makine koduna çevirir. "JIT compilation converts MSIL to native code on demand at application run time" JIT ve Interpreted diller de aynı çalışmaz. "Aynısını Python veya diğer Script dilleri de yapıyor." Hayır, Python yorumlanan bir dildir.

Alıntı yaptığım adres.
  • Interpreter: Reads your source code or some intermediate representation (bytecode) of it, and executes it directly. Kaynak kodunu okur (veya bytecode) ve direkt olarak çalıştırır.
  • JIT compiler: Reads your source code, or more typically some intermediate representation (bytecode) of it, compiles that on the fly and executes native code. Kaynak kodunu okur (veya bytecode) çalışma anında derler ve o makineye özel derlediği kodu çalıştırır.
Python modülleri .pyc uzantılı ve her sürüm için ayrı olmak üzere derlenmiş dosyalar. Ek olarak python.dll ile Python C ve C++ programlarında kütüphane olarak ta kullanılabilir. Ve yine ek olarak python.h ile Python programları C veya C++ programı olarak ta derlenebilir. Aynı işlemlere Perl ve Lua da izin veriyor. Bu işelemler iyi derecede Python + C(C++ bilgisi gerektiriyor.
 

Yeni konular

Geri
Yukarı