Прежде всего, прежде чем я докажу свою точку зрения, прежде чем я даже изложу свою точку зрения, я хочу, чтобы вы тоже увидели это:

#include <iostream>

int main() {
    int n = 3;
    int i = 0;

    switch (n % 2) {
    case 0: 
    do {
    ++i;
    case 1: ++i;
    } while (--n > 0);
    }

    std::cout << i;
}

Я нашел его на http://cppquiz.org/, что само по себе очень весело и сложно. Программа действительна, она легальна, компилируется и запускается. Это отличный вариант для викторины и полная чушь кода.

C ++ полон викторин. Это не только эти 75 вопросов. В нем достаточно неясностей на всю профессиональную жизнь. Это слишком непоследовательно и слишком сложно. Он сочетает в себе 45-летнее наследие C со всеми ошибками современного программирования.

За десять лет работы с C ++ я нашел ответы на множество вопросов. Я знаю, что такое интегральное продвижение, я знаю, как работает нарезка, я знаю, почему у нас есть такой нелепый оператор переключения. Но есть один вопрос, на который до сих пор я так и не смог ответить должным образом. И это: почему мы делаем это с собой?

Есть языки получше. Некоторые из них более зрелые, некоторые - более новые. Некоторые из них более выразительны, а некоторые более универсальны. Некоторые из них являются мейнстримом, а некоторые - эзотерическими. Есть альтернативы. Но каким-то образом C ++ удается сохранить свою популярность, если не вернуть ее в последние годы. Но почему?

Я думаю, что большая часть этого будет заключаться в том, что программирование на C ++ воспроизводит те же строки, что и реклама Шеклтона. Существует легенда, что, чтобы набрать людей для своей экспедиции на выносливость, Эрнест Шеклтон напечатал в газете объявление, и оно было примерно таким.

Разыскиваются мужчины в опасном путешествии. Низкая заработная плата, сильный мороз, долгие часы полной темноты. Безопасный возврат сомнительный. Честь и признание в случае успеха.

Излишне говорить, что он мгновенно нашел огромное количество желающих, и с тех пор реклама считается образцом копирайтинга. Видимо, это тоже миф.

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

Возможно, именно это и увлекает умных людей. Сама плохость языка становится достоинством, когда вы хотите, чтобы ваш ум был беспокойным в повседневной работе. Java не так опасна, а C не так уж и разнообразен. Это отличные языки для выполнения работы, но доставляют ли они удовольствие от хорошей битвы?

Вероятно, это начинается в детстве, когда вы видите своих родителей, идущих на работу, и кажется, что они исчезают на девять часов или около того. Знаешь, что они там что-то делают, ты не дурак, но все это кажется таким скучным и однообразным, как будто они день за днем ​​добровольно уходят в небытие. А затем, когда вы становитесь старше, вы обнаруживаете свой первый страх небытия, но еще не можете его понять, вы просто делаете выбор, который уводит вас от него. Вам нужен вызов в жизни, хотя бы для того, чтобы доказать, что вы не пропадаете каждый день на 9 часов или около того.

Некоторые мужчины занимаются профессиональным боксом; другие идут в армию. Некоторые выбирают C ++.

Хакерский полдень - это то, с чего хакеры начинают свои дни. Мы часть семьи @AMI. Сейчас мы принимаем заявки и рады обсудить рекламные и спонсорские возможности.

Чтобы узнать больше, прочтите нашу страницу о нас, поставьте лайк / напишите нам в Facebook или просто tweet / DM @HackerNoon.

Если вам понравился этот рассказ, мы рекомендуем прочитать наши Последние технические истории и Современные технические истории. До следующего раза не воспринимайте реалии мира как должное!