2014 dxdy logo

Научный форум dxdy

Математика, Физика, Computer Science, Machine Learning, LaTeX, Механика и Техника, Химия,
Биология и Медицина, Экономика и Финансовая Математика, Гуманитарные науки




Начать новую тему Ответить на тему На страницу Пред.  1, 2, 3, 4, 5  След.
 
 Re: Подскажите хорошую литературу по низкоуровневым языкам.
Сообщение21.10.2016, 18:06 


27/08/16
10450
Язык С низкоуровневый, потому что на нём сложно писать высокоуровневый код.
А ещё он позволяет писать код, не требующий поддержки от библиотек времени исполнения программы, или с минимальной поддержкой специально адаптированными библиотеками. Что позволило его достаточно легко использовать в ядрах операционных систем.

 Профиль  
                  
 
 Re: Подскажите хорошую литературу по низкоуровневым языкам.
Сообщение21.10.2016, 18:08 


07/08/14
4231
arseniiv в сообщении #1161661 писал(а):
Трансляторы-то откуда? Они не упоминались.

Как это, а вот:
mustitz в сообщении #1161651 писал(а):
.. и реализована куча компиляторов С под разные платформы...
Компиляция - это перевод с человеческого фор некст в машинные нули и единицы, вот в нули и единицы переводит транслятор. Фор некст одинаковый, а нули и единицы они разные для разных платформ.

 Профиль  
                  
 
 Re: Подскажите хорошую литературу по низкоуровневым языкам.
Сообщение21.10.2016, 18:12 
Заслуженный участник


27/04/09
28128
Сравните с этим:
upgrade в сообщении #1161660 писал(а):
что на нем удобнее и быстрее писать трансляторы программ в машинный код
В той же цитате имелись в виду компиляторы самого C, и не сказано, на чём написанные. Если же говорить о вашем, то, по-моему, в C недостаточно абстракций, чтобы на нём было легко и просто (или удобно и быстро) писать трансляторы.

-- Пт окт 21, 2016 20:14:52 --

Вообще, трансляторы и любые другие преобразователи кода (машинного, не машинного) как раз удобнее писать на высокоуровневом языке. Низкоуровневость никакого магического соединения с манипулируемым низкоуровневым кодом не даст.

-- Пт окт 21, 2016 20:15:31 --

И, по-моему, это очевидно.

 Профиль  
                  
 
 Re: Подскажите хорошую литературу по низкоуровневым языкам.
Сообщение21.10.2016, 18:17 


07/08/14
4231
arseniiv в сообщении #1161665 писал(а):
Сравните с этим:
upgrade в сообщении #1161660 писал(а):
что на нем удобнее и быстрее писать трансляторы программ в машинный код
В той же цитате имелись в виду компиляторы самого C, и не сказано, на чём написанные. Если же говорить о вашем, то, по-моему, в C недостаточно абстракций, чтобы на нём было легко и просто (или удобно и быстро) писать трансляторы.

-- Пт окт 21, 2016 20:14:52 --

Вообще, трансляторы и любые другие преобразователи кода (машинного, не машинного) как раз удобнее писать на высокоуровневом языке. Низкоуровневость никакого магического соединения с манипулируемым низкоуровневым кодом не даст.

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

 Профиль  
                  
 
 Re: Подскажите хорошую литературу по низкоуровневым языкам.
Сообщение21.10.2016, 18:25 
Заслуженный участник


27/04/09
28128
Но то, что вы написали сначала, понимается однозначным образом и не так: что на самом C удобно писать трансляторы (разных языков).

 Профиль  
                  
 
 Re: Подскажите хорошую литературу по низкоуровневым языкам.
Сообщение21.10.2016, 18:27 


27/08/16
10450
Нет, я сообщал не об этом. На практике сейчас на большинстве платформ используют gcc. Который так же прекрасно на большинстве платформ поддерживает и иные языки. А вот то, что для запуска кода, написанного на С, почти ничего на самой платформе не нужно, и позволяет использовать С/С++ в куче самых странных мест, вроде Arduino или ядра Linux.

 Профиль  
                  
 
 Re: Подскажите хорошую литературу по низкоуровневым языкам.
Сообщение21.10.2016, 18:27 


07/08/14
4231
arseniiv в сообщении #1161671 писал(а):
Но то, что вы написали сначала, понимается однозначным образом и не так: что на самом C удобно писать трансляторы (разных языков).

Я не это имел ввиду, а то, что на С уже написаны трансляторы для массы платформ (с синтаксиса Си в машинные коды этих платформ). И спросил не это ли делает Си низкоуровневым.
Прочитал еще раз свой пост... и верно, читается так, будто на Си написать транслятор удобнее, чем не на Си. В общем напутал.
На Си, кстати, удобно писать трансляторы, удобнее, чем на бейсике или паскале, но и бейсик и паскаль тоже позволяют их писать.

 Профиль  
                  
 
 Re: Подскажите хорошую литературу по низкоуровневым языкам.
Сообщение21.10.2016, 18:59 
Аватара пользователя


27/01/09
814
Уфа
arseniiv в сообщении #1161610 писал(а):
Я вот тоже в описаниях многих диалектов форта встречал фразу «слово компилируется». Зачем там может понадобиться интерпретатор, ума не приложу.
А где это компилированное слово потом выполнять? Интерпретация это (немедленное) выполнение (строки) программы на языке программирования (ввода) в системе программирования и ожидание системой (интерпретатором) следующего ввода. Компиляция это трансляция программы на языке программирования в машинный код и сохранение его в файле для выполнения программы в любое время после выхода из системы программирования (компилятора) (в операционной системе).

 Профиль  
                  
 
 Re: Подскажите хорошую литературу по низкоуровневым языкам.
Сообщение21.10.2016, 19:34 
Заслуженный участник


16/02/13
4214
Владивосток

(Оффтоп)

arseniiv в сообщении #1161637 писал(а):
immediate-слова
Они, родимые. Без них Форт был бы ещё одним скучным языком; с ними — могучий язык, к которому неприменимо понятие уровня: какой напишешь, такой и будет.
upgrade в сообщении #1161645 писал(а):
В чем низкоуровневость Си
Низкоуровневость Цэ в том, что mustitz не застал ни автокодов, ни ассемблеров, да к тому же путает низкоуровневость с вкусами некого «коммьюнити» и вакансиями работодателей.

 Профиль  
                  
 
 Re: Подскажите хорошую литературу по низкоуровневым языкам.
Сообщение21.10.2016, 19:45 
Аватара пользователя


27/01/09
814
Уфа
iifat в сообщении #1161615 писал(а):
... компилировались в вызовы подпрограмм математической библиотеки. И никто не называл его за это интерпретатором. ...
Что вы понимаете под интерпретацией и компиляцией программ на языке программирования?
Цитата:
Позже появились Форт-системы с компиляцией в код процессора.
Это странная фраза возможно указывает на то что до этого Форт-система в основном использовалась как интерпретатор (а компилятор появился позже).
Цитата:
ни языком низкого уровня.
Языком более низкого уровня чем Бейсик его делает ориентированность на операции со стеком.

 Профиль  
                  
 
 Re: Подскажите хорошую литературу по низкоуровневым языкам.
Сообщение21.10.2016, 19:59 
Заслуженный участник


27/04/09
28128
upgrade в сообщении #1161673 писал(а):
На Си, кстати, удобно писать трансляторы, удобнее, чем на бейсике или паскале, но и бейсик и паскаль тоже позволяют их писать.
Но неудобнее, чем на языках, где поддерживаются, скажем, GADT. Или сборка мусора. Или хотя бы просто generics.

(Или)

Или поддержка уникода (хотя бы просто возможность перечислить символы строки независимо от хитростей кодировки (в UTF-8 символ занимает от одного до, кажется, 6 байт; в обеих UTF-16 или два, или четыре байта (суррогатные пары), а UTF-32 весьма непрактична для больших строк), хотя есть ещё много задач), хотя, конечно, если в коде только комментарии вылезают за пределы ASCII, как пока часто бывает из-за того, что в операционных системах до сих пор проблемы с раскладками, можно обычно обойтись и совсем без неё.
Или и т. д.. А сравнивать с бейсиком — господи, какой бейсик? Где? На нём уже давно ничего серьёзного не пишется, если вообще писалось. (Паскалю, возможно, просто не повезло — сейчас есть компиляторы паскаля со многими интересными расширениями, так что, видимо, всё могло бы сложиться. Он чуток многословен, но с современными редакторами это не проблема.) Короче, это оффтоп.

-- Пт окт 21, 2016 22:00:14 --

Chifu в сообщении #1161706 писал(а):
Бейсик
Не, я точно чего-то не понимаю. И тут бейсик.

-- Пт окт 21, 2016 22:03:28 --

Хотя надо уточнить, что я не имею в виду Visual Basic или VB.NET.

 Профиль  
                  
 
 Re: Подскажите хорошую литературу по низкоуровневым языкам.
Сообщение21.10.2016, 20:14 
Аватара пользователя


31/10/08
1244
Браво! Холивар на пустом месте.
А если подумать? Незнаем с чего начать читаем определение. Определение конкретики не даёт оно говорит о малом числе абстракций.А мало это сколько 1, 2, 10, 100, 1000? И что считать абстракцией?
Как минимум понятие языка низкого уровня растяжимо - как в философии! Для одного человека это одно понятие, для другого другое.
Что касается Си, то к низкоуровневым языкам его отнесли его-же создатели в книге K&R.
Это честно похоже на удачный, а может и грамотный - маркетинг. Создатели хотели доказать, что их язык не уступает ассемблеру и нанём можно написать ОС. Вот и придумали обманный ход. А теперь внуки спорят о том, что считать низким языком.
Хотя с другой стороны уже тогда шли разговоры о Си++, так что авторы могли иметь ввиду то, что Си++ преобразуется в Си. В те времена не было компилятора Си++, а были трансляторы.

Языков много, а диалектов и разновидншстей ещё больше. Взяв любой можно найти трансляторы интерпретаторы, компиляторы, расширения для ООП и шаблонов, лябды. С течением времени любая программа обрастает всем чем только может.
Так что впору говорить и писать о конкретике. Не столько о языке, а сколько о конкретном компиляторе.

 Профиль  
                  
 
 Re: Подскажите хорошую литературу по низкоуровневым языкам.
Сообщение21.10.2016, 20:16 
Заслуженный участник


27/04/09
28128

(Оффтоп)

Pavia в сообщении #1161712 писал(а):
Браво! Холивар на пустом месте.
Да не, ещё холодно, колебательные степени свободы не разморозились.

Pavia в сообщении #1161712 писал(а):
Так что впору говорить и писать о конкретике. Не столько о языке, а сколько о конкретном компиляторе.
Ага, особенно когда есть стандарт языка и компиляторы стараются его придерживаться.

 Профиль  
                  
 
 Re: Подскажите хорошую литературу по низкоуровневым языкам.
Сообщение21.10.2016, 20:36 
Аватара пользователя


27/01/09
814
Уфа
arseniiv в сообщении #1161708 писал(а):
Не, я точно чего-то не понимаю. И тут бейсик.
Это язык, который существовал в то же время, что и Форт. Сейчас они существуют в виде идей (которые влияют (или не влияют) на программирование).

 Профиль  
                  
 
 Re: Подскажите хорошую литературу по низкоуровневым языкам.
Сообщение21.10.2016, 21:18 
Заслуженный участник


27/04/09
28128
Вообще-то диалекты форта (именно форта, а не просто стековые и/или аппликативные языки) появляться не перестали. Другое дело, что не все из них так уж прям известны. (А вот диалекты бейсика…) (Кстати, вот про идеи интересный аспект, открыл отдельную тему.)

 Профиль  
                  
Показать сообщения за:  Поле сортировки  
Начать новую тему Ответить на тему  [ Сообщений: 72 ]  На страницу Пред.  1, 2, 3, 4, 5  След.

Модераторы: Karan, Toucan, PAV, maxal, Супермодераторы



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

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


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

Найти:
Powered by phpBB © 2000, 2002, 2005, 2007 phpBB Group