Re[7]: Торвальдс - еще раз про С++
От: Кодёнок  
Дата: 21.06.10 07:03
Оценка: :))) :)))
Здравствуйте, Klapaucius, Вы писали:

FR>>C++ это не поддерживается.

K>Уже, можно сказать, поддерживается.
K> auto local_xxx = [a](){

[a](){? Как-то подозрительно просто. Я ожидал как минимум &&[(a)()]->(){
Re[4]: Торвальдс - еще раз про С++
От: Klapaucius  
Дата: 21.06.10 07:53
Оценка: 6 (1) +4
Здравствуйте, Nuzhny, Вы писали:

N>А может: "сложное — враг простого"?


Нет, не может. У сложного и простого гораздо более сложные взаимоотношения. До определенного предела сложное — друг простого, а вот потом их пути расходятся. Дело в том, что мы не можем получить простоту за бесплатно. Нам приходиться как-то перераспределять сложность. На простом языке простую программу не написать. Брейнфак, например, простой язык, но программы на нем написанные — очень сложны для восприятия.
Для того, чтобы написать простую программу нужен язык посложнее. Принцип прост и универсален. Вот есть у нас уравнения Максвелла, записанные покомпонентно — огромное, уродливое нагромаждение элементарных вещей. Чтобы это все как-то обозреть глазами за раз, нужно уже что-то знать. Векторы, например. Уже выглядит проще. Если знать дифоператоры, можно еще проще записать. С четырехвекторами и оператором Даламбера получиться еще более изящная и компактная запись, ну а со звездой Ходжа — уже лучше некуда.
Линус, по всей видимости, таких простых вещей не понимает. Если отвертка проще шуруповерта — это не значит, что завернуть 1000 шурупов проще отверткой. Как раз наоборот.
Тот же C только на то и годиться, чтобы развести грязь на сто экранов, там где в нормальном языке можно было бы обойтись и несколькими строками. Язык это очень слабый. Плюсами, разумеется, легко злоупотребить, но там уже есть кое-какие выразительные средства и можно худо-бедно писать код более понятный, чем на C. Понятно, что язык с выразительными возможностями C++ мог быть существенно проще, т.е. в данном случае мы покупаем выразительность не по самой выгодной цене, но это уже другая история.
... << RSDN@Home 1.2.0 alpha 4 rev. 1446>>
'You may call it "nonsense" if you like, but I'VE heard nonsense, compared with which that would be as sensible as a dictionary!' (c) Lewis Carroll
Re[5]: Торвальдс - еще раз про С++
От: CreatorCray  
Дата: 21.06.10 09:13
Оценка:
Здравствуйте, Klapaucius, Вы писали:

K>Тот же C только на то и годиться, чтобы развести грязь на сто экранов, там где в нормальном языке можно было бы обойтись и несколькими строками. Язык это очень слабый. Плюсами, разумеется, легко злоупотребить, но там уже есть кое-какие выразительные средства и можно худо-бедно писать код более понятный, чем на C. Понятно, что язык с выразительными возможностями C++ мог быть существенно проще, т.е. в данном случае мы покупаем выразительность не по самой выгодной цене, но это уже другая история.


Приходилось как то писать кусок кроссплатформенного кода на Plain С.
Проклял и Plain С и кроссплатформенность.
Очень сильно не хватало RAII и шаблонных контейнеров.
Про кроссплатформенность вообще отдельные матюки.
... << RSDN@Home 1.1.4 stable SR1 rev. 568>>
Re[5]: Торвальдс - еще раз про С++
От: Cyberax Марс  
Дата: 21.06.10 09:30
Оценка:
Здравствуйте, Klapaucius, Вы писали:

K>Линус, по всей видимости, таких простых вещей не понимает. Если отвертка проще шуруповерта — это не значит, что завернуть 1000 шурупов проще отверткой. Как раз наоборот.

Не, он понимает. Просто ему больше нравится подход с отвёртками.

http://torvalds-family.blogspot.com/2009/08/programming.html

Some people seem to think that C is a real programming language, but they are sadly mistaken. It really is about writing almost-portable assembly language, and it turns out that getting good results from SHA1 really is mostly about trying to fight the compilers tendency to try to be clever.


Для ядра системы такой подход вполне применим. Ну нет почти там мест, где что-то сложное нужно.
Sapienti sat!
Re[6]: Торвальдс - еще раз про С++
От: gear nuke  
Дата: 21.06.10 21:21
Оценка:
Здравствуйте, dilettante, Вы писали:

LCR>>
LCR>>int my_cool_fucn()
LCR>>{
LCR>>    int a = 22;
LCR>>    int local_xxx()
LCR>>    {
LCR>>        return a;
LCR>>    }
LCR>>    return local_xxx();
LCR>>}
LCR>>

LCR>>

D>Конкретно так делать некорректно, будет неопределённое поведение: локальные функции захватывающие локальные переменные лучше не возвращать.


Дык функцию и нельзя вернуть (это не first-class object), максимум — её адрес. А в данном случае возвращается результат функции — копия локальной переменной, не вижу проблем.
People who are more than casually interested in computers should have at least some idea of what the underlying hardware is like. Otherwise the programs they write will be pretty weird (c) D.Knuth
Re[6]: Торвальдс - еще раз про С++
От: gear nuke  
Дата: 21.06.10 22:12
Оценка: 7 (1) +1
Здравствуйте, Cyberax, Вы писали:

C>Просто ему больше нравится подход с отвёртками.


C>http://torvalds-family.blogspot.com/2009/08/programming.html

C>

and it turns out that getting good results from SHA1 really is mostly about trying to fight the compilers tendency to try to be clever.

Для меня SHA1 очень показателен оказался. Пересмотрел несколько жутких реализаций на макросах С, с ручным разворачиванием циклов, а потом тупо написал (на С++, но не суть) обычный алгоритм который их все и порвал Времена меняются, но не все мы меняемся вместе с ними.
People who are more than casually interested in computers should have at least some idea of what the underlying hardware is like. Otherwise the programs they write will be pretty weird (c) D.Knuth
Re[2]: Торвальдс - еще раз про С++
От: gear nuke  
Дата: 21.06.10 22:15
Оценка:
Здравствуйте, Mr.Cat, Вы писали:

MC>Кстати, интересно было бы поглядеть на аргументы с другой стороны, в пользу С++. Не осилил всю ветку по ссылке, но они вроде на уровне "почему бы и нет".


Скорее на уровне:
— А можно ли использовать С++ в прицнипе?
— Нет, не хватает того-то, поскольку нам это не нужно (и оператор new — идиотизм).
People who are more than casually interested in computers should have at least some idea of what the underlying hardware is like. Otherwise the programs they write will be pretty weird (c) D.Knuth
Подождите ...
Wait...
Пока на собственное сообщение не было ответов, его можно удалить.