Wpis z mikrobloga

@MaLiN2223: C# i Java nie są językami interpretowanymi tylko kompilowanymi - jeden kompiluje się do ILa a drugi do Byte Code'u. Koniec, kropka. To co się potem dzieje z językami pośrednimi to już inna bajka, ale odnosząc się do C# lub Javy po prostu nie można powiedzieć że są interpretowane.
  • Odpowiedz
No i żeby sobie nie można było operatora przeładować.


Torvalds miał rację odnośnie programistów C++

http://harmful.cat-v.org/software/c++/linus

C++ is a horrible language. It's made more horrible by the fact that a lot of substandard programmers use it, to the point where it's much much easier to generate total and utter crap with it. Quite frankly, even if the choice of C were To do *nothing* but keep the C++ programmers out, that
  • Odpowiedz
@MaLiN2223: @Szab: Tak na prawdę, to C# jest czymś pomiędzy. I ma to sporo zalet. Nie jest to interpretowany język, bo kod jest przekształcany na wydajną wersję, która jest łatwa do skompilowania przez JIT. Nie jest to też typowy kompilowany język, bo IL, to nie jest kod maszynowy. Zaletą tego jest przenośność kodu. Jeżeli już trzeba przyporządkować C# do jednego z 2 koszyków, to zdecydowanie jest to bardziej
  • Odpowiedz
@MaLiN2223: lubie jak ktoś coś poleca :D ja polecam książkę A.V. Aho, M. Lam, R. Sethi, J.D. Ullman, Compilers: Principles, Techniques, and Tools, Addison-Wesley, 2006 oraz przykładowo http://students.mimuw.edu.pl/~dm292680/mrjp1.pdf .
Można kompilować ( tłumaczyć ) kod w javie na kod dla maszyny wirtualnej jvm, ta z kolei interpretuje otrzymany kod bajtowy oraz w celu optymalizacji może część kodu kompilować na kod maszynowy.

ps. właśnie kończę pisać kompilator na ma maszynę abstrakcyjną
  • Odpowiedz
JUST IN TIME czyli nie mogą się kompilować bo wszystko dzieje się gdy interpreter dojdzie do danego miejsca w kodzie (analogicznie jak w #python)


@MaLiN2223: WUT. W CPythonie nie ma JIT (w PyPy jest). JIT to kompilacja do kodu "maszynowego" dla wirtualnej maszyny (czy to Javy czy to .NET w tym przypadku). To nie jest ani trochę analogiczne do CPython, bo to zupełnie inny etap.

W Pythonie
  • Odpowiedz