Вход на сайт
Язык: Великий! Могучий! -- Но как измерить?
1003 просмотров
Перейти к просмотру всей ветки
в ответ Waräger 19.01.04 18:56
Как человек, имеющий некоторый опыт в программировании (прикладные программы управления измерительными приборами), ухвачусь за приведенную Вами фразу:
При этом Пентиум 1 с ОС Виндоуз 98 будет работать эффективнее, чем Пентиум 4 с ДОС
Кто Вам сказал, что ДОС - плохая операционная система? Кто Вам сказал, что под ДОСом программы работают хуже? Пример для чайников: попробуйте запустить программу с энергичным использованием графики, например видеоигру (DOOM к примеру скажем) под ДОСом и Виндами и сравните шустрость программы под ДОСом и под Виндами. Сравнение будет явно не в пользу Виндов. Пример для программистов: попробуйте написать видеовывод под одной операционной системой и под другой. А программирование харда, притом явно самодельного, с абсолютно нетривиальными адресами портов ввода-вывода? Ответ прост, и объяснение всем известно: для повышения устойчивости многозадачной операционной системы (в том числе и по отношению к злонамеренной атаке вируса) т.н. "продвинутая" операционная система делает мильон проверок (в том числе с использованием довольно дорогого по времени переключения процессора из одного "сегмента" пространства задач в другой, связанного с заменой содержимого регистров), что на быстродействии системы в целом отражается отнюдь не благотворно.
Предложенный компьютерный пример в дискуссии о языках человеческого общения я встретил с большим энтузиазмом, поскольку это даст мне возможность выразить свое отношение к исходному предмету дискуссии компьютерной иллюстрацией. Не бывает хороших и плохих языков программирования. С некоторой натяжкой можно хлестко заявить также, что не бывает хороших и плохих операционных систем. Язык прогргаммирования - это инструмент, и он ориентирован на определенную задачу. Неудобно бриться топором (несмотря на то, что рутинная проверка остроты топора - сбрить волосы на руке), неудобно рубить дрова бритвой. Ассемблер - замечательный язык для задач "возьми байт отсюда и положи туда", но программировать решение дифференциальных уравнений в многопроцессорной системе на ассемблере умучаешься. Строгий Паскаль, который точно знает, как надо писать программы, хорош для студента, не вполне владеющего синтаксисом языка (и делающего оттго кучу банальных описок), но вызывает столь буйные приступы ярости у профессионала, что впору устанавливать дворники на монитор. Что это такое - взрослый серьезный дядя 80% времени тратит на то, чтобы надуть этот капризный компилятор, возомнивший о себе, что он лучший программист всех времен и народов и не желающий адресовать беззнаковый байт указателем на "байт со знаком". Это не расторопный слуга, иногда напоминающий хозяину о возможной ошибке, а капризная тетенька в Присутствии, цель которой - отражать простолюдина-просителя, указывая ему на мелкие формальные несоответствия в принесенной бумажке, пока тот не догадается принести подношение. И это при том, что про Борландовский Паскаль в начале 90-х годов было известно, что вычислительные задачи он считает даже немного лучше чем Си.
При этом Пентиум 1 с ОС Виндоуз 98 будет работать эффективнее, чем Пентиум 4 с ДОС
Кто Вам сказал, что ДОС - плохая операционная система? Кто Вам сказал, что под ДОСом программы работают хуже? Пример для чайников: попробуйте запустить программу с энергичным использованием графики, например видеоигру (DOOM к примеру скажем) под ДОСом и Виндами и сравните шустрость программы под ДОСом и под Виндами. Сравнение будет явно не в пользу Виндов. Пример для программистов: попробуйте написать видеовывод под одной операционной системой и под другой. А программирование харда, притом явно самодельного, с абсолютно нетривиальными адресами портов ввода-вывода? Ответ прост, и объяснение всем известно: для повышения устойчивости многозадачной операционной системы (в том числе и по отношению к злонамеренной атаке вируса) т.н. "продвинутая" операционная система делает мильон проверок (в том числе с использованием довольно дорогого по времени переключения процессора из одного "сегмента" пространства задач в другой, связанного с заменой содержимого регистров), что на быстродействии системы в целом отражается отнюдь не благотворно.
Предложенный компьютерный пример в дискуссии о языках человеческого общения я встретил с большим энтузиазмом, поскольку это даст мне возможность выразить свое отношение к исходному предмету дискуссии компьютерной иллюстрацией. Не бывает хороших и плохих языков программирования. С некоторой натяжкой можно хлестко заявить также, что не бывает хороших и плохих операционных систем. Язык прогргаммирования - это инструмент, и он ориентирован на определенную задачу. Неудобно бриться топором (несмотря на то, что рутинная проверка остроты топора - сбрить волосы на руке), неудобно рубить дрова бритвой. Ассемблер - замечательный язык для задач "возьми байт отсюда и положи туда", но программировать решение дифференциальных уравнений в многопроцессорной системе на ассемблере умучаешься. Строгий Паскаль, который точно знает, как надо писать программы, хорош для студента, не вполне владеющего синтаксисом языка (и делающего оттго кучу банальных описок), но вызывает столь буйные приступы ярости у профессионала, что впору устанавливать дворники на монитор. Что это такое - взрослый серьезный дядя 80% времени тратит на то, чтобы надуть этот капризный компилятор, возомнивший о себе, что он лучший программист всех времен и народов и не желающий адресовать беззнаковый байт указателем на "байт со знаком". Это не расторопный слуга, иногда напоминающий хозяину о возможной ошибке, а капризная тетенька в Присутствии, цель которой - отражать простолюдина-просителя, указывая ему на мелкие формальные несоответствия в принесенной бумажке, пока тот не догадается принести подношение. И это при том, что про Борландовский Паскаль в начале 90-х годов было известно, что вычислительные задачи он считает даже немного лучше чем Си.