OSDev

для всех
Текущее время: 14 дек 2017, 22:06

Часовой пояс: UTC + 3 часа




Начать новую тему Ответить на тему  [ Сообщений: 7 ] 
Автор Сообщение
СообщениеДобавлено: 12 май 2015, 19:57 

Зарегистрирован: 21 сен 2007, 17:24
Сообщения: 1025
Откуда: Балаково
Тема выделена из "Лаборатории Единой среды". Начало обсуждения: раз и два. Freeman.

Yoda писал(а):
Himik писал(а):
К сожалению С/С++ культовым скорее всего не станет, потому что он занимает промежуточную позицию между низко в высокоуровневыми ЯП.

"С" был культовым языком на протяжении длительного времени. Другое дело, что он совершенно устарел. "С++" тоже был, но не долго. Проблема С++ в том, что он не смог преодолеть недостатков С.

Мне кажется, что надо обратить внимание, что Си постепенно занимает позицию низкоуровневого программирования, вытесняя Ассемблер.
И ОС, и драйвера к ним, всё чаще пишутся на Си. С костылём в виде ассемблерных вставок, но всё же. При этом в компиляторы добавляют всё больше и больше встроенных (или пристроенных?) ассемблерных функций, так что и ассемблерные вставки скоро будут не нужны.


Вернуться к началу
 Профиль  
 
СообщениеДобавлено: 12 май 2015, 23:06 
Аватара пользователя

Зарегистрирован: 28 май 2012, 23:44
Сообщения: 237
Откуда: Санкт-Петербург
Himik писал(а):
И ОС, и драйвера к ним, всё чаще пишутся на Си. С костылём в виде ассемблерных вставок, но всё же. При этом в компиляторы добавляют всё больше и больше встроенных (или пристроенных?) ассемблерных функций, так что и ассемблерные вставки скоро будут не нужны.

Мне кажется, что имеет место встречное движение, конвергенция. Ассемблер-то сейчас уже не тот, что был лет 10 назад. Понадобавляли разных инструкций в процессоры и сопроцессоры, компиляторам тоже пришлось подтягиваться. На размер всем давно плевать.


Вернуться к началу
 Профиль  
 
СообщениеДобавлено: 01 окт 2015, 00:55 

Зарегистрирован: 18 фев 2015, 12:59
Сообщения: 8
Himik писал(а):
Тема выделена из "Лаборатории Единой среды". Начало обсуждения: раз и два. Freeman.

Yoda писал(а):
Himik писал(а):
К сожалению С/С++ культовым скорее всего не станет, потому что он занимает промежуточную позицию между низко в высокоуровневыми ЯП.

"С" был культовым языком на протяжении длительного времени. Другое дело, что он совершенно устарел. "С++" тоже был, но не долго. Проблема С++ в том, что он не смог преодолеть недостатков С.

Мне кажется, что надо обратить внимание, что Си постепенно занимает позицию низкоуровневого программирования, вытесняя Ассемблер.
И ОС, и драйвера к ним, всё чаще пишутся на Си. С костылём в виде ассемблерных вставок, но всё же. При этом в компиляторы добавляют всё больше и больше встроенных (или пристроенных?) ассемблерных функций, так что и ассемблерные вставки скоро будут не нужны.


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

Ага ассемблер не нужен, ведь процессоры скоро исходный код на си кушать надо полагать начнут.
Ведь ассемблер === машинный код (именно ===), на чем же тогда, боюсь спросить,
для нового железа будет написан ПЕРВЫЙ компилятор языка си?
Варианта только два на ассемблере или сразу в двоичном коде (кто не знает это когда открываем справочник, находим нужную команду, записываем ее на БУМАЖКУ (возможно команда будет составной), потом аргументы, и т.д. после через ПЕРФОКАРТУ... Короче боже благослови ассемблер)
P.S.
Дрова это вам не ядро и уж тем более не BIOS


Вернуться к началу
 Профиль  
 
СообщениеДобавлено: 01 окт 2015, 01:21 

Зарегистрирован: 28 окт 2014, 10:41
Сообщения: 30
rst256 писал(а):
Ага ассемблер не нужен, ведь процессоры скоро исходный код на си кушать надо полагать начнут.
Ведь ассемблер === машинный код (именно ===), на чем же тогда, боюсь спросить,
для нового железа будет написан ПЕРВЫЙ компилятор языка си?
Ну, компилятор для железа :) надо написать всего один раз, а дальше программ можно уже сколько угодно. Видимо, имеется ввиду, что для обычного программирования он как правило не используется из-за запаса по скорости и ёмкости.
Например, транзисторную логику никто отменять не собирается, но если её гипотетически поместить в ассемблер, то нетрудно будет увидеть в этом обременяющее для него излишество.


Вернуться к началу
 Профиль  
 
СообщениеДобавлено: 01 окт 2015, 11:47 
Аватара пользователя

Зарегистрирован: 14 мар 2011, 12:31
Сообщения: 938
Откуда: Дагоба
rst256 писал(а):
"При этом в компиляторы добавляют всё больше и больше встроенных (или пристроенных?) ассемблерных функций" - хоть одну назови?

Например, memcpy. А вообще их счёт идёт на десятки, а в некоторых компиляторах (GCC) приближается к сотне.

rst256 писал(а):
Ведь ассемблер === машинный код (именно ===), на чем же тогда, боюсь спросить,
для нового железа будет написан ПЕРВЫЙ компилятор языка си?

Традиционно первый компилятор для нового железа пишут на C/C++.

_________________
Yet Other Developer of Architecture.
The mistery of Yoda’s speech uncovered is:
Just an old Forth programmer Yoda was.

<<< OS Boot Tools. >>>


Вернуться к началу
 Профиль  
 
СообщениеДобавлено: 01 окт 2015, 12:53 

Зарегистрирован: 28 окт 2007, 18:33
Сообщения: 1315
Откуда: Зеленоград
Yoda писал(а):
rst256 писал(а):
"При этом в компиляторы добавляют всё больше и больше встроенных (или пристроенных?) ассемблерных функций" - хоть одну назови?

Например, memcpy. А вообще их счёт идёт на десятки, а в некоторых компиляторах (GCC) приближается к сотне.


Но если функции типа memcpy вполне можно написать и на языке высокого уровня (на том же Си, например), то целый ряд функций можно написать только на ассемблере -- например, разрешение и запрещение прерываний (эти функции используют специальные команды процессора, которые никогда не генерируются самим компилятором). Всякие манипуляции со стеком (например, для его "раскручивания" при обработке исключений) также требуют использования ассемблера. Ну и т.д. и т.п.

Yoda писал(а):
rst256 писал(а):
Ведь ассемблер === машинный код (именно ===), на чем же тогда, боюсь спросить,
для нового железа будет написан ПЕРВЫЙ компилятор языка си?

Традиционно первый компилятор для нового железа пишут на C/C++.


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


Вернуться к началу
 Профиль  
 
СообщениеДобавлено: 01 окт 2015, 13:27 
Аватара пользователя

Зарегистрирован: 14 мар 2011, 12:31
Сообщения: 938
Откуда: Дагоба
SII писал(а):
для нового железа, ещё не имеющего своего родного инструментария, первые инструменты пишут на другом железе -- так называемые кросс-трансляторы

Ну вот, разжевал, а я надеялся, человек сам сообразит :D.

_________________
Yet Other Developer of Architecture.
The mistery of Yoda’s speech uncovered is:
Just an old Forth programmer Yoda was.

<<< OS Boot Tools. >>>


Вернуться к началу
 Профиль  
 
Показать сообщения за:  Поле сортировки  
Начать новую тему Ответить на тему  [ Сообщений: 7 ] 

Часовой пояс: UTC + 3 часа


Кто сейчас на конференции

Сейчас этот форум просматривают: нет зарегистрированных пользователей и гости: 1


Вы не можете начинать темы
Вы не можете отвечать на сообщения
Вы не можете редактировать свои сообщения
Вы не можете удалять свои сообщения
Вы не можете добавлять вложения

Найти:
Перейти:  
cron
Создано на основе phpBB® Forum Software © phpBB Group
Русская поддержка phpBB