Саратовские новости

Как все начиналось.

Молодость языка С приходится на эпоху 60-х годов прошлого столетия. В то время каждая компания - производитель вычислительной техники вместе с разработкой оборудования занималась и разработкой системного и прикладного обеспечения для него. В те годы получили рождение большинство операционных систем и языков программирования. Некоторые из них известны и популярны до сих пор и даже используются в веб-технологиях вроде ASP.NET, некоторые, будучи популярны в прошлом, сейчас забыты, некоторые умерли, так и не найдя себе применения. Язык С является первым языком высокого уровня, позволивший решить проблему несовместимости программного и аппаратного обеспечения, когда программа, написанная для одного компьютера, отказывалась работать на машине другого производителя, я зачастую и на машиен другой модели того же производителя. Одно то, что легендарная ОС Unix практически полностью написана на С, многое говорит в пользу универсальности, мощи и гибкости этого языка программирования. Изначально язык С проектировался как средство системного программирования и должен был решать задачи, решаемые ранее исключительно средствами ассемблера. Разработчики создавали не просто "язык программирования", они создавали "язык программирования для работы с аппаратным обеспечением компьютеров". Язык С, как это ни парадоксально звучит, очень простой. Сам по себе язык обеспечиват средства доступа к аппаратному обеспечению, предоставляет программисту средства структурного программирования и позволяет осуществить модульную организацию программ. Все остальные возможности были включены в библиотеку времени исполнения, не являющуюся, строго говоря, частью языка программирования. Таким образом, разработчикам удалось создать язый, сочетающий в себе, казалось бы, несочитаемое - мощ ассемблера с его возможностью получения доступа к любому аппаратному обеспечению и удобство изучения и программирования, присущие языкам высокого уровня. В период с 60 до начала 90 язык С безраздельно господствовал в качестве средства как прикладного, так и системного программирования. Одако постоянное усложение решаемых задач и возрастание их масштабов все более остро вскрывали негативные стороны этого языка. Он оказался очень низкоуровневым для решения ряда задач, доля которых все возрастала. Язык был лишен многих средств, являющихся необходимыми при работе над большими проектами. Так, в нем не был реализован объектный подход к программированию, была невозможной реализация некоторых моделей данных. Разработчик, программируя на С, большую часть времени тратил на то, КАК сделать то или иное, вместо того, чтобы сосредоточится на том, ЧТО нужно сделать. Иными словами, программист акцентировал внимание на реализации решения задачи вместо того, чтобы всецело посвятить себе самому решению. Казалось, закат и забвение языку С обеспечены - он не мог больше конкурировать с более новыми языками программирования. Однако ситуация коренным образом изменилась с появлением в 1983году, которым датировано появление расширения языка С, получившего со временем название С++. Основным, но не единственным отличием С++ от своего предшественника являлась возможность работы с классами, благодая чему, как отмечают на форуме опытных программистов у программистов появилась возможность создавать свои типы данных. С тех пор С++ является наиболее популярным инструментом для решения задач системного программирования, также он находит приенение и при решении прикладных задач. На сегодняшний день язык является строго стандартизированным, динамично развиваются среды разработки на его основе, существует огромное количество документации и стандартных библиотек, позволяющих разработчикам создавать качественное и эффективное ПО.