Лекция
Привет, Вы узнаете о том , что такое исходный код, Разберем основные их виды и особенности использования. Еще будет много подробных примеров и описаний. Для того чтобы лучше понимать что такое исходный код, листинг, source code , настоятельно рекомендую прочитать все из категории Разработка программного обеспечения и информационных систем.
исходный код программы - это набор инструкций, написанных на языке программирования, который компьютер может понять и выполнить. Исходный код содержит текстовое представление программы, которая может быть интерпретирована или скомпилирована в исполняемый файл. Исходный код (Source code)- это текст компьютерной программы на каком-либо языке программирования или языке разметки, который может быть прочтен человеком. В обобщенном смысле — любые входные данные для транслятора. Исходный код транслируется в исполняемый код целиком до запуска программы при помощи компилятора или может исполняться сразу при помощи интерпретатора. Исходный код является любым набором кода, с или без комментариев, написанный с использованием в удобочитаемом языке программирования, как правило, в виде обычного текста. Исходный код программы специально разработан для облегчения работы компьютерных программистов, которые определяют действия, которые должны выполняться компьютером, в основном путем написания исходного кода. Исходный код часто преобразуется ассемблером или компилятором в двоичный машинный код, который может выполняться компьютером. Затем машинный код может быть сохранен для выполнения позже. В качестве альтернативы исходный код может быть интерпретирован и, следовательно, немедленно выполнен.
Большинство прикладных программ распространяется в форме, включающей только исполняемые файлы. Если бы исходный код был включен, он был бы полезен пользователю, программисту или системному администратору , любой из которых мог бы пожелать изучить или изменить программу.
Обратите внимание, что каждый язык программирования имеет свой синтаксис и структуру, и исходный код может отличаться в зависимости от выбранного языка.
Linux Информация о проекте определяет исходный код , как:
Исходный код (также называемый исходным кодом или кодом) - это версия программного обеспечения в том виде, в котором оно было изначально написано (т. Е. Напечатано на компьютере) человеком в виде простого текста (т. е. Читаемых человеком буквенно-цифровых символов).
Понятие исходного кода также может быть понято более широко, включая машинный код и обозначения на графических языках, ни один из которых не является текстовым по своей природе. Пример из статьи, представленной на ежегодной конференции IEEE и по анализу исходного кода и манипуляции с ним:
Для ясности «исходный код» означает любое полностью исполняемое описание программной системы. Поэтому он построен таким образом, чтобы включать машинный код, языки очень высокого уровня и исполняемые графические представления систем.
Часто существует несколько этапов трансляции или минификации программы между исходным исходным кодом, набранным человеком, и исполняемой программой. В то время как некоторые, например, FSF, утверждают, что промежуточный файл «не является реальным исходным кодом и не считается исходным кодом» другие считают удобным ссылаться на каждый промежуточный файл как на исходный код для следующих шагов.
Самые ранние программы для компьютеров с сохраненными программами вводились в двоичном формате через переключатели на передней панели компьютера. В этом языке программирования первого поколения не было различий между исходным кодом и машинным кодом.
Когда IBM впервые предложила программное обеспечение для работы с ее машиной, исходный код был предоставлен бесплатно. В то время стоимость разработки и поддержки программного обеспечения была включена в стоимость оборудования. На протяжении десятилетий IBM распространяла исходный код со своими лицензиями на программные продукты, вплоть до 1983 года.
Большинство ранних компьютерных журналов публиковали исходный код в виде программ для ввода .
Иногда весь исходный код большой программы публикуется в виде книги в твердом переплете, такой как Computers and Typesetting , vol. B: TeX, Программа по Дональд Кнут, PGP Исходный код и по Philip Zimmermann, PC SpeedScript по Рэнди Томпсон и мкКл / OS, Real-Time Kernel Жан Labrosse.
Исходный код, составляющий программу , обычно хранится в одном или нескольких текстовых файлах, хранящихся на жестком диске компьютера; обычно эти файлы тщательно организованы в дерево каталогов , известное как дерево исходных текстов . Исходный код также может храниться в базе данных (как это обычно бывает для хранимых процедур ) или где-нибудь еще.
Рис 1. Об этом говорит сайт https://intellect.icu . Пример исходного кода на javascript
Рис 3 пример листинга программы на Си
Исходный код для конкретной части программного обеспечения может содержаться в одном файле или в нескольких файлах. Хотя такая практика встречается редко, исходный код программы может быть написан на разных языках программирования. Например, программа, написанная в основном на языке программирования C , может иметь части, написанные на языке ассемблера в целях оптимизации. Также возможно, чтобы некоторые компоненты программного обеспечения были написаны и скомпилированы отдельно на произвольном языке программирования, а затем интегрированы в программное обеспечение с использованием метода, называемого связыванием библиотек . В некоторых языках, таких как Java , это можно сделать во время выполнения. (каждый класс компилируется в отдельный файл, который связывается интерпретатором во время выполнения).
Еще один метод состоит в том, чтобы сделать основную программу интерпретатором для языка программирования, либо разработанным специально для рассматриваемого приложения, либо универсальным, а затем записать большую часть фактических пользовательских функций в виде макросов или других форм добавления -ins в этом языке, подход, принятый, например, текстовым редактором GNU Emacs.
Базовый код из компьютерного программирования проекта является большой коллекцией всех исходного кода всех компьютерных программ , которые составляют проект. Поддержание кодовых баз в системах контроля версий стало обычной практикой . Умеренно сложное программное обеспечение обычно требует компиляции или сборки нескольких, иногда десятков, а может и сотен различных файлов исходного кода. В этих случаях инструкции для компиляции, такие как Makefile, включены в исходный код. Они описывают программные отношения между файлами исходного кода и содержат информацию о том, как они должны быть скомпилированы.
Исходный код в основном используется в качестве входных данных для процесса, который создает исполняемую программу (т. е. компилируется или интерпретируется). Он также используется как метод передачи алгоритмов между людьми (например, фрагменты кода в книгах).
Программисты часто считают полезным просмотреть существующий исходный код, чтобы узнать о методах программирования. Совместное использование исходного кода между разработчиками часто упоминается как фактор, способствующий развитию их навыков программирования. Некоторые люди считают исходный код выразительным художественным средством .
Перенос программного обеспечения на другие компьютерные платформы без исходного кода обычно чрезвычайно затруднен. Без исходного кода для конкретной части программного обеспечения переносимость обычно требует больших вычислительных затрат. Возможные варианты переноса включают двоичную трансляцию и эмуляцию исходной платформы.
Декомпиляция исполняемой программы может использоваться для генерации исходного кода либо на ассемблере, либо на языке высокого уровня .
Программисты часто адаптируют исходный код одной части программного обеспечения для использования в других проектах. Эта концепция известна как возможность повторного использования программного обеспечения .
Копилефтные лицензии для свободного ПО требуют распространения исходного кода. Эти лицензии часто используются также для работ, не являющихся программами — например, документации, изображений, файлов данных для компьютерных игр.
В таких случаях исходным кодом считается форма данной работы, предпочтительная для ее редактирования. В лицензиях, предназначенных не только для ПО, она также может называться версией в «прозрачном формате». Это может быть, например:
Ситуация варьируется во всем мире, но в Соединенных Штатах до 1974 года программное обеспечение и его исходный код не охранялись авторскими правами и, следовательно, всегда являлись общественным достоянием .
В 1974 году Комиссия США по новому технологическому использованию произведений, охраняемых авторским правом (CONTU), решила, что «компьютерные программы в той степени, в которой они воплощают оригинальное творение автора, являются надлежащим объектом авторского права».
В 1983 году в суде США по делу Apple против Франклина было решено, что то же самое применимо и к объектному коду; и что Закон об авторском праве предоставил компьютерным программам статус авторского права на литературные произведения.
В 1999 году в суде США по делу Бернштейн против Соединенных Штатов было также постановлено, что исходный код может считаться конституционно защищенной формой свободы слова . Сторонники свободы слова утверждали, что, поскольку исходный код передает информацию программистам, написан на каком-то языке и может использоваться для обмена юмором и другими художественными занятиями, это защищенная форма общения.
Авторские права
Под лицензией Apache License версии 2.0 («Лицензия»); вы не можете использовать этот файл, кроме как в соответствии с Лицензией. Вы можете получить копию лицензии по адресу
http://www.apache.org/licenses/LICENSE-2.0
Если это не требуется действующим законодательством или не согласовано в письменной форме, программное обеспечение, распространяемое по Лицензии, распространяется на УСЛОВИЯХ «КАК ЕСТЬ», БЕЗ КАКИХ-ЛИБО ГАРАНТИЙ ИЛИ УСЛОВИЙ, явных или подразумеваемых. См. Лицензию для получения информации о конкретных языках, регулирующих разрешения и ограничения в соответствии с Лицензией.
Автор такой нетривиальной работы, как программное обеспечение , имеет несколько исключительных прав, среди которых авторские права на исходный код и объектный код. Автор имеет право и возможность предоставлять клиентам и пользователям своего программного обеспечения некоторые из своих исключительных прав в форме лицензирования программного обеспечения. Программное обеспечение и сопровождающий его исходный код могут быть связаны с несколькими парадигмами лицензирования; Самое важное различие - бесплатное и несвободное программное обеспечение. Это делается путем включения уведомления об авторских правах, в котором объявляются условия лицензирования. Если уведомление не найдено, то по умолчанию Все права защищены. подразумевается.
Вообще говоря, программное обеспечение является бесплатным программным обеспечением, если его пользователи могут свободно использовать его для любых целей, изучать и изменять его исходный код, предоставлять или продавать его точные копии, а также передавать или продавать его модифицированные копии. Программное обеспечение является проприетарным, если оно распространяется, пока исходный код хранится в секрете, или находится в частной собственности и ограничен. Одной из первых лицензий на программное обеспечение, которые были опубликованы и прямо предоставляли эти свободы, была Стандартная общественная лицензия GNU в 1989 году; лицензия BSD является еще одним из первых примеров с 1990.
Для патентованного программного обеспечения используются положения различных законов об авторском праве, коммерческой тайне и патентах, чтобы исходный код оставался закрытым. Кроме того, многие части розничного программного обеспечения поставляются с лицензионным соглашением с конечным пользователем (EULA), которое обычно запрещает декомпиляцию, обратный инжиниринг, анализ, модификацию или обход защиты от копирования. Типы защиты исходного кода - помимо традиционной компиляции до объектного кода - включают шифрование кода, обфускацию кода или преобразование кода.
То, как написана программа, может иметь важные последствия для ее сопровождающих. Соглашения о кодировании , которые подчеркивают удобочитаемость, и некоторые соглашения, относящиеся к конкретному языку, нацелены на поддержку исходного кода программного обеспечения, что включает отладку и обновление . Другие приоритеты, такие как скорость выполнения программы или возможность компилировать программу для нескольких архитектур, часто делают читабельность кода менее важным фактором, поскольку качество кода обычно зависит от его цели .
Данная статья про исходный код подтверждают значимость применения современных методик для изучения данных проблем. Надеюсь, что теперь ты понял что такое исходный код, листинг, source code и для чего все это нужно, а если не понял, или есть замечания, то не стесняйся, пиши или спрашивай в комментариях, с удовольствием отвечу. Для того чтобы глубже понять настоятельно рекомендую изучить всю информацию из категории Разработка программного обеспечения и информационных систем
Комментарии
Оставить комментарий
Разработка программного обеспечения и информационных систем
Термины: Разработка программного обеспечения и информационных систем