1. Если вы только начинаете программировать на ассемблере и не знаете с чего начать, тогда попробуйте среду разработки ASM Visual IDE
    (c) на правах рекламы
    Скрыть объявление

Язык С ?

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

  1. asmlamo

    asmlamo Active Member

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

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

    q2e74 Active Member

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

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

    rmn Well-Known Member

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

    asmlamo Active Member

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

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

    ООП

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

    R81... Member

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

    MaKaKa New Member

    Публикаций:
    0
    Регистрация:
    25 ноя 2020
    Сообщения:
    26
    Все относительно. Например, дедушка Керниган писал: "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
    Сообщения:
    4.295
    Обычно и сишечку и плюсы категорируют как языки высокого уровня. Но разные люди понимают под этим разные вещи, да и вообще в чем смысл этим заморачиваться?
     
  8. f13nd

    f13nd Well-Known Member

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

    rmn Well-Known Member

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

    omne999666 Member

    Публикаций:
    0
    Регистрация:
    13 июл 2019
    Сообщения:
    130
    Адрес:
    Украина
    Обычный С язык связан с разработкой системных программ и обеспечения на низкоуровневом программирование он оставил след среди слепка и слепков кодирования как и асм и остальные языки. На си просто было писать под процессор и больше лингвистики и легче опировать мнемоникой. Правильный ответ это в си есть мнемоника асм вот и низкоуровневый он С и о нем.
     
    Последнее редактирование: 24 апр 2021
  11. Intro

    Intro Active Member

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

    M0rg0t Well-Known Member

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