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

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

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

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

Подскажите, где можно найти информацию про ввод-вывод функций низкого уровня из библиотеки <io.h>?
Подскажите где можно найти информацию про Ввод-вывод функций низкого уровня из...

Определите, на сколько рост самого высокого из них превышает рост самого низкого
Привет! Программа компилируется, но вместо ответа выводит 0. Задание: ...

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

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

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

12
Dreamer_0x01
258 / 85 / 30
Регистрация: 29.10.2015
Сообщений: 192
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
63 / 63 / 60
Регистрация: 11.11.2015
Сообщений: 347
12.11.2015, 19:27 4
Как иногда говорят - C самый низкоуровневый из высокоуровневых
Но вообще - высокоуровневый.
0
Dreamer_0x01
258 / 85 / 30
Регистрация: 29.10.2015
Сообщений: 192
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
258 / 85 / 30
Регистрация: 29.10.2015
Сообщений: 192
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
258 / 85 / 30
Регистрация: 29.10.2015
Сообщений: 192
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
258 / 85 / 30
Регистрация: 29.10.2015
Сообщений: 192
14.11.2015, 18:43 11
опустили, ниже плинтуса
Я извиняюсь, если вы это расценили именно так. Я лишь хотел вам показать, что вроде бы имею представление о том, о чем говорю, причем исходя из практического опыта

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

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

сейчас же в основном востребовано веб-программирование
Знаю . Это тоже одно из направлений деятельности моей команды.
Но уверяю, что востребованность услуг в сфере ПО для промышленного применения от этого не падает.
0
Volrajas
Заблокирован
14.11.2015, 21:32 12
Цитата Сообщение от Dreamer_0x01 Посмотреть сообщение
востребованность услуг в сфере ПО для промышленного применения
десктопного?
0
Dreamer_0x01
258 / 85 / 30
Регистрация: 29.10.2015
Сообщений: 192
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

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

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

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


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

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

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