Форум программистов, компьютерный форум, киберфорум
Наши страницы
C для начинающих
Войти
Регистрация
Восстановить пароль
 
Рейтинг 5.00/6: Рейтинг темы: голосов - 6, средняя оценка - 5.00
Maxam
2 / 2 / 1
Регистрация: 15.06.2014
Сообщений: 64
1

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

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

у меня вопрос , си является низкий уровень или высокий уровень языка программирования ?
0
Лучшие ответы (1)
Similar
Эксперт
41792 / 34177 / 6122
Регистрация: 12.04.2006
Сообщений: 57,940
12.11.2015, 16:30
Ответы с готовыми решениями:

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

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

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

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

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

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

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

Решение

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

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

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

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

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

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

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

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

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

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

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

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

Десктопное просто получается не настолько "железоориентированным", как микроконтроллерное - но их часто приходится еще и между собой связывать
0
14.11.2015, 22:41
MoreAnswers
Эксперт
37091 / 29110 / 5898
Регистрация: 17.06.2006
Сообщений: 43,301
14.11.2015, 22:41

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

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

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


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

Или воспользуйтесь поиском по форуму:
13
Ответ Создать тему
Опции темы

КиберФорум - форум программистов, компьютерный форум, программирование
Powered by vBulletin® Version 3.8.9
Copyright ©2000 - 2019, vBulletin Solutions, Inc.
Рейтинг@Mail.ru