Ах, язык программирования C! Если бы языки были членами семьи, то C был бы тем дядей на семейных посиделках, который всегда в центре внимания: мудрый, слегка строгий, но без него никак. Представьте себе — в начале 70-х годов, когда у людей еще не было айфонов и они думали, что «облако» — это просто тучка на небе, в лаборатории Bell Labs родился этот герой.
Не с мечом и щитом, а с семантикой и синтаксисом! С тех пор популярность C росла так стремительно, что даже коты начали подозрительно часто ловить мышей (а может, это было связано с указателями?).
Появился ANSI C — первый официальный стандарт языка. Это как если бы у этого дяди наконец-то появился паспорт и водительские права: теперь все знали, кто он такой и что от него ждать. В 1989 году мир увидел набор базовых конструкций: циклы (которые крутятся быстрее любого колеса обозрения), условные операторы (решают судьбу программы лучше любого гадалки) и указатели — те самые загадочные существа, которые могут заставить программиста одновременно плакать и смеяться.
Помню старый анекдот: «Почему программисты любят указатели? Потому что они всегда знают, куда идти… даже если сами туда не хотят».
Затем на сцену вышел C++ — старший брат с бородой и амбициями стать рок-звездой объектно-ориентированного мира.
В 1983 году он добавил классы и наследование — словно подарил семейному дереву язык программирования новые ветви с золотыми листьями полиморфизма. Разработчики вздохнули с облегчением: «Наконец-то можно создавать сложные приложения без того ощущения, что собираешь конструктор из сломанных деталей». Кто-то шутит, что C++ — это как швейцарский нож для программиста: много функций, но иногда сложно понять назначение каждой.
А потом появился C# (читается как “си-шарп”, но звучит как музыкальная нота).
Microsoft в 2000 году решил сыграть свою мелодию на этой сцене. Представьте себе симфонию из синтаксиса C++, удобств Visual Basic и мощи .NET-платформы. Получился инструмент для создания всего подряд: от веб-приложений до игр и мобильных программ. Один мой знакомый программист говорил: «Работаю на C#, потому что люблю сочетание классики с современным джазом».
И правда — этот язык словно джазовый импровизатор среди строгих классиков.
Не забываем про Objective-C — тот самый экзотический родственник из Apple-семьи. Родился в 80-х и долгое время правил балом в мире iPhone и Mac. Его особенность? Он умеет разговаривать одновременно на языке Си и объектно-ориентированных пословиц Smalltalk’а.
Вот вам веселая история: однажды новый разработчик спросил у старожила Objective-C: «Почему твой код такой странный?» Ответ был прост: «Это не странность, это стиль жизни!». До появления Swift он был королем яблочной империи.
И вот Swift ворвался в игру в 2014 году — молодой дерзкий новичок от Apple с безопасным синтаксисом и дружелюбием к новичкам. Как говорят разработчики: «Swift — это как обновленная версия вашего любимого смартфона после долгого ожидания обновления ПО».
Он быстро стал любимцем публики благодаря своей простоте и мощности. А ещё есть забавная байка о том, как один программист пытался объяснить бабушке разницу между Objective-C и Swift: она просто ответила — «Ну давай тогда сразу на Swift писать, чтобы внучек быстрее игрушки делал».