user

Авторизация

Добро пожаловать!

Регистрация

Graf

Кодинг

Отличия языков семейства C

 Не знаю, часто ли вы встречали в школьной биологии тему о генетическом наследовании: девять детей рождаются при одном рождении, и девять детей разные. Простое объяснение: разница в чертах между разными поколениями особей одного и того же вида или между разными особями одного поколения. То же самое верно и в языке программирования C, о котором говорят сегодня. Так чем же они будут отличаться?

Язык C

 Хотя это разные языки, C по-прежнему является дедушкой всех языков. C был разработан Деннисом Ритчи в первую очередь в Bell Laboratories AT&T. C был предназначен для замены интерпретируемого языка Unix B. Эта история делает C почти портативным ассемблером с некоторым удобством и упрощением.

 Дизайн C сводится к предположению, что программисты имеют четкое представление о том, что они делают. Но C предлагает несколько расширенных структур данных или алгоритмов в своей стандартной библиотеке. C также известен своей способностью обрабатывать память в низкоуровневой слабо типизированной системе. Это означает, что код C более восприимчив к ошибкам, но его можно заставить молниеносно обрабатывать низкоуровневые аспекты работы компьютера.

 C (Си) сегодня часто используется, когда вам нужно написать связующий код между языками или расширить языки высокого уровня. Вы также обнаружите, что ядра большинства операционных систем частично или полностью написаны на C. C по-прежнему распространен во встроенных системах из-за его небольшого размера по сравнению с большинством современных языков.

Язык С++

 Не обманывайтесь названием, C++ — это не C. C++ изначально был создан Бьярном Страуструпом как расширение C, но на самом деле это был настоящий надмножество. Ранние версии C++ были препроцессорами, которые имитировали объектно-ориентированный дизайн, но в конечном итоге стали их собственным языком.

 C++ был разработан совсем иначе, чем C. Но он предоставляет вам реализации некоторых структур данных и алгоритмов в своей стандартной библиотеке. Если стандартная библиотека еще не совсем соответствует вашим потребностям, она дает вам инструменты для прокрутки, по крайней мере, в дюжине различных стилей. Наконец, C++ имеет более сильную систему типов. Вы больше не можете преобразовывать один тип в другой, если нет преобразования, и это различие предотвращает компиляцию многих допустимых программ на C под C++.

 C++ часто используется, когда требуется производительность, но для написания требуется слишком много времени. Сюда входят пакеты профессионального программного обеспечения, 3D-игры и пользовательские приложения, в которых возникают проблемы с производительностью. C++ обычно не используется в ядрах ОС или встроенных системах из-за некоторых функциональных проблем с языком. Ваша ОС не может остановиться только потому, что C++ решает создать исключение! Однако для пользовательских приложений, чувствительных к производительности, хорошим выбором будет C++.

Язык С#

 Когда Microsoft увидела успех Java, появился C#. Поскольку Java может работать где угодно, они решили использовать аналогичный язык, принадлежащий экосистеме Microsoft. Только сейчас C# стал доступен на большинстве платформ через Mono или .NET Core.

 C# заимствует философию дизайна у Java. C# — это высоко объектно-ориентированный язык с богатой стандартной библиотекой. Это в основном избавляет от функций C и C++, таких как ручное управление памятью и низкоуровневый доступ. C# имеет строгую систему типов, а также сборку мусора для избавления от неиспользуемой памяти.

 Как упоминалось ранее, C# в основном используется в экосистеме Windows. Благодаря большой стандартной библиотеке и удобству его можно использовать там, где вам нужно доставить программное обеспечение и вы готовы пожертвовать ради него производительностью и низкоуровневым управлением.