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.
Praktyczne wykorzystanie programowania hybrydowego może wynikać z:
Programowanie hybrydowe może być realizowane poprzez:
Ten drugi przypadek najczęściej dotyczy:
W Turbo Pascalu istnieje możliwość programowania:
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). Składnia:
inline(kod_maszynowy_1/kod_maszynowy_2/ …/kod_maszynowy_n);
procedure | function nagłówek; inline(kod_maszynowy_1/kod_maszynowy_2/ …/kod_maszynowy_n);
asm kod-asemblera end;
procedure | function nagłówek; asembler;
asm
kod-asemblera
end;
external) {$L nazwa_pliku_obj}
procedure | function nagłówek; external;
Składnia:
asm instr-asemblera-1; asm instr-asemblera-2; … asm instr-asemblera-n;
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.
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.