Porównywanie popularnych języków programowania

click fraud protection

Od lat 50. informatycy opracowali tysiące języków programowania. Wiele jest niejasnych, być może stworzonych dla doktorów. praca, o której nigdy nie słyszałem. Inne stały się popularne na jakiś czas, a następnie zanikły z powodu braku wsparcia lub ponieważ ograniczały się do określonego systemu komputerowego. Niektóre są wariantami istniejących języków, dodając nowe funkcje, takie jak równoległość - możliwość jednoczesnego uruchamiania wielu części programu na różnych komputerach.

Przeczytaj więcej o Co to jest język programowania?

Porównywanie języków programowania

Istnieje kilka sposobów porównywania języków komputerowych, ale dla uproszczenia porównamy je według metody kompilacji i poziomu abstrakcji.

Kompilacja do kodu maszynowego

Niektóre języki wymagają bezpośredniej transformacji programów w kod maszynowy - instrukcje, które procesor rozumie bezpośrednio. Ten proces transformacji nazywa się kompilacja. Asembler, C, C ++ i Pascal to języki skompilowane.

Języki interpretowane

Inne języki też są

instagram viewer
Interpretowane takich jak Basic, Actionscript i JavaScript, lub ich kombinacja jest kompilowana do języka pośredniego - obejmuje to Javę i C #.

Język interpretowany jest przetwarzany w czasie wykonywania. Każda linia jest czytana, analizowana i wykonywana. Konieczność ponownego przetwarzania wiersza za każdym razem w pętli powoduje, że interpretowane języki są tak wolne. Narzut ten oznacza, że ​​interpretowany kod działa od 5 do 10 razy wolniej niż kod skompilowany. Języki interpretowane, takie jak Basic lub JavaScript, są najwolniejsze. Ich zaletą nie jest konieczność ponownej kompilacji po zmianach, co jest przydatne podczas nauki programowania.

Ponieważ skompilowane programy prawie zawsze działają szybciej niż interpretowane, języki takie jak C i C ++ są zwykle najpopularniejsze do pisania gier. Zarówno Java, jak i C # kompilują się do interpretowanego języka, który jest bardzo wydajny. Ponieważ maszyna wirtualna interpretująca Javę i środowisko .NET z C # są mocno zoptymalizowane, twierdzi się, że aplikacje w tych językach są tak szybkie, jeśli nie szybsze, jak skompilowane C ++.

Poziom abstrakcji

Innym sposobem porównywania języków jest poziom abstrakcji. Wskazuje to, jak konkretny język jest blisko sprzętu. Kod maszynowy jest najniższym poziomem, z językiem asemblera tuż nad nim. C ++ jest wyższy niż C, ponieważ C ++ oferuje większą abstrakcję. Jawa i C # są wyższe niż C ++, ponieważ kompilują się do języka pośredniego o nazwie bytecode.

Jak porównywać języki

  • Szybko skompilowane języki
  • Język programowania
  • do
  • C ++
  • Pascal
  • DO#
  • Jawa
  • Dość szybko interpretowany
  • Perl
  • PHP
  • Powolna interpretacja
  • JavaScript
  • ActionScript
  • Podstawowy

Kod maszynowy to instrukcje wykonywane przez procesor. To jedyna rzecz, którą procesor może zrozumieć i wykonać. Języki interpretowane wymagają aplikacji o nazwie an Interpretator który odczytuje każdy wiersz kodu źródłowego programu, a następnie go „uruchamia”.

Tłumaczenie ustne jest łatwiejsze

Bardzo łatwo jest zatrzymać, zmienić i ponownie uruchomić aplikacje napisane w tłumaczonym języku, dlatego są popularne w nauce programowania. Nie jest wymagany etap kompilacji. Kompilacja może być dość powolnym procesem. Kompilacja dużej aplikacji Visual C ++ może zająć od kilku minut do kilku godzin, w zależności od ilości kodu do odbudowania oraz szybkości pamięci i procesora.

Kiedy pojawiły się komputery

Kiedy komputery stały się popularne w latach pięćdziesiątych, programy były pisane w kodzie maszynowym, ponieważ nie było innego wyjścia. Programiści musieli fizycznie przełączać przełączniki, aby wprowadzić wartości. Jest to tak żmudny i powolny sposób tworzenia aplikacji, że trzeba było tworzyć języki komputerowe wyższego poziomu.

Asembler: Fast to Run - Slow to Write!

Język asemblera jest czytelną wersją kodu maszynowego i wygląda następująco

Mov A, 45 USD

Ponieważ jest on powiązany z konkretnym procesorem lub rodziną powiązanych procesorów, język asemblera nie jest zbyt przenośny i zajmuje dużo czasu na naukę i pisanie. Języki takie jak C zmniejszyły potrzebę programowania w asemblerze, z wyjątkiem sytuacji, gdy pamięć RAM jest ograniczona lub potrzebny jest kod krytyczny czasowo. Zazwyczaj jest to zawarte w kodzie jądra w sercu systemu operacyjnego lub w sterowniku karty graficznej.

Język asemblera to najniższy poziom kodu

Język asemblera jest bardzo niski; większość kodu po prostu przenosi wartości między rejestrami procesora a pamięcią. Jeśli piszesz pakiet płac, o którym chcesz pomyśleć w kwestii wynagrodzeń i ulg podatkowych, nie rejestruj A do lokalizacji pamięci XYZ. Dlatego języki wyższego poziomu, takie jak C ++, DO# lub Jawa są bardziej produktywni. Programiści mogą myśleć w kategoriach problematycznej domeny (wynagrodzeń, potrąceń i rozliczeń międzyokresowych), a nie domeny sprzętowej (rejestry, pamięć i instrukcje).

Programowanie systemów za pomocą C.

C został opracowany na początku lat siedemdziesiątych przez Dennisa Ritchiego. Można go traktować jako narzędzie ogólnego przeznaczenia - bardzo przydatne i wydajne, ale bardzo łatwe do przepuszczenia błędów, które mogą spowodować, że systemy nie będą bezpieczne. C jest językiem niskiego poziomu i został opisany jako przenośny język asemblera. Składnia wielu języków skryptowych oparta jest na C, na przykład JavaScript, PHP i ActionScript.

Perl: strony internetowe i narzędzia

Bardzo popularny w świecie Linuksa, Perl był jednym z pierwszych języków internetowych i do dziś jest bardzo popularny. Jeśli chodzi o „szybkie i brudne” programowanie w Internecie, pozostaje ono bezkonkurencyjne i prowadzi wiele stron internetowych. Zostało to jednak nieco przyćmione PHP jako język skryptów internetowych.

Kodowanie stron internetowych za pomocą PHP

PHP został zaprojektowany jako język dla serwerów WWW i jest bardzo popularny w połączeniu z Linux, Apache, MySql i PHP lub LAMP w skrócie. Jest interpretowany, ale wstępnie skompilowany, więc kod wykonuje się dość szybko. Można go uruchamiać na komputerach stacjonarnych, ale nie jest on tak szeroko stosowany do tworzenia aplikacji komputerowych. Oparty na składni języka C, obejmuje również Obiekty i klasy.

Pascal został opracowany jako język nauczania kilka lat przed C, ale był bardzo ograniczony z powodu złej obsługi napisów i plików. Kilku producentów rozszerzyło język, ale nie było ogólnego lidera, dopóki nie pojawili się Turbo Pascal Borlanda (dla Dos) i Delphi (dla Windows). Były to potężne implementacje, które dodały wystarczającą funkcjonalność, aby były odpowiednie do rozwoju komercyjnego. Jednak Borland zmierzył się ze znacznie większym Microsoftem i przegrał bitwę.

C ++: język z klasą!

Klasy C ++ lub C plus, jak było pierwotnie znane, pojawiły się około dziesięć lat po C i z powodzeniem wprowadziły programowanie obiektowe do C, a także funkcje, takie jak wyjątki i szablony. Nauka całego C ++ jest dużym zadaniem - jest to zdecydowanie najbardziej skomplikowany język programowania, ale po opanowaniu go nie będziesz miał trudności z żadnym innym językiem.

C #: Big Bet Microsoftu

C # został stworzony przez Delfyarchitekt Anders Hejlsberg po przeprowadzce do Microsoft i deweloperów Delphi poczuje się jak w domu dzięki takim funkcjom, jak formularze Windows.

Składnia C # jest bardzo podobna do Java, co nie jest zaskakujące, ponieważ Hejlsberg pracował również nad J ++ po przejściu na Microsoft. Naucz się C # i jesteś na dobrej drodze do poznania Javy. Oba języki są częściowo skompilowane, więc zamiast kompilować do kodu maszynowego, kompilują się do kodu bajtowego (C # kompiluje do CIL, ale to i Bytecode są podobne), a następnie są interpretowane.

JavaScript: programy w przeglądarce

JavaScript to nic innego jak Java, to język skryptowy oparty na składni C, ale z dodatkiem Obiekty i jest używany głównie w przeglądarkach. JavaScript jest interpretowany i dużo wolniejszy niż skompilowany kod, ale działa dobrze w przeglądarce.

Wynaleziony przez Netscape okazał się bardzo udany, a po kilku latach w doldrums cieszy się nową dzierżawą życia z powodu AJAX; Asynchroniczne JavaScript i XML. Umożliwia to aktualizację części stron internetowych z serwera bez przerysowywania całej strony.

ActionScript: Flashy Language!

ActionScript jest implementacją JavaScript, ale istnieje wyłącznie w aplikacjach Macromedia Flash. Wykorzystując grafikę wektorową, jest używany głównie do gier, odtwarzania wideo i innych efektów wizualnych oraz do opracowywania zaawansowanych interfejsów użytkownika, wszystkie działające w przeglądarce.

Podstawowy dla początkujących

Podstawowy jest akronimem dla początkującego uniwersalnego kodu instrukcji symbolicznych i został stworzony, aby uczyć programowania w latach 60. Microsoft stworzył własny język dzięki wielu różnym wersjom, w tym VBScript dla stron internetowych i bardzo udanym Visual Basic. Najnowsza wersja to VB.NET i działa na tej samej platformie .NETTO jako C # i generuje ten sam kod bajtowy CIL.

Lua to darmowy język skryptowy napisany w C, który obejmuje zbieranie śmieci i coroutines. Dobrze współpracuje z C / C ++ i jest używany w branży gier (a także innych niż gry) do skryptowania logiki gry, wyzwalaczy zdarzeń i kontroli gry.

Wniosek

Chociaż każdy ma swój ulubiony język i zainwestował czas i zasoby w naukę programowania, istnieje kilka problemów, które najlepiej rozwiązać za pomocą odpowiedniego języka.

E.G. nie używałbyś C do pisania aplikacji internetowych i nie napisałbyś systemu operacyjnego w JavaScript. Ale niezależnie od tego, który język wybierzesz, jeśli jest to C, C ++ lub C #, przynajmniej wiesz, że jesteś we właściwym miejscu, aby się go nauczyć.

instagram story viewer