Если говорить о раннем Linux, то он действительно написан в большей мере на Си. Но современные дистрибутивы комплектуются ПО написанным так же и на С++, а отличие Си и С++ разве что в ООП в последнем и не более того.
Вот здесь мельком прозвучало глубокое заблуждение, а поэтому оно требует разъяснения...
То, что называют Linux ... и то, что на этом форуме вы называет Ubuntu

- состоит из 2-х частей, очень разных, неравных, и производимых совсем разными людьми.
1-я - это собственно Linux, но это только kernel Linux, та малая часть системы, которую делают Линус Торвальдсон со товарищи. Лучше всего эту часть рассматривать по URL типа
http://lxr.free-electrons.com/source/ (это дерево исходников ядра, но в самых разных версиях). Это, и больше ничего более, и есть, собственно, Linux.
2-я - намного б
Оольшая часть, это все утилиты, большей частью GNU, ... да и все программы от всех сторонних разработчиков. Это
окружение Linux. Из-за этого GNU и FSF справедливо настаивают, что операционная система
должна называться GNU Linux. Обратите внимание, что именно сюда входит проект GCC, а в него - стандартная C-библиотека libc.so, которая служит
единственным и полным шлюзом к системным вызовам, т.е. к самому Linux. Без этой библиотеки-шлюза не станет работать
ни одно ваше приложение на
любом обсуждаемом языке программирования (за очень редким исключением тех, которые предназначены и для embedded приложений, например, тот же Go).
Так вот, 1-я часть, т.е. собственно Linux, написана
исключительно на C. И это никак не зависит "ранний" это Linux, или 2015г. - так и только так: "осетрина может быть только одной свежести - первой!"(с)

. Даже
ассемблерные фрагменты для десятков разных аппаратных платформ Linux написаны не на ассемблере, а на инлайновых ассемблерных макросах языка C (это такое расширение компилятора GCC).
И во 2-й части всё, что относится к GCC и интерфейсной библиотеке libc.so, без которой ни один язык не заработает с Linux, конечно, написаны исключительно на C (а на чём ещё писать библиотеку C?).
А вот дальше (выше) ... уже отдельные утилиты-программы, от разных разработчиков, могут быть написаны на чём угодно ... в том числе и на C++ ... как здесь было справедливо замечено.
И
отдельное замечание относительно "современные дистрибутивы комплектуются ПО написанным так же и на С++"...
В числе тысяч
утилит, чаще всего консольных, доля написанных на C++ - мизерная, может какие-то доли %%.
Очень много скриптов-утилит раньше писалось на Perl, а на сегодня самый популярный язык для наисания
утилит - это Python. Даже многие утилиты, которые годами эксплуатировались написанными на C, были
переписаны на Python.
Что касается C++, то на нём тоже достаточно много написано популярных
приложений. Но это не 1-й слой
утилит, "окружающих" ядро Linux, а крупномаштабные целевые, прикладные приложения.
Вот из такой раскладки ... применимости должно быть понятно, что нужно
знать и что
применять, и что первое не равно второму.
Достаточно часто самые крупные (громадные) проекты, такие как сервера IP-телефонии Asterisk или FreeSWITCH, написанные базово (на 70-80%) на C, включают в себя динамические
модули и на C++ и на Python (а кроме того ещё и JavaScript, Lua и Perl). Т.е. вообще смешанные многоязыковые проекты.
Пользователь решил продолжить мысль [time]25 Июнь 2015, 19:56:27[/time]:
Спасибо за интересные мнения, я действительно занимаюсь алгоритмами по книге Томаса Кормена "Алгоритмы. Построение и Анализ". Но я хочу иметь более глубокие познания о синтаксисе, подводных камнях языка и.т.д а не учить его на лету.
Есть ещё один такой tools, который совершенно не назвали ... это не язык в пямом смысле, а инструмент моделирования - MatLab (со своим языком описания алгоритмов).
Который изучить стоило первее

любых языков программирования (в дополнение к языкам).
Тогда вам как специалисту просто цены не сложат! 
MatLab позволяет быстро моделироать и изучать алгоритмы и процесы + трансформировать готовую уже модель в программу на языке программировакния.
Вот еси вы "занимаюсь алгоритмами", то MatLab позволяет сделать вот такую связку:
<алгоритм> -> <MatLab модель> -> <программа для эксплуатации>