Programowanie hybrydowe

Programowanie hybrydowe, także: programowanie mieszane, programowanie wielojęzykowe – kodowanie (programowanie) określonego algorytmu w dwóch lub większej liczbie języków programowania.

Cel stosowania programowania hybrydowego

[edytuj | edytuj kod]

Praktyczne wykorzystanie programowania hybrydowego może wynikać z:

  • potrzeby optymalizacji części kodu, szczególnie w odniesieniu do wybranych, newralgicznych części algorytmu,
  • wyrażenia określonej części algorytmu przy pomocy języka (systemu programowania) najlepiej predysponowanego do rozwiązania określonego problemu,
  • możliwości wykorzystania istniejącego dla określonego zadania, już opracowanego kodu, w innym języku, niż zasadniczy program,
  • pisania programu przez grupę programistów specjalizujących się w różnych językach programowania,

Typy programowania hybrydowego

[edytuj | edytuj kod]

Programowanie hybrydowe może być realizowane poprzez[1]:

Ten drugi przypadek najczęściej dotyczy:

Różne przypadki szczególne

[edytuj | edytuj kod]

W Turbo Pascalu[2] istnieje możliwość programowania[3]:

Oczywiście istnieje możliwość włączania skompilowanych podprogramów napisanych w innych językach, lecz wymaga to odpowiedniego przygotowania bloku w innym języku (zobacz dalej: Turbo C[4]). Składnia:

  • język maszynowy – inline
    • jako samodzielna instrukcja strukturalna w ciągu instrukcji Pascal-owych
 inline(kod_maszynowy_1/kod_maszynowy_2//kod_maszynowy_n); 
    • jako podprogram
 procedure | function nagłówek; inline(kod_maszynowy_1/kod_maszynowy_2//kod_maszynowy_n); 
  • asembler
    • jako samodzielna instrukcja strukturalna w ciągu instrukcji Pascal-owych
 asm    kod-asemblera  end; 
    • jako podprogram
 procedure | function nagłówek; asembler;    asm      kod-asemblera    end; 
 {$L nazwa_pliku_obj}  procedure | function nagłówek; external; 

Turbo C

[edytuj | edytuj kod]

Składnia[4]:

  • asembler
 asm instr-asemblera-1;  asm instr-asemblera-2;  …  asm instr-asemblera-n; 
  • definiowanie funkcji do wykorzystania w Pascalu
 typ pascal nazwa(parametry);    { body } 

Powyższe zastosowanie odpowiedniego modyfikatora (“pascal”) powoduje zmianę sposobu kompilacji funkcji:

system programowania Turbo C Turbo Pascal
modyfikator w Turbo C cdecl pascal
odkładanie argumentów na stos od prawej do lewej od lewej do prawej
zdejmowanie argumentów ze stosu funkcja wywołująca funkcja wywoływana
nazwa funkcji przekazywana konsolidatorowi poprzedzona znakiem pokreślenia "_" nie poprzedzona znakiem pokreślenia
nazwa funkcji bez zmian zmiana małych liter na wielkie

Zwykle w konkretnej implementacji tego języka zdefiniowany jest podsłownik ASSEMBLER, zawierający definicję słów stanowiących odpowiedniki mnemoników rozkazów i rejestrów danego procesora. Specyfika i rozszerzalność języka FORTH umożliwia definiowanie asemblerów wewnętrznych przez programistę, jak również dzięki specjalnym słowom podstawowym (predefiniowanym) wprowadzania wprost kodów maszynowych do kodu źródłowego języka FORTH. Można również tak zdefiniować rozkazy asemblera, aby dowolnie przełączać rozkazy asemblera i słowa języka wysokiego poziomu[5][6].

PHP, JavaScript i inne

[edytuj | edytuj kod]

Współcześnie szeroko stosowane jest programowanie hybrydowe w zastosowaniach internetowych, w których wykorzystuje się języki skryptowe takie jak JavaScript, PHP, Python i inne.

Zobacz też

[edytuj | edytuj kod]

Przypisy

[edytuj | edytuj kod]
  1. Michael Marcotty, Henry Ledgord, W kręgu języków programowania, tłumaczenie: Krystyna Jerzykiewicz, Wydawnictwa Naukowo-Techniczne, Warszawa 1980, Seria: Biblioteka Inżynierii Oprogramowania, ISBN 83-204-1342-7
  2. implementacji języka Pascal, firmy Borland, stworzonej w ramach serii Turbo
  3. Andrzej Marciniak, Borland Pascal 7.0, Wyd. Nakom, Poznań 1994 r., seria: Biblioteka Użytkownika Mikrokomputerów ISBN 83-85060-53-7, ISSN 0867-6011
  4. a b Jan Bielecki, Turbo C z grafiką na IBM PC, Wydawnictwa Naukowo-Techniczne, Warszawa 1990, Seria: Mikrokomputery, ISBN 83-204-1101-7
  5. Jan Bielecki, Język FORTH, Wydawnictwa Naukowo-Techniczne, Warszawa 1988, Seria: Mikrokomputery, ISBN 83-204-0930-6
  6. Jan Ruszczyc, Poznajemy FORTH, SOETO Warszawa 1987 r., Seria: Informatyka mikrokomputerowa