С Новым годом! Форум программистов, компьютерный форум, киберфорум
C для начинающих
Войти
Регистрация
Восстановить пароль
Блоги Сообщество Поиск Заказать работу  
 
Рейтинг 4.87/75: Рейтинг темы: голосов - 75, средняя оценка - 4.87
2 / 2 / 1
Регистрация: 15.06.2014
Сообщений: 64

Си является языком программирования низкого уровня или высокого?

12.11.2015, 16:30. Показов 15524. Ответов 12
Метки нет (Все метки)

Студворк — интернет-сервис помощи студентам
у меня вопрос , си является низкий уровень или высокий уровень языка программирования ?
0
Лучшие ответы (1)
cpp_developer
Эксперт
20123 / 5690 / 1417
Регистрация: 09.04.2010
Сообщений: 22,546
Блог
12.11.2015, 16:30
Ответы с готовыми решениями:

Связать ассемблеровскую прогу с языком высокого уровня
Pasсal 16 разрядный 7версия 1992г Найти позицию первого вхождения символа в строку string. я в курсе что в паскале встроенный...

Является ли html языком программирования?
Собственно вопрос в заголовке озвучен. Насколько я помню, когда меня учили языком программирования это не называли. А теперь полазил по...

Разве является Delphi языком программирования?
Когда учился, нам четко втемяшили, что Delphi это среда разработки, использующая язык Pascal. А тут вот наткнулся на статью:...

12
260 / 87 / 30
Регистрация: 29.10.2015
Сообщений: 196
12.11.2015, 16:44
Применяется как на низком уровне (написание драйверов, программирование микроконтроллеров и т.д.) - так и на высоком (различные API, например WinAPI тому пример).

Само собой, если сравнивать с другими языками, такими как C# или Java, то они несомненно окажутся "выше"
1
2 / 2 / 1
Регистрация: 15.06.2014
Сообщений: 64
12.11.2015, 17:00  [ТС]
Спасибо огромное , в гугли прочитал , где то написано что med level prog. lang. и ( язык высокого уровня (3GL) ) ,где то еще языки среднего уровня по этому хотел уточнять ?
0
67 / 65 / 61
Регистрация: 11.11.2015
Сообщений: 394
12.11.2015, 19:27
Как иногда говорят - C самый низкоуровневый из высокоуровневых
Но вообще - высокоуровневый.
0
260 / 87 / 30
Регистрация: 29.10.2015
Сообщений: 196
12.11.2015, 22:18
Лучший ответ Сообщение было отмечено Maxam как решение

Решение

Я бы не утверждал настолько уверенно про его высокоуровневость.

Заполнить какую-то заданную область памяти побитно - пожалуйста. Обратиться к любой переменной как к набору байтов - пожалуйста. Вызвать функцию по определенному адресу памяти, опять-таки заданному вручную - пожалуйста. Нету разве что прямого доступа к регистрам, как в асме
1
Заблокирован
13.11.2015, 22:31
Цитата Сообщение от Dreamer_0x01 Посмотреть сообщение
так и на высоком (различные API, например WinAPI тому пример).
с каких пор API стали высоким уровнем? высокий уровень это .NET Framework например
Цитата Сообщение от lonelyhunter Посмотреть сообщение
Но вообще - высокоуровневый.
и давно?

я бы сказал что конкретно чистый Си довольно низкоуровневый, ниже только фортран и ассемблер (ну мож еще что то), о какой высокоуровневости речь если в языке даже нет классов? процедурно-ориентированный язык не может быть высокоуровневым по определению имхо
0
260 / 87 / 30
Регистрация: 29.10.2015
Сообщений: 196
14.11.2015, 01:06
с каких пор API стали высоким уровнем?
А с чего им быть низкоуровневым? Где там непосредственная работа с памятью, вызов функций по прямым адресам, и иные чисто низкоуровневые конструкции?
На том же WinAPI можно писать, вообще не задумываясь о физическом устройстве железяки, для которой программируешь.
Вот когда пишешь программу, постоянно оперируя такими вещами, как работа с регистрами, соответствие временных диаграмм, да еще и работу программы частенько проверяешь не только при помощи отладчика, но иногда и осциллографа - вот это низкий уровень.
А на С можно и в том, и в другом уровне достаточно комфортно программировать.
0
Заблокирован
14.11.2015, 11:00
Цитата Сообщение от Dreamer_0x01 Посмотреть сообщение
но иногда и осциллографа
о госпаде и часто вы такое пишите? не представляю где может такое потребоваться
Цитата Сообщение от Dreamer_0x01 Посмотреть сообщение
А на С можно и в том, и в другом уровне достаточно комфортно программировать.
видимо у нас разные представления о комфортном программировании, был у меня низкоуровневый курсач по winapi на прошлом курсе, мне было ну очень не комфортно его писать честно скажу, лучше написать две программы на C# чем одну на winapi
0
260 / 87 / 30
Регистрация: 29.10.2015
Сообщений: 196
14.11.2015, 14:29
о госпаде и часто вы такое пишите? не представляю где может такое потребоваться
В течение последних 15 лет - собственно почти все время, в течение которого зарабатываю на программировании.
И "такое" случается почти каждый раз, когда требуется "вдохнуть жизнь" в какое-то новое разрабатываемое устройство, в котором еще не все составные части работают.
Например, в последнем случае - это была программа для микропроцессора NXP, была создана и смонтирована новая плата для измерительного устройства. На этой плате был поставлен АЦП, который обменивается данными с процессором по интерфейсу I2C, но кроме этого - имеет еще и управляемые входные линии. Опыта работы с этим АЦП еще не было. Естественно, сразу при первых пусках он даже не запустился. Поэтому, был выполнен классический процесс тестирования - к линиям вывода пришлось подпаяться, подсоединить цифровой осциллограф, в процессор заливать тестовые программы, в которых поэтапно проверять различные операции - начиная от просто прохождения сигналов по выводам, кончая воспроизведением требуемой временной диаграммы в реальном времени.

Другой случай - опять-таки запускали новое устройство. Вся его функциональность реализовывалась через ПЛИС, в том числе и вывод информации на LCD. С внешним миром же эту ПЛИС связывал микропроцессор. То есть он при запуске читал из флешки конфигурацию, отдавал ее в регистры ПЛИС, выполнял тактирование, опрашивал сигналы с клавиатуры, выдавал данные в УАРТ. Естественно, на этапе запуска это устройство тоже представляло из себя мертвую железку - даже процессор не запускался. И о том, запускается он или нет, как раз можно судить, сделав например тестовую простую программу и выдав последовательность импульсов на одну из ног, которую опять-таки приходилось мониторить осциллографом. Далее, когда процессор запустили - опять-таки осциллографом смотрели временные диаграммы данных, которые идут с процессора на ПЛИС. Конечно же, все запустили

Во все случаях программы для рпоцессора были написаны на С.
Я думаю, перечислил достаточно примеров, чтобы ответить на ваш вопрос.

видимо у нас разные представления о комфортном программировании
Видимо, у нас разные представления об областях программирования как таковых

был у меня низкоуровневый курсач по winapi на прошлом курсе
О, да у вас есть опыт?
Ну тогда замолкаю. Все, чем могу похвастаться, это всего лишь работающие под управлением моих программ устройства, работающие в составе аппаратуры АЭС, подводных лодок, измерительных приборов (начиная от термометров и кончая измерирителями ethernet-трафика), и испытательными стендами для заводов, где по линиям связи с компа идут управляющие сигналы на оборудование. Куда мне тягаться с "курсачем по winapi"...

мне было ну очень не комфортно его писать честно скажу, лучше написать две программы на C# чем одну на winapi
Разумеется, в языках верхнего уровня, где есть хорошие отладчики и шикарные библиотеки, писать и отлаживать код комфортно. Даже в той же микропроцессорной технике есть варианты внутрисхемной отладки (правда, до которых как я писал в примерах нужно еще дойти).
Но вот попробуйте предложить на C# разработать программу для какого-нибудь электронного устройства, у которого ресурсов-то будет порядка десятков килобайт оперативки (если повезет) и десятка килобайт ПЗУ

Поэтому, каждая технология хороша там, где уместно ее применять.
0
Заблокирован
14.11.2015, 15:47
Цитата Сообщение от Dreamer_0x01 Посмотреть сообщение
Видимо, у нас разные представления об областях программирования как таковых
скорее всего именно так
Цитата Сообщение от Dreamer_0x01 Посмотреть сообщение
О, да у вас есть опыт?
Ну тогда замолкаю. Все, чем могу похвастаться, это всего лишь работающие под управлением моих программ устройства, работающие в составе аппаратуры АЭС, подводных лодок, измерительных приборов (начиная от термометров и кончая измерирителями ethernet-трафика), и испытательными стендами для заводов, где по линиям связи с компа идут управляющие сигналы на оборудование. Куда мне тягаться с "курсачем по winapi"...
опустили, ниже плинтуса
Цитата Сообщение от Dreamer_0x01 Посмотреть сообщение
Поэтому, каждая технология хороша там, где уместно ее применять.
золотые слова я лишь хотел сказать что все это микропроцессорное программирование вещь хоть и нужная, но уж очень мало специалистов такого уровня существует, да и оно менее востребовано (насколько я слышал), сейчас же в основном востребовано веб-программирование и разработка под мобильные платформы
0
260 / 87 / 30
Регистрация: 29.10.2015
Сообщений: 196
14.11.2015, 18:43
опустили, ниже плинтуса
Я извиняюсь, если вы это расценили именно так. Я лишь хотел вам показать, что вроде бы имею представление о том, о чем говорю, причем исходя из практического опыта

я лишь хотел сказать что все это микропроцессорное программирование вещь хоть и нужная, но уж очень мало специалистов такого уровня существует
Ну так и хорошо, что мало специалистов - меньше конкуренция, больше спрос, больше денег

да и оно менее востребовано (насколько я слышал)
От кого слышали - от того, кто им не занимается?
Пока есть у нас хоть одно предприятие, где что-либо разрабатывают в области электроники - этот вид услуг будет востребованным.

сейчас же в основном востребовано веб-программирование
Знаю . Это тоже одно из направлений деятельности моей команды.
Но уверяю, что востребованность услуг в сфере ПО для промышленного применения от этого не падает.
0
Заблокирован
14.11.2015, 21:32
Цитата Сообщение от Dreamer_0x01 Посмотреть сообщение
востребованность услуг в сфере ПО для промышленного применения
десктопного?
0
260 / 87 / 30
Регистрация: 29.10.2015
Сообщений: 196
14.11.2015, 22:41
десктопного?
И десктопного, и микроконтроллерного.

Десктопное просто получается не настолько "железоориентированным", как микроконтроллерное - но их часто приходится еще и между собой связывать
0
Надоела реклама? Зарегистрируйтесь и она исчезнет полностью.
raxper
Эксперт
30234 / 6612 / 1498
Регистрация: 28.12.2010
Сообщений: 21,154
Блог
14.11.2015, 22:41
Помогаю со студенческими работами здесь

Является ли Delphi современным алгоритмическим языком программирования?
Здравствуйте! Скажите пожалуйста, является ли Delphi современным алгоритмическим языком программирования?

Написать программу замены элементов списков первого уровня на элементы списка самого низкого уровня в цикл
Пажалуйста помогите с задачкой Пример: (((a)) (b) (((c) e)) (((d)))) -> ((c) (d) (c) (d))

Рынок труда в графике - C++/openGL или движки высокого уровня?
Привет всем, сейчас я задам тупой вопрос, и понятно, что это можно нагуглить, но очень хочется знать мнение профессионалов. Я...

Программные извраты на СИ (низкого уровня)
Добрый день. Хотел спросить мнения ПРОГРАМИРУЮЩИХ людей, как Вы относитесь к выражения подобного рода char *p_addres_to, *p_data; ...

Обязательно ли нужно знать языки низкого уровня?
Добрый день! Подскажите, чтобы хорошо программировать нужно ли знать язык низкого уровня. Насколько далеко, например, программирование на...


Искать еще темы с ответами

Или воспользуйтесь поиском по форуму:
13
Ответ Создать тему
Новые блоги и статьи
Модель микоризы: классовый агентный подход 3
anaschu 06.01.2026
aa0a7f55b50dd51c5ec569d2d10c54f6/ O1rJuneU_ls https:/ / vkvideo. ru/ video-115721503_456239114
Owen Logic: О недопустимости использования связки «аналоговый ПИД» + RegKZR
ФедосеевПавел 06.01.2026
Owen Logic: О недопустимости использования связки «аналоговый ПИД» + RegKZR ВВЕДЕНИЕ Введу сокращения: аналоговый ПИД — ПИД регулятор с управляющим выходом в виде числа в диапазоне от 0% до. . .
Модель микоризы: классовый агентный подход 2
anaschu 06.01.2026
репозиторий https:/ / github. com/ shumilovas/ fungi ветка по-частям. коммит Create переделка под биомассу. txt вход sc, но sm считается внутри мицелия. кстати, обьем тоже должен там считаться. . . .
Расчёт токов в цепи постоянного тока
igorrr37 05.01.2026
/ * Дана цепь постоянного тока с сопротивлениями и напряжениями. Надо найти токи в ветвях. Программа составляет систему уравнений по 1 и 2 законам Кирхгофа и решает её. Последовательность действий:. . .
Новый CodeBlocs. Версия 25.03
palva 04.01.2026
Оказывается, недавно вышла новая версия CodeBlocks за номером 25. 03. Когда-то давно я возился с только что вышедшей тогда версией 20. 03. С тех пор я давно снёс всё с компьютера и забыл. Теперь. . .
Модель микоризы: классовый агентный подход
anaschu 02.01.2026
Раньше это было два гриба и бактерия. Теперь три гриба, растение. И на уровне агентов добавится между грибами или бактериями взаимодействий. До того я пробовал подход через многомерные массивы,. . .
Советы по крайней бережливости. Внимание, это ОЧЕНЬ длинный пост.
Programma_Boinc 28.12.2025
Советы по крайней бережливости. Внимание, это ОЧЕНЬ длинный пост. Налог на собак: https:/ / **********/ gallery/ V06K53e Финансовый отчет в Excel: https:/ / **********/ gallery/ bKBkQFf Пост отсюда. . .
Кто-нибудь знает, где можно бесплатно получить настольный компьютер или ноутбук? США.
Programma_Boinc 26.12.2025
Нашел на реддите интересную статью под названием Anyone know where to get a free Desktop or Laptop? Ниже её машинный перевод. После долгих разбирательств я наконец-то вернула себе. . .
КиберФорум - форум программистов, компьютерный форум, программирование
Powered by vBulletin
Copyright ©2000 - 2026, CyberForum.ru