OSDev

для всех
Текущее время: 17 май 2024, 19:54

Часовой пояс: UTC + 3 часа




Начать новую тему Ответить на тему  [ Сообщений: 142 ]  На страницу Пред.  1, 2, 3, 4, 5, 6, 7, 8 ... 15  След.
Автор Сообщение
 Заголовок сообщения: Re: OS Dev и суровая действительность
СообщениеДобавлено: 12 дек 2011, 19:50 

Зарегистрирован: 21 сен 2007, 17:24
Сообщения: 1088
Откуда: Балаково
SII писал(а):
Кстати, Вам не приходило в голову поинтересоваться, почему это везде Си причисляют к языкам высокого уровня?

Нет ни одного причисления Си к высокоуровневым языкам
wikipedia
Это императивный и процедурный язык общего назначения. Это точно определение. Всё остальное лирика.


Вернуться к началу
 Профиль  
 
 Заголовок сообщения: Re: OS Dev и суровая действительность
СообщениеДобавлено: 12 дек 2011, 19:59 

Зарегистрирован: 28 окт 2007, 18:33
Сообщения: 1418
А почитать статейку про языки высокого уровня религия не позволяет? http://en.wikipedia.org/wiki/High-level_language

Цитирую:

Цитата:
"High-level language" refers to the higher level of abstraction from machine language. Rather than dealing with registers, memory addresses and call stacks, high-level languages deal with variables, arrays, objects, complex arithmetic or boolean expressions, subroutines and functions, loops, threads, locks, and other abstract computer science concepts, with a focus on usability over optimal program efficiency. Unlike low-level assembly languages, high-level languages have few, if any, language elements that translate directly into a machine's native opcodes. Other features, such as string handling routines, object-oriented language features, and file input/output, may also be present.


И далее:

Цитата:
The terms high-level and low-level are inherently relative. Some decades ago, the C language, and similar languages, were most often considered "high-level", as it supported concepts such as expression evaluation, parameterised recursive functions, and data types and structures, while assembly language was considered "low-level". Many programmers today might refer to C as low-level, as it lacks a large runtime-system (no garbage collection, etc.), basically supports only scalar operations, and provides direct memory addressing. It, therefore, readily blends with assembly language and the machine level of CPUs and microcontrollers.


Вернуться к началу
 Профиль  
 
 Заголовок сообщения: Re: OS Dev и суровая действительность
СообщениеДобавлено: 12 дек 2011, 20:04 

Зарегистрирован: 21 сен 2007, 17:24
Сообщения: 1088
Откуда: Балаково
SII писал(а):
А компиляция вообще всегда не шибко предсказуема, если используется оптимизирующий транслятор. Мало ли что он решит соптимизировать? Хороший транслятор потому и генерит код лучше, чем посредственный программист-ассемблерщик, что может учесть кучу нюансов вплоть до взаимного влияния команд друг на друга на конвейере процессора.

Значит тебе не писать операционок на Си :)
В интернете где-то слышал такую историю от учителей информатики. Все люди деляться на тех, кто понимает понятие "указатель", и кто не понимает. Не всем дано от природы. У всех мозг по-разному строен.

Хотя на самом деле, просто всё зависит от догм, которые забиты в мозг с детства.


Вернуться к началу
 Профиль  
 
 Заголовок сообщения: Re: OS Dev и суровая действительность
СообщениеДобавлено: 12 дек 2011, 20:09 

Зарегистрирован: 21 сен 2007, 17:24
Сообщения: 1088
Откуда: Балаково
SII писал(а):
Цитата:
В словах вашего опента по спору по поводу Асм и ЯВУ - есть доля истины.
В 80-х годах увлечения по Ассемблеру было побольше чем сейчас. В таком случае имеется ввиду не формальная дата появления языков и не их оффициальное использование, а интерес. Я, думаю, что каждый пятый разработчик знал АСМ, ну по крайней мере представлял, что это такое. Сейчас процент сильно сместился вниз.


А какое отношение это имеет к утверждению Химика, что Си -- язык низкого уровня?

Такое отношение, что типы ошибок одни и те же. Переполнение буфера и всё такое. Низкоуровневщина. Языки высокого уровня полностью лишены такого рода ошибок. Чуешь разницу? Или ещё нет? Вообще-то я уже начал уставать. Начинай думать.


Вернуться к началу
 Профиль  
 
 Заголовок сообщения: Re: OS Dev и суровая действительность
СообщениеДобавлено: 12 дек 2011, 20:16 

Зарегистрирован: 28 окт 2007, 18:33
Сообщения: 1418
Продолжайте бредить дальше, а мне действительно надоело. Такой бред лишь сначала вызывает веселье...

Пы. Сы. И да, операционку на Си я точно писать не буду. Либо надёжность кода (а значит, Паскаль/Ада), либо высокая эффективность (т.е. ассемблер). Получать же одновременно ненадёжный и неэффективный код -- на кой это мне надо? Только потому, что "все профессионалы пишут на Си"? Ну так мне с такими профессионалами не по дороге.


Вернуться к началу
 Профиль  
 
 Заголовок сообщения: Re: OS Dev и суровая действительность
СообщениеДобавлено: 12 дек 2011, 20:31 

Зарегистрирован: 21 сен 2007, 17:24
Сообщения: 1088
Откуда: Балаково
SII, если ты профессиональный ассемблерщик, то ты можешь стать профессиональным сишником, каких мало.
В отношении глупых опечаток, если они тебя сильно беспокоят, то уже появились альтернативные названия операций в словесной форме. Те же "a and b". Только что проверил в GCC - работает.


Вернуться к началу
 Профиль  
 
 Заголовок сообщения: Re: OS Dev и суровая действительность
СообщениеДобавлено: 12 дек 2011, 21:43 
Аватара пользователя

Зарегистрирован: 14 мар 2011, 12:31
Сообщения: 970
Откуда: Дагоба
StasBaybak писал(а):
Резковато как-то. Я считаю Вы пытаетесь надавить на человека. И немного ЧСВ детектед.

Вот я как раз пытаюсь донести ту же мысль.
SII писал(а):
Знаете, если человек несёт ахинею, я так и говорю. ЧСВ здесь никакой роли не играет.

Это и есть переход на личности, пока ещё в мягкой форме. Вместо корректного обсуждения сути предмета вы всё время переводите его в плоскость "сам дурак". Или профан/лжец. В общем, от вас тут всем досталось.

Ну вы тут и нафлеймили.

ЯВУ по определению является всё то, что не привязано жёстко к конкретной архитектуре, а также имеет ряд общепринятых абстракций - структуры, массивы, функции и т.д...
Си - классический язык высокого уровня. Можно спорить о степени его абстракции от машины, но никак не о принадлежности к классу ЯВУ. Любой ассемблер - привязан к конкретной архитектуре.

_________________
Yet Other Developer of Architecture.
The mistery of Yoda’s speech uncovered is:
Just an old Forth programmer Yoda was.

<<< OS Boot Tools. >>>


Вернуться к началу
 Профиль  
 
 Заголовок сообщения: Re: OS Dev и суровая действительность
СообщениеДобавлено: 12 дек 2011, 22:12 

Зарегистрирован: 28 окт 2007, 18:33
Сообщения: 1418
Yoda, Вы снова передёргиваете. Я неоднократно корректно обсуждал суть предмета, указывая Химику на принципиальную разницу между ЯВУ и ЯНУ в виде наличия/отсутствия абстрагирования от архитектуры процессора. Так что, извините, я, если и перевожу в плоскость "сам дурак", то уж точно не "вместо корректного обсуждения" и даже не "вместе", а лишь после такового обсуждения, убедившись, что оппонент продолжает нести чушь.

Кстати, лично Вы согласны с моим утверждением, что Химик несёт по этому вопросу ахинею/чушь/бред и т.д. и т.п.? Или же в душе согласны, но считаете недопустимым так говорить прямо, а только всякими иносказаниями типа "в этом вопросе Вы, как мне кажется, слегка ошибаетесь"? Ну так у меня нет желания тратить время на подобные архивежливости.

И кстати, знаете, почему в таких ситуациях я не пишу нечто вроде "Химик, Вы дурак"? Такое утверждать неправильно не только с точки зрения элементарной вежливости (по большому счёту, мне на неё наплевать, пока разговор не начинает сползать к отровенной матерщине, угрозам и т.п.), но и по существу. Я понятия не имею, какие там умственные способности у данного человека, а соответственно, не могу сказать, умный он или дурак. Я вижу лишь то, что во вполне конкретном вопросе он говорит глупости и упорно держится за эту свою позицию. Но глупости, как известно, могут говорить и очень умные люди, а упрямство, даже тупое, с интеллектом вообще никакой прямой связи не имеет. Вот посему я и не перехожу на личности в грубой форме :)


Вернуться к началу
 Профиль  
 
 Заголовок сообщения: Re: OS Dev и суровая действительность
СообщениеДобавлено: 12 дек 2011, 22:50 

Зарегистрирован: 10 май 2007, 11:33
Сообщения: 1206
StasBaybak писал(а):
АААААААААААА еще самое главное в ваших дискусиях упущенно, что на тот момент для ПК было так мало разнобразия железа, что поддержка различных девайсов не требовало множество всяких драйверов и библиотек. Ну как тут можно спорить если стандартная компликтация 90-х: 486 проц, VGA, LPT, COM, ISA, IDE(ATA), Floppy, IBM Keyboard и все. Даже под мышку не было никаких PS/2, USB. Ни видеокарт, ни звуковых карт, ни ситевых, ни дисководов со всякими Blu Ray, ни WiFi, ни LCD мониторов. К кому бы в гости не зайдешь а каждый сидит с горой дискет с большим 15" монитором с защитной фанеркой.
90-е - это в том числе и середина-конец 90-х. Мой первый комп мне купили в 96 или 97 году. Он и сейчас работает! Я его использую в качестве тестового. Pentium 166 MMX, RAM 32mb (сейчас + RAM 32mb), HDD 1.5gb (сейчас + HDD 20gb), CD-ROM (сейчас + CD-RW), SVGA, SB16, mouse&keyboard PS/2, ISA/PCI, ОС Windows 95 (и в этих же 90-х Windows 98/98SE/NT). Насколько помню, вполне заурядная конфигурация для того времени.

SII писал(а):
Кстати, Вам не приходило в голову поинтересоваться, почему это везде Си причисляют к языкам высокого уровня? Неужто все и всюду -- сплошные кретины, и лишь Вам открыта Истина? А то в методичках врут, в учебниках врут, в Википедии тоже врут -- везде ж нагло утверждают, что Си -- язык высокого уровня.
В нормальной литературе пишут, что Си немного более низкоуровневый язык, чем языки, подобные Паскалю. Я согласен с этим утверждением. Все названные тобой недостатки Си имеют место быть, но часть из них можно рассматривать не как его недостатки, а как достоинства в сравнении с другими высокоуровневыми языками.


Вернуться к началу
 Профиль  
 
 Заголовок сообщения: Re: OS Dev и суровая действительность
СообщениеДобавлено: 12 дек 2011, 23:12 

Зарегистрирован: 28 окт 2007, 18:33
Сообщения: 1418
phantom-84 писал(а):
В нормальной литературе пишут, что Си немного более низкоуровневый язык, чем языки, подобные Паскалю. Я согласен с таким утверждением. Все названные тобой недостатки Си имеют место быть, но часть из них можно рассматривать не как его недостатки, а как достоинства в сравнении с другими высокоуровневыми языками.


Ну, я не соглашусь ни с тем, ни с другим, но здесь уже изрядную роль играет субъективная оценка, а не только объективная сторона вопроса.

Например, Си имеет настолько плохую типизацию и контроль за соблюдением типов, что в первом приближении можно считать, что её вовсе нет (так, типы char, int, long int -- по сути, одно и то же, только занимает разные объёмы памяти). Соответственно, данные разных типов можно произвольно смешивать в выражениях, присваивать и т.д. и т.п. В Аде же даже два вроде бы одинаковых типа могут считаться разными. Например:

Код:
type A is new Integer;
type B is new Integer;


Оба типа объявлены совершенно одинаково, а посему с технической точки зрения тоже, естественно, абсолютно одинаковы. Но компилятор пошлёт куда подальше при попытке смешать значения переменных этих типов. Про типы разных размеров я вообще молчу. Обойти эти ограничения можно, но только явным образом используя приведение типов. Спрашивается, чей подход лучше -- Ады или Си?

Крайне жёсткая типизация Ады позволяет сильно снизить число не только совершенно случайных ошибок (описок), но -- при грамотном использовании -- и ошибок, связанных с некоторым недомыслием программиста (например, попытка присвоить переменной типа "температура воздуха" значение переменной типа "температура воды" приведёт к ошибке компиляции, если нет явного приведения типов, и это, вообще говоря, вполне обоснованно). В то же время и ежу понятно, что гора привидений типов не способствует улучшению читабельности программы, а также затрудняет набор её исходного текста, ну а чтобы этого избежать, приходится хорошо продумывать систему типов для конкретного приложения и строго её придерживаться, т.е. в Аде не проходит модель разработки "чего тут думать? кодировать надо!". Лично я однозначно выбираю "адскую строгость": лучше я буду предварительно тратить время на проектирование, а во время кодирования иногда использовать приведение типов, но зато не буду иметь никаких проблем с ошибками из-за описок или ещё чего в этом роде, чем резко сокращу время отладки (которое, как известно, составляет основную часть временных затрат на создание крупной программы). В то же время было бы глупым отрицать, что простую программу обычно легче и быстрей написать на Си, в том числе благодаря отсутствию сколько-нибудь вменяемой типизации (что, думаю, является самым главным недостатком этого языка): преимущества Ады начинают заметно проявляться лишь на достаточно крупных программах (скажем, от 2-3 тысяч строк).

Что же до уровня языка, то лично я считаю, что у Паскаля и Си уровень одинаков: реализуемый в них набор абстракций и возможностей не имеет принципиальных различий (какая разница, пишется do...while или repeat...until?), просто у Паскаля есть весьма строгая типизация, а у Си она отсутствует. Вот Объект Паскаль (Дельфи) имеет более высокий уровень, чем и обычный Паскаль, и Си. Ада тоже имеет более высокий уровень; в частности, это единственный язык, включающий поддержку многозадачности (точней, многопоточности, если пользоваться терминологией Винды) на уровне исходного текста программы. (Хотя, с другой стороны, в Аде есть и низкоуровневые средства, чётко определённые стандартом языка, а не реализуемые, как разработчику в голову взбредёт: например, можно явным образом указать размер типа в битах, расположение полей записи с точностью до бита и т.д.). Но это, как уже говорил, достаточно субъективная вещь -- в отличие от сравнения уровней у ассемблера и Си, между которыми имеется принципиальная и совершенно объективная разница.


Вернуться к началу
 Профиль  
 
Показать сообщения за:  Поле сортировки  
Начать новую тему Ответить на тему  [ Сообщений: 142 ]  На страницу Пред.  1, 2, 3, 4, 5, 6, 7, 8 ... 15  След.

Часовой пояс: UTC + 3 часа


Кто сейчас на конференции

Сейчас этот форум просматривают: нет зарегистрированных пользователей и гости: 69


Вы не можете начинать темы
Вы не можете отвечать на сообщения
Вы не можете редактировать свои сообщения
Вы не можете удалять свои сообщения
Вы не можете добавлять вложения

Найти:
Перейти:  
Создано на основе phpBB® Forum Software © phpBB Group
Русская поддержка phpBB