Войти в систему

Home
    - Создать дневник
    - Написать в дневник
       - Подробный режим

LJ.Rossia.org
    - Новости сайта
    - Общие настройки
    - Sitemap
    - Оплата
    - ljr-fif

Редактировать...
    - Настройки
    - Список друзей
    - Дневник
    - Картинки
    - Пароль
    - Вид дневника

Сообщества

Настроить S2

Помощь
    - Забыли пароль?
    - FAQ
    - Тех. поддержка



Пишет chistyakov ([info]chistyakov)
@ 2004-12-08 02:32:00


Previous Entry  Add to memories!  Tell a Friend!  Next Entry
Непросвещённым любителям языка "Си". Для чтения (тем, кто умеет).
Читатель может прикинуть, сколько весила бы машина, если бы ее ПО создавалось на основе таких популярных языков как Java или C++ — и когда был бы закончен проект. В качестве масштабного множителя можно предложить отношение объемов описаний языков — 16 стр. для Оберона, 200 для Java и больше 1000 для C++. ;-))

Почти полувековой личный опыт Н.Вирта в разработке пионерского программного обеспечения — компиляторы, операционные системы, прикладные программы (офисное ПО для факультета информатики ETH для рабочих станций Lilith и Ceres с конца 70-х по 1990 г.), управляющие системы реального времени, а также преподавание — такой уникальный опыт придает колоссальный вес его критике широко распространенных языков и практики программирования.



{+}


(Читать комментарии) - (Добавить комментарий)

Re: Если хотите получить ответ,
[info]d_ohrenelli@lj
2004-12-12 03:16 (ссылка)
1000 на С++ и 200 на Яве ?
При том, что Ява фактически
обрезанный С++ ?
Бред сивой кобылы.

Специально для специалистов:
не в языке дело, а в том, кто на нем говорит или пишет.
Ошибки не в компиляторе а в ДНК.

(Ответить) (Уровень выше) (Ветвь дискуссии)

Re: Если хотите получить ответ,
[info]ex_chistyak@lj
2004-12-12 03:36 (ссылка)
Язык имеет огромное значение, так как дисциплинирует программиста.

Кроме того не надо забывать второе, обычно игнорируемое назначение программы для ЭВМ. Это -- документирование алгоритма для человека, который может обратиться к программному тексту через многие годы, когда никого из авторов программы уже не будет. Поэтому очень важна минимальность и ограниченность выразительных средств языка. Проще будет разобраться. А иногда, Вы, наверное, знаете получается так, что разобраться невозможно. Конечно, и квалификация программиста имеет значение. Особенно, его способность к самоограничению ради понятности.

Я даже не останавливаюсь на такой очевидной вещи, что на "мощном" языке программирования можно сделать очень неочевидные ошибки. Помните, наверное, всякие "зависания" и пр., так присущие программам, написанным на "Си".

{+}

(Ответить) (Уровень выше) (Ветвь дискуссии)

Re: Если хотите получить ответ,
[info]d_ohrenelli@lj
2004-12-12 04:00 (ссылка)
Спорить не буду.
Неправильно используя молоток можно отбить пальцы или разбить голову.
Язык программирования - инструмент, не более того, в руках более или менее
толкового специалиста в определенной мере владеющего материалом.

Писать понятный код надо уметь.
Это зависит не от языка, а от человека который пишет.

А вот тут вы написали, извините, полную бредятину.

//======
Кроме того не надо забывать второе, обычно игнорируемое назначение программы для ЭВМ. Это -- документирование алгоритма для человека, который может обратиться к программному тексту через многие годы, когда никого из авторов программы уже не будет. Поэтому очень важна минимальность и ограниченность выразительных средств языка.
//======
Самый простой язык - ассемблер.
В нем можно наворотить намного больше чем на Си.
А самое главное, с алгоритмом фиг разберешься.
Вы пробовали ?

Хорошо, Ассемблер - язык низкого уровня.
Как насчет бейсика ? Он еше проще чем Си,
но программа на нем совершенно не понятна,
(в смысле алгоритма) и наворотить можно ну никак не меньше.
По сравнению с Си/Си ++ - мрак кромешный.

Да, кстати:
Си я выучил раньше чем Паскаль.
Дисциплинируещее воздействие паскаля ощутил очень хорошо.
После этого пишу на Си++ понятный код.
Никто пока не жаловался.
Комментарии - вообще великая вещь.


(Ответить) (Уровень выше) (Ветвь дискуссии)

Re: Если хотите получить ответ,
[info]ex_chistyak@lj
2004-12-12 05:02 (ссылка)
Ваш пример с ассемблером совершенно неудачный. Ассемблер вовсе не простой язык. Низкого уровня, да. А в смысле обилия выразительных средств -- это самый сложный язык.
Так что, не спешите ставить диагнозы. Лучше вдумайтесь в бредятину. У меня опыта поболе Вашего, я думаю.

То, что Паскаль Вам помог, это хорошо.

(Ответить) (Уровень выше) (Ветвь дискуссии)

Re: Если хотите получить ответ,
[info]d_ohrenelli@lj
2004-12-12 19:42 (ссылка)
Ассемблер на самом деле прост.
Сколько там команд , несколько сотен ?
( На самом деле зависит от типа процессора.
Я знаю как минимум один ассемблер где команд меньше 100)
И это всяко меньше, чем количество стандартных функций в Си.
То, что не просто - это периферия, которую он обслуживает,
прерывания например - но к собственно языку они не имеют ни малейшего отношения.
Ассемблер как язык - прост.
Писать на нем сложно.

Впрочем на эту тему можно разговаривать еще долго.
Как насчет примера с бейсиком ?
Минимальное количество выразительных средств.
Написать программу с количеством строчек кода больше
20000 почти невозможно.

Так что бредятина осталась бредятиной.
Не в количестве выразительных средств дело,
а в их использовании.
См выше пример с молотком.

(Ответить) (Уровень выше)


(Читать комментарии) -