Я не могу разобраться.
Например, есть калькулятор, его получается сначало написали на каком то языке, типо паскаля, потом каким то образом записали,эту программу на микропроцессор.Так что ли?
И вообще каким образом "железо" программируют?
Другие языки программирования и технологии
возможно , это самый тупой вопрос, который вы когда либо видели , но все же.
калькулятор(виндовый) написан не на паскале а на С++.
грубая схема простейшего:
пишется последовательность описаний переменных и действий с ними в текстовый файл.
на этот файл натравливается прога(компилятор) переводящая эти описания в то какое понимает процессор.
на получившееся натравливается другая прога, которая сшивает этот код с кусками кода в других таких файлах и библиотеках (линковщик).
А получившаяся последовательность бинарных команд(тот самый запускаемый экзешник) уже скармливается процессору
изначально натравливаемые проги писались как последовательности нулей-единиц. (то ещё было удовольствие тублерами выставлять значение очередного байта - как-то довелось возиться с программированием комплекса С-300)
сейчас уже "прога об прогу и обработанная прогой и.." там уже дофига слоев, так что пишутся как обычные проги.
грубая схема простейшего:
пишется последовательность описаний переменных и действий с ними в текстовый файл.
на этот файл натравливается прога(компилятор) переводящая эти описания в то какое понимает процессор.
на получившееся натравливается другая прога, которая сшивает этот код с кусками кода в других таких файлах и библиотеках (линковщик).
А получившаяся последовательность бинарных команд(тот самый запускаемый экзешник) уже скармливается процессору
изначально натравливаемые проги писались как последовательности нулей-единиц. (то ещё было удовольствие тублерами выставлять значение очередного байта - как-то довелось возиться с программированием комплекса С-300)
сейчас уже "прога об прогу и обработанная прогой и.." там уже дофига слоев, так что пишутся как обычные проги.
Всю черную работу обычно делает компилятор. То есть программа в более-менее удобном для восприятия виде (например, на Паскале) передается на вход компилятору, а на выходе компилятор выдает машинные коды, которые понятны процессору.
Часто задействуется еще линковщик, если файлов несколько, его задача - объединять эти файлы.
Часто задействуется еще линковщик, если файлов несколько, его задача - объединять эти файлы.
существуют ( как минимум в музее) калькуляторы работающие на логических схемах, а некоторые вообще механические. Поехали дальше. Процессоры - это множество лог цепей, объединеных в единою систему. Для удобства в памяти процессора есть команды (для разных поколений и архитектур они разнятся) . Но смысл в том что эти команды - базисные кирпичики вызывающие отклик в процессоре -- ввиде определенных сигналов. Оперируя этими командами и пишутся программы для железа.
Я думаю вопрос из разряда "не было же программ, как запрограммировали первый комп? ". Ответ: почитай про перфокарты. :)
далеко не самый глупый вопрос, можно даже сказать. чтоболее умного вопроса тут и не найти, и дело даже не в том, что вопрос к программированию не имеет прямого отношения, а дело в том, что вы интересуетесь этим вопросом.
а теперь ответ: по сути и да и нет.
взять например простейший механический калькулятор. коими пользовались например в начале прошлого века. та мпрограмма была жеско зашита в принцип действия самого механизма, то есть нужные шестеренки цепляются за нужные шестеренки и мы получаем 2 + 2, примерно так устроен и калькулятор. только все на электронном уровне и это тоже программа, только написана она не на паскале разумеется, а начерчена ну для понимания в каком-то специальном проектировочном программном обеспечении, однако чтобы сделать более сложный калькулятор, например такой как айфон, требуется более понятные человеку средства, такие как паскаль (только в реальностипаскаль не используется)
то есть суть та же самая, что и в компьютере, только более размашисто что ли, на иных уровняэх абстракции.
кстати вы удивитесь, но первый компьютер был сделан из дерева и не имел вообдще электроники как таковой. а первый програмист появился тогда. когда даже лампочку эддисон еще не изобрел, а звали изобретателя Беббидж, а программиста Ада.
соответственно проще понимать компьютерную логику исключительно как логику передвижения всяческих шестеренок в машине беббеджа, если конечно не стоит задача разобраться в физических процессах. происходящих в полупроводниковой электронике.
а теперь ответ: по сути и да и нет.
взять например простейший механический калькулятор. коими пользовались например в начале прошлого века. та мпрограмма была жеско зашита в принцип действия самого механизма, то есть нужные шестеренки цепляются за нужные шестеренки и мы получаем 2 + 2, примерно так устроен и калькулятор. только все на электронном уровне и это тоже программа, только написана она не на паскале разумеется, а начерчена ну для понимания в каком-то специальном проектировочном программном обеспечении, однако чтобы сделать более сложный калькулятор, например такой как айфон, требуется более понятные человеку средства, такие как паскаль (только в реальностипаскаль не используется)
то есть суть та же самая, что и в компьютере, только более размашисто что ли, на иных уровняэх абстракции.
кстати вы удивитесь, но первый компьютер был сделан из дерева и не имел вообдще электроники как таковой. а первый програмист появился тогда. когда даже лампочку эддисон еще не изобрел, а звали изобретателя Беббидж, а программиста Ада.
соответственно проще понимать компьютерную логику исключительно как логику передвижения всяческих шестеренок в машине беббеджа, если конечно не стоит задача разобраться в физических процессах. происходящих в полупроводниковой электронике.
Это не тупой вопрос, я тоже когда-то задавался. Как запрограммировать что-либо пока еще и программировать-то нечем.. . Думаю все задается сначала на элементарном уровне примитивных электронных цепей "0" и "1". 1 - это есть ток, 0 - тока нет. И далее на уровне железа задаются элементарные алгоритмы, управляя которыми можно на их основе делать что-то более сложное. На микропроцессор ничего не записывается - микропроцессор - и есть калькулятор.
Не знаток в электронике, но по-моему принцип таков - программируется не "железо", а сигнал, который поступает с контроллера, данные заносятся в базу и на основе их (частота, колебание и т. д. ) составляется таблица, при помощи которой ЦАЗ (цифро-аналоговые значения) представляются в премлимом для нас воспринемании виде, например "+" или "2", вообщем вроде как-то так...
Никого не слушай. Здесь слушай: существует такой низкоуровневый язык, как ассемблер. Он максимально приближен к пониманию машиной, по сути, общение с голым железом. В нем ограниченный набор команд: сложить, вычесть, разделить, умножить, сравнить, переслать, записать в порт и прочитать оттуда. Как известно, любую откомпилированную на любом языке программу можно дизассемблировать - т. е. привести к виду ассемблера. Более того, как раз на нем все и пишется для микропроцессоров, как ты говоришь, для калькуляторов. Надеюсь, понятно объяснил? :)
это вопрос электротехникам, а программист не зная железа может прогать
Похожие вопросы
- Тупые вопросы по C#) Конструкторы, set, get.
- itunes самая тупая программа в мире, вы согласны?
- Почему считаеться что программисты самый тупой народ ?
- Не знаю, тупой вопрос или нет. Но всё же задам вопрос на тему "Программирование". Помогите определиться.
- Ща задам тупой вопрос, но подскажите пожалуйста.
- Ещё тупой вопрос по C++ :)
- Хочу задать тупой вопрос.
- Тупой вопрос, но есть ли программы для слежки пользователя другого компьютера. Если да, то какие? Где достать? Платно?
- Очень тупой вопрос про пиксели в таблицах html - помогите разобраться :-( Я, не очень понимаю, как вы угадываете кол-во
- Извините за тупой вопрос, но для чего в c++ нужны классы? Для того что бы было легко отсортировать код или ещё зачем?