Язык С ?

Тема в разделе "WASM.BEGINNERS", создана пользователем asmlamo, 14 мар 2021.

  1. asmlamo

    asmlamo Well-Known Member

    Публикаций:
    0
    Регистрация:
    18 май 2004
    Сообщения:
    1.727
    Как то встречалось в книге что язык С якобы язык низкого уровня.
    Что меня удивило ....
    С вроде типичный язык высокого уровня.
    Низкоуровневый это ASM ну и возможно Форт (но это не точно).

    Ваше мнение ?
     
  2. q2e74

    q2e74 Active Member

    Публикаций:
    0
    Регистрация:
    18 окт 2018
    Сообщения:
    988
    На мой взгляд, отнесение языка к высокому уровню или низкому - это замусоривание мозга. Такой уровень - это несуществующая сущность. Нигде не используется, ни на что не влияет. Ну отнесли к низким, и чо? А к высоким? А ошиблись? Вот вообще бесполезное бла-бла-бла.

    Смотреть надо на другие вещи. Интерпретируемый или компилируемый к примеру. Какие структуры данных доступны из коробки. Как решает вопросы многопоточки, ленивых коллекций, есть ли сборщик мусора. Т.е. все те вещи, которые реально существуют.
    --- Сообщение объединено, 14 мар 2021 ---
    в некоторых языках нет возможности обратиться к адресам ячеек оперативной памяти, и для этого они как правило, имеют механизмы стыка с языком си. С точки зрения такого языка, Си низкоуровневый. Но повторюсь, это бла бла ни о чем. Конструктивной пользы от этой классификации - ноль.
     
  3. rmn

    rmn Well-Known Member

    Публикаций:
    0
    Регистрация:
    23 ноя 2004
    Сообщения:
    2.327
    И какими же типичными признаками языка высокого уровня он обладает?
     
  4. asmlamo

    asmlamo Well-Known Member

    Публикаций:
    0
    Регистрация:
    18 май 2004
    Сообщения:
    1.727
    Ну как минимум типизация.

    Слой абстракции:
    -Перечисления
    -Структуры
    -Объединения
    -Массивы

    ООП

    Но самое главное он не завязан на конкретный проц.
    Нет инструкций привязанных к конкретному железу.
    Код на С можно в теории перекомпилить под любую проц без переделок.
     
  5. R81...

    R81... Active Member

    Публикаций:
    0
    Регистрация:
    1 фев 2020
    Сообщения:
    141
    Не привязан к конкретному возможно и виртуальному железу.
    https://ru.wikipedia.org/wiki/Высокоуровневый_язык_программирования
    "Высокоуровневые языки программирования были разработаны для платформенной независимости сути алгоритмов. Зависимость от платформы перекладывается на инструментальные программы — трансляторы, компилирующие текст, написанный на языке высокого уровня, в элементарные машинные команды (инструкции)."
    А какой-нибудь унифицированный ASM - \что где\ можно в одну команду, \что где\ в одну нельзя - в последовательность (экая макрокоманда).
    Станет ли он языком высокого уровня?
     
    Последнее редактирование: 14 мар 2021
  6. MaKaKa

    MaKaKa Member

    Публикаций:
    0
    Регистрация:
    25 ноя 2020
    Сообщения:
    53
    Все относительно. Например, дедушка Керниган писал: "C is not a "very high level" language, nor a "big" one, and is not specialized to any particular area of application. But its absence of restrictions and its generality make it more convenient and effective for many tasks than supposedly more powerful languages. ". А в целом тема бестолковая.
     
  7. Rel

    Rel Well-Known Member

    Публикаций:
    2
    Регистрация:
    11 дек 2008
    Сообщения:
    5.235
    Обычно и сишечку и плюсы категорируют как языки высокого уровня. Но разные люди понимают под этим разные вещи, да и вообще в чем смысл этим заморачиваться?
     
  8. f13nd

    f13nd Well-Known Member

    Публикаций:
    0
    Регистрация:
    22 июн 2009
    Сообщения:
    1.952
    ИМХО отнесение Цэ к низкоуровневым языкам мотивировано свойствами некоторых (возможно всех, не гурман) гавнокомпилеров:
    [​IMG] ,
    когда пишешь вроде бы на Цэ, но приходится думать о наборе команд проца. Или о тщетности бытия.
    --- Сообщение объединено, 14 мар 2021 ---
    Лол, в правой картинке забыли в R0 поместить значение R6, delay-slot'ом за RTS.
     
    q2e74 нравится это.
  9. rmn

    rmn Well-Known Member

    Публикаций:
    0
    Регистрация:
    23 ноя 2004
    Сообщения:
    2.327
    Это все и в асме есть :)
     
  10. Intro

    Intro Active Member

    Публикаций:
    0
    Регистрация:
    29 авг 2009
    Сообщения:
    559
    Почему вы не любите высокоуровневый ассемблер UASM?
    С/С++ считают низким из-за арифметики указателей и довольно вольно манипуляции кастингом.
    Высокоуровневый стандартный ассемблер это что вам нужно, для проектов уровня... эээээ.... ну например ОС. Да сильное заявления.
    Проблема в полной неполноценности встроенных ассемблеров высокого уровня. Что может хуже стиля ати-вити... э как там правильно... не люблю эту каку...
    Далее много умных мыслей... Но это потом.
     
    Последнее редактирование модератором: 9 май 2021
  11. M0rg0t

    M0rg0t Well-Known Member

    Публикаций:
    0
    Регистрация:
    18 окт 2010
    Сообщения:
    1.574
    Intro, я люблю юасм, но Си все равно проще (увы)
     
  12. Intro

    Intro Active Member

    Публикаций:
    0
    Регистрация:
    29 авг 2009
    Сообщения:
    559
    https://habr.com/ru/post/592233/
    Раньше Си можно было считать низкоуровневым, по потом это стало не так.
     
  13. Rel

    Rel Well-Known Member

    Публикаций:
    2
    Регистрация:
    11 дек 2008
    Сообщения:
    5.235
    Я тут ни раз высказывал свое мнение о том, что это - глобальное мировое фиаско, что именно Си приобрел такую популярность и стал стандартом, а не какая-нибудь прелестная Ада или хотя бы Паскаль. Но имеем то, что имеем, чего уж теперь сидеть и рефлексировать по этому поводу.