Форум программистов, компьютерный форум CyberForum.ru

C++

Войти
Регистрация
Восстановить пароль
 
Рейтинг: Рейтинг темы: голосов - 10, средняя оценка - 4.70
malan2009
0 / 0 / 0
Регистрация: 19.05.2012
Сообщений: 109
#1

Как создаются языки программирования? - C++

25.01.2014, 09:05. Просмотров 1645. Ответов 19
Метки нет (Все метки)

я не программист и в этом не силен, но господа программисты, у меня возник вопрос!! КАК СОЗДАЛИ ЯЗЫК ПРОГРАММИРОВАНИЯ (например си), ну в смысле вообще как!!!?? с помощью чего!!!?? как запрограммировали команды?? в то время то эвм какие были!!!! грубо говоря у меня есть компьютер, и как я могу СОЗДАТЬ язык программирования!! надеюсь мой вопрос понятен. заранее спасибо.
Similar
Эксперт
41792 / 34177 / 6122
Регистрация: 12.04.2006
Сообщений: 57,940
25.01.2014, 09:05     Как создаются языки программирования?
Посмотрите здесь:

Языки программирования - C++
Есть код программы #include <iostream> #include <stdlib.h> using namespace std; int main() { size_t...

Языки программирования, не требуюшие .net и подобных - C++
Не знаю к какому разделу это отнести. Нужен такой яп, чтобы написанная и скомпилированная програмулина работала на любых машинах с виндой....

В какой последовательности начать изучать языки программирования? - C++
Появился интерес к C++, но после того, как начал читать про него подробнее, наткнулся на информацию о том, что что бы легче было понимать...

Наследование классов "Языки программирования" - C++
Создать иерархию классов (Ассемблер, C, С++, язык программирования, язык программирования высокого уровня). Что можно описать в функциях...

как создаются 3д игры на с++? - C++
как создаются 3д игры на с++?

Как создаются динамические структуры - C++
Добрый вечер всем!!!:) Подскажите пожалуйста, как создаются динамические структуры. Если не сложно, объясните, как из этой вот структуры...

Как создаются оконные приложения - C++
Всем Привет! Вопрос следующий:Хочу научится писать оконные приложения, с гуи ну и т.д.До этого писал такие с opengl, но возможно ли...

После регистрации реклама в сообщениях будет скрыта и будут доступны все возможности форума.
_lunar_
1231 / 1157 / 80
Регистрация: 03.05.2011
Сообщений: 2,789
Записей в блоге: 3
Завершенные тесты: 1
25.01.2014, 13:26     Как создаются языки программирования? #2
если вкратце, язык программирования это синтаксис, понятный компилятору\транслятору для последующего перевода в машинный код, исполняемый на процессоре с определённой архитектурой.
так что создание языка программирования по сути есть создание компилятора.
Evg
Эксперт CАвтор FAQ
17473 / 5711 / 364
Регистрация: 30.03.2009
Сообщений: 15,684
Записей в блоге: 26
25.01.2014, 14:53     Как создаются языки программирования? #3
Цитата Сообщение от malan2009 Посмотреть сообщение
например си
Люди программировали на ассемблере (потому что прочие языки высокого уровня не годились), а потом подумали "что-то надоело на ассемблере писать, давайте сделаем язык, заодно решим проблему переносимости". Понятно, что я утрирую, но суть именно такая. Появилась необходимость, для которой существующие инструменты не устраивали - придумали новый язык. Как уже тебе написали, язык создаётся не как абстракция, висящая в вакууме, а сразу с интерпретатором/компилятором, окружением, понимаем того, для какого класса задач нужен язык и т.п.

Добавлено через 3 минуты
Цитата Сообщение от malan2009 Посмотреть сообщение
и как я могу СОЗДАТЬ язык программирования!
Возьмём следующую задачу. На вход программы подать текстовом файл, на выходе программа должна напечатать количество гласных букв в файле. Такая задача ведь не вызывает у тебя сложности. Но если подумать, ты уже создал примитивный язык программирования. Он убогий и бесполезный, но он уже что-то умеет - если скормить в интерпретатор (твой программу) файл на твоём языке программирования (любой текстовый файл), то на выходе интерпретатор выдаст результат, закодированный в твоей программе (количество гласных).

Интерпретатор/компилятор с реального языка программирования ничем принципиально от такой программы не отличается, кроме уровня сложности

Ну и эта тема может чем-нибудь поможет: Пишем свой интерпретатор языка BASIC
Dmitriy_M
1340 / 1221 / 111
Регистрация: 20.03.2009
Сообщений: 4,377
Записей в блоге: 11
28.01.2014, 11:01     Как создаются языки программирования? #4
Не могу не пропилить учебник Языки программирования и методы трансляции
AntonChik
1083 / 581 / 21
Регистрация: 11.11.2008
Сообщений: 1,544
29.01.2014, 13:40     Как создаются языки программирования? #5
философия тут такова, люди общались с эвм числами.
потом дабы облегчить себе это общение обозвали определенные последовательности чисел словами, стало поудобней, так появился ассемблер.
потом из этих слов стали составлять фразы, а фразы называть другими словами, из которых можно было составлять новые более сложные фразы, так появились языки высокого уровня.
больше добавить нечего.
чтобы написать язык программирования, надо сначала научиться (или понять как это делается) общаться с машиной на уровне чисел, остальное придет само.
malan2009
0 / 0 / 0
Регистрация: 19.05.2012
Сообщений: 109
29.01.2014, 13:47  [ТС]     Как создаются языки программирования? #6
вы не поняли мой вопрос к сожалению.(( меня интересует вопрос КАК ИМЕННО ЕГО СОЗДАЛИ!!!??? например как запрограммировали,........ хм..... ну например +, и в программе этот плюс выполняет сложение!!! на логических элементах или как!!?? я вобщем не могу правильно сформулировать вопрос.((
AntonChik
1083 / 581 / 21
Регистрация: 11.11.2008
Сообщений: 1,544
29.01.2014, 13:54     Как создаются языки программирования? #7
Цитата Сообщение от malan2009 Посмотреть сообщение
на логических элементах или как!!?
ага, типо того.
мы вас поняли. скорее вы не поймете, если начать объяснять с самого начала (с битов, байтов, флагов, регистров, стека и т.д.)
Evg
Эксперт CАвтор FAQ
17473 / 5711 / 364
Регистрация: 30.03.2009
Сообщений: 15,684
Записей в блоге: 26
29.01.2014, 15:42     Как создаются языки программирования? #8
Цитата Сообщение от malan2009 Посмотреть сообщение
вы не поняли мой вопрос к сожалению.(( меня интересует вопрос КАК ИМЕННО ЕГО СОЗДАЛИ!!!??? например как запрограммировали,........ хм..... ну например +, и в программе этот плюс выполняет сложение!!! на логических элементах или как!!?? я вобщем не могу правильно сформулировать вопрос.((
Если я правильно понял вопрос
Написать свой интерпретатор
malan2009
0 / 0 / 0
Регистрация: 19.05.2012
Сообщений: 109
29.01.2014, 16:37  [ТС]     Как создаются языки программирования? #9
да не то. блин. я не знаю как объяснить. ну вот например есть команды (или как они называются, не суть) if и else это если и иначе. правильно!!!?? так вот как в те года имея """КАЛЬКУЛЯТОРЫ"" сделали что if это если, а else это иначе. я где то вверху спросил про логические элементы, с помощью их или как?? понятно что именно я хочу узнать!?
ValeryS
Модератор
6543 / 5009 / 462
Регистрация: 14.02.2011
Сообщений: 16,656
29.01.2014, 16:49     Как создаются языки программирования? #10
Цитата Сообщение от malan2009 Посмотреть сообщение
я где то вверху спросил про логические элементы, с помощью их или как??
в машинных кодах
все программы после компиляции рано или поздно превращаются в машинные коды
машинные коды это язык который понимает процессор
например подали на вход 10 это значит процессор ждет еще пару чисел чтобы их сложить
а "язык процессора" создают инженеры которые создают процессор из
Цитата Сообщение от malan2009 Посмотреть сообщение
логические элементы,
а логические элементы создают из транзисторов
а транзисторы создают из .............
остановимся или будем дальше продолжать?
Evg
Эксперт CАвтор FAQ
17473 / 5711 / 364
Регистрация: 30.03.2009
Сообщений: 15,684
Записей в блоге: 26
29.01.2014, 16:52     Как создаются языки программирования? #11
Цитата Сообщение от malan2009 Посмотреть сообщение
я не знаю как объяснить
А ты потрудись. Не поленись потратить 10 минут времени и внятно сформулируй вопрос. В конце концов, тебе это надо, или нам?
malan2009
0 / 0 / 0
Регистрация: 19.05.2012
Сообщений: 109
29.01.2014, 17:11  [ТС]     Как создаются языки программирования? #12
да это все я понимаю. но не то все равно. я не знаю как объяснить еще. вот википедия пишет Си (англ. C) — язык программирования, разработанный в 1969—1973 годах сотрудниками Bell Labs Кеном Томпсоном и Деннисом Ритчи как развитие языка Би. 70-е года . какие там машины были, на перфокартах. ну а спомощью чего и каких средств сделали, что вот эта команда будет делать эту функцию, а эта команда, вот эту функцию. я вот этого не понимаю. да вобщем ответа по ходу не получу. больше я не знаю как задать правильно вопрос по этой теме.
ValeryS
Модератор
6543 / 5009 / 462
Регистрация: 14.02.2011
Сообщений: 16,656
29.01.2014, 17:26     Как создаются языки программирования? #13
Цитата Сообщение от malan2009 Посмотреть сообщение
какие там машины были, на перфокартах.
а других способов ты не знаешь
уже появились консоль
хранилища данных( аналог винчестеров)
в частности магнитные накопители
а для перфокарт как раз "естественные" языки малопригодны
Цитата Сообщение от malan2009 Посмотреть сообщение
ответа по ходу не получу
трудно ответить не зная вопроса

начни хотя бы с MARK III, какие языки программирования были для него?
Evg
Эксперт CАвтор FAQ
17473 / 5711 / 364
Регистрация: 30.03.2009
Сообщений: 15,684
Записей в блоге: 26
29.01.2014, 17:29     Как создаются языки программирования? #14
Цитата Сообщение от malan2009 Посмотреть сообщение
ну а спомощью чего и каких средств сделали, что вот эта команда будет делать эту функцию
Тебе уже неоднократно отвечали на этот вопрос. Что такое "сделали"? Я понимаю, что такое "взять топор и сделать табуретку", но могу только гадать, что же ты подразумеваешь под "сделали язык программирования"

Цитата Сообщение от malan2009 Посмотреть сообщение
да вобщем ответа по ходу не получу. больше я не знаю как задать правильно вопрос по этой теме
Т.е. твоя позиция такая. Ты тратишь минуту на то, чтобы не думая задать вопрос, люди тебе должны распинаться и что-то пояснять, а ты потом по королевски скажешь "вы тут все лохи, не можете понять, что я спрашиваю". При таком подходе вполне разумно, что никогда не услышишь ответа на вопрос
malan2009
0 / 0 / 0
Регистрация: 19.05.2012
Сообщений: 109
29.01.2014, 17:36  [ТС]     Как создаются языки программирования? #15
я не хочу так глубоко углубляться. я и не знаю что такое марк 3. вобщем представь ты в 70-х годах и ты с фамилией например одного из этих типов Bell Labs Кеном Томпсоном и Деннисом Ритчи. так вот с чего ты начал при создании языка СИ, имея """КАЛЬКУЛЯТОРЫ""" !!!???

Добавлено через 1 минуту
значит я не понятно объясняю то, на что хочу услышать ответ. вобщем ладно. закрываем тему и все.
ValeryS
Модератор
6543 / 5009 / 462
Регистрация: 14.02.2011
Сообщений: 16,656
29.01.2014, 17:46     Как создаются языки программирования? #16
Цитата Сообщение от malan2009 Посмотреть сообщение
имея """КАЛЬКУЛЯТОРЫ""" !!!???
что есть в твоем понятии калькуляторы?
БЭСМ ??? разработка 50х годов
МЭСМ???
"Урал"
IBM System/360???
в 1971 году был выпущен первый коммерческий микропроцессор Intel 4004
изучи историю вопроса
Evg
Эксперт CАвтор FAQ
17473 / 5711 / 364
Регистрация: 30.03.2009
Сообщений: 15,684
Записей в блоге: 26
29.01.2014, 17:49     Как создаются языки программирования? #17
Цитата Сообщение от malan2009 Посмотреть сообщение
ак вот с чего ты начал при создании языка СИ
Что в твоём понимани "СОЗДАНИЕ ЯЗЫКА"?

Если то, что "int" будет означать целый тип, "if" будет означать оператор ветвления, то товарищи просто сели, покурили, и сказали "да будет так", потому что никак по другому не бывает. Ну разве что кому-то во сне озарение придёт
malan2009
0 / 0 / 0
Регистрация: 19.05.2012
Сообщений: 109
29.01.2014, 18:02  [ТС]     Как создаются языки программирования? #18
ну они сказали "да будет так" и как они это сделали. короче я уже <censored> трактовать свой вопрос в разных вариациях. закрываем тему. говорю же.

 Комментарий модератора 
Использование нецензурных выражений запрещено
FraidZZ
Ex-Member
3897 / 1523 / 229
Регистрация: 06.01.2013
Сообщений: 4,050
Завершенные тесты: 1
29.01.2014, 18:28     Как создаются языки программирования? #19
Необходимо придумать концепцию, а затем на имеющихся средствах создать компилятор или интерпретатор.

Добавлено через 2 минуты
Как именно это написать на имеющихся средствах - вопрос другой. По сути, если нет никаких других языков программирования - писать на байт-кодах какого-то процессора.
MoreAnswers
Эксперт
37091 / 29110 / 5898
Регистрация: 17.06.2006
Сообщений: 43,301
29.01.2014, 19:41     Как создаются языки программирования?
Еще ссылки по теме:

Как на си++ создаются приложения с GUI? - C++
Расскажите, а? Например в Visual basic'е просто и понятно, с первого захода в среду можно что-нибудь простенькое с граф. интерфейсом...

Как создаются кнопки, метки, поля и так далее? - C++ WinAPI
Доброго времени суток. Хотелось бы узнать как делаются те или иные элементы WinAPI; А именно: Buttom, edit, label, MeinMenu, Memo,...

Как создаются проекты, содержащие в себе разные файлы? - Visual C++
Мне нужно создать файл-проект который будет ассоциироваться с программой и содержащий различные файлы. Подскажите как это сделать и как с...

Как же создаются приложения windows (со всякими формами и компонентами button, memo)? - C++
Я все работаю с консолью.. И вот у меня появился вопрос, как же создаются приложения windows(со всякими формами и компонентами button,memo...

Как понять язык программирования? - C++
Всем привет. Мучает кое какой вопрос. Занимаюсь программированием около 2ух лет в свободное от бытовухи время. Начал с прочтения книги...


Искать еще темы с ответами

Или воспользуйтесь поиском по форуму:
_lunar_
1231 / 1157 / 80
Регистрация: 03.05.2011
Сообщений: 2,789
Записей в блоге: 3
Завершенные тесты: 1
29.01.2014, 19:41     Как создаются языки программирования? #20
Цитата Сообщение от malan2009 Посмотреть сообщение
спомощью чего и каких средств сделали, что вот эта команда будет делать эту функцию, а эта команда, вот эту функцию.
вкратце смотрю не получилось ну что же попробую объяснить более развернуто.
пойдём с самого низа - с процессора. Важной структурной единицей памяти и внутренних регистров процессора является триггер. Это устройство позволяет запоминать, хранить и считывать информацию (каждый триггер может хранить 1 бит информации). Триггер можно построить из двух логических элементов "ИЛИ" и двух элементов "НЕ". В обычном состоянии на вход триггера подаётся сигнал 0 и триггер хранит 0. Для записи 1 на вход соответственно подаётся сигнал 1. Если триггер запомнил 1, то с выхода триггера можно считать 1. Для сброса информации на вход подаётся сигнал 1, после чего триггер возвращается к исходному "нулевому" состоянию.
существует три основные логические операции "И" "ИЛИ" "НЕ". Поскольку любая логическая может быть представлена в виде комбинации трех основных логических операций, процессор, производящий обработку или хранение информации может собрать её из базовых логических элементов как из "кирпичиков". Логические элементы процессора оперируют с сигналами, представляющими собой электрические импульсы. Если импульс есть - логический смысл сигнала 1, нет импульса - 0. На входы логического элемента поступают сигналы-значения аргументов, на выходе появляется сигнал-значение функции. Преобразование сигнала логическим элементом задаётся таблицей состояния, которая фактически является таблицей истинности, соответствующей логической функции.
важно понимать, что процессор общается не словами, буквами и цифрами, он общается двоичной системой исчисления (0 и 1). Чтобы максимально упростить работу процессора всё многообразие математических операций сводится к сложению двоичных чисел. Поэтому не менее важной частью процессора являются сумматоры, которые как раз и обеспечивают такое сложение (не будем останавливаться на темах полусумматоры, полный одноразрядный сумматор, многоразрядный сумматор об этом можно почитать в интернете).

подведём итог: мы знаем, что процессор понимает только двоичную систему исчисления. А также то, что 0 и 1 могут представляться в различных комбинациях по средствам работы триггера. И то, что эти комбинации нулей и единиц можно суммировать.
так вот, чтобы создать язык программирования вам нужно написать программу (компилятор\транслятор\интерпретатор), которая могла бы переделать синтаксис вашего языка так (со "слов" в "нули" и "единицы"), чтобы процессору было понятно то, что вы от него хотите. Подобные программы работают на самом низком уровне с регистрами процессора (отсюда и разность архитектур процессора и разность структур исполняемого файла).
суть в том, чтобы создать последовательный поток 0 и 1 (условно), который мог бы быть безошибочно прочитан процессором. Поэтому вопрос в вашей цитате сводиться к логическим операциям.
Yandex
Объявления
29.01.2014, 19:41     Как создаются языки программирования?
Ответ Создать тему
Опции темы

КиберФорум - форум программистов, компьютерный форум, программирование
Powered by vBulletin® Version 3.8.9
Copyright ©2000 - 2017, vBulletin Solutions, Inc.
Рейтинг@Mail.ru