На тему разных языков программирования написаны разные книги. И классика В.Ш. Кауфмана, и Glynn Winskel. Но если бы попросили выделить отличия языков программирования, то как бы на этот вопрос ответил автор? И автор бы начал с описания кватернионов. Что известно про комплексные и гиперкомплексные числа?
Минусы школьных олимпиад хорошо известны: как с точки зрения освоения профессии, так и с точки зрения воспитания. Привожу мнение об олимпиадной математике отсюда (с небольшими сокращениями):
Для того, кому нужно сделать транслятор языка Си, нужно понимать не как на нём писать, а как лучше сделать его транслятор. Планируемый транслятор должен понимать реальные исходники, такие как libmysqlclient, libpq, а в них может встретиться всякое. Полезно изучать, на чём споткнулись другие.
На многие устройства портировали NetBSD и программы для неё. На цифровом телефоне GrandStream GXV-3140 попадался портированный Pidgin. На ТВ-приставках с Venus Linux и роутерах с OpenWrt портировали много программ. WebAssembly похож на встраиваемые устройства, и всё же он остался непокорённый.
Compiler construction (see also my page with the collection of links) stopped to be a black art approximately after publishing of famous David Gries' book. Now it's a pretty established field but the truth is that there are few good books on the topic. Widely praised Compilers Principles, Techniques, and Tools by Alfred V. Aho, Ravi Sethi, Jeffrey D. Ullman is in my opinion a weak book that stresses too much syntax parsing and more obscures then enlighten the design of compiler. In other words the Dragon Book is way overhyped. Itis confusing and a complete nightmare to understand, especially for students. It actually kills interest to compiler writing instead of enhancing it. the authors have penchant to use useless formalisms ("art for the sake of the art"). It have some value for instructors but almost none for students.
Массовое распространение клонов IBM PC привело к резкому увеличению количества людей, активно занимающихся программированием на компьютере, а следовательно, и прослойки компьютерных "фанатов". Если раньше этот тип людей встречался в основном в университетских городках и больших вычислительных центрах, то с распространением клонов IBM PC ситуация существенно изменилась. Обладателями мощных и в то же время дешёвых компьютеров стали школьники, пенсионеры, а также другие лица, располагавшие, помимо желания попробовать свои силы в программировании, еще и значительным количеством свободного времени.
Как и в других областях человеческой деятельности, спектр отношения людей к программированию и вычислительным машинам очень широк: от ненависти, через полное безразличие до патологической привязанности или зависимости, которую можно квалифицировать как манию. Всякий работавший в вычислительном центре на больших ЭВМ и видевший, как к концу второй смены некоторые программисты наспех вносят плохо продуманные изменения в свои программы и умоляют электронщиков дать еще минутку, чтобы посмотреть, что получится, узнает сцену, описанную Ф.М.Достоевским в романе "Игрок":
Одним из основных вопросов докладов и дискуссий был вопрос уровня языка. Отмечалось, что разработка больших и сложноорганизованных программ на языках низкого уровня увеличивает возможность появления ошибок в программах и затрудняет их обнаружение и исправление. Это приводит к затяжке сроков разработки, снижению надёжности программного продукта и затрудняет его сопровождение.
…
Семинар отметил, с одной стороны, необходимость широкого внедрения существующих АРМ разработчика программного обеспечения типа АРМ2-05 с языками ассемблерного типа, кросс-систем, настраиваемых на устройства МПТ, и, с другой стороны, перспективность и необходимость расширения области применения языков типа ЯВА с заменой ими фирменных ассемблеров.
Программисты хорошо знакомы с Portable Executable, форматом исполняемых файлов для Windows. WebAssembly сулит все те же возможности, что и PE, в браузере. Но у них разный путь становления, что привело к фундаментальным различиям. Различия можно отчасти сгладить, и всё же придётся иметь их ввиду.