Исходники что это такое


исходник — Викисловарь

Морфологические и синтаксические свойства

падеж ед. ч. мн. ч.
Им. исхо́дник исходники́
Р. исхо́дника исходнико́в
Д. исхо́днику исходника́м
В. исхо́дник исходники́
Тв. исхо́дником исходника́ми
Пр. исхо́днике исходника́х

ис-хо́д-ник

Существительное, неодушевлённое, мужской род, 2-е склонение (тип склонения 3c по классификации А. А. Зализняка).

Корень: --.

Произношение

Семантические свойства

Значение
  1. жарг. исходный, первоначальный материал, на основании которого создаётся, изготовляется что-либо ◆ У Саши могли храниться только исходники. ― Она вспомнила, что не всякий обязан знать термин «исходник», и пояснила: ― Те записи, что были сделаны непосредственно на съемках. М. С. Баконина, «Школа двойников», 2000 г. (цитата из Национального корпуса русского языка, см. Список литературы)
  2. комп., жарг. исходный код (исходный текст), читаемый человеком текст компьютерной программы на каком-либо языке программирования или языке разметки ◆ Отсутствует пример употребления (см. рекомендации).
Синонимы
Антонимы
Гиперонимы
Гипонимы

Родственные слова

Этимология

Происходит от ??

Фразеологизмы и устойчивые сочетания

Перевод

Список переводов

Библиография

Исходник - это... Что такое Исходник?

Исходный код, написанный на JavaScript

Исхо́дный код (также исхо́дный текст) — текст компьютерной программы на каком-либо языке программирования. В обобщённом смысле — любые входные данные для транслятора.

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

Назначение

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

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

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

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

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

Организация

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

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

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

Качество

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

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

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

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

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

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

См. также

Ссылки

Wikimedia Foundation. 2010.

Исходники - это... Что такое Исходники?

Исходный код, написанный на JavaScript

Исхо́дный код (также исхо́дный текст) — текст компьютерной программы на каком-либо языке программирования. В обобщённом смысле — любые входные данные для транслятора.

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

Назначение

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

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

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

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

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

Организация

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

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

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

Качество

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

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

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

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

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

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

См. также

Ссылки

Wikimedia Foundation. 2010.

Открытый исходный код — благо или троянский конь? / Habr

Сразу хочется сузить рамки — разговор идет о продаже программного продукта (php+MySQL).
Вопрос — (про)давать ли исходный код?

Аргументы в пользу закрытого кода.
— Подавляющему большинству клиентов нужно чтобы продукт работал и исходный код не нужен.
— При закрытом коде проще осуществлять тех. поддержку — клиент своими руками не залезет куда не надо и не породит новых уникальных ошибок, в которых хрен разберешься.
— Сложнее стырить исходный код. А точнее его можно получить, но вот что-то серьезное переделать в этом «исходнике» сложно — максимум сломать защиту, внести незначительные правки.
— Есть некоторая надежда разработчика, что закрытый код спасет от перепродажи его продукта лихими людьми.
— Есть легкая надежда, что купят продукт, потому как «сломать» не смогут, либо «ломанный» побоятся использовать.
— Народ (наш народ :) ) привык что если код открыт, значит бесплатно!

Аргументы в пользу открытого кода.
— Иногда клиенту просто хочется иметь возможность взглянуть на код. То есть не обязательно даже его иметь, но чтобы возможность такая была. Это могут быть параноики безопасности в хорошем смысле или просто борцы за какие-то права.
— Клиент имеет возможность внести правки, причем весьма серьезные. Вплоть до потери совместимости с последующими версиями продукта (хотя вот это возможно уже в минус).
— Нет проблем с дешифратором закрытого кода. Не секрет, что такие проблемы встречаются (отсутствие Зенда и иже с ним, какие-то локальные глюки т.д.).
— Есть возможность построить сообщество разработчиков купивших скажем девелоперскую лицензию с доступом к открытому коду.

Добавлю немного конкретики.
Вопрос «открытого кода» интересует в связи с «внутрифирменной» дискуссией по поводу развития одного из наших продуктов (CNCat). Мы проходили разные стадии (открытый код, Зенд) и сейчас осуществляем обфрускейтивание (замену названий переменных на бессмысленные) и легкую шифрацию. Когда мы давали продукт в открытом коде и давали его бесплатно — много кто тырил код и на его основе делали свои продукты без всяких ссылок на нас. Что было немного обидно и сейчас не хочется на этом обжечься опять.
Однако правильное позиционирование открытого кода (АПИ, поддержка, контроль и т.д.) может дать нам приток сторонних разработчиков новых фич, мощную обратную связь, отладку — в общем новый импульс.

Дык хочется получить какие-то дополнительные аргументы или мысли по данному вопросу. Как бы Вы повели себя как клиент, как разработчик (конечно желательно чтобы Вы им являлись, чтоб не голословно)? Может есть какие в мире устоявшиеся теории и доказанные практикой подходы (типа фри версия закрыта, купленная открыта)?

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

У этого термина существуют и другие значения, см. OS (значения).

Открытое программное обеспечение (англ. open-source software) — программное обеспечение с открытым исходным кодом. Исходный код таких программ доступен для просмотра, изучения и изменения, что позволяет убедиться в отсутствии уязвимостей и неприемлемых для пользователя функций (к примеру, скрытого слежения за пользователем программы), принять участие в доработке самой открытой программы, использовать код для создания новых программ и исправления в них ошибок — через заимствование исходного кода, если это позволяет совместимость лицензий, или через изучение использованных алгоритмов, структур данных, технологий, методик и интерфейсов (поскольку исходный код может существенно дополнять документацию, а при отсутствии таковой — сам служит документацией).

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

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

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

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

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

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

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

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

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

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

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

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

Исходные коды открытых программ выпускаются либо как общественное достояние, либо на условиях «свободных» лицензий — как, например, GNU General Public License или BSD License. Свободная лицензия позволяет использовать исходный код программы для своих нужд с минимальными ограничениями, не противоречащими определению OpenSource.org. Таким ограничением может быть требование ссылаться на предыдущих создателей или требование сохранять свойство открытости при дальнейшем распространении той же самой или модифицированной открытой программы (лицензия Копилефт). В некоторых случаях (например, Apache или FreeBSD) эти ограничения очень малы, в других (например, GNU General Public License) достаточно распространять программное обеспечение вместе с исходным кодом и текстом лицензии, не изменяя её.

В настоящее время открытое программное обеспечение не получило широкого распространения в России, среди причин чему называют широкое нелегальное распространение собственнического программного обеспечения.[источник не указан 384 дня]

Однако решениями Правительства[13] и президента РФ Д. А. Медведева[источник не указан 3741 день], российское открытое программное обеспечение в 2008 году внедрено во всех школах Российской Федерации и будет установлено во всех государственных и бюджетных организациях для обеспечения национальной безопасности в сфере ИТ[14].

Открытое программное обеспечение может свободно устанавливаться и использоваться во всех школах, офисах, вузах, на всех личных компьютерах и во всех государственных, бюджетных и коммерческих организациях и учреждениях России и в странах СНГ, согласно открытому лицензионному соглашению GNU (GPL).

По решению Правительства Российской Федерации[13] в марте 2008 года все средние школы России получили базовые пакеты лицензионного собственнического программного обеспечения для обучения компьютерной грамотности, основам информатики и новым информационным технологиям с операционными системами Windows.

В трёх регионах России в 2008 году развёрнуты работы по внедрению и использованию в средних школах базовых пакетов программ для кабинетов информатики и вычислительной техники и начата подготовка учителей и преподавателей информатики технологии работы с открытым программным обеспечением в среде Windows и Linux[15][16]. В ходе реализации проекта было объявлено о расширении географии проекта. Число школ, присоединившихся к проекту внедрения СПО, можно отслеживать на динамически обновляемой карте проекта[17].

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

В 2007 году выпущены первые учебники информатики для вузов и школ для обучения информатике в соответствии с государственными стандартами образования со свободным и проприетарным программным обеспечением в среде Windows и Linux.

Российские разработчики в основном помогают развитию англоязычных проектов или выпускают локализованные редакции международных проектов (например, OpenOffice Pro на базе OpenOffice.org). Крупных российских проектов с открытыми кодами немного (например, FAR Manager, Nginx, DriverPack Solution, 7-Zip). Небольшие программы чаще бывают только бесплатными, без открытия исходных кодов (например, Aimp, Light Alloy).

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

С 2006 года тестинговой компанией Coverity совместно с американским Министерством внутренней безопасности проводились исследования как в открытом, так и закрытом секторе разработки ПО, по результатам года они публиковали отчёт. По результатам 2011 года оказалось, что открытый исходный код не уступает по качеству проприетарному[18]. Самыми качественными проектами были признаны Linux 2.6, PHP 5.3 и PostgreSQL 9.1, качество которых определялось по дефектной плотности (числу дефектов на тысячу строк кода), которая была равна 0.62, 0.20, и 0.21 соответственно.

  1. 1 2 Эрик Реймонд. Goodbye, «free software»; hello, «open source» (англ.) (1998). Дата обращения 31 марта 2008. Архивировано 22 августа 2011 года.
  2. ↑ Введение в свободное программное обеспечение (неопр.). ibm.com. — «Как правило, приложения с открытым исходным кодом распространяются бесплатно.».
  3. ↑ What is "free software" and is it the same as "open source"? (англ.). Frequently Answered Questions. Open Source Initiative. Дата обращения 1 января 2013. Архивировано 5 января 2013 года.
  4. Bruce Byfield. Richard Stallman looks back at 25 years of the GNU project (неопр.) (недоступная ссылка). Linux.com. Дата обращения 28 сентября 2008. Архивировано 22 августа 2011 года.
  5. Ричард Столлман. Lest CodePlex perplex (англ.). FSF Blogs (5 октября 2009). Дата обращения 24 октября 2009. Архивировано 22 августа 2011 года.
  6. Брюс Перенс. State of Open Source Message: A New Decade For Open Source (англ.) (недоступная ссылка) (8 февраля 2008). — «My intent has always been for Open Source to simply be another way of talking about Free Software, tailored to the ears of business people, and that it would eventually lead them to a greater appreciation of Richard Stallman's arguments. This has come to pass, and…». Дата обращения 30 сентября 2008. Архивировано 22 августа 2011 года.
  7. ↑ В английском языке слово free имеет значение как «свободный», так и «бесплатный».
  8. Noah Shachtman. Open Source Intel Rocks — Sorry, It’s Classified (англ.). Блоги Wired.com (17 сентября 2008). Дата обращения 17 сентября 2008. Архивировано 22 августа 2011 года.
  9. ↑ Portable UnRAR source code (неопр.). license.txt: Евгений Рошал. — «2. UnRAR source code may be used in any software to handle RAR archives without limitations free of charge, but cannot be used to develop RAR (WinRAR) compatible archiver and to re-create RAR compression algorithm, which is proprietary. Distribution of modified UnRAR source code in separate form or as a part of other software is permitted, provided that full text of this paragraph, starting from "UnRAR source code" words, is included in license, or in documentation if license is not available, and in source code comments of resulting package.». Дата обращения 9 марта 2016. Архивировано 22 августа 2011 года.
  10. Truecrypt Foundation. TrueCrypt License Version 3.0 (неопр.). GitHub (29 мая 2014 года).
  11. ↑ Trademarks of OSI
  12. ↑ The Open Source Definition (Annotated) | Open Source Initiative
  13. 1 2 Распоряжение Правительства Российской Федерации от 18 октября 2007 г. N 1447-р
  14. ↑ Стенографический отчёт о заседании Совета по развитию информационного общества в России
  15. ↑ Статистика внедрения (неопр.) (недоступная ссылка). Дата обращения 22 июня 2009. Архивировано 4 сентября 2009 года.
  16. ↑ Linux в школе: итоги пилотного года (неопр.) (недоступная ссылка). Дата обращения 22 июня 2009. Архивировано 5 августа 2009 года.
  17. ↑ СПО в российских школах " Blog Archive " Забери карту внедрений СПО себе на сайт
  18. ↑ Открытый код не уступает по качеству проприетарному | High Load Web (неопр.) (недоступная ссылка). Дата обращения 29 февраля 2012. Архивировано 2 марта 2014 года.
Ричард Столлман

Действительно ли вам нужен исходный код? / Habr

Во многие знания многие печали

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

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

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

Разработка железа. Здесь тоже есть исходный код, что особенно верно для разработки с использованием VHDL и Verlog. Как дела обстоят здесь? Исторически сложилось так, что при выборе интегральной микросхемы и разработки ее применения инженер опирался на спецификации, в которых указана функциональность, расположение выводов, требования к питанию, и т.д. И при этом никто не ожидал увидеть полную схему внутреннего устройства ИС, хотя часто могли видеть структурную схему (в основном в качестве иллюстративного материала, который облегчал понимание принципов функционирования), а иногда даже и принципиальную схему (для аналоговых ИС типа ОУ), хотя и без номиналов.
Инженер, которые сегодня разрабатывает ASIC или прошивку FPGA, скорее всего, будет использовать некоторые готовые IP блоки — предварительно упакованный блок, который обеспечивает определенный функционал. При этом, выбор будет основываться на спецификациях, и совершенно не очевидно, что оригинальный HDL для IP будет включен в комплект поставки. Этот подход с использованием «черных ящиков» хорошо известен в мире аппаратного обеспечения.

Безопасность. Любая технология, которая включена в продукт должен быть выбрана, учитывая возможности будущей технической поддержки. Например, при выборе ИС следует избегать применения уникальных изделий от одного производителя, что может смягчить проблемы при сбоях поставок.
При использовании IP, будь то аппаратные боки или поставляемое ПО, сбои поставок как таковые вряд ли могут иметь место (за исключением случаев разовых лицензий), но постоянная поддержка должна присутствовать. Поэтому вопрос о том, будет ли Ваш поставщик в бизнесе на протяжении всего срока жизни Вашего продукта, лучше задать до того, как выбрать конкретную реализацию.

Если исходный код для IP доступен, это дает возможность решения любых (ну почти любых) проблем с программным обеспечением, даже если поставщик больше не в состоянии предложить поддержку. По этой причине, многие покупатели RTOS и т.д. хотели бы иметь исходный код на полке, даже если они никогда не будут смотреть на него, просто на всякий случай.

Настройка программного обеспечения.Основным различием между встраиваемыми системами и десктопами является изменчивость первых. Большинство ПК похожи на многие другие и выбор только межу средой исполнения: Windows, Mac, или Linux. Встроенные системы, в свою очередь, невероятно изменчивы — различные процессоры, конфигурации памяти и периферийных устройств. В результате, программное обеспечение IP должен быть гибким, так чтобы он мог быть развернут на различных системах. Хотя многие продукты, такие как RTOS поставляются в двоичном виде — обычно библиотеке, которая настроена на конкретную архитектуру, требования к поставке исходного кода могут стимулировать поставщиков, исключая необходимость сохранения и поддержки многочисленных вариаций, поскольку предоставление IP в виде исходного решает многие из этих вопросов. Пользователь может построить код для конкретного процессора, адаптировать к карте памяти устройства, и добавить необходимые расширения устройств. В некоторых случаях, IP блок может быть конфигурирован с помощью условной компиляции — как правило, для определения конфигурации редактируется заголовочный файл.

Сертификация. Для некоторых типов приложений, таких военные / авиационные и медицина, встроенное ПО должно быть сертифицировано на безопасность и соответствие различным стандартам. Этот процесс является сложным и дорогим и обычно влечет за собой проверку каждой строки кода. Поэтому обычно невозможно купить «предварительно сертифицированные» блоки ПО, так как все приложение является предметом рассмотрения. Таким образом, разработчик критически важных приложений, скорее всего, искать IP, который доступен вместе с исходным кодом, так чтобы полная проверка могла быть проведена.

Что такое Исходный код?
Вопрос может показаться странным, но без ответа на него обсуждение каких-либо аспектов его наличия (или отсутствия) превращается в несколько странное занятие. Ответ может показаться очевидным: исходный код некоторой программы представляет собой набор файлов, содержащих инструкции на языке высокого уровня или ассемблере, которые могут быть скомпилированы и собраны в функционирующие двоичные инструкции. Сразу вопрос — необходимые для процесса преобразования программы и среда исполнения для них являются частью исходного кода (в бинарном виде)? Тем не менее данному определению отвечают по меньшей мере 3 формы, в которых «исходный код» может быть поставлен (для примера поговорим о языке С) в порядке ухудшения качества:
1) Действительно исходный код, с хорошей планировкой, четкими конвенциями именования переменных и хорошо откомментированный (при условии, что такой имеется у разработчика IP, что совершенно необязательно).
2) Строки кода, которые будут компилировать успешно, НО без комментариев или особенно значимых имен идентификаторов.
3) Строки кода после обфрускации, которая делает код нечитаемым человеком, но при этом приемлем для компилятора. Это делается с помощью замены имен идентификаторов на бессмысленные и удаления всех комментариев и синтаксически нетребуемых пробелов. Существует обратный процесс, но его результаты трудно назвать приемлемыми.
Все эти формы используются поставщиков программного обеспечения для следующих целей:
1) является тем, что большинство покупателей ожидают получить и то, что многие производители действительно обеспечивают. Тем не менее, при принятии решения о покупке, если вам требуется исходный код, важно убедиться что это именно такой вариант, если сомневаетесь, просто попросите образцы.
2) обычно используется, когда продавец хочет доставить необходимый минимум, который может быть (только) достаточно хорошо для сертификации.
3) используется для защиты содержимого IIP от посторонних глаз, что означает, что программное обеспечение получает преимущество конфигурируемости, но не более того.

Недостатки исходного кода.
Самый главный недостаток того, что исходный код доступен: это сильное искушение. Каждый разработчик хочет сделать свое программное обеспечение как можно лучше (ну есть такая точка зрения). Так, например, если API ОСРВ не работает в точности так, чтобы быть оптимальным для приложения, доступность исходного кода предоставляет возможность изменить его.
Хотя может показаться, что сделать приложение оптимальным — это здорово, но есть проблема долгосрочной поддержки. Что, если существует проблема с функциональностью RTOS? Поставщик не будет поддерживать модифицированный продукт. Что делать, если выходит новая версия ОСРВ? Включение ее в редизайн может потребовать значительное время на проведение повторных модификаций, особенно если их автор у Вас уже не работает (ну или Вы делали эти модификации 3 года назад и естественно, или, как говорят, разумеется, не озаботились написанием соответствующей документации).

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

исходник - это... Что такое исходник?

  • Исходник — Исходный код, написанный на JavaScript Исходный код (также исходный текст)  текст компьютерной программы на каком либо языке программирования. В обобщённом смысле  любые входные данные для транслятора. Исходный код либо транслируется в… …   Википедия

  • GNU General Public License — Запрос «GPL» перенаправляется сюда; см. также другие значения. GNU General Public License …   Википедия

  • Разработка приложений для мобильных устройств — Разработка приложений для мобильных устройств  это процесс при котором приложения разрабатываются для небольших портативных устройств таких как КПК, смартфоны или сотовые телефоны. Эти приложения могут быть предустановлены на устройство в… …   Википедия

  • STFW — RTFM  аббревиатура, означающая Read The Fucking Manual (Читай долбаное руководство). Исходный вариант расшифровки Read The Following Materials (Читай сопроводительную документацию). Так же имеет место близкое и схожее выражение: RTFW … …   Википедия

  • РТФМ — RTFM  аббревиатура, означающая Read The Fucking Manual (Читай долбаное руководство). Исходный вариант расшифровки Read The Following Materials (Читай сопроводительную документацию). Так же имеет место близкое и схожее выражение: RTFW … …   Википедия

  • ЧДР — RTFM  аббревиатура, означающая Read The Fucking Manual (Читай долбаное руководство). Исходный вариант расшифровки Read The Following Materials (Читай сопроводительную документацию). Так же имеет место близкое и схожее выражение: RTFW … …   Википедия

  • RTFM (компьютерный сленг) — У этого термина существуют и другие значения, см. RTFM. RTFM  аббревиатура, означающая Read The Fucking Manual (Читай долбаное руководство). Исходный вариант расшифровки Read The Following Materials (Читай сопроводительную документацию) или… …   Википедия

  • ИСХАЖИВАТЬ — ИСХАЖИВАТЬ, исходить весь город, поле, ходить повсюду, перебывать пеши во всех местах, о которых речь идет. Нечто я мало исходил сегодня? Иной исхаживает и поболе. Много ль ими исхаживается? много ль они исхаживают. Он человек бывалый, все изошел …   Толковый словарь Даля

  • REXX — или Rexx (REstructured eXtended eXecutor, произносится «рекс»)  интерпретируемый язык программирования, разработанный фирмой IBM. Существуют как коммерческие, так и свободно распространяемые реализации данного языка. Пик своего… …   Википедия

  • Brainfuck — Класс языка: эзотерический Появился в: 1993 Автор(ы): Урбан Мюллер Диалекты: BrainSub, Brainfork, Brainloller, COW, Ook, Pbrain, Smallfuck, Spoon, LOLCODE, Whitespace,DoubleFuck, Feckfeck Испытал влияние …   Википедия

  • подборка исходных кодов классических игр / Habr

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

    Исторически так сложилось, что видеоигры не делятся исходниками. Конечно, они ведь предназначены для игроков. Но для программистов там всегда есть, на что посмотреть. И некоторые игры всё-таки выпускали свои исходники. А я давно намеревался сделать такую подборку.

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

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

    Многие игры были рассмотрены на сайте Fabien Sanglard. Если вам интересны подробности их работы, то пожалуйте к нему.

    Можно заметить, что многие игры принадлежат id Software/Apogee. Совпадение? Не думаю. id славится открытостью и привычкой выпускать исходники. Старые коммерческие игры уже не имеют ценности и были бы потеряны – не лучше ли, чтобы кто-то учился чему-то полезному на их основе?

    Итак, приступим (в хронологическом порядке):

    Colossal Cave Adventure (1976)

    Разработчик: William Crowther and Don Woods
    Издатель: Разные.
    Платформа: PDP-10 и друзья.

    “You are in a maze of twisty little passages, all alike.” («Вы находитесь в лабиринте из неотличимых друг от друга небольших извилистых проходов»).

    Возможно, это не на 100% коммерческая игра. Но её продавали, кроме того, она имеет историческую важность. И, кстати, именно по мотивам названия этой игры все приключенческие игры называются adventure.

    Оригинал был написан на Fortran, в котором современным программистам будет сложновато разобраться. Но последние версии были на C.

    Исходники: rickadams.org/adventure

    Catacomb (1989)

    Разработчик: John Carmack
    Издатель: Softdisk
    Платформа: Apple II / DOS

    Не путайте с Catacomb 3D. Это ранняя двумерная версия игры. Разработана Кармаком до создания id и полностью написана на Turbo Pascal.

    Исходники (DOS): github.com/FlatRockSoft/Catacomb

    Prince Of Persia (1989)

    Разработчик: Jordan Mechner
    Издатель: Brøderbund
    Платформа: Apple II / DOS / many more
    Обзор кода: fabiensanglard.net

    Prince Of Persia произвёл фурор благодаря плавной анимации, голливудскому стилю подачи истории и интересному геймплею.

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

    Исходник (Apple II): github.com/jmechner/Prince-of-Persia-Apple-II

    SimCity (1989)

    Разработчик: Maxis
    Издатель: Maxis / Brøderbund
    Платформа: All

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

    Исходники (Unix version): weblogs.asp.net/bsimser/simcity-source-code-released-to-the-wild-let-the-ports-begin

    Hovertank 3D / Catacomb 3D (1991)

    Разработчик: id Software
    Издатель: Softdisk
    Платформа: DOS

    Первая веха в истории трёхмерных шутеров id Software. Эти игры используют технику raycasting, которая была улучшена в следующем хите, Wolfenstein, где были добавлены текстуры.

    Исходники:
    github.com/FlatRockSoft/Catacomb3D
    github.com/FlatRockSoft/Hovertank3D

    Star Control II (1992)

    Разработчик: Toys for Bob
    Издатель: Accolade
    Платформа: DOS / 3D0

    Уникальная игра, не вписывающаяся ни в один из строгих жанров. Внешний вид чётко напоминает нам о 90-х годах и системе VGA, где цвета были подобраны не для красоты, а из стандартной палитры DPaint.

    Рекомендую почитать обзор кода от The Escapist.

    Исходник получен с порта на 3D0, оригинальный же был утерян. Это часто случается со старыми играми, когда разработчики уходят из компании.

    Исходники (3D0): sourceforge.net/projects/sc2/files/UQM/0.1

    Wolfenstein 3D / Blake Stone (1992/3)

    Разработчик: id Software
    Издатель: Apogee Software
    Платформа: DOS

    На основе предыдущего движка Catacomb был сделан серьёзный апгрейд на VGA-графику. И играть стало интереснее. Как в большинстве случаев с компанией id, исходники сравнительно легко читать, хотя ключевые части написаны на 16-битном ассемблере (в Doom уже такого не встретишь).

    Интересно отметить, что для рисования вертикальных линий они динамически генерируют разные функции для каждой из возможных высот стен.

    У Fabien можно найти инструкцию по компиляции исходников на современных инструментах.

    Blake Stone, ответвление от Apogee на том же движке, вышло в 1993 году, за неделю до Doom. Можно представить, почему оно кануло в лету.

    Исходники: github.com/id-Software/wolf3d
    Исходники: www.apogeesoftware.com/uncategorized/apogee-releases-blake-stone-source-code

    Doom (1993)

    Разработчик: id Software
    Издатель: GT Interactive
    Платформа: DOS
    Code review: fabiensanglard.net

    В каком-то смысле это самый важный для изучения движок. В своё время это была революция – мир от первого лица, не плоский, как Wolf3D. Освещение, текстуры и изобретение DeathMatch.

    Одной из самых знаковых вещей стало изобретение идеи «движка». До этого игры были сильно связаны с данными. Doom пропагандировал отвязку данных игры от движка. Это породило целые сообщества, модифицировавшие игры (Aliens TC, Fistful Of Doom).

    Исходники: github.com/id-Software/DOOM

    Descent (1994)

    Разработчик: Parallax Software
    Издатель: Interplay Productions
    Платформа: DOS

    Многие компании кинулись догонять Doom, запустив волну «Клонов Doom». Parallax удалось сделать нечто совсем другое.

    В игре можно было летать на корабле по трёхмерному лабиринту из проходов, в отличие от 2.5D коридоров Doom (у id полная трёхмерность появилась лишь в Quake год спустя).

    Исходники: www.codersnotes.com/files/gamesrc/d1srcpc.zip

    Gravity Force 2 (1994)

    Разработчик: Jens Andersson and Jan Kronqvist
    Издатель: Shareware
    Платформа: Amiga

    Многие современники вспомнят эту игру. Amiga Power однажды назвала её второй лучшей игрой всех времён.

    Это не совсем коммерческая игра, она была выпущена по принципу платного shareware, а затем её раздавали бесплатно на диске Amiga Power. Включил её в список потому, что в ту пору вообще редкие игры выдавали свои исходники. Если вам интересно, как делались 16-битные игры, обратите внимание.

    Также не пропустите интервью с авторами игры.

    Исходники: www.lysator.liu.se/~jensa/gf2

    Heretic / Hexen (1994/5)

    Разработчик: Raven Software
    Издатель: id Software / GT Interactive
    Платформа: DOS

    Это был уникальный клон Doom по двум причинам: 1) лицензированный движок Doom и 2) хороший геймплей

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

    Исходники: sourceforge.net/projects/heretic

    Rise Of The Triad: Dark War (1995)

    Разработчик: Apogee Software
    Издатель: Apogee Software / FormGen
    Платформа: DOS

    ROTT это была странная игра. Она была порождена движком Wolfenstein 3D, при этом создатели умудрились эмулировать ощущения разных высот. Но всё равно игра не смогла конкурировать с Doom от 1993 года.

    Исходники: www.codersnotes.com/files/gamesrc/rottsource.zip

    Marathon 2: Durandal (1995)

    Разработчик: Bungie Software
    Издатель: Bungie Software
    Платформа: Apple Macintosh / Windows 95

    Серия отличилась тем, что в своё время попала в крайне маленький список игр, доступных на Apple Macintosh. И, в общем-то, это клон Doom. А через 3 месяца после её выхода id Software выпустила знаменитый “qtest”, позволявший взглянуть на движок Quake.

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

    Исходники: www.codersnotes.com/files/gamesrc/marathon2_src.tar.gz

    Duke Nukem 3D / Shadow Warrior (1996)

    Разработчик: 3D Realms
    Издатель: GT Interactive Software
    Платформа: DOS
    Code review: fabiensanglard.net

    Из множества клонов, игры 3D Realms отличились хорошими попытками привнести нечто новое в игру. Движок Кена Сильвермана Build Engine добавил много интересных фич вроде наклонных полов, комнат, расположенных друг над другом и зеркал.

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

    За дополнительной информацией обращайтесь на страницу автора.

    Duke Nukem 3D / Исходники: www.codersnotes.com/files/gamesrc/duke3dsource.zip
    Shadow Warrior / Исходники: www.codersnotes.com/files/gamesrc/Shadow_Warrior_1.2_Source_Code.zip
    Build engine / Исходники: advsys.net/ken/buildsrc/default.htm

    Quake 1/2/3 (1996-1999)

    Разработчик: id Software
    Издатель: GT Interactive / Activision
    Платформа: DOS / Windows / others
    Code review: fabiensanglard.net (Quake 1)
    Code review: fabiensanglard.net (Quake 3)

    Тут писать особо нечего, вы и сами всё знаете. Знатная веха в создании полностью трёхмерных движков, без всяких хаков вроде 2.5D

    Упомяну несколько интересных подробностей. Возможно, это первая коммерческая игра, скомпилированная компилятором с открытым исходным кодом (DJGPP for DOS, ранний порт gcc).

    В игре был свой скриптовой язык “Quake C” (позже lcc у Quake 3). Он был встроен специально для того, чтобы игроки могли делать модификации. Это, вкупе с системой ресурсов PWAD, породило огромное сообщество моддеров.

    В Quake 1 был инновационный механизм кэширования результатов шейдинга. Но после распространения 3D-ускорителей это потеряло смысл. Следующая игра от id, Rage, использовала эту же идею.

    Кроме того, Quake был очень надёжным движком. Никаких глюков растра или обсчёта столкновений.

    Quake / Исходники: github.com/id-Software/Quake
    Quake 2 / Исходники: github.com/id-Software/Quake-2
    Quake 3 / Исходники: github.com/id-Software/Quake-III-Arena

    Abuse (1996)

    Разработчик: Crack dot Com
    Издатель: Electronic Arts / Origin Systems
    Платформа: DOS / Linux / Mac

    Обожаю Abuse.

    В игре было использовано несколько инноваций. Крутая система управления одновременно с мыши и клавиатуры. Динамическое освещение (неслыханная вещь для платформеров).

    Но больше всего, как программисту, мне понравилась система «визуального Lisp». Вся игра заскриптована на языке, напоминающем Lisp. Поведение врагов можно изменять во время выполнения игры, а не просто включать в код.

    Ещё одним интересным моментом стал способ, по которому события можно подключать во встроенном редакторе карт – визуально перетаскивать линии от выключателя к двери, или от ловушки к месту, где появляются враги. Присутствует возможность задавать логику И/ИЛИ в виде скрытых объектов на уровне. Такого я в других редакторах не встречал.

    Коммерческого успеха игра не снискала и через два года исходники были опубликованы. Следующая игра от Crack Dot Com, Golgotha, была выпущена по принципу open-source, включая всю графику.

    Abuse / Исходники: www.codersnotes.com/files/gamesrc/abuse_pd.tgz
    Golgotha / Исходники: abuse.zoy.org/wiki/download

    Aliens versus Predator (1999)

    Разработчик: Rebellion
    Издатель: Fox Interactive / Electronic Arts / Sierra On-Line
    Платформа: Windows / Mac

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

    Исходники: www.codersnotes.com/files/gamesrc/avptools.zip

    Freespace 2 (1999)

    Разработчик: Volition, Inc.
    Издатель: Interplay Entertainment
    Платформа: Windows

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

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

    Исходники: www.codersnotes.com/files/gamesrc/fs2source.zip

    The Operative: No One Lives Forever (2000)

    Разработчик: Monolith Productions
    Издатель: Fox Interactive / Sierra Entertainment / MacPlay
    Платформа: Windows / Mac / PlayStation 2

    У движка LithTech история долгая, хотя он и находится в тени более известных Quake и Unreal engine. Я особенно не рылся в исходника NOLF, но я подозреваю, что там есть лишь исходники самой игры, но не графического движка. И однозначно там не будет частей, связанных с работой на PlayStation 2.

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

    Исходники: www.codersnotes.com/files/gamesrc/NOLFSource003.zip

    MechCommander 2 (2001)

    Разработчик: FASA Interactive
    Издатель: Microsoft
    Платформа: Windows

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

    В прошлом году даже были выпущены исходники ранних версий MS-DOS и Word, что было неслыханным делом лет 30 назад.

    Исходники: www.microsoft.com/downloads/details.aspx?FamilyID=6d790cde-c3e5-46be-b3a5-729581269a9c&DisplayLang=en

    Doom 3 (2004)

    Разработчик: id Software
    Издатель: Activision
    Платформа: Windows / Mac / Linux / Xbox / PS3
    Code review: fabiensanglard.net

    Если вы хотите изучить движки современных игр высшего класса, то Doom 3 – это один из наилучших примеров. На время выхода он был инновационным во многих областях. Метод использования моделей высокого разрешения на элементах низкого разрешения в игре сейчас является стандартом для коммерческих игр. В исходнике есть много всего интересного – одна лишь система обработки физики достойна изучения, в частности, отслеживание столкновений.

    Это первая игра от id, написанная на С++. Прошлые игры из-за использования С несли в себе простоту. Doom 3 тоже довольно простой, но заметно уже изменение его вектора движения.

    Также игра (печально) известна использованием трафаретных теней при расчёте освещения. Можно спорить, был это интересный эксперимент или поле для дальнейшей работы, но сегодняшние игры предпочитают использовать карты теней. Возможно, эта техника когда-нибудь ещё пригодится.

    Отличный обзор кода от Fabien Anglard стоит прочтения.

    Исходники: github.com/id-Software/DOOM-3
    BFG edition Исходники: github.com/id-Software/DOOM-3-BFG

    Gish (2004)

    Разработчик: Cryptic Sea
    Издатель: Chronic Logic / Stardock
    Платформа: Windows / Linux

    Gish был примечателен физикой «мягкого тела» и интересным подходом ко времени. Интересно разбираться в его исходниках и выяснять, как что работает. Никаких сторонних физических движков тут нет.

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

    Исходники: www.crypticsea.com/download/gishsource153.zip

    Canabalt (2009)

    Разработчик: Adam Saltsman
    Издатель: Semi-Secret / Beatshapers / Kittehface
    Платформа: Flash / iOS / PSP / Android / Ouya

    Не самая сложная игра, ну и что? Если вы хотите научиться делать игры, начинайте с простого – вот с этого.

    Прототипирование заняло 5 дней, портирование на iOS – 10. Пример превращения простой идеи в достойное выражение. Это как бы возвращение 8-битной эпохи, когда еженедельно могли появляться новые жанры. Жаль, что с тех пор люди предпочитают клонировать идеи, а не творить самостоятельно.

    Canabalt показывает, насколько вещи можно сделать просто, если захотеть.

    Исходники: github.com/ericjohnson/canabalt-ios
    Комментарии: blog.semisecretsoftware.com

    Что я упустил

    Нужно упомянуть ещё несколько игр. Они не выпускали исходников, но подверглись фанатскому обратному инжинирингу. Это, конечно, не то же самое, что настоящие исходники, но тоже может быть интересным:

    Another World – fabiensanglard.net/anotherWorld_code_review (и прекрасное интервью на тему создания игры)
    Heart of the Alien – hota.sourceforge.net (сиквел предыдущей)
    Strike Commander – fabiensanglard.net/reverse_engineering_strike_commander/index.php
    Little Big Adventure – code.google.com/p/twin-e

    Не попали в рейтинг

    Сорцы следующих игр утекли в сеть нелегально, поэтому они не попали в зал славы:

    Half Life 2
    Falcon 4.0
    ReVolt
    Turrican III
    Mr. Nutz: Hoppin’ Mad
    Trespasser (ладно уж, вот вам обзор кода)

    Что такое Исходники для фотошопа и для чего они нужны? В гугле не нашла. :(

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

    гыгы.. для фотошопа и нужны:)).. файлы типа PSD со слоями открытыми и так далее..

    Исходник - это, собственно, сама фотография. Всё остальное (рамки в PNG или PSD, созданные кем-то коллажи в PSD, кисти, инструменты) - средства для улучшения или испоганивания исходника. Хотя.. . Именно PSD-коллаж, например, для первого класса тоже можно назвать исходником, в который мы будем вставлять фотки детишек.

    Может вам нужны ШАБЛОНЫ или КЛИПАРТ

    Исходники и примеры

    Исходники и примеры

    Продолжение первой страницы Исходников

    1. Загрузить "Клон Internet Explorer’a"

    1. Загрузить "Сканер файлов на вирусы"

    1. Загрузить "Рисунок цапли"

    1. Загрузить "Часы по стрелками"

    1. Загрузить "Горящий текст"

    1. Загрузить "Смена иконки у программы"

    1. Загрузить "Решение математических выражений"

    1. Загрузить "Программа для получения точки с экрана"

    1. Загрузить "Сетевые подключения"

    1. Загрузить "Овальная форма"

    1. Загрузить "Извлечение кадров из видео"

    1. Загрузить "Тень для формы"

    1. Загрузить "Любые курсоры для формы"

    1. Загрузить "Регулирование громкости компьютера"

    1. Загрузить "Сообщения, как в чатах"

    1. Загрузить "Копирование файла с отображением процесса"

    1. Загрузить "Сердечко"
    2. Загрузить "Музыка цифр"

    1. Загрузить "Генерация рисунков"

    1. Загрузить "Игра - Найди буквы"

    1. Загрузить "Игра PacMan"

    1. Загрузить "Игра - Лабиринт"

    1. Загрузить "Текст с тенью"

    1. Загрузить "Курсы валют"

    1. Загрузить "Пакман против динозавров"

    1. Загрузить "Плавно выезжающая панель"

    1. Загрузить "Онлайн радио 2.0"

    1. Загрузить "Пример - Онлайн радио"

    1. Загрузить "Первая версия плеера"

    1. Загрузить "Информация о MP3-файле"

    1. Загрузить "Смена фона рабочего стола"

    1. Загрузить "Вторая версия Плеера"

    1. Загрузить "Для создателей игр"

    1. Загрузить "Редактор плейлиста"

    1. Загрузить "Красивые панельки"

    1. Загрузить "Растягивание формы за край"

    1. Загрузить "Скриншот активного окна"

    1. Загрузить "Скрыть курсор"

    1. Загрузить "Запрет отпускания элемента"

    1. Загрузить "Вычисление дискриминанта и его корней"

    41. Загрузить "Таблица умножения"

     

    Первая страница - «Исходники.NET»

    Исходники по C#

    Исходники / CodeNet

    Отстортировано:

    по порядку добавления

    1. Купальники и пляжная одежда FASHION4YOU 1.5 Kb новый

      Fashion4you.ua- интернет-магазин стильной пляжной одежды и купальников.
      В нашем виртуальном каталоге Вы найдете пляжную одежду, купальники и пляжные аксессуары от европейских и украинских производителей.
      Цены в Fashion4you.ua очень привлекательные, поскольку мы работаем на прямую с производителями, или с официальными представителями.
      В нашем ассортименте более 5000 наименований одежды, купальников и аксессуаров. У нас есть все: от одежды и белья, до сумок и шляпок. Наши менеджеры внимательно следят за модными тенденциями, поэтому Вы всегда найдете последние трендовые модели. Вам не нужно посещать несколько магазинов, все что надо вы найдете у нас.
      Устраивайтесь поудобнее и создавайте свой неповторимый образ с FASHION4YOU!

      Прислал: Fashion4you | Java | Windows 9x/ME
    2. Amarea магазин купальников и пляжной одежды 77.1 Kb

      Интернет-магазин Amarea более 15 лет занимается продажей современной качественной пляжной одежды и купальников для всей семьи. У нас вы найдете большой выбор женских купальников любых размеров, а также одежду для пляжа и большое количество сопутствующих пляжных аксессуаров от европейских брендов Amarea, David, Magistral, Jolidon и тд. Так же огромный выбор мужских плавательных шорт и плавок David 52, Navigare, UomoMare и стильная пляжная одежда для девочек и мальчиков.

      Прислал: GURU-Fashion | JavaScript | Linux
    3. HideAll 483

      Компилятор - Turbo Assember (TASM) или Watcom Assembler (WASM, не Wolfware; не проверял).
      "Выключает" экран.
      Появилась в оригинальном коде, заменял функция вывода через 10h на 21h, а это прерывание забыл.
      Убирается "cls"-ом, Ctrl+Alt+Delete'ом, Reset'ом, вообщем чтобы заново установить видеорежим.
      Freeware/Бесплатно. Вы можете давать этот исходник кому угодно, и делать с ним что угодно.

      Прислал: | Assembler | DOS
    4. Гонка-2D 377.9 Kb

      2D-игра Гонка на выживание, на WinAPI, среда Code::Blocks 17.12, wx2.8.12(unicode) 32-бит, версия C++14.

      Прислал: xAtom | Visual C++ | Windows NT/2000/XP/Vista/7
    5. Змейка 2.9 Kb

      простая змейка в консоли C++, управление стрелочками на клавиатуре: вверх, вниз, вправо, влево.

      Прислал: Fake_ | C/C++ | Windows NT/2000/XP/Vista/7
    6. Простой Сокобан на СИ 4.6 Kb

      Полноценный сокобан. Реализовано 6 уровней(Можно больше... дорисовать их самому и закинуть в папку map). Моя первая программа. Интересно мнение.

      Прислал: wfate | C/C++ | Windows NT/2000/XP/Vista/7
    7. Робокрокодил 118.0 Kb

      2D-игра написана на JavaScript ES6 HTML5, 17-уровней.

      Прислал: xAtom | JavaScript | Любая ОС
    8. класс-строка и парсер 26.5 Kb

      Класс-строка, поиск подстроки кмп и рк, парсер...
      C++14 CodeBlocks 17.12.

      Прислал: xAtom | Visual C++ | Windows NT/2000/XP/Vista/7
    9. Змейка(WinAPI) 255.8 Kb

      Игра 2D, написана на WinAPI, в среде CodeBlocks 17.12(unicode) на C++14.


    Смотрите также