Что такое нативный язык программирования
Перейти к содержимому

Что такое нативный язык программирования

  • автор:

Нативный код

Машинный код (также употребляются термины собственный код, или платформенно-ориентированный код, или родной код, или нативный код — от англ. native code ) — система команд (язык) конкретной вычислительной машины (машинный язык), который интерпретируется непосредственно микропроцессором или микропрограммами данной вычислительной машины.

Каждая модель процессора имеет свой собственный машинный язык, хотя во многих моделях эти наборы команд сильно перекрываются. Говорят, что процессор A совместим с процессором B, если процессор A полностью «понимает» машинный код процессора B. Если процессор A знает несколько команд, которых не понимает процессор B, то B несовместим с A.

«Слова» машинного языка называются машинными инструкциями. Каждая из них описывает элементарное действие, выполняемое процессором, такое как «переслать байт из памяти в регистр». Программа — это просто длинный список инструкций, выполняемых процессором. Раньше процессоры просто выполняли инструкции одну за другой, но новые суперскалярные процессоры способны выполнять несколько инструкций за раз. Прямой поток выполнения команд может быть изменён инструкцией перехода, которая переносит выполнение на инструкцию с заданным адресом. Инструкция перехода может быть условной, выполняющей переход только при соблюдении некоторого условия.

Также инструкции бывают постоянной длины (у MISC-архитектур) и диапазонной (у x86 команда имеет длину от 8 до 120 битов).

См также

  • Язык ассемблера
  • Система команд

Wikimedia Foundation . 2010 .

  • Нативное программное обеспечение
  • Натиск на Восток

Полезное

Смотреть что такое «Нативный код» в других словарях:

  • Исполняемый код — Эта статья о системе команд в целом; об инструкциях см.: Код операции (информатика). Машинный код (также употребляются термины собственный код, или платформенно ориентированный код, или родной код, или нативный код от англ. native code) система… … Википедия
  • Платформенно-ориентированный код — Эта статья о системе команд в целом; об инструкциях см.: Код операции (информатика). Машинный код (также употребляются термины собственный код, или платформенно ориентированный код, или родной код, или нативный код от англ. native code) система… … Википедия
  • Родной код — Эта статья о системе команд в целом; об инструкциях см.: Код операции (информатика). Машинный код (также употребляются термины собственный код, или платформенно ориентированный код, или родной код, или нативный код от англ. native code) система… … Википедия
  • Сравнение языков программирования — Эту статью следует викифицировать. Пожалуйста, оформите её согласно правилам оформления статей. Условные обозначения … Википедия
  • Интерпретируемый язык программирования — язык программирования, в котором исходный код программы не преобразовывается в машинный код для непосредственного выполнения центральным процессором (как в компилируемых языках), а исполняется с помощью специальной программы интерпретатора. В… … Википедия
  • Машинная инструкция — Эта статья о системе команд в целом; об инструкциях см.: Код операции (информатика). Машинный код (также употребляются термины собственный код, или платформенно ориентированный код, или родной код, или нативный код от англ. native code) система… … Википедия
  • Машинный язык — Эта статья о системе команд в целом; об инструкциях см.: Код операции (информатика). Машинный код (также употребляются термины собственный код, или платформенно ориентированный код, или родной код, или нативный код от англ. native code) система… … Википедия
  • Мобильная игра — Часть серии … Википедия
  • Игры для мобильных устройств — … Википедия
  • OCaml — Objective Caml Семантика: мультипарадигменный: функциональный, объектно ориентированный, императивный Автор(ы): INRIA Релиз: 4.00.1 (5 октября … Википедия
  • Обратная связь: Техподдержка, Реклама на сайте
  • �� Путешествия

Экспорт словарей на сайты, сделанные на PHP,
WordPress, MODx.

  • Пометить текст и поделитьсяИскать в этом же словареИскать синонимы
  • Искать во всех словарях
  • Искать в переводах
  • Искать в ИнтернетеИскать в этой же категории

нативный язык программирования

Нативный язык программирования играет важную роль в разработке программного обеспечения. Это язык, который позволяет программисту напрямую взаимодействовать с аппаратурой и операционной системой компьютера. В данной статье рассмотрим преимущества нативного языка программирования и его использование при создании программных решений.

Одним из ключевых преимуществ нативного языка программирования является его максимальная производительность. В отличие от интерпретируемых языков программирования, нативный язык позволяет оптимизировать код, учитывая специфику аппаратных средств и операционной системы. Благодаря этому, приложения, написанные на нативном языке, могут работать гораздо быстрее и эффективнее.

Еще одним преимуществом нативного языка программирования является полный контроль над ресурсами компьютера. В связи с этим, разработчик может оптимизировать использование памяти, процессора и других ресурсов, что позволяет создавать более эффективные и масштабируемые приложения. Кроме того, нативный язык программирования предоставляет возможность использовать специфические функции и библиотеки операционной системы, что значительно упрощает разработку приложений с высокой функциональностью.

Нативный язык программирования также обеспечивает повышенную надежность и безопасность программных решений. Благодаря возможности полного контроля над ресурсами компьютера и использованию своих собственных алгоритмов, разработчик может предотвратить утечку памяти, обработать ошибки и обеспечить правильную работу приложения в различных ситуациях. Кроме того, нативный язык программирования предоставляет возможность применять различные методы защиты от внешних угроз, таких как хакерские атаки и злоумышленническое использование программ.

Использование нативного языка программирования широко распространено в различных сферах индустрии программного обеспечения. Он находит применение при разработке операционных систем, встроенных систем, высоконагруженных серверных приложений, графических приложений и многих других областях. Наиболее популярными нативными языками программирования являются C++ и Rust, которые широко используются в индустрии и обладают большим сообществом разработчиков.

В заключение, нативный язык программирования предоставляет разработчикам много преимуществ, включая высокую производительность, полный контроль над ресурсами компьютера, надежность и безопасность. Этот язык широко применяется в различных сферах программной разработки и является основой создания эффективных и функциональных приложений.

Что такое нативный код?

В переводе с английского Native = Родной. И смотря в каком контексте это встречается. Если например писать приложение на Flash под Android и iOS то это считается не нативное приложение. А если же писать два приложения. Одно на Android NDK для Android и iOS SDK для iOS то эти приложения можно счтитать нативными. Понятие нативный код — код который поставляется разработчиками чего-либо. Как например весь код в Java SDK под Android считается нативным. Все библиотеки третих разработчиков уже нет. Ну как то так 🙂

6 авг 2013 в 10:31

@fori1ton, спасибо. Вы мне открыли глаза 🙂 Стока времени заблуждений. Но в тоже время код можно считать нативным по отношению к виртуальной машине?

6 авг 2013 в 10:47

@Bimawa, обычно так не делают. Есть нативнй — исполняемый на процессоре, и ненативный — исполняемый в виртуальной машине. Разве что если на Java написать виртуальную машину и запускать в ней какой-то код, то это будет ненативный код для JVM, а код самой виртуальной машины можно будет считать нативным по отношению к JVM. Но это уже изврат.

6 авг 2013 в 10:53
@fori1ton, спасибо! @nMike и Вам тоже )
6 авг 2013 в 10:55

Если говорить о window (по крайней мере об NT платформе — 2000, xp, 7,8), то в этом случае .NET — никакой не нативный. Более того, приложения, которые используют win api — также не являются нативными. Нативные только те, которые используют специальное Native API.

6 авг 2013 в 11:18

5 ответов 5

Сортировка: Сброс на вариант по умолчанию

Понятие нативный код — код который поставляется разработчиками чего-либо. Как например весь код в Java SDK под Android считается нативным. Все библиотеки третих разработчиков уже нет.

Бред. Нативный код — код, компилируемый в машинные инструкции и выполняемый непоредственно процессором устройства. Любой код на Java не нативен по определению, так как выполняется на виртуальной машине. Нативный код могут писать как разработчики платформы, так и третьи разработчики (при помощи упомянутого Android NDK).

Отслеживать
ответ дан 6 авг 2013 в 10:41
23.4k 3 3 золотых знака 50 50 серебряных знаков 70 70 бронзовых знаков

@fori1ton, возможно я не до конца понял Ваш ответ, но IMHO утверждение Любой код на Java не нативен по определению, так как выполняется на виртуальной машине. несколько спорно, если вспомнить о такой полузабытой штуке, как PicoJava (аппаратная интерпретация Java байт-кода). — А по существу ответа, что нативным называется код, который исполняется аппаратно, я согласен (хотя иногда трудно провести границу между чистой аппаратурой, микропрограммами, гипервизором и эмуляцией некоторых команд системным ПО).

6 авг 2013 в 20:27
@avp: а ещё JIT-компиляция.
6 авг 2013 в 23:34

А учитывая, что современные процессоры умеют переставлять команды местами, более того, они транслируют инструкции в свое собственное внутреннее представление.

7 авг 2013 в 6:55

@KoVadim, да, и это очень напоминает JIT компиляцию, только не для байт-кода, а для машинных инструкций.

7 авг 2013 в 7:15

В одном слове «нативный» (от англ. native, «родной») недостаточно информации. Необходимо уточнение: родной для кого?

  • Для JVM родной код — байт-код, родной язык — Java (и другие).
  • Для Windows родной код — Portable Executable, родной язык — C++, Delphi и др.
  • Для процессора x86 родной код — инструкции x86, язык — ассемблер.

и т.п. Многие современные приложения выполняются на «слоеном пироге» из платформ: например, написанное на Java приложение выполняется на JVM, которая в свою очередь может выполняться под (или над?) Windows, которая выполняется на процессоре x86. Каждый слой имеет свой нативный код. Код из другого слоя для него не будет нативным, например, для Windows Java-код ненативный.

Родной язык — язык, для которого есть компилятор в родной код (для данной платформы).

Отслеживать
ответ дан 7 ноя 2015 в 21:55
Sergey Slepov Sergey Slepov
490 3 3 серебряных знака 8 8 бронзовых знаков
Бредовый ответ. Это достаточно общеизвестное понятие, чтобы в нём было достаточно информации.
7 ноя 2015 в 22:38
@Qwertiy в целом верно, если убрать последний абзац
14 ноя 2017 в 10:08
@Qwertiy, можно конкретней, с чем именно вы несогласны?
14 ноя 2017 в 16:18
@rjhdby, перечитал последний абзац. Чем он вам не понравился?
14 ноя 2017 в 16:19
@SergeySlepov тем, что я с ним в корне не согласен
14 ноя 2017 в 16:49

Обратимся к Wiki

In computing, software or data formats that are native to a system are those that the system supports with minimal computational overhead and additional components. This word is used in such terms as native mode or native code.

Something running on a computer natively means that it is running without any external layer requiring fewer software layers. For example, in Microsoft Windows the Native API is an application programming interface specific for Windows NT kernel, which can be used to give access to some kernel functions, which cannot be directly accessed through a more universal Windows API.

Нативный для среды исполнения код/язык/АПИ/Формат данных и т.д. — это такой, который понимается средой исполнения по умолчанию, без сложных надстроек. Абсолютно четкого определения нет — есть некое «общепринятое» понимание, которое может разниться от человека к человеку.

Для Windows, например, нативным является исполняемый код в формате .exe (или .com ) файла, который работает непосредственно с Win API. Для Unix систем нативным являются бинарные файлы (а, так-же, shell-скрипты внезапно), для JVM нативным является .jar (не только) файл. Т.е. если совсем просто, то нативный код — это тот, который вы скормили установленной из коробки среде исполнения(дабл клик по .exe файлу в Windows) и он исполнился, не ругаясь, что ему не хватает библиотек или фреймворков.

Нативный язык — это это еще более обтекаемое определение. Можно, с оговорками, считать, что нативный для платформы язык — это язык, для которого производителем платформы создана среда разработки/компилятор в нативный код и о поддержке которого они официально заявляют в документации.

PS На ум пришла хорошая аналогия. Уровень знания иностранного языка определяется экзаменами по нему с выставлением оценки: A1,A2,B1,B2,C1,C2. Но есть и еще один уровень владения языком — native. Означает он что человек с детства живет в данной языковой среде, говорит на нем и думает(!) на нем. Уровень native не говорит о грамотности человека, зачастую native хуже знает правила языка, чаще ошибается в грамматике и пунктуации, чем С2, но он для него РОДНОЙ.

Что такое НАТИВНЫЙ язык программирования, и чем от отличается от ненативного?

НАТИВНЫЙ ЯП — тот, код на котором не исполняется сторонним (не предустановленным на ОС) интерпретатором, как в случае с C#, Java, Python и др.

Java на винде не нативна, т. к. JVM надо еще установить на винду.
Но на андроиде Java нативна, ибо JVM там изначально стоит и все приложения ее используют.

Или, в более широком смысле, — вообще не исполняется каким-либо интерпретатором.

В этом смысле нативного инструмента разработки под Android — не существует, а под винду — существует и даже не один — Visual C++ без .NET, C++ Builder, ассемблеры, PureBasic (компилируется посредством компилятора ассемблера) и др.

Олег ОстапчукУченик (232) 4 года назад

Про C# в учебнике (Йен Гриффитс, стр. 23) говорят, что он нативен, а м/у тем, нео-мо ведь устанавливать .Net Framework.

Остальные ответы

Англ. native — родной, т. е. предусмотренный разработчиками для чего-то. Конкретнее — зависит от контекста.

Написания кода на чистом языке без «примесей » часто можно увидеть/услышать подобное : чистый js или php .

Добавить комментарий

Ваш адрес email не будет опубликован. Обязательные поля помечены *