рефераты конспекты курсовые дипломные лекции шпоры

Реферат Курсовая Конспект

Недостатки языка Си

Недостатки языка Си - Реферат, раздел Программирование, Языки программирования, их классификация и развитие Недостатки Языка Си. Также, Как И Особенностей, В Языке Си Присутствует Куча ...

Недостатки языка Си. Также, как и особенностей, в языке Си присутствует куча недостатков. Ведь от них не защищен не один проект, в том числе проект разработки и выполнения программ, на языке Си Язык Си предъявляет достаточно высокие требования к квалификации использующего его программиста. При изучении Си желательно иметь представление о структуре и работе компьютера.

Большую помощь и более глубокое понимание идей Си, как языка системного программирования, обеспечат хотя бы минимальное знание языка ассемблер. Уровень старшинства некоторых операторов не является общепринятым, некоторые синтаксические конструкции могли бы быть лучше. Тем не менее, как оказалось Си чрезвычайно эффективный и выразительный язык, пригодный для широкого класса задач. 3.9. Си Безусловно, Си восходит, главным образом, к Cи. Cи сохранен как подмножество, поэтому сделанного в Cи акцента на средствах низкого уровня достаточно, чтобы справляться с самыми насущными задачами системного программирования.

Cи, в свою очередь, многим обязан своему предшественнику BCPL. Название Си - изобретение лета 1983-его. Более ранние версии языка использовались начиная с 1980-ого и были известны как Cи с Классами. Первоначально язык был придуман потому, что автор хотел написать событийно управляемые модели для чего был бы идеален Simula67, если не принимать во внимание эффективность.

Cи с Классами использовался для крупных проектов моделирования, в которых строго тестировались возможности написания программ, требующих только минимального пространства памяти и времени на выполнение. В Cи с Классами не хватало перегрузки операций, ссылок, виртуальных функций и многих деталей. Си был впервые введен за пределами исследовательской группы автора в июле 1983-го. Однако тогда многие особенности Си были еще не придуманы. Название Си выдумал Рик Масситти.

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

За исключением второстепенных деталей Си является надмножеством языка программирования Cи. Помимо возможностей, которые дает Cи, Си предоставляет гибкие и эффективные средства определения новых типов. Используя определения новых типов, точно отвечающих концепциям приложения, программист может разделять разрабатываемую программу на легко поддающиеся контролю части. Такой метод построения программ часто называют абстракцией данных.

Информация о типах содержится в некоторых объектах типов, определенных пользователем. Такие объекты просты и надежны в использовании в тех ситуациях, когда их тип нельзя установить на стадии компиляции. Программирование с применением таких объектов часто называют объектно-ориентированным. При правильном использовании этот метод дает более короткие, проще понимаемые и легче контролируемые программы. Изначально Си был разработан, чтобы автору и его друзьям не приходилось программировать на ассемблере, Cи или других современных языках высокого уровня.

Основным его предназначением было сделать написание хороших программ более простым и приятным для отдельного программиста. Плана разработки Си на бумаге никогда не было. Проект, документация и реализация двигались одновременно. Разумеется, внешний интерфейс Си был написан на Си. Никогда не существовало Проекта Си и Комитета по разработке Си. Поэтому Си развивался и продолжает развиваться во всех направлениях, чтобы справляться со сложностями, с которыми сталкиваются пользователи, а также в процессе дискуссий автора с его друзьями и коллегами. В качестве базового языка для Си был выбран Cи, потому что он многоцелевой, лаконичный и относительно низкого уровня отвечает большинству задач системного программирования идет везде и на всем пригоден в среде программирования UNIX. В Cи есть свои сложности, но в наспех спроектированном языке тоже были бы свои, а сложности Cи нам известны.

Самое главное, работа с Cи позволила Cи с Классами быть полезным правда, неудобным инструментом в ходе первых месяцев раздумий о добавлении к Cи Simula-подобных классов.

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

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

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

Базовый язык, Cи подмножество Си, спроектирован так, что имеется очень близкое соответствие между его типами, операциями и операторами и компьютерными объектами, с которыми непосредственно приходится иметь дело числами, символами и адресами. За исключением операций свободной памяти new и delete, отдельные выражения и операторы Си обычно не нуждаются в скрытой поддержке во время выполнения или подпрограммах. Одним из первоначальных предназначений Cи было применение его вместо программирования на ассемблере в самых насущных задачах системного программирования.

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

Знание типов объектов также позволяет компилятору обнаруживать ошибки, которые в противном случае остались бы до тестирования. Заметьте, что использование системы типов для того, чтобы получить проверку параметров функций, защитить данные от случайного искажения, задать новые операции и т.д само по себе не увеличивает расходов по времени выполнения и памяти.

Особое внимание, уделенное при разработке Си структуре, отразилось на возрастании масштаба программ, написанных со времени разработки Cи. Маленькую программу меньше 1000 строк вы можете заставить работать с помощью грубой силы, даже нарушая все правила хорошего стиля. Для программ больших размеров это не совсем так. Если программа в 10 000 строк имеет плохую структуру, то вы обнаружите, что новые ошибки появляются так же быстро, как удаляются старые.

Си был разработан так, чтобы дать возможность разумным образом структурировать большие программы таким образом, чтобы для одного человека не было непомерным справляться с программами в 25 000 строк. Существуют программы гораздо больших размеров, однако те, которые работают, в целом, как оказывается, состоят из большого числа почти независимых частей, размер каждой из которых намного ниже указанных пределов. Естественно, сложность написания и поддержки программы зависит от сложности разработки, а не просто от числа строк текста программы, так что точные цифры, с помощью которых были выражены предыдущие соображения, не следует воспринимать слишком серьезно. 3.9.1.

– Конец работы –

Эта тема принадлежит разделу:

Языки программирования, их классификация и развитие

Смысл появления такого языка оснащенный набор вычислительных формул дополнительной информации, превращает данный набор в алгоритм. Язык программирования служит двум связанным между собой целям он дает… Первой цели идеально отвечает язык, который настолько близок к машине, что всеми основными машинными аспектами можно…

Если Вам нужно дополнительный материал на эту тему, или Вы не нашли то, что искали, рекомендуем воспользоваться поиском по нашей базе работ: Недостатки языка Си

Что будем делать с полученным материалом:

Если этот материал оказался полезным ля Вас, Вы можете сохранить его на свою страничку в социальных сетях:

Все темы данного раздела:

Машинные языки
Машинные языки. которые стали своеобразным связующим мостом между человеком и машинным языком компьютера. Языки высокого уровня работают через трансляционные программы, которые вводят исходн

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

Развитие языков программирования
Развитие языков программирования. Ассемблер Язык Ассемблера это символическое представление машинного языка. Он облегчает процесс программирования по сравнению с программированием в машинных кодах.

Пролог и Пролог
Пролог и Пролог. Пролог - это язык, предназначенный для поиска решений. Это декларативный язык, то есть формальная постановка задачи может быть использована для ее решения. Пролог определяет

Особенности языка Си
Особенности языка Си. Язык Си имеет свои существенные особенности, давайте перечислим некоторые из них Си обеспечивает полный набор операторов структурного программирования. Си предлагает не

Замечание по проекту языка Си
Замечание по проекту языка Си. Существенным критерием при разработке языка была простота. Там, где возникал выбор между упрощением руководства по языку и другой документации и упрощением компилятор

Хотите получать на электронную почту самые свежие новости?
Education Insider Sample
Подпишитесь на Нашу рассылку
Наша политика приватности обеспечивает 100% безопасность и анонимность Ваших E-Mail
Реклама
Соответствующий теме материал
  • Похожее
  • Популярное
  • Облако тегов
  • Здесь
  • Временно
  • Пусто
Теги