опытного консультанта на фрилансе- а что делать, если я и сам уже где-то в районе "опытного консультанта", хотя и не на фрилансе? Просто конкретно проектирование гуя я прошляпил ;)
void setup() {
Window w(480, 320);
w.addButton(100, 40);
w.setCallback([]{ Beep(); });
}
void loop() {}
Я тебе советую пойти к преподавателю и выстрясти идею из него.
Чаще заказывай code-review своего кода и слушай советы старших коллег. Даже если обидно и стыдно.
> В который одну фичу могут добавлять 20 лет, добавить, через несколько лет признать неудачной и объявить устаревшей?
Вы вообще хоть одну книжку по С++ открывали?
С++11 был очень сильно переработан по сравнению с С++98. Добавилась многопоточка.
В С++17 досыпали ахапку полезностей, например лямбды, распаковку, инициализацию, расширили STL.
В С++20 ещё досыпали вкусностей.
Как человек, который пишет на С++ постоянно, могу сказать, что я реально не успеваю хотя бы читать, что ж они там нового сделали.
КАЖДЫЕ 3 ГОДА в плюсы добавляют что-то новое.
Я понимаю, что вы знаете очень много клёвых интересных слов. Но есть один нюанс:
> Кто сейчас использует ООП кроме погрязшего в болоте Java-энтерпрайса какого-нибудь? Покажите мне их. У гугла вон вообще половину фич из ООП запрещено использовать и забанено на уровне компиляции проектов.
Гугл пишет Хром. И Хромиум. Один на базе другого. Они написаны на чистейшем С++. Более того, сейчас 99% браузеров сделаны из Хромиума.
Как вы думаете, почему?
Браузер - очень хороший пример. Дело в том, что он БОЛЬШОЙ. Очень большой.
1. Если бы его писали на чистом Си - это было бы непролазное болото. Большое неподдерживаемое болото.
2. Его пишут на С++. И почему-то ВСЕ браузерописатели используют одно и то же ядро. Почему? Потому что нет никакого смысла переписывать ядро браузера с С++ на что-то ещё. Потому что ни один другой язык не позволяет написать проект, который будет одновременно эффективен (не будет тормозить) и читабелен.
Просто примеры. На С++ написаны:
браузер(ы);
Яндекс поиск;
Гугл поиск;
Counter-Strike;
Microsoft Office;
Windows (ну там винегрет).
Python, кстати, поддерживает ООП.