Участник:Alexsmail/Программирование 2020/новый черновик: различия между версиями

Содержимое удалено Содержимое добавлено
→‎REPL: обновление
Строка 264:
 
=== Компиляция и запуск ===
REPL-среда подходить для разработки или отладки программы. Если вы хотите запустить её для реального использования, то вам следует её скомпилировать. Она будет и работать быстрее и вы сможете использовать библиотеки или другой код других людей
'''TODO:'''
 
Далее,Компиляцией мыявляется должныпреобразование скомпилировать этот код — преобразовать егокода в формат, который доступен для понимания компьютера. В Kotlin мы не компилируем в так называемые машинные коды — инструкции для конкретного процессора, которые будут непосредственно на нём исполняется, мы компилируем в так называемый ''байткод'' — промежуточное представление кода. Это некоторый другой язык программирования, ''концептуально'' типа ассемблера. Байткод был изобретён для того, чтобы отвязать написание программы от конкретной операционной системы\процессора на которой она будет бежать. Идея Java Virtaul Machine — написал один раз — бежит везде. К примеру, вы можете писать код, компилировать его в байткод на Windows или Mac, а затем запустить байткод под Linux и ваша программа, в теории, работает точно также. См. ещё чуть ниже. На практике это не совсем одно и то же, к примеру если вы работаете с файловой системой, вас могут ожидать сюрпризы, однако, во-первых, ваша программа работает в принципе, а во-вторых, правильно написанная программа будет-таки работать везде.
 
'''Замечание''': Байткод является общим для всех языков, которые используют JVM таких как Java, Scala, Kotlin, Ceylon. Исторически, оно было изобретено для Java, однако другие языки «компилируется» в этот же байткод. Таким образом, после компиляции между этими языками нет никакой разницы, JVM не различает между ними.