Оболочка — это интерпретатор командной строки, который интерпретирует то, что пользователь вводит в интерфейс командной строки (CLI). А CLI сам по себе — это компьютерная программа для взаимодействия пользователей с компьютерами с помощью текстового интерфейса.
Компьютер с Unix-подобной ОС, такой как Linux, обычно использует Unix-оболочку, например, Bourne Again SHell (bash), TENEX C shell (tcsh), Korn shell (ksh), Z shell (zsh) и т.д.
CLI реализует чтение, оценку, печать и цикл (REPL), чтобы сделать интерфейс интерактивным. Он будет циклически повторяться до тех пор, пока не возникнет условие, которое заставит процесс: чтение, оценка и печать завершиться.
Однако некоторые языки программирования имеют свою собственную оболочку, например, Python, Java, Clojure, NodeJS и т.д. В Java мы будем использовать java shell (JShell) в нашем CLI, чтобы интерпретировать введенный синтаксис java. В общем, люди называют CLI, использующий JShell, Java REPL, то же самое относится и к другим языкам.
На самом деле, я все еще выясняю основное назначение REPL для языка программирования. Обычно мы используем IDE для разработки программы с необходимыми, полезными и важными функциями внутри. Предположительно, поскольку она выполняет только часть кода, будет полезно тестировать атомарно через REPL вместо того, чтобы запускать программу целиком. Честно говоря, я предпочитаю использовать replit.com для этого случая.
У меня в голове всплыло, что если проинспектировать браузер и перейти на вкладку консоли, то там используется JavaScript. Да, я думаю, это лучший подход для внешнего вида REPL языка программирования.