LINUX.ORG.RU

История изменений

Исправление soomrack, (текущая версия) :

Я больше привык в интернете на «ты», это не из-за неуважения или запанибратства, это из тех времен, когда в сети все находили свой социум, которого не было в оффлайне.

Мой скачек, про осознание плохого кода был в период, когда я много писан на перле, он был мой основной язык в тот период жизни, я был тогда классическим вебмастером (сайты, схемы, монетизация, трафик, серваки, боты и пр.пр.пр.).

Касательно С++ мой переход был от времен до стандарта, т.е. до С++98 к С++17. Грубо говоря, я почти не использовал шаблоны и писал код в стиле 80х. Потому что так было в книгах про алгоритмы, потому что никто не рассказывал, очень много «почему». Опять же, это сейчас книги доступны, а тогда что было у друзей или в билиотеке не на руках, то и читали, это в 00х появились CD киоски у каждого выхода с метро и развалы типа Юноны, модемный интернет по 5 руб за мегабайт и пр…

Поэтому, грубо говоря, мой скачек был вот с такого:

int s=0;
for(i=0;i<100;++i){ if(l[i]<6 && l[i]>2) ++s; }

вот примерно в это (продублировал, хотя это может не с с++17):

const auto success = std::count_if(values.begin(), values.end(), 
                            [](int val) { return val > 2 && val < 6; });

черт возьми, это было сложно написать, т.к. уже рефлекторно пишу иначе! Но тогда это было не просто приемлимым кодом, это было ОБЫЧНЫМ кодом, так писали почти все. Этот «стиль» был везде, т.к. так писали в книгах про алгоритмы, и пинали если пишут s++ а не ++s, т.к. оптимизация!

А самое страшное знаешь что? Что студенты, которые ко мне сегодня приходят, и которые что-то прогали, они пишут именно так! Потому что школьные учителя и учителя кружков в массе не изменились, они преподают так же, как тогда, как их научили по книгам 80х годов.

Что уж тут говорить про конструкторы переноса и пр…

PS: а что про const говорить? это ключевое слово для компилятора и только для него. Это не константа в физическом смысле, я даже студентам, которые посмышленее даю задание изменить const так, чтобы компилятор не ругался, это улучшает понимание, что это есть такое…

PPS:

Вы хотя бы примерно представляете в какой asm эта конструкция развернётся?

с -02 – понятия не имею. Это не для оптимизации, это для большей прозрачности кода и скорости написания кода. Если нужно детально понимать что будет происходить, то я буду использовать другие конструкции. Этот стиль кода, он больше для использования С++ для сложных ПОИСКОВЫХ задач, для которых сейчас используют питон (я стараюсь в этих задачах тоже перейти на С++, т.к. для сложных задач, где нужна точность и понимание что и как происходит с данными, питон мне не подходит, я ни черта не понимаю, что у него под капотом, какие-то обертки, абстракции, странные названия для простых поведений… тут я бы вылил много говна на него, а точнее на программистов, которые его используют для задач, к которым он не предназначен, но это предмет другой дискуссии, и кажется, я ее однажды тут уже вел).

Исправление soomrack, :

Я больше привык в интернете на «ты», это не из-за неуважения или запанибратства, это из тех времен, когда в сети все находили свой социум, которого не было в оффлайне.

Мой скачек, про осознание плохого кода был в период, когда я много писан на перле, он был мой основной язык в тот период жизни, я был тогда классическим вебмастером (сайты, схемы, монетизация, трафик, серваки, боты и пр.пр.пр.).

Касательно С++ мой переход был от времен до стандарта, т.е. до С++98 к С++17. Грубо говоря, я почти не использовал шаблоны и писал код в стиле 80х. Потому что так было в книгах про алгоритмы, потому что никто не рассказывал, очень много «почему». Опять же, это сейчас книги доступны, а тогда что было у друзей или в билиотеке не на руках, то и читали, это в 00х появились CD киоски у каждого выхода с метро и развалы типа Юноны, модемный интернет по 5 руб за мегабайт и пр…

Поэтому, грубо говоря, мой скачек был вот с такого:

int s=0;
for(i=0;i<100;++i){ if(l[i]<6 && l[i]>2) ++s; }

вот примерно в это (продублировал, хотя это может не с с++17):

const auto success = std::count_if(values.begin(), values.end(), 
                            [](int val) { return val > 2 && val < 6; });

черт возьми, это было сложно написать, т.к. уже рефлекторно пишу иначе! Но тогда это было не просто приемлимым кодом, это было ОБЫЧНЫМ кодом, так писали почти все. Этот «стиль» был везде, т.к. так писали в книгах про алгоритмы, и пинали если пишут s++ а не ++s, т.к. оптимизация!

А самое страшное знаешь что? Что студенты, которые ко мне сегодня приходят, и которые что-то прогали, они пишут именно так! Потому что школьные учителя и учителя кружков в массе не изменились, они преподают так же, как тогда, как их научили по книгам 80х годов.

Что уж тут говорить про конструкторы переноса и пр…

PS: а что про const говорить? это ключевое слово для компилятора и только для него. Это не константа в физическом смысле, я даже студентам, которые посмышленее даю задание изменить const так, чтобы компилятор не ругался, это улучшает понимание, что это есть такое…

PPS:

Вы хотя бы примерно представляете в какой asm эта конструкция развернётся?

с -02 – понятия не имею. Это не для оптимизации, это для большей прозрачности кода и скорости написания кода. Если нужно детально понимать что будет происходить, то я буду использовать другие конструкции. Этот стиль кода, он больше для использования С++ для сложных ПОИСКОВЫХ задач, для которых сейчас используют питон (я стараюсь перейти на С++, т.к. для сложных задач, где нужна точность и понимание что и как происходит с данными, питон мне не подходит, я ни черта не понимаю, что у него под капотом, какие-то обертки, абстракции, странные названия для простых поведений… тут я бы вылил много говна на него, а точнее на программистов, которые его используют для задач, к которым он не предназначен, но это предмет другой дискуссии, и кажется, я ее однажды тут уже вел).

Исправление soomrack, :

Я больше привык в интернете на «ты», это не из-за неуважения или запанибратства, это из тех времен, когда в сети все находили свой социум, которого не было в оффлайне.

Мой скачек, про осознание плохого кода был в период, когда я много писан на перле, он был мой основной язык в тот период жизни, я был тогда классическим вебмастером (сайты, схемы, монетизация, трафик, серваки, боты и пр.пр.пр.).

Касательно С++ мой переход был от времен до стандарта, т.е. до С++98 к С++17. Грубо говоря, я почти не использовал шаблоны и писал код в стиле 80х. Потому что так было в книгах про алгоритмы, потому что никто не рассказывал, очень много «почему». Опять же, это сейчас книги доступны, а тогда что было у друзей или в билиотеке не на руках, то и читали, это в 00х появились CD киоски у каждого выхода с метро и развалы типа Юноны, модемный интернет по 5 руб за мегабайт и пр…

Поэтому, грубо говоря, мой скачек был вот с такого:

int s=0;
for(i=0;i<100;++i){ if(l[i]<6 && l[i]>2) ++s; }

вот примерно в это (продублировал, хотя это может не с с++17):

const auto success = std::count_if(values.begin(), values.end(), 
                            [](int val) { return val > 2 && val < 6; });

черт возьми, это было сложно написать, т.к. уже рефлекторно пишу иначе! Но тогда это было не просто приемлимым кодом, это было ОБЫЧНЫМ кодом, так писали почти все. Этот «стиль» был везде, т.к. так писали в книгах про алгоритмы, и пинали если пишут s++ а не ++s, т.к. оптимизация!

А самое страшное знаешь что? Что студенты, которые ко мне сегодня приходят, и которые что-то прогали, они пишут именно так! Потому что школьные учителя и учителя кружков в массе не изменились, они преподают так же, как тогда, как их научили по книгам 80х годов.

Что уж тут говорить про конструкторы переноса и пр…

PS: а что про const говорить? это ключевое слово для компилятора и только для него. Это не константа в физическом смысле, я даже студентам, которые посмышленее даю задание изменить const так, чтобы компилятор не ругался, это улучшает понимание, что это есть такое…

PPS:

Вы хотя бы примерно представляете в какой asm эта конструкция развернётся?

с -02 – понятия не имею. Это не для оптимизации, это для большей прозрачности кода и скорости написания кода. Если нужно детально понимать что будет происходить, то я буду использовать другие конструкции. Этот стиль кода, он больше для использования С++ для сложных задач, для которых сейчас используют питон (я стараюсь перейти на С++, т.к. для сложных задач, где нужна точность и понимание что и как происходит с данными, питон мне не подходит, я ни черта не понимаю, что у него под капотом, какие-то обертки, абстракции, странные названия для простых поведений… тут я бы вылил много говна на него, а точнее на программистов, которые его используют для задач, к которым он не предназначен, но это предмет другой дискуссии, и кажется, я ее однажды тут уже вел).

Исправление soomrack, :

Я больше привык в интернете на «ты», это не из-за неуважения или запанибратства, это из тех времен, когда в сети все находили свой социум, которого не было в оффлайне.

Мой скачек, про осознание плохого кода был в период, когда я много писан на перле, он был мой основной язык в тот период жизни, я был тогда классическим вебмастером (сайты, схемы, монетизация, трафик, серваки, боты и пр.пр.пр.).

Касательно С++ мой переход был от времен до стандарта, т.е. до С++98 к С++17. Грубо говоря, я почти не использовал шаблоны и писал код в стиле 80х. Потому что так было в книгах про алгоритмы, потому что никто не рассказывал, очень много «почему». Опять же, это сейчас книги доступны, а тогда что было у друзей или в билиотеке не на руках, то и читали, это в 00х появились CD киоски у каждого выхода с метро и развалы типа Юноны, модемный интернет по 5 руб за мегабайт и пр…

Поэтому, грубо говоря, мой скачек был вот с такого:

int s=0;
for(i=0;i<100;++i){ if(l[i]<6 && l[i]>2) ++s; }

вот примерно в это (продублировал, хотя это может не с с++17):

const auto success = std::count_if(values.begin(), values.end(), 
                            [](int val) { return val > 2 && val < 6; });

черт возьми, это было сложно написать, т.к. уже рефлекторно пишу иначе! Но тогда это было не просто приемлимым кодом, это было ОБЫЧНЫМ кодом, так писали почти все. Этот «стиль» был везде, т.к. так писали в книгах про алгоритмы, и пинали если пишут s++ а не ++s, т.к. оптимизация!

А самое страшное знаешь что? Что студенты, которые ко мне сегодня приходят, и которые что-то прогали, они пишут именно так! Потому что школьные учителя и учителя кружков в массе не изменились, они преподают так же, как тогда, как их научили по книгам 80х годов.

Что уж тут говорить про конструкторы переноса и пр…

PS: а что про const говорить? это ключевое слово для компилятора и только для него. Это не константа в физическом смысле, я даже студентам, которые посмышленее даю задание изменить const так, чтобы компилятор не ругался, это улучшает понимание, что это есть такое…

Исходная версия soomrack, :

Я больше привык в интернете на «ты», это не из-за неуважения или запанибратства, это из тех времен, когда в сети все находили свой социум, которого не было в оффлайне.

Мой скачек, про осознание плохого кода был в период, когда я много писан на перле, он был мой основной язык в тот период жизни, я был тогда классическим вебмастером (сайты, схемы, монетизация, трафик, серваки, боты и пр.пр.пр.).

Касательно С++ мой переход был от времен до стандарта, т.е. до С++98 к С++17. Грубо говоря, я почти не использовал шаблоны и писал код в стиле 80х. Потому что так было в книгах про алгоритмы, потому что никто не рассказывал, очень много «почему». Опять же, это сейчас книги доступны, а тогда что было у друзей или в билиотеке не на руках, то и читали, это в 00х появились CD киоски у каждого выхода с метро и развалы типа Юноны, модемный интернет по 5 руб за мегабайт и пр…

Поэтому, грубо говоря, мой скачек был вот с такого:

int s=0;
for(i=0;i<100;++i){ if(l[i]<6 && l[i]>2) ++s; }

вот примерно в это (продублировал, хотя это может не с с++17):

const auto success = std::count_if(values.begin(), values.end(), 
                            [](int val) { return val > 2 && val < 6; });

черт возьми, это было сложно написать, т.к. уже рефлекторно пишу иначе! Но тогда это было не просто приемлимым кодом, это было ОБЫЧНЫМ кодом, так писали почти все. Этот «стиль» был везде, т.к. так писали в книгах про алгоритмы, и пинали если пишут s++ а не ++s, т.к. оптимизация!

А самое страшное знаешь что? Что студенты, которые ко мне сегодня приходят, и которые что-то прогали, они пишут именно так! Потому что школьные учителя и учителя кружков в массе не изменились, они преподают так же, как тогда, как их научили по книгам 80х годов.

Что уж тут говорить про конструкторы переноса и пр…