@azmar: Bo język kompilowany do natywnej binarki jest zawsze szybszy od języka interpretowanego. Do tworzenia np. gier w które wymagają większego użycia procesora python nie jest dobrym rozwiązaniem (nie mówiąc już o tym, że trzeba wtedy dołączać jeszcze interpreter).
@krotko: Chcesz powiedzieć, że w Pythonie nie da się tego zrobić pętlą while? :> Poza tym przykład pętli na floatach (ze stałym krokiem iteracji) jest z dupy, wykorzystuje się to ekstremalnie rzadko i praktycznie zawsze można to zrobić integerami.
niestety jest mało znany, przez co nie ma co liczyć na super wsparcie IDE oraz setki bibliotek, ale warto się zainteresować chociaż, bo jest to "to czym C++ powinien być".
@b4rt3k: nie wszystkim odpowiada garbage collector i woleliby mieć większą kontrolę nad pamięcią. W takim C++ wiesz że np. 4 inty zajmą 4 * sizeof(int) pamięci (nie licząc paddingu który może wystąpić), w takim C#/Javie może zająć 32 bajty, może zająć 40, bo on ma pełno dodatkowych informacji tam. Na przykład jak piszesz na embeddedy / konsole to ma ogromne znaczenie.
Ad.2 Jeżeli chodzi ci o kompilatory/interpretery to pisze się je w jakimś innym języku (np. C). Jak już napiszesz swój kompilator tak by implementował najważniejsze części języka to możesz pisać kompilator w tym języku. Np. piszesz kompilator swojego języka ZUO w C a kiedy ZUO potrafi kompilować ważne części języka to piszesz ZUO w ZUO ;)
1. kod języka wysokiego poziomu w pewnym momencie musi być przetworzony na zerojedynkowy format np. (01011101) oznacza "przenieś liczbę z rejestru AX do rejestru BX" (kod maszynowy zmyśliłem, nie chce mi się do dokumentacji patrzeć. Wiele takich instrukcji zrobi nam cały program. Na podstawie tych zerojedynkowych ciągów, procesor pobiera co potrzebuje z pamięci, procesor odpowiednio nastawia ALU (Arithmetic Logic Unit), czyli takie coś co liczy podstawowe działania - dodanie liczb,
@arcybydle-polakozerca: język programowania zawsze (czy to podczas uruchomienia czy podczas kompilacji) tłumaczony jest na język maszynowy, ten, to zwykły ciąg zer i jedynek, które są pojedynczymi rozkazami procesora, różnie to wygląda na różnych platformach - wiadomo - inny procesor - inne kody rozkazów, dla procesorów z rodziny x86 wygląda to tak, że masz prefiksy (każdy po jeden bajt), opcode (kod operacji - od 1 do 3 bajtów), a następnie kilka bajtów
chcialem podyskutowac, ktory jezyk jest lepszy itp. itd. - ale jak czytam komentarze i ludzie nie potrafia zrozumiec kiedy przydaje sie bardziej ktory jezyk i nazywaja zaraz C# "gimbusiarstwem" to niestety tacy ludzie nie sa warci mojego komentarza.
Zawsze tak będzie. Od kilku lat już trąbią, że PHP to dno i tak dalej. PHP się rozwija a i kasa z tego jest (a już na pewno robota).
A na C# narzekają albo ludzie którzy naprawdę potrzebują C++ (wydajność, teoretycznie przenośność), albo nigdy większego projektu nie pisali - i tak pewnie skończyłoby się na implementacji własnego, bylejakiego garbage collectora i pakowaniu wszystkiego w klasy z szablonami imitującymi ,,properties'. Patrz
@igogel: Sorry, ale Twój temat dyskusji sam w sobie trąci gimbusiarstwem. Nie da się powiedzieć, który język jest lepszy. Każdy, dosłownie: każdy jest najlepszy w dziedzinie, do której został zaprojektowany. Nie ma języków lepszych czy gorszych, są po prostu inne.
Komentarze (274)
najlepsze
Bo sterowniki unixowe/linuksowe to moduły do kernela, i tych jeszcze nie widziałem pisanych w C++...
Świat Windowsów mnie nie interesuje, prawde mówiąc... :)
http://d-programming-language.org/
niestety jest mało znany, przez co nie ma co liczyć na super wsparcie IDE oraz setki bibliotek, ale warto się zainteresować chociaż, bo jest to "to czym C++ powinien być".
Ad.2 Jeżeli chodzi ci o kompilatory/interpretery to pisze się je w jakimś innym języku (np. C). Jak już napiszesz swój kompilator tak by implementował najważniejsze części języka to możesz pisać kompilator w tym języku. Np. piszesz kompilator swojego języka ZUO w C a kiedy ZUO potrafi kompilować ważne części języka to piszesz ZUO w ZUO ;)
Ad.3 C lub C++, z przewagą raczej na C.
1. W jaki sposób komendy języka rozumie procesor? Tzn jak kod binarny jest wykonywany przez urządzenie elektryczne?
2. Jak powstaje język programowania? W czym został zaprogramowany?
3. Jakiego języka podstawy wypadałoby łyknąć aby używać uniksopodobnych? C?
a) Czy prawdą jest, że Unixy są bardziej logicznie zbudowane od Windows?
Tylko nie bijcie!
1. kod języka wysokiego poziomu w pewnym momencie musi być przetworzony na zerojedynkowy format np. (01011101) oznacza "przenieś liczbę z rejestru AX do rejestru BX" (kod maszynowy zmyśliłem, nie chce mi się do dokumentacji patrzeć. Wiele takich instrukcji zrobi nam cały program. Na podstawie tych zerojedynkowych ciągów, procesor pobiera co potrzebuje z pamięci, procesor odpowiednio nastawia ALU (Arithmetic Logic Unit), czyli takie coś co liczy podstawowe działania - dodanie liczb,
Jak lubisz Sienkiewicza, to kupiłeś książkę idealną.
Zawsze tak będzie. Od kilku lat już trąbią, że PHP to dno i tak dalej. PHP się rozwija a i kasa z tego jest (a już na pewno robota).
A na C# narzekają albo ludzie którzy naprawdę potrzebują C++ (wydajność, teoretycznie przenośność), albo nigdy większego projektu nie pisali - i tak pewnie skończyłoby się na implementacji własnego, bylejakiego garbage collectora i pakowaniu wszystkiego w klasy z szablonami imitującymi ,,properties'. Patrz