А я в свое время сделал не правильный выбор в пользу C++ думая, что писание на нем в свободное время на протяжении лет 3 в школе, а потом в универе, дает мне основание полагать, что я его "знаю" и пойти по этому пути. Как же я был не прав. На то чтобы освоить все основные фишки языка на уровне, чтобы не было стыдно на собеседовании (и только) ушло очень много времени. Что тут говорить, когда сам создатель языка утверждает, что знает его на 7 из 10.
Считаю, что я бы выиграл много времени, сил и нервов пойди я по пути изучения Java. Сам я Java знаю не очень хорошо, но из того, что я слышал, в нем нет такого количества мудреностей. Явно в разы (в Минске) больше работы. И как мне кажется уровень знаний требуется ниже. Потому, что для C++ (учитывая его "странности") ищут обычно людей поопытнее, джуниором устроиться практически не реально (сугубо мое личное оценочное мнение после 25+ собеседований).
В итоге я устроился на позицию Embedded Software Engineer. Прогаю ТВ приставки на чистом C под Linux. Если кому хочется в такую отрасль, то скажу что без знания C и работы Linux изнутри тут делать нечего.
СИ вроде не страшный и довольно маленький язык... если на нем писать хорошо. А то выйдет что-то типа такого.
#include <stdio.h>
void f(int a, int b)
{
printf("%d\n", 1[&b]);
}
int main(int argc, char * argv[])
{
f(5, 7);
return 0;
}
Написал по памяти, возможно накосячил, так что не рассматривайте истину в последней инстанции. Но вопрос здесь что выведет программа и почему? Любят такую хероту задавать на собесах, чтобы проверить ты вдупляешь чего-нибудь или нет.
Сегодня набрёл на удивительную теорему:
Рассмотрим кубики с N гранями. На каждой грани число от 1 до N. Числа могут повторяться, но их сумма должна быть равна сумме от 1 до N, т.е. N(N+1)/2.
Для любых кубиков А и Б Будем говорить, что А>Б, если А выигрывает у Б с вероятностью > 0.5. (Как в задаче).
Теперь возьмём три таких случайных кубика - А,Б,В. Пусть нам известно, что А>Б и Б>В. Какова вероятность, что А>B?
Так вот, теорема утверждает, что при N, стремящемся к бесконечности, эта вероятность стремится к 1/2! Т.е. при очень большом количестве граней тот факт, что А>Б и Б>В не даёт практически никакой информации о том, А>В или В>A.