Исходный код (фильм)

Добавьте в статью слова «открытый» и «закрытый» исходный код

Открытый и закрытый исходный код используется во многих статьях о шахматных программах. Вероятно аналогично он используется и в других статьях программирования. Виталий 10:09, 15 сентября 2009 (UTC)Wevict

В указанной статье (шахматная программа) я такого об исх.коде не нашел. Обычно под открытый/закрытый понимают доступность этого кода для посторонних: доступен/недоступен. И все! Что еще об этом стоило бы написать? Всякий исходный код его хозяин может открыть — скорее это относится к методам и условиям распространения программ и прочей интеллектуальной продукции. И не на тему этой статьи.—tim2 10:41, 15 сентября 2009 (UTC)
Извините, я имел в виду статьи о самих шахматных программах, где в разделах о внутренних качествах часто указывается тип кода: открытый или закрытый. Посмотрите «Категория:Шахматные программы». Например: Rybka — сильнейшая в мире, имеет закрытый исходный код, как и Fritz, Shredder, HIARCS и т.д., а Fruit — открытый исходный код, как и многие другие. Краткое наличие такого деления у вас в статье поможет и читающим знать о все той же доступности в целом программ. Виталий 15:42, 16 сентября 2009 (UTC)Wevict.
Извините, но тип кода не зависит от открытого распространения. Пока исходный код программы никому не доступен, кроме разработчиков, — он закрытый, как только правообладатель решит открыть этот код — например, выложить в Интернете для любого желающего — тот же самый код начинают называть открытым. Зачем об этом тут писать? Это не имеет никакого отношения к самому коду, к его «внутренним качествам», а лишь к правам на него. Это вопрос юридический, а статья техническая. Сравните с понятиями — опубликованная и неопубликованная книга.—tim2 11:03, 17 сентября 2009 (UTC)

Согласен, но не вполне с вами. В английской Википедии в аналогичной статье в разделе «License» целый блок начинается со слов «Software, and its accompanying source code, typically falls within one of two licensing paradigms: free software and proprietary software.» И далее кратко объясняется разница в открытом и закрытом исходном коде

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

Виталий 16:23, 17 сентября 2009 (UTC)Wevict

В англовики стоит отсылка Main article: software license, не знаю, зачем там сделана эта дублирующая секция, думаю, ее со времененм уберут. Аналогичная статья есть и в рувики Лицензия на программное обеспечение — если есть желание, дописывайте туда. А в данной статье (которая, кстати, не моя — в вики нет авторских статей) я добавил ссылку в секцию См.Также. Ok?—tim2 10:34, 18 сентября 2009 (UTC)
Хотя это и не моя тема, окей…Виталий 12:56, 18 сентября 2009 (UTC)Wevict.
Все стало проще. Я нашел статьи открытый исходный код и закрытый исходный код! Виталий 18:13, 18 сентября 2009 (UTC)Wevict

Организация

Исходный код некоторой части ПО (модуля, компонента) может состоять из одного или нескольких файлов. Код программы не обязательно пишется только на одном языке программирования. Например, часто программы, написанные на языке Си, из соображений оптимизации содержат вставки кода на языке ассемблера. Также возможны ситуации, когда некоторые компоненты или части программы пишутся на различных языках, с последующей сборкой в единый исполняемый модуль при помощи технологии, известной как компоновка библиотек (library linking).

Сложное программное обеспечение при сборке требует использования десятков или даже сотен файлов с исходным кодом. В таких случаях для упрощения сборки обычно используются файлы проектов, содержащие описание зависимостей между файлами с исходным кодом и описывающие процесс сборки. Эти файлы также могут содержать параметры для компилятора и среды проектирования. Для разных сред проектирования могут применяться разные файлы проекта, причём в некоторых средах эти файлы могут быть в текстовом формате, пригодном для непосредственного редактирования программистом с помощью универсальных текстовых редакторов, в других средах поддерживаются специальные форматы, а создание и изменения файлов производится с помощью специальных инструментальных программ. Файлы проектов обычно включают в понятие «исходный код». Часто под исходным кодом подразумевают и файлы ресурсов, содержащие различные данные, например графические изображения, нужные для сборки программы.

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

«Код» vs «текст»

Чего тут обсуждать — «исходный код» более правильно, чем «исходный текст», потому как «source code».
Кстати, не забудьте о открытых исходниках упомянуть
—Evgen2 19:11, 17 марта 2006 (UTC)

В российских ГОСТах соответствущей серии есть такое понятие, как исходный текст программы. Исходный код — это расхожая «калька» с английского, то есть жаргонизм. 81.222.156.17 13:00, 28 января 2009 (UTC)

Эта «расхожая «калька»» слишком часто употребляется, в том числе и в научно-технических публикациях, чтобы быть простым жаргонизмом. Очень многие термины приходят в язык в виде калек — это естественный процесс. Ничего страшного, что в ГОСТах только «текст» — стандарты и должны отбирать предельный минимум для стандартизации, проявляя изрядный консерватизм. Поэтому ГОСТ, как и любой другой стандарт, в данном случае не довод. Это в общем о любых терминах, применительно к термину Исх.код — из статьи: «Для разных сред проектирования могут применяться разные файлы проекта, причем в некоторых средах эти файлы могут быть в текстовом формате, пригодным для непосредственного редактирования программистом с помощью универсальных текстовых редакторов, в других средах поддерживаются специальные форматы, а создание и изменения файлов производится с помощью специальных инструментальных программ. Файлы проектов обычно включают в понятие «исходный код».» Т.е. файл проекта не текстового формата тоже исх.код и его удобнее называть кодом, а не текстом, т.к. не текстовой формат! То же с файлами ресурсов и т.д. —tim2 07:55, 29 января 2009 (UTC)

Я за исходный код. Исходный текст больше относится к Авторским статьям. 90.151.44.29 11:41, 28 апреля 2009 (UTC)

Открытое и свободное программное обеспечение

Основная статья: Свободное и открытое программное обеспечение

Термин open source (с англ. — «программное обеспечение с открытыми исходными кодами») был использован в качестве определения в 1998 году Эриком Реймондом и Брюсом Перенсом, которые утверждали, что термин free software (свободное программное обеспечение) в английском языке неоднозначен и смущает многих коммерческих предпринимателей.

Большинство программ с открытым исходным кодом является одновременно «свободными». Определение программного обеспечения с открытым кодом по Реймонду и определение свободного программного обеспечения не полностью совпадают друг с другом, но близки, и большинство лицензий соответствует обоим[уточнить].

Различие между движениями открытого программного обеспечения и свободного программного обеспечения заключается, в основном, в приоритетах. Сторонники термина «open source» делают упор на эффективность открытых исходников как метода разработки, модернизации и сопровождения программ. Сторонники термина «free software» считают, что именно права человека на свободное распространение, модификацию и изучение используемых им программ являются главным достоинством свободного открытого ПО.

По мнению Ричарда Столлмана, разрекламированность «Open Source» несколько вредит свободному программному обеспечению, так как некоторые разработчики и пользователи программного обеспечения «с открытыми исходниками» совсем не против собственнического программного обеспечения, и люди останавливаются на Open Source, не доходя до понятий о свободе. Он отмечает, что некоторые враждебные к свободному программному обеспечению компании — например, Microsoft — используют только выражение «open source», при этом, вероятно, намеренно избегая выражения «free software».

По словам Брюса Перенса, программное обеспечение «с открытыми исходниками» всегда было лишь способом объяснить предпринимателям идею свободного ПО, и это ему удалось.

Несмотря на стремление авторов определения избавиться от неоднозначности слова free, выражение open source тоже очень часто используется для обозначения сущностей, противоречащих определению OSI или не имеющих к нему никакого отношения, но способных привести к путанице. Например, спецслужбы США используют его в значении «открытый источник» (см.: OSINT от англ. Open Source Intelligence), что упомянуто в объявлении на сайте Реймонда.

Существуют также программы, исходный код которых можно видеть, но которые не подходят под определения открытого или свободного ПО, например, UnRAR, распаковщик RAR-архивов. Его исходный код находится в открытом доступе, но лицензия запрещает использовать его для создания RAR-совместимых архиваторов. Другим популярным примером может быть программа шифрования TrueCrypt: её лицензия отнюдь не свободная, но исходный код при этом открыт, хотя менять его нельзя, можно лишь проверять работоспособность и «честность».

3. Как это работает

Проект с открытым исходным кодом обычно включает три этапа. Давайте быстро рассмотрим каждый этап.

Этап 1. Содействие

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

Раньше, когда я работал над проектами с открытым исходным кодом, мне приходилось ждать недели (и в одном случае, два месяца), прежде чем я получил ответ, но вы должны сидеть там и ждать, пока получите все важные электронные письма с подтверждением.

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

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

Если вы ищете вдохновение в проекте, над которым нужно начать работать, всегда есть много интересных проектов, особенно если вы смотрите на сайтах, таких как GitHub, SourceForge и Google Code.

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

Этап 2: фиксация

Когда вы внесли необходимые изменения или внедрили функцию, которую вы задумали, вы передаете свои изменения основному проекту и отправите их разработчикам проекта для просмотра.

Это можно сделать с помощью GitHub или на платформе SourceForge. Обычно ваши изменения получают ответ от организации или команды, отвечающей за проект: да или нет, указывая, будут ли ваши изменения включены в проект. Если да, то настало время для стадии распространения. Если нет, то возвращаемся на первую стадию.

Этап 3. Распространение

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

Обеспечение систем безопасности

Многих пользователей беспокоит вопрос, является ли свободное ПО более безопасным, чем проприетарное. Хорошо известно, что пользователи ПО OS, такие, как те, кто обычно работает с компьютерами, управляемыми системами Linux, обычно гордятся безопасностью, которую эти программы обеспечивают по отношению к самым закрытым системам, скажем, Microsoft Windows или Apple Mac.

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

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

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

Например, системы Linux долгое время считались защищенной операционной системой, в значительной степени благодаря преимуществам, предлагаемым ее конструкцией. Поскольку его код открыт, есть много людей, которые внедряют улучшения и приносят пользу остальным пользователям Linux.

В этом — отличие от предлагаемой Windows или MacOS, где эти исправления, как правило, ограничиваются обнаруженными Microsoft и Apple.

Именно поэтому Windows доминирует в среде настольных компьютеров, Linux широко используется на серверах и других элементах, имеющих большое значение для обеспечения фундаментальной безопасности.

Сюжет

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

Стивенс пробуждается внутри капсулы, где его через экран компьютера приветствует женщина в военной форме, Коллин Гудвин, и говорит Стивенсу, что он находится внутри «Исходного кода» — программы, которая позволяет вселяться в тело некоего человека в последние восемь минут его жизни. Ранее в тот же день бомба взорвалась и уничтожила поезд. Миссия Стивенса — найти бомбу и узнать, кто создал её, прежде чем ещё одна бомба, на этот раз грязная бомба, взорвётся где-то в Чикаго, что может привести к гибели миллионов людей.

Стивенс отправляется обратно в поезд, где в вентиляции над туалетом находит бомбу, которая активируется сигналом сотового телефона. Бомба взрывается снова, и Стивенс возвращается в капсулу. Гудвин и создатель программы доктор Ратледж говорят ему, что «Исходный код» — всего лишь имитация, поэтому Стивенс не может изменить прошлое и спасти Кристину, в которую он влюбился. Стивенс подозревает, что Гудвин лжёт ему про два месяца подготовки в «Исходном коде» после миссии в Афганистане.

Стивенс несколько раз отправляется в прошлое, где извлекает пистолет из тайника и в конце концов обнаруживает, что террорист — американский экстремист Дерек Фрост. Стивенс сообщает это Гудвин и противостоит Фросту, прежде чем он активирует вторую бомбу. Военные, получив информацию от Гудвин, захватывают Фроста и спасают Чикаго. Однако поезд всё ещё уничтожен и Кристина по-прежнему мертва.

Исследуя аббревиатуру организации, которую успел заметить на форме Гудвин, Стивенс обнаруживает, что его объявили погибшим на войне, а тело забрали военные; Ратледж использовал его останки для реализации «Исходного кода». Стивенс — единственный солдат, который выдержал бремя такой миссии благодаря редким мыслительным и психическим способностям. Стивенс просит Гудвин дать ему последний шанс спасти Кристину и пассажиров поезда, прежде чем она отключит систему жизнеобеспечения мозга Стивенса в качестве награды за выполнение задания. Гудвин предоставляет ему такую возможность вопреки приказу Ратледжа.

Стивенс/Фентресс, представляясь своим другом, по телефону звонит своему отцу, который не знает, как именно и где погиб его сын, и рассказывает о том, как он погиб и насколько он любил его.

Используя информацию из предыдущих путешествий в прошлое, Стивенс смог обезвредить бомбу и захватить Фроста, прежде чем он взорвёт поезд. Стивенс и Кристина целуются в последние секунды отведённых Стивенсу восьми минут, но, к его удивлению, он не умирает после восьми минут памяти мозга. В параллельной реальности «Исходного кода» Фроста арестовывают прямо в вагоне, а пассажиры поезда спасены.

Как оказалось, когда Гудвин отключила систему жизнеобеспечения мозга Стивенса, его разум остался в теле Шона Фентресса. Получив второй шанс на счастливую жизнь с Кристиной, Стивенс превратился в обновлённого Фентресса в альтернативной реальности.

Сюжет

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

Стивенс пробуждается внутри капсулы, где его через экран компьютера приветствует женщина в военной форме, Коллин Гудвин, и говорит Стивенсу, что он находится внутри «Исходного кода» — программы, которая позволяет вселяться в тело некоего человека в последние восемь минут его жизни. Ранее в тот же день бомба взорвалась и уничтожила поезд. Миссия Стивенса — найти бомбу и узнать, кто создал её, прежде чем ещё одна бомба, на этот раз грязная бомба, взорвётся где-то в Чикаго, что может привести к гибели миллионов людей.

Стивенс отправляется обратно в поезд, где в вентиляции над туалетом находит бомбу, которая активируется сигналом сотового телефона. Бомба взрывается снова, и Стивенс возвращается в капсулу. Гудвин и создатель программы доктор Ратледж говорят ему, что «Исходный код» — всего лишь имитация, поэтому Стивенс не может изменить прошлое и спасти Кристину, в которую он влюбился. Стивенс подозревает, что Гудвин лжёт ему про два месяца подготовки в «Исходном коде» после миссии в Афганистане.

Стивенс несколько раз отправляется в прошлое, где извлекает пистолет из тайника и в конце концов обнаруживает, что террорист — американский экстремист Дерек Фрост. Стивенс сообщает это Гудвин и противостоит Фросту, прежде чем он активирует вторую бомбу. Военные, получив информацию от Гудвин, захватывают Фроста и спасают Чикаго. Однако поезд всё ещё уничтожен и Кристина по-прежнему мертва.

Исследуя аббревиатуру организации, которую успел заметить на форме Гудвин, Стивенс обнаруживает, что его объявили погибшим на войне, а тело забрали военные. Ратледж использовал его останки для реализации «Исходного кода». Стивенс — единственный солдат, который выдержал бремя такой миссии благодаря редким мыслительным и психическим способностям. Стивенс просит Гудвин дать ему последний шанс спасти Кристину и пассажиров поезда, прежде чем она отключит систему жизнеобеспечения мозга Стивенса в качестве награды за выполнение задания. Гудвин предоставляет ему такую возможность вопреки приказу Ратледжа.

Стивенс/Фентресс, представляясь своим другом, по телефону звонит своему отцу, который не знает, как именно и где погиб его сын, и рассказывает о том, как он погиб и насколько он любил его.

Используя информацию из предыдущих путешествий в прошлое, Стивенс смог обезвредить бомбу и захватить Фроста, прежде чем он взорвёт поезд. Стивенс и Кристина целуются в последние секунды отведённых Стивенсу восьми минут, но, к его удивлению, он не умирает после восьми минут памяти мозга. В параллельной реальности «Исходного кода» Фроста арестовывают прямо в вагоне, а пассажиры поезда спасены.

Как оказалось, когда Гудвин отключила систему жизнеобеспечения мозга Стивенса, его разум остался в теле Шона Фентресса. Получив второй шанс на счастливую жизнь с Кристиной, Стивенс превратился в обновлённого Фентресса в альтернативной реальности.

Добавьте в статью слова «открытый» и «закрытый» исходный код

Открытый и закрытый исходный код используется во многих статьях о шахматных программах. Вероятно аналогично он используется и в других статьях программирования. Виталий 10:09, 15 сентября 2009 (UTC)Wevict

В указанной статье (шахматная программа) я такого об исх.коде не нашел. Обычно под открытый/закрытый понимают доступность этого кода для посторонних: доступен/недоступен. И все! Что еще об этом стоило бы написать? Всякий исходный код его хозяин может открыть — скорее это относится к методам и условиям распространения программ и прочей интеллектуальной продукции. И не на тему этой статьи.—tim2 10:41, 15 сентября 2009 (UTC)
Извините, я имел в виду статьи о самих шахматных программах, где в разделах о внутренних качествах часто указывается тип кода: открытый или закрытый. Посмотрите «Категория:Шахматные программы». Например: Rybka — сильнейшая в мире, имеет закрытый исходный код, как и Fritz, Shredder, HIARCS и т.д., а Fruit — открытый исходный код, как и многие другие. Краткое наличие такого деления у вас в статье поможет и читающим знать о все той же доступности в целом программ. Виталий 15:42, 16 сентября 2009 (UTC)Wevict.
Извините, но тип кода не зависит от открытого распространения. Пока исходный код программы никому не доступен, кроме разработчиков, — он закрытый, как только правообладатель решит открыть этот код — например, выложить в Интернете для любого желающего — тот же самый код начинают называть открытым. Зачем об этом тут писать? Это не имеет никакого отношения к самому коду, к его «внутренним качествам», а лишь к правам на него. Это вопрос юридический, а статья техническая. Сравните с понятиями — опубликованная и неопубликованная книга.—tim2 11:03, 17 сентября 2009 (UTC)

Согласен, но не вполне с вами. В английской Википедии в аналогичной статье в разделе «License» целый блок начинается со слов «Software, and its accompanying source code, typically falls within one of two licensing paradigms: free software and proprietary software.» И далее кратко объясняется разница в открытом и закрытом исходном коде

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

Виталий 16:23, 17 сентября 2009 (UTC)Wevict

В англовики стоит отсылка Main article: software license, не знаю, зачем там сделана эта дублирующая секция, думаю, ее со времененм уберут. Аналогичная статья есть и в рувики Лицензия на программное обеспечение — если есть желание, дописывайте туда. А в данной статье (которая, кстати, не моя — в вики нет авторских статей) я добавил ссылку в секцию См.Также. Ok?—tim2 10:34, 18 сентября 2009 (UTC)
Хотя это и не моя тема, окей…Виталий 12:56, 18 сентября 2009 (UTC)Wevict.
Все стало проще. Я нашел статьи открытый исходный код и закрытый исходный код! Виталий 18:13, 18 сентября 2009 (UTC)Wevict

История

Исходный код (фильм)
Перфокарта

Исходный код (фильм)
Бумажная копия исходного кода в Fortran 1970, напечатанные на непрерывной бумаге

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

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

Базовые принципы с открытым исходным кодом

Исходный код (фильм)

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

Основные принципы платформы:

  1. Система с открытым исходным кодом снижает барьеры с инновациями, так что любой пользователь может поделиться своей идеей на рынке. Точно так же при использовании этих программ она больше не зависит от работы компании, занимающейся исключительно обслуживанием ПО, и может открыть двери любому человеку, который обладает знаниями и необходимой способностью делать это удаленно.
  2. У ПО нет ограничений на продажу или распространение продукта, стоимость их значительно ниже, чем продуктов с проприетарными лицензиями, а в большинстве случае является нулевой.
  3. Исходный код доступен, так можно изменять ПО без каких-либо ограничений, что позволяет создавать скомпилированные дистрибутивы.
  4. Свобода совершенствования и публикации изменений, когда каждый имеет право изменять исходник, а также публиковать сделанные изменения.
  5. Использование программы бесплатно для любых целей.
  6. Каждый желающий может свободно изучать, как она работает и адаптировать ее к потребностям любого пользователя.

Качество

В отличие от человека, для компьютера нет «хорошо написанного» или «плохо написанного» кода. Но то, как написан код, может сильно влиять на процесс сопровождения ПО. О качестве исходного кода можно судить по следующим параметрам:

  • читаемость кода (в том числе наличие комментариев к коду);
  • лёгкость в поддержке, тестировании, отладке и устранении ошибок, модификации и портировании;
  • экономное использование ресурсов: памяти, процессора, дискового пространства;
  • отсутствие замечаний, выводимых компилятором;
  • отсутствие «мусора» — неиспользуемых переменных, недостижимых блоков кода, ненужных устаревших комментариев и т. д.;
  • адекватная обработка ошибок;
  • возможность интернационализации интерфейса.

НазначениеПравить

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

Другое важное назначение исходного кода — в качестве описания программы. По тексту программы можно восстановить логику её поведения

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

Кроме того, исходный код имеет много других применений. Он может использоваться как инструмент обучения; начинающим программистам бывает полезно исследовать существующий исходный код для изучения техники и методологии программирования. Он также используется как инструм

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

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

Исходный код — важнейший компонент для процесса портирования программного обеспечения на другие платформы. Без исходного кода какой-либо части ПО, портирование либо слишком сложно, либо вообще невозможно.

Качество

Качество написания исходного кода напрямую влияет на работоспособность программы. То, как написана программа, может иметь очень важные последствия для ее сопровождения ПО.
Поскольку программирование уже десятки лет существует в промышленных масштабах, были разработаны соответствующие стандарты оформления кода.

  • читаемость кода (также наличие комментариев к коду);
  • лёгкость в поддержке, тестировании, отладке и устранении ошибок, модификации и портировании;
  • отсутствие замечаний, выводимых компилятором;
  • экономное использование ресурсов: памяти, процессора, дискового пространства;
  • отсутствие «мусора» — неиспользуемых переменных, недостижимых блоков кода, ненужных устаревших комментариев и т. д.;
  • переносимость — возможность использования обработчика (компилятора, интерпретатора, транслятора) разных версий или даже различных ОС;
  • возможность интернационализации интерфейса.

Определение Open Source Initiative

Логотип Open Source Initiative (OSI)

Основная статья: Определение Open Source

Термин Open Source не является торговой маркой организации Open Source Initiative. Однако для тех, кто хочет использовать логотип этой организации, существует требование, которое обязывает использовать термин Open Source только применительно к лицензиям, одобренным OSI.

Существует специальный комитет, решающий, может ли лицензия использовать торговую марку Open Source Initiative. Определение, которым он при этом руководствуется, приведено в The Open Source Definition.

Вынесенное OSI определение признается за руководство многими другими организациями — например, порталом SourceForge.net.

OSI накладывает на публичную лицензию десять требований, которые изначально были основаны на Debian Free Software Guidelines.

Ошибки

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

Некоторые проекты используют дополнительные инструменты для поиска ошибок в коде, например PVS Studio. Подобные решения позволяют найти многие ошибки, но, конечно, не все. Ошибки случаются, и случаются у всех: и у частного разработчика-одиночки, и у международной корпорации вроде Microsoft.

К чему приводят ошибки? Например, программа не сработает должным образом. Если это антивирус, он не удалит обнаруженный троян или, наоборот, сработает слишком старательно и уничтожит вам системные файлы. Программа может просто доставать пользователя ошибками или постоянно «падать», вынуждая ее перезапускать.

Во времена моей учебы в ВУЗе популярный антивирус AVG после обновления перенес в карантин важный системный файл user32.dll, приняв его за троян. В итоге мой компьютер с курсовой работой просто перестал запускаться, и мне потребовалось немало усилий для поиска причины и реанимации Windows. Позже разработчик официально сообщил, что была допущена ошибка, которая и приводила к таким неприятным последствиям.

А чего стоит недавний пример с Microsoft, когда Windows 10 после обновления, призванного повысить стабильность системы, по ошибке удаляла пользовательские файлы. Удалялись файлы из папки «Мои документы»; именно там я когда-то и хранил свои курсовые…

Большинство ошибок можно «отловить» и исправить на этапе тестирования, однако некоторые ошибки воспроизводятся только при совершении нестандартных действий или в исключительных условиях, например при наличии какого-либо программного обеспечения или драйверов на устройстве пользователя,‒я называю их ситуативными багами.

Неисполняемый исходный код

Копилефтные лицензии для свободного ПО требуют распространения исходного кода. Эти лицензии часто используются также для работ, не являющихся программами — например, документации, изображений, файлов данных для компьютерных игр.

В таких случаях исходным кодом считается форма данной работы, предпочтительная для её редактирования. В лицензиях, предназначенных не только для ПО, она также может называться версией в «прозрачном формате». Это может быть, например:

  • для файла, сжатого с потерей данных — версия без потерь;
  • для рендера векторного изображения или трёхмерной модели — соответственно, векторная версия и модель;
  • для изображения текста — такой же текст в текстовом формате;
  • для музыки — файл во внутреннем формате музыкального редактора;
  • и наконец, сам файл, если он удовлетворяет указанным условиям, либо если более удобной версии просто не существовало.