Сообщение Re[2]: Возможности ЯП vs Тьюринг-полнота от 19.11.2021 7:13
Изменено 19.11.2021 7:24 Shmj
Re[2]: Возможности ЯП vs Тьюринг-полнота
Здравствуйте, Muxa, Вы писали:
M>Система ввода-вывода.
M>А можно пример языка без таких функций? А то кроме шейдерных языков ничего в голову не приходит.
Таких языков не делают, т.к. нет смысла.
В теории это не обязательно функции — может быть просто область памяти, которая связана, к примеру, с дисплеем. Все что туда запишите — отобразится на экране попиксельно.
Но если брать не теорию а практику. Взять тот же C# — в самом низу там функции с модификатором extern. Без реализации — просто название функциии во внешней dll, которая уже умеет работать с железом. Сам C# напрямую ничего не умеет без этих магических функций с extern — даже на консоль вывести не умеет.
Убери из C# это слово extern — и все — он станет абсолютно бесполезным, хотя нисколько не потеряет Тьюринг-полноту.
M>Система ввода-вывода.
M>А можно пример языка без таких функций? А то кроме шейдерных языков ничего в голову не приходит.
Таких языков не делают, т.к. нет смысла.
В теории это не обязательно функции — может быть просто область памяти, которая связана, к примеру, с дисплеем. Все что туда запишите — отобразится на экране попиксельно.
Но если брать не теорию а практику. Взять тот же C# — в самом низу там функции с модификатором extern. Без реализации — просто название функциии во внешней dll, которая уже умеет работать с железом. Сам C# напрямую ничего не умеет без этих магических функций с extern — даже на консоль вывести не умеет.
Убери из C# это слово extern — и все — он станет абсолютно бесполезным, хотя нисколько не потеряет Тьюринг-полноту.
Re[2]: Возможности ЯП vs Тьюринг-полнота
Здравствуйте, Muxa, Вы писали:
M>Система ввода-вывода.
M>А можно пример языка без таких функций? А то кроме шейдерных языков ничего в голову не приходит.
Таких языков не делают, т.к. нет смысла.
В теории это не обязательно функции — может быть просто область памяти, которая связана, к примеру, с дисплеем. Все что туда запишите — отобразится на экране попиксельно.
Но если брать не теорию а практику. Взять тот же C# — в самом низу там функции с модификатором extern. Без реализации — просто название функциии во внешней dll, которая уже умеет работать с железом. Сам C# напрямую ничего не умеет без этих магических функций с extern — даже на консоль вывести не умеет.
Убери из C# это слово extern — и все — он станет абсолютно бесполезным, хотя нисколько не потеряет Тьюринг-полноту.
Т.е., получается, базовое слово в C# — это именно extern. Оно позволяет вызывать функции, созданные на взрослых ЯП, которые уже умеют работать с железом напрямую.
M>Система ввода-вывода.
M>А можно пример языка без таких функций? А то кроме шейдерных языков ничего в голову не приходит.
Таких языков не делают, т.к. нет смысла.
В теории это не обязательно функции — может быть просто область памяти, которая связана, к примеру, с дисплеем. Все что туда запишите — отобразится на экране попиксельно.
Но если брать не теорию а практику. Взять тот же C# — в самом низу там функции с модификатором extern. Без реализации — просто название функциии во внешней dll, которая уже умеет работать с железом. Сам C# напрямую ничего не умеет без этих магических функций с extern — даже на консоль вывести не умеет.
Убери из C# это слово extern — и все — он станет абсолютно бесполезным, хотя нисколько не потеряет Тьюринг-полноту.
Т.е., получается, базовое слово в C# — это именно extern. Оно позволяет вызывать функции, созданные на взрослых ЯП, которые уже умеют работать с железом напрямую.