Другие языки программирования и технологии

возможно , это самый тупой вопрос, который вы когда либо видели , но все же.

Я не могу разобраться.
Например, есть калькулятор, его получается сначало написали на каком то языке, типо паскаля, потом каким то образом записали,эту программу на микропроцессор.Так что ли?
И вообще каким образом "железо" программируют?
калькулятор(виндовый) написан не на паскале а на С++.

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

изначально натравливаемые проги писались как последовательности нулей-единиц. (то ещё было удовольствие тублерами выставлять значение очередного байта - как-то довелось возиться с программированием комплекса С-300)
сейчас уже "прога об прогу и обработанная прогой и.." там уже дофига слоев, так что пишутся как обычные проги.
Олег Солодов
Олег Солодов
27 060
Лучший ответ
Всю черную работу обычно делает компилятор. То есть программа в более-менее удобном для восприятия виде (например, на Паскале) передается на вход компилятору, а на выходе компилятор выдает машинные коды, которые понятны процессору.
Часто задействуется еще линковщик, если файлов несколько, его задача - объединять эти файлы.
Vladymyr Oskin
Vladymyr Oskin
38 877
существуют ( как минимум в музее) калькуляторы работающие на логических схемах, а некоторые вообще механические. Поехали дальше. Процессоры - это множество лог цепей, объединеных в единою систему. Для удобства в памяти процессора есть команды (для разных поколений и архитектур они разнятся) . Но смысл в том что эти команды - базисные кирпичики вызывающие отклик в процессоре -- ввиде определенных сигналов. Оперируя этими командами и пишутся программы для железа.
Игорь Агеев
Игорь Агеев
35 594
Я думаю вопрос из разряда "не было же программ, как запрограммировали первый комп? ". Ответ: почитай про перфокарты. :)
далеко не самый глупый вопрос, можно даже сказать. чтоболее умного вопроса тут и не найти, и дело даже не в том, что вопрос к программированию не имеет прямого отношения, а дело в том, что вы интересуетесь этим вопросом.

а теперь ответ: по сути и да и нет.

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

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

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

соответственно проще понимать компьютерную логику исключительно как логику передвижения всяческих шестеренок в машине беббеджа, если конечно не стоит задача разобраться в физических процессах. происходящих в полупроводниковой электронике.
Это не тупой вопрос, я тоже когда-то задавался. Как запрограммировать что-либо пока еще и программировать-то нечем.. . Думаю все задается сначала на элементарном уровне примитивных электронных цепей "0" и "1". 1 - это есть ток, 0 - тока нет. И далее на уровне железа задаются элементарные алгоритмы, управляя которыми можно на их основе делать что-то более сложное. На микропроцессор ничего не записывается - микропроцессор - и есть калькулятор.
Не знаток в электронике, но по-моему принцип таков - программируется не "железо", а сигнал, который поступает с контроллера, данные заносятся в базу и на основе их (частота, колебание и т. д. ) составляется таблица, при помощи которой ЦАЗ (цифро-аналоговые значения) представляются в премлимом для нас воспринемании виде, например "+" или "2", вообщем вроде как-то так...
Никого не слушай. Здесь слушай: существует такой низкоуровневый язык, как ассемблер. Он максимально приближен к пониманию машиной, по сути, общение с голым железом. В нем ограниченный набор команд: сложить, вычесть, разделить, умножить, сравнить, переслать, записать в порт и прочитать оттуда. Как известно, любую откомпилированную на любом языке программу можно дизассемблировать - т. е. привести к виду ассемблера. Более того, как раз на нем все и пишется для микропроцессоров, как ты говоришь, для калькуляторов. Надеюсь, понятно объяснил? :)
(((***c@n@ Bis***)))
(((***c@n@ Bis***)))
375
это вопрос электротехникам, а программист не зная железа может прогать