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

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

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

Ten drugi przypadek najczęściej dotyczy:

Różne przypadki szczególne

edytuj

Turbo Pascal 7.0

edytuj

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

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[3]). 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

Składnia[3]:

  • 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

FORTH

edytuj

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[4][5].

PHP, JavaScript i inne

edytuj

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

Uwagi

edytuj
  1. implementacji języka Pascal, firmy Borland, stworzonej w ramach serii Turbo

Przypisy

edytuj
  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. 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
  3. a b Jan Bielecki, Turbo C z grafiką na IBM PC, Wydawnictwa Naukowo-Techniczne, Warszawa 1990, Seria: Mikrokomputery, ISBN 83-204-1101-7
  4. Jan Bielecki, Język FORTH, Wydawnictwa Naukowo-Techniczne, Warszawa 1988, Seria: Mikrokomputery, ISBN 83-204-0930-6
  5. Jan Ruszczyc, Poznajemy FORTH, SOETO Warszawa 1987 r., Seria: Informatyka mikrokomputerowa

📚 Artikel Terkait di Wikipedia

C++

zmiany w standardzie języka C były zainspirowane językiem C++ (np. słowo inline w C99). Nazwa języka została zaproponowana przez Ricka Mascittiego w 1983

GNU Compiler Collection

GNU Compiler Collection (GCC) – zestaw kompilatorów o otwartym kodzie źródłowym rozwijany w ramach Projektu GNU. Rozpowszechniany jest na licencji GPL

C (język programowania)

została opublikowana przez ISO w 1999 roku. Zaczerpnęła z języka C++ funkcje inline i komentarze jednoliniowe (rozpoczynające się sekwencją //). Zdefiniowano

Słowo zastrzeżone

zastrzeżone jedynie w ramach deklaracji klasy, zaś słowa takie jak forward, inline, assembler (i kilka innych niewystępujących w standardowym Pascalu bądź też będących

Dyrektywa (informatyka)

Biblioteka Inżynierii Oprogramowania, ISBN 83-204-0597-1. Leo J. Scanlon, Assembler 8086/8088/80286, Intersoftland, Warszawa 1992, tłumaczenie: Lucyna Stanikowska

Visual Basic .NET

linii. Chr() zwracający znak o kodzie podanym jako argument jest funkcją inline, także w trakcie kompilacji zamienia się w znak końca linii (wniosek: nie

Common Lisp

przyrostowych. Standardowe deklaracje optymalizujące kompilację (jak funkcje inline) zostały przedstawione w specyfikacji języka. Większość implementacji CL

Fraza (programowanie)

Pascal dostępne są dla podprogramów frazy: inline(kod_maszynowy) definiujący podprogram w kodzie maszynowym assembler podprogram napisany w asemblerze forward