Dlaczego niektóre języki programowania są szybsze od innych?

  • Michael Fisher
  • 0
  • 4395
  • 30
Reklama

Istnieje wiele języków programowania. 6 najłatwiejszych języków programowania dla początkujących. 6 najłatwiejszych języków programowania dla początkujących. Nauka programowania polega na znalezieniu odpowiedniego języka, tak samo jak na procesie edycji. Oto sześć najpopularniejszych języków programowania dla początkujących. każdy z nich ma swoje dziwactwa i funkcje. Z powodu różnych wyborów projektowych i przypadków użycia niektóre są szybsze lub wolniejsze niż inne. Oczywiście ta prędkość (lub jej brak) zwykle ma swoją cenę. Mówiąc prościej, to te różnice powodują zmiany wydajności.

Co to jest język programowania?

Bez względu na to, jak wyglądają języki programowania, wciąż robią to samo: zmuszają komputer do zrobienia czegoś. Wszystkie wiersze kodu są ostatecznie tłumaczone na szereg niejasnych liczb (znanych również jako kod maszynowy). Można powiedzieć, że wszystkie języki programowania z przeszłości kodu maszynowego (w tym asembler, który odwzorowuje liczby na czytelne słowa) mają na celu ułatwienie tworzenia oprogramowania.

Języki te można sklasyfikować na podstawie poziomu abstrakcja robią dla programistów. Zasadniczo o to tyle zajmuje sam język, rzeczy, które na niższym poziomie byłyby obsługiwane ręcznie. To sprawia, że ​​języki wyższego poziomu są znacznie łatwiejsze do programowania w Jak uczyć się programowania bez stresu Jak uczyć się programowania bez stresu Może zdecydowałeś się kontynuować programowanie, czy to dla kariery, czy dla hobby. Świetny! Ale może zaczynasz czuć się przytłoczony. Nie za dobrze. Oto pomoc w ułatwieniu podróży. , ponieważ jest trochę mniej do nauczenia się i zapamiętania.

Przykładem tego jest zarządzanie pamięcią. W przypadku niektórych języków o mniejszej abstrakcji programista musi ręcznie powiedzieć, ile pamięci RAM potrzebuje. Wprowadzenie do wskaźników dla programistów Wprowadzenie do wskaźników dla programistów Bez względu na to, czy zdajesz sobie z tego sprawę, czy nie, zdecydowana większość programów, z których korzystałeś, korzysta ze wskaźników w w jakiś sposób. Jako programista musisz zrozumieć, jak działają wskaźniki. dla danego zadania, a następnie zwolnij je po zakończeniu. Jeśli tego nie zrobią lub wydarzy się coś, czego nie uwzględnią, wykorzystanie pamięci może wzrosnąć. Języki wyższego poziomu, takie jak Java, robią to automatycznie.

Koszt automatyzacji

Biorąc to pod uwagę, z pewnością istnieją pewne wady używania języków wyższego poziomu. Mianowicie prędkość. Czasami im bardziej jest to wyjęte spod kontroli programisty, tym mniej wydajny może być program.

Na przykład języki z automatycznym zarządzaniem pamięcią (zwykle nazywane zbieranie śmieci) może być wolniejszy niż te, które tego nie implementują. Wynika to z faktu, że program potrzebuje czasu, aby przejść przez siebie i wyczyścić pamięć w określonych odstępach czasu.

Kompilacja: Twój przebieg może się różnić

Ogólnie rzecz biorąc, programy napisane w językach takich jak C i C ++ są uważane za szybsze niż większość. Większość systemów operacyjnych jest zapisywanych przy użyciu nich, wraz z niektórymi jeszcze niższymi kodami asemblacji. Jednym z głównych czynników jest kompilacja. 3 powody, dla których możesz chcieć skompilować własne jądro [Linux] 3 powody, dla których możesz chcieć skompilować własne jądro [Linux] Systemy Linux są tak absurdalnie elastyczne i konfigurowalne, że są wręcz szalony. Ogromna część tego, dlaczego Linux jest tak elastyczny, wynika z jego modułowej struktury. Każdy komponent systemu i program jest podzielony… (w porównaniu do interpretacji).

Oznacza to, że przed uruchomieniem źródło programu jest najpierw tłumaczone na niższy poziom: kod maszynowy. Powstałe produkty nazywane są plikami binarnymi (np. Plikami DLL), które są połączone z odpowiednimi plikami, aby działały, tworząc tak zwany plik wykonywalny. Jak utworzyć plik instalacyjny „EXE” Jak zrobić plik instalacyjny „EXE” Co zrobić robisz, gdy tworzysz nowe oprogramowanie Windows i chcesz je udostępnić światu? Idealnie byłoby stworzyć pakiet instalacyjny EXE. Oto jak. .

Wadą tego jest jednak czas potrzebny na skompilowanie takich programów. Duże, takie jak Mozilla Firefox 7 Powodów, aby przejść z Google Chrome na Mozilla Firefox 7 Powodów, aby przejść z Google Chrome na Mozilla Firefox Google Chrome jest najpopularniejszą przeglądarką internetową, ale czy jest dla Ciebie odpowiedni? Oto dlaczego wolisz Mozilla Firefox. może zająć dobre pół godziny. Na szczęście większość oprogramowania w dzisiejszych czasach wykonuje ten proces wcześniej, co ułatwia instalację i korzystanie z niego.

Ponieważ wynik końcowy jest napisany w języku, który komputer może bezpośrednio zrozumieć, wydaje się być dość szybki. Porównaj to z tłumaczonymi językami, które przechodzą przez kolejny krok. Mimo to nie wszystkie skompilowane języki są takie same.

Wydajność kompilatora

Aby przetłumaczyć dowolny kod na coś zrozumiałego dla komputera (kod maszynowy), należy go uruchomić za pomocą specjalnego programu o nazwie kompilator. Jeden język może mieć wiele kompilatorów. Na przykład zarówno GCC (kolekcja kompilatora GNU), jak i Clang mogą być używane do kompilacji programów. Jak skompilować i zainstalować pliki TAR GZ i TAR BZ2 w Ubuntu Linux Jak skompilować i zainstalować pliki TAR GZ i TAR BZ2 w Ubuntu Linux napisany w C.

Ponieważ zadaniem kompilatora jest przetłumaczenie programu na kod maszynowy, jak dobrze to może wpłynąć na jego szybkość. To samo źródło może mieć nieco inne wyniki, na przykład w zależności od konfiguracji kompilatora.

Może to również oznaczać, że różne skompilowane języki mogą działać szybciej lub wolniej niż inne. Ogólnie rzecz biorąc, strony internetowe C i C ++ 3 na początek nauki języka programowania C ++ 3 strony internetowe na początek nauki języka programowania C ++ Nauka programowania może być trudna dla wielu osób, nawet przy stosunkowo łatwych językach programowania. Podczas gdy Java jest łatwiejsza do rozpoczęcia (tam, gdzie mamy wiele artykułów na MakeUseOf dla Java, a także ... mówi się, że są bardzo szybkie, ponieważ kompilatory dla nich przeszły lata rozwoju i ulepszeń. Inne języki nie zawsze mieć tę dojrzałość.

Język interpretowany: jeszcze jeden krok

Jak powiedziano wcześniej, języki interpretowane nie są wcześniej kompilowane. Zamiast tego są tłumaczone podczas uruchamiania, zwykle przez osobny program znany jako interpretator. Na przykład programy Java są uruchamiane przez coś zwanego JVM (Java Virtual Machine) Co to jest Java Virtual Machine i jak to działa? Co to jest wirtualna maszyna Java i jak działa? Chociaż nie jest absolutnie konieczne, aby wiedzieć, że działa, aby programować w Javie, nadal warto o tym wiedzieć, ponieważ może pomóc Ci zostać lepszym programistą. .

Ponieważ te języki nie wymagają wcześniejszej kompilacji, napisane w nich programy są na ogół znacznie łatwiejsze do wykonania i przetestowania. Jednak samo oprogramowanie może być znacznie wolniejsze. Tłumacze wykonują źródło programu linia po linii, co pociąga za sobą karę prędkości. Oprócz tego sam tłumacz potrzebuje trochę czasu na uruchomienie.

Kod bajtowy: niewielki kompromis

Ze względu na ich nieco wolniejszy charakter, wiele interpretowanych języków używa kompilacji w celu przyspieszenia ich działania. Przed uruchomieniem programy te są tłumaczone na kod bajtowy, rodzaj języka łatwego dla tłumaczy. Na przykład zarówno Java, jak i Python. 5 najlepszych stron internetowych do nauki programowania w języku Python. 5 najlepszych stron internetowych do nauki programowania w języku Python. Chcesz nauczyć się programowania w języku Python? Oto najlepsze sposoby nauki języka Python online, z których wiele jest całkowicie darmowych. zrób to przed uruchomieniem, odpowiednio tworząc pliki CLASS i PYC.

Zasadniczo jest to pewien kompromis między łatwością programowania a szybkością. Jest szybszy niż tylko interpretowany kod i łatwiejszy w konfiguracji niż jego w pełni skompilowane odpowiedniki. Bytecode ma również tę dodatkową zaletę, że jest bardziej przenośny w porównaniu do programów kompilowanych do kodu maszynowego. Jeśli istnieje interpreter dla architektury CPU Co to jest procesor ARM? Wszystko, co musisz wiedzieć Co to jest procesor ARM? Wszystko, co musisz wiedzieć Jeśli zwracałeś uwagę na smartfony i tablety, prawdopodobnie słyszałeś o „ARM” używanym w odniesieniu do sprzętu wewnątrz. Jest rzucany w lewo i prawo, często jako punkt różnicowania… będzie działać.

W niektórych językach jest też coś o nazwie Kompilacja JIT (just-in-time). Zasadniczo bierze kod bajtowy i kompiluje jego bity do kodu maszynowego. Tak jak sugeruje nazwa, tak się dzieje podczas program działa. Ma to przyspieszyć wykonanie kosztem wolniejszego pierwszego uruchomienia, ponieważ jego części wymagają czasu na kompilację.

Nie przejmuj się

Biorąc to wszystko pod uwagę, różnice te nie są tak naprawdę problemem dla większości ludzi, zwłaszcza, że ​​komputery stają się coraz szybsze Procesor Intel Kaby Lake: dobry, zły i Meech Intel Kaby Lake: dobry, zły i Meh Kaby Lake to kolejny procesor Intela. Jak bardzo to poprawia procesor Skylake? Jakie są wady i ograniczenia? Oto cztery rzeczy, które powinieneś o tym wiedzieć. każdego roku. Podczas gdy niektóre języki programowania są z pewnością szybsze niż inne, naprawdę ważne jest, aby coś zrobić.

Jasne, jeśli masz duże doświadczenie w programowaniu, dobrze jest wypróbować wydajność swojego kodu. Ale jeśli dopiero zaczynasz, o wiele lepiej jest martwić się o nauczenie się ruchów. 7 Przydatnych sztuczek do opanowania nowego języka programowania. 7 Przydatnych sztuczek do opanowania nowego języka programowania. Możesz być przytłoczony, kiedy uczysz się kodować. Prawdopodobnie zapomnisz o rzeczach tak szybko, jak się ich nauczysz. Te wskazówki pomogą ci lepiej zachować wszystkie nowe informacje. na pierwszym miejscu. Nie ma znaczenia, jak szybki lub wolny jest język, jeśli w ogóle nic nie jest napisane.

Istnieje również kwestia użycia odpowiedniego narzędzia do pracy. Na przykład język asemblera jest bardzo dobry do pisania systemów operacyjnych, ponieważ jest tak niski. Ale jest to przesada w przypadku zwykłych aplikacji na komputery. 9 Oficjalne aplikacje ze Sklepu Windows zastępują popularne aplikacje pulpitu 9 Oficjalne aplikacje ze Sklepu Windows zastępują popularne aplikacje pulpitu Jeśli chcesz wypróbować aplikacje ze Sklepu Windows, dlaczego nie zacząć od aplikacji, które znasz dobrze z pulpitu . Oto wybór dla początkujących. . Istnieją również języki zaprojektowane dla Internetu Którego języka programowania się uczyć - Programowanie sieciowe Którego języka programowania się uczyć - Programowanie internetowe Dzisiaj przyjrzymy się różnym językom programowania internetowego, które napędzają Internet. To czwarta część serii programowania dla początkujących. W części 1 poznaliśmy podstawy… i tak dalej.

?




Jeszcze bez komentarzy

O nowoczesnej technologii, prostej i niedrogiej.
Twój przewodnik w świecie nowoczesnych technologii. Dowiedz się, jak korzystać z technologii i gadżetów, które nas otaczają każdego dnia i dowiedz się, jak odkrywać ciekawe rzeczy w Internecie.