Język programowania drugiej generacji
Etykieta języka programowania drugiej generacji ( 2GL ) jest pokoleniowym sposobem kategoryzowania języków asemblera .
Termin został ukuty w celu odróżnienia od niezależnych od maszyny języków programowania trzeciej generacji (3GL) wyższego poziomu (takich jak COBOL , C lub JavaScript ) i wcześniejszych języków programowania pierwszej generacji ( kod maszynowy )
Język programowania drugiej generacji
Języki programowania drugiej generacji mają następujące właściwości:
- Linie w programie odpowiadają bezpośrednio poleceniom procesora, zasadniczo działając jako urządzenie mnemoniczne nakładające się na język programowania pierwszej generacji.
- Kod może być odczytywany i zapisywany przez programistę. Aby uruchomić na komputerze, musi zostać przekonwertowany do postaci czytelnej maszynowo, w procesie zwanym montażem .
- Język jest specyficzny dla określonej rodziny procesorów i środowiska.
Języki drugiej generacji są czasami używane w częściach jądra lub sterowników urządzeń , a czasami są używane w grach wideo, programach graficznych i innych intensywnych programach.
We współczesnych programach języki asemblera drugiej generacji są rzadko używane. Programowanie w językach drugiej generacji może przynieść korzyści w zakresie szybkości, ale kilka wad doprowadziło do jego upadku:
- Programowanie jest wyrażane w kategoriach instrukcji poszczególnych procesorów, a nie logiki wyższego poziomu.
- Pamięć niskiego poziomu i szczegóły sprzętu muszą być zarządzane ręcznie, co często jest podatne na błędy.
- Programy są zależne od maszyny , więc różne wersje muszą być napisane dla każdej architektury docelowej maszyny.
Zdecydowana większość programów jest napisana w języku programowania trzeciej lub czwartej generacji . Główna zaleta asemblera, szybkość, uległa degradacji przez fakt, że dobrze napisany kod C często może być równie szybki, a nawet szybszy niż asembler napisany ręcznie
Języki drugiej generacji są prawdopodobnie najbardziej znaczące na swoim miejscu w historii komputerów. Przez długi czas języki asemblera drugiej generacji były jedyną dobrą opcją rozwoju dla wielu maszyn, takich jak NES czy Commodore 64 . Języki drugiej generacji stanowiły ogromny krok w odejściu od tradycji dostosowywania się programistów do potrzeb maszyny i pierwszy krok w kierunku maszyny dostosowującej się do programisty, zjawisko, które powtarza się we wszystkich kolejnych generacjach języków programowania.