Программисты, пишущие на высокоуровневых языках, считают язык С слишком низкоуровневым. По их мнению его применение связано со многими сложностями, которых можно с легкостью избежать, сделав то же самое, но на языке более высокого уровня. Однако, недостатки С являются одновременно и его достоинствами. И его изучение может принести вам немалую пользу.
Скорость и точность
В С нет многого, чем могут похвастаться более современные языки программирования, например, классов. Но его инструменты позволяют “подгонять” программу под определенные условия. Программист диктует, какими должны быть размер программы и ее скорость. Кроме того, с помощью С можно управлять памятью в процессе выполнения команды. Для таких сфер как интернет вещей или embedded-разработка, это принципиально важные моменты.
C и другие языки
С имеет много общего с C++ и Objective-C, а также с Java и C#. Поэтому знание и понимание этого языка упростит для вас усвоение остальных.
Также С идеален для написания расширений других языков или библиотек. Причина этого в том, что когда приходится связывать несколько разных языков, возникают особые требования к бинарному формату. А при компиляции кода на С можно явно указать формат, который нужно получить в результате. В случае с более высокоуровневыми языками приходится полагаться на компилятор, что не всегда удобно.
Конечно, с помощью специальных инструментов можно создать небольшую «прослойку» между языком и библиотекой. Это промежуточное звено будет написано на С (причем без непосредственного участия программиста), а саму библиотеку тогда можно писать на каком-нибудь другом языке. Но все же лучше разбираться самому.
Вернемся к истокам
Изначально язык С задумывался и разрабатывался как язык операционной системы UNIX. Конечно, этим его использование не ограничилось, однако именно на нем по-прежнему пишется системное ПО. Поэтому, если собираетесь творить в этой сфере, без знания С вам не обойтись.
Да, используя С приходится контролировать много всего, например, обращать внимание даже на отдельные байты. Но знание всех этих нюансов, понимание процессов, связанных с выполнением команд, принципиально важны как раз для тех областей, где С активно применяется.
Тренировка мозгов
Даже если вам в ежедневной деятельности знание С ну никак не пригодится, все равно имеет смысл им заняться. Ради интереса люди изучают даже эзотерические языки программирования. Изучая С из тех же побуждений также можно столкнуться с непривычными решениями, например в том, что касается управления памятью. Это помогает иначе посмотреть на программирование в целом и расширить кругозор. А еще и на практике применить можно будет в случае необходимости.
[customscript]techrocks_custom_after_post_html[/customscript]
[customscript]techrocks_custom_script[/customscript]