Здравствуйте, goondick, Вы писали:
G>вот задумался вопросом: чтобы создать самый элементарный язык программирования, сколько нужно минимум операторов?
G>достаточно иметь IF, GOTO и LABEL? что-то еще?
Здравствуйте, goondick, Вы писали:
G>вот задумался вопросом: чтобы создать самый элементарный язык программирования, сколько нужно минимум операторов?
G>достаточно иметь IF, GOTO и LABEL? что-то еще?
И сам язык.
А ты написал только операторы управления (и то не все, подпрограмм нет).
И зачем это надо, если ты не разрабатываешь процессоры?
Здравствуйте, goondick, Вы писали:
G>вот задумался вопросом: чтобы создать самый элементарный язык программирования, сколько нужно минимум операторов?
G>достаточно иметь IF, GOTO и LABEL? что-то еще?
Вопрос непонятен — что такое "оператор" вне контекста некоторого языка программирования или класса языков?
Можно взять другую модель исполнения, не имеющую вообще никаких операторов.
Здравствуйте, D. Mon, Вы писали:
DM>Здравствуйте, goondick, Вы писали:
G>>вот задумался вопросом: чтобы создать самый элементарный язык программирования, сколько нужно минимум операторов?
DM>Одного: DM>http://semarch.linguistics.fas.nyu.edu/barker/Iota/
Здравствуйте, D. Mon, Вы писали:
DM>Здравствуйте, goondick, Вы писали:
G>>вот задумался вопросом: чтобы создать самый элементарный язык программирования, сколько нужно минимум операторов?
DM>Одного: DM>http://semarch.linguistics.fas.nyu.edu/barker/Iota/
Это надо сначала пыхнуть такой же травы, что и автор этой статьи. У меня к сожалению такой нет.
Здравствуйте, Курилка, Вы писали:
К>Здравствуйте, goondick, Вы писали:
G>>вот задумался вопросом: чтобы создать самый элементарный язык программирования, сколько нужно минимум операторов?
G>>достаточно иметь IF, GOTO и LABEL? что-то еще?
К>недавнюю тему
Здравствуйте, LuciferSingapore, Вы писали:
LS>Здравствуйте, goondick, Вы писали:
G>>вот задумался вопросом: чтобы создать самый элементарный язык программирования, сколько нужно минимум операторов?
G>>достаточно иметь IF, GOTO и LABEL? что-то еще?
LS>Вопрос непонятен — что такое "оператор" вне контекста некоторого языка программирования или класса языков? LS>Можно взять другую модель исполнения, не имеющую вообще никаких операторов.
Ну, в таком случае можно взять нормальные алгоритмы Маркова. Там программа — это последовательность формул подстановки. С какой-то точки зрения здесь можно увидеть оператор подстановки, согласно этому определению.
Или, например, частично рекурсивные функции. В них есть понятие оператора, но это другое понятие.
Здравствуйте, D. Mon, Вы писали:
DM>Там есть не меньше двух — стрелки двух видов.
Это называется формулами подстановки, а не операторами. Да, с некоторой точки зрения можно назвать их операторами.
Можно взять, к примеру, частично рекурсивные функции. В них есть понятие оператора, но это другое понятие, не то, на которое дал ссылку топикстартер.
Проблема чисто терминологическая.
Здравствуйте, alpha21264, Вы писали:
A>Здравствуйте, goondick, Вы писали:
G>>вот задумался вопросом: чтобы создать самый элементарный язык программирования, сколько нужно минимум операторов?
G>>достаточно иметь IF, GOTO и LABEL? что-то еще?
A>А ты написал только операторы управления (и то не все, подпрограмм нет).
так можно подпрограмму организовать с GOTO и LABEL
A>И зачем это надо, если ты не разрабатываешь процессоры?
пока не придумал зачем. Может детей в дошколке обучать или пенсионерам там для забавы..
Здравствуйте, goondick, Вы писали:
G>Здравствуйте, alpha21264, Вы писали:
A>>Здравствуйте, goondick, Вы писали:
G>>>вот задумался вопросом: чтобы создать самый элементарный язык программирования, сколько нужно минимум операторов?
G>>>достаточно иметь IF, GOTO и LABEL? что-то еще?
A>>А ты написал только операторы управления (и то не все, подпрограмм нет).
G>так можно подпрограмму организовать с GOTO и LABEL
Тогда метка должна быть не простая, а вычислимая.
A>>И зачем это надо, если ты не разрабатываешь процессоры?
G>пока не придумал зачем. Может детей в дошколке обучать или пенсионерам там для забавы..
Начни с постановки задачи. Сразу поймешь куда нужно оптимизировать язык.
PS.
Сейчас язык программирования редко является только языком.
Чаще это платформа — язык, компилятор, ИДЕ, библиотеки.
Это если по взрослому.
Здравствуйте, LuciferSingapore, Вы писали:
LS>Здравствуйте, goondick, Вы писали:
G>>Оператор(программирование)
LS>Ну, в таком случае можно взять нормальные алгоритмы Маркова. Там программа — это последовательность формул подстановки. С какой-то точки зрения здесь можно увидеть оператор подстановки, согласно этому определению. LS>Или, например, частично рекурсивные функции. В них есть понятие оператора, но это другое понятие.
ну это же алгоритм а не программирование.
Тем болле мне надо чтобы еще язык был доступен в понимании например моей продвинутой бабушке. С такой мутью она даже крестики-нолики не напишет: { 0, 1, | } |0 → 0|| 1 → 0| 0 → ""
Здравствуйте, alpha21264, Вы писали:
A>Здравствуйте, goondick, Вы писали:
G>>Здравствуйте, alpha21264, Вы писали:
A>>>Здравствуйте, goondick, Вы писали:
G>>>>вот задумался вопросом: чтобы создать самый элементарный язык программирования, сколько нужно минимум операторов?
G>>>>достаточно иметь IF, GOTO и LABEL? что-то еще?
A>>>А ты написал только операторы управления (и то не все, подпрограмм нет).
G>>так можно подпрограмму организовать с GOTO и LABEL
A>Тогда метка должна быть не простая, а вычислимая.
ну да, так же думаю
A>>>И зачем это надо, если ты не разрабатываешь процессоры?
G>>пока не придумал зачем. Может детей в дошколке обучать или пенсионерам там для забавы..
A>Начни с постановки задачи. Сразу поймешь куда нужно оптимизировать язык.
A>PS. A>Сейчас язык программирования редко является только языком. A>Чаще это платформа — язык, компилятор, ИДЕ, библиотеки. A>Это если по взрослому.
компилятор и ИДЕ не проблема, с библиотеками сложнее, они тоже должны быть с низким порогом вхождения.
Здравствуйте, goondick, Вы писали:
G>вот задумался вопросом: чтобы создать самый элементарный язык программирования, сколько нужно минимум операторов?
Основная структурная теорема говорит, что достаточно следования, альтернативы (if) и итерации (while).
Есть также следствие, что достаточно следования и while:
1. if (b) { foo; } else { bar; } эквивалентно if (b) { foo; }; if (!b) { bar; }.
2. if (b) { foo; } эквивалентно __flag = false; while (!__flag && b) { foo; __flag = true; }.
Но это всё в предположении, что работаем в императивной парадигме. В функциональной, например, базис составляют суперпозиция, примитивная рекурсия и минимизация.
Здравствуйте, goondick, Вы писали:
G>Здравствуйте, alpha21264, Вы писали:
A>>PS. A>>Сейчас язык программирования редко является только языком. A>>Чаще это платформа — язык, компилятор, ИДЕ, библиотеки. A>>Это если по взрослому.
G>компилятор и ИДЕ не проблема, с библиотеками сложнее, они тоже должны быть с низким порогом вхождения.
Сейчас делают так — берут уже готовую библиотеку, и придулывают к ней линк (бандл) к языку.
И вообще, я бы на макросах C++ что-нибудь сочинил бы.
Язык предоставляемый пользователю — какой мы сочиним.
А все остальные составляющие платформы — готовые.
У меня один товарищ так радиоаппаратуру описывал.
Здравствуйте, alpha21264, Вы писали:
A>Здравствуйте, goondick, Вы писали:
G>>Здравствуйте, alpha21264, Вы писали:
A>>>PS. A>>>Сейчас язык программирования редко является только языком. A>>>Чаще это платформа — язык, компилятор, ИДЕ, библиотеки. A>>>Это если по взрослому.
G>>компилятор и ИДЕ не проблема, с библиотеками сложнее, они тоже должны быть с низким порогом вхождения.
A>Сейчас делают так — берут уже готовую библиотеку, и придулывают к ней линк (бандл) к языку.
A>И вообще, я бы на макросах C++ что-нибудь сочинил бы. A>Язык предоставляемый пользователю — какой мы сочиним. A>А все остальные составляющие платформы — готовые. A>У меня один товарищ так радиоаппаратуру описывал.
интересная идея. спасибо! я совсем про такую фишку забыл.