URL: https://www.opennet.me/cgi-bin/openforum/vsluhboard.cgi
Форум: vsluhforumID3
Нить номер: 101866
[ Назад ]

Исходное сообщение
"Космическое агентство NASA открыло код платформы для создани..."

Отправлено opennews , 29-Мрт-15 10:12 
Космическое агентство NASA объявило (http://www.nasa.gov/press/goddard/2015/march/nasa-goddard-re... об открытии исходных текстов платформы cFS (http://cfs.gsfc.nasa.gov) (core Flight System), используемой в качестве основы для  создания полётного ПО, которым комплектуются системы обработки данных на спутниках и  приборы, применяемые на космических аппаратах. Несмотря на то, что cFS изначально разработан для полётных компьютеров, практически он может применяться и для другой встраиваемой техники.

В настоящее время cFS используется в запущенной в прошлом году миссии GPM (http://en.wikipedia.org/wiki/Global_Precipitation_Measurement), нацеленной на организацию непрерывного мониторинга выпадения осадков по всему земному шару, и в миссии LADEE (https://ru.wikipedia.org/wiki/Lunar_Atmosphere_and_Dust_Envi... развиваемой НАСА в исследовательском центре Эймса для изучения атмосферы Луны и анализа пылевого окружения её орбиты. Платформа также используется и в других исследовательских центрах, включая Центр космических полётов имени Джорджа Маршалла,  Исследовательский центр Гленна и Космический центр имени Линдона Джонсона.

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

Код написан на языке Си и распространяется под лицензией NASA Open Source Agreement (http://en.wikipedia.org/wiki/NASA_Open_Source_Agreement), признанной OSI, но не одобренной Фондом СПО из-за требования применения при модификации только собственных наработок, что мешает смешиванию кода из разных источников. cFS имеет модульную структуру и насчитывает 12 компонентов, каждый из которых размещён в виде отдельного проекта на  SourceForge.net. Каждый компонент реализует определённый тип приложений обработки команд и данных (Command and Data Handling, C&DH) для космических аппаратов. В сочетании друг с другом компоненты формируют библиотеку типовых функций C&DH и независимое от программных платформ runtime-окружение для выполнения приложений. Для абстрагирования  cFS от нижележащей операционной системы применяется специальный уровень абстракции OSAL (Operating System Abstraction Library).

Состав набора:


- Checksum Application (GSC-15996-1) (http://sourceforge.net/projects/cfs-cs)

    - File Manager (FM) Application (GSC-16007-1) (http://sourceforge.net/projects/cfs-fm)

    - Stored Command (SC) Application (GSC-16009-1) (http://sourceforge.net/projects/cfs-sc)

    - Limit Checker (LC) Application (GSC-16010-1) (http://sourceforge.net/projects/cfs-lc)

    - Memory Manager Application (GSC-16011-1) (http://sourceforge.net/projects/cfs-mm)

    - Memory Dwell Application (GSC-16012-1) (http://sourceforge.net/projects/cfs-md)

    - Scheduler Application  (GSC-16123-1) (http://sourceforge.net/projects/cfs-sch)

    - CFDP (GSC-16125-1) (http://sourceforge.net/projects/cfs-cfdp)

    - Data Storage (DS) Application (GSC-16126-1) (http://sourceforge.net/projects/cfs-ds)

    - Housekeeping (HK) Application (GSC-16127-1) (http://sourceforge.net/projects/cfs-hk)

    - Health and Safety Application, (GSC-16151-1) (http://sourceforge.net/projects/cfs-hs)

    - Software Bus Network (SBN) Application (GSC-16917-1) (http://sourceforge.net/projects/cfs-sbn)


URL: http://www.nasa.gov/press/goddard/2015/march/nasa-goddard-re.../
Новость: http://www.opennet.me/opennews/art.shtml?num=41924


Содержание

Сообщения в этом обсуждении
"Космическое агентство NASA открыло код платформы для создани..."
Отправлено Аноним , 29-Мрт-15 10:12 
К хорошему быстро привыкаешь, размещение кода на SourceForge уже ощущается как прошлый век. На какую совместную работу они рассчитывают,  опубликовав zip-архивы с кодом в никак логически не связанных проектах на SourceForge? Не могли всё в одном месте собрать и закинуть на GitHub.

"Космическое агентство NASA открыло код платформы для создани..."
Отправлено YetAnotherOnanym , 29-Мрт-15 11:00 
Перечитайте абзац про лицензию. Скачал к себе и сам допиливаешь. О какой "совместной работе" Вы говорите?

"Космическое агентство NASA открыло код платформы для создани..."
Отправлено iZEN , 29-Мрт-15 12:19 
> Код написан на языке Си

Это провал.


"Космическое агентство NASA открыло код платформы для создани..."
Отправлено Аноним , 29-Мрт-15 13:28 
Это реальность, дурачок.

"Космическое агентство NASA открыло код платформы для создани..."
Отправлено Аноним , 29-Мрт-15 15:38 
Возможно, изену намного более симпатично если какая-нибудь ява соберет мусор именно в тот момент, когда пора выполнять орбитальный маневр. Что, скорость хренадцать километров в секунду и тупняк на полсекунды посылает КА к черту на куличики? Подумаешь фигня, зато безопасТные технологии в действии.

"Космическое агентство NASA открыло код платформы для создани..."
Отправлено Аноним , 29-Мрт-15 16:53 
Предыдущему оратору стоило бы открыть для себя реалтаймовые java-машины, но в целом стоит согласиться - яве в данной нише не место.

"Космическое агентство NASA открыло код платформы для создани..."
Отправлено Аноним , 30-Мрт-15 10:25 
> Предыдущему оратору стоило бы открыть для себя реалтаймовые java-машины,

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


"Космическое агентство NASA открыло код платформы для создани..."
Отправлено pavlinux , 30-Мрт-15 16:03 
> Предыдущему оратору стоило бы открыть для себя реалтаймовые java-машины,
> но в целом стоит согласиться - яве в данной нише не место.

Вот влом искать, но жава на Марсе работает. Если не для срача - найдете. #java #ibm #mars #nasa


"Космическое агентство NASA открыло код платформы для создани..."
Отправлено iZEN , 30-Мрт-15 20:53 
>> Предыдущему оратору стоило бы открыть для себя реалтаймовые java-машины,
>> но в целом стоит согласиться - яве в данной нише не место.
> Вот влом искать, но жава на Марсе работает. Если не для срача
> - найдете. #java #ibm #mars #nasa

Только причём здесь Java? Я её даже вскользь не упомянул.



"Космическое агентство NASA открыло код платформы для создани..."
Отправлено VoDA , 29-Мрт-15 20:27 
> Возможно, изену намного более симпатично если какая-нибудь ява соберет мусор

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

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

PS да и Linux не реалтайм-ОС, так что для реального времени нужно весь стек технологий тянуть - от железа и ОС до программ. И даже СУБД нужно подгонять под реалтийм... или не применять СУБД, что, наверное, правильно. ИМХО.



"Космическое агентство NASA открыло код платформы для создани..."
Отправлено Аноним , 30-Мрт-15 10:23 
> в реалтайме вообще работать с памятью нельзя - только то, что заранее
> выделено и подготовлено. но реалтайм это именно управление двигателем, а не расчет маневра.

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

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

Вот только там еще вес - на вес золота. И с электропитанием чаще всего большой напряг - источников энергии в космосе мало и цены на генерацию электричества в космосе - тоже вполне космические. А еще всякие заморочки с radiation hardening. Это означает относительно примитивный процессор, который к тому же не имеет права много кушать и в целом система не может много весить. Поэтому в сумме решить проблему доустановкой пары серверов, как это любят жабисты, будет стоить дороже чем отлить сервер из золота в натуральную величину. И нет, отгрузить все задачи на ЦУП не получится. А что если линк невовремя отвалится?

> PS да и Linux не реалтайм-ОС, так что для реального времени нужно
> весь стек технологий тянуть - от железа и ОС до программ.

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

> И даже СУБД нужно подгонять под реалтийм... или не применять СУБД,
> что, наверное, правильно. ИМХО.

А про это помнится неплохо писали яндекс + перцы из московского метро. Там они рассказали что и как они делали.


"Космическое агентство NASA открыло код платформы для создани..."
Отправлено клоун , 30-Мрт-15 12:00 
Чувак вёл речь про жёсткое реальное время, в котором непрогнозируемые задержки недопустимы. Вы, судя по всему, ведёте речь о мягком реальном времени, в котором задержки не должны превышать некоторой заранее определённой (и достаточно большой по машинным меркам) величины.

Пример 1: вычисление размера ASCII-Z строки. В жёстком реальном времени эта операция ЗАПРЕЩЕНА, т.к. размер строки может сильно варьироваться, а значит затраты времени на поиск непрогнозируемы, что недопустимо. В мягком реальном времени эта операция разрешена и выполняется.

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

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

По сути, жёсткое реальное время - это очень специфическая штука не особо нужная большинству.


"Космическое агентство NASA открыло код платформы для создани..."
Отправлено YetAnotherOnanym , 30-Мрт-15 12:21 
> PS да и Linux не реалтайм-ОС, так что для реального времени нужно весь стек технологий тянуть - от железа и ОС до программ.

В release notes для OSAL заявлена поддержка VxWorks и RTEMS на разных платформах (x86, arm, ppc), так что железо и ОС уже есть.


"Космическое агентство NASA открыло код платформы для создани..."
Отправлено iZEN , 29-Мрт-15 19:20 
> Это реальность, дурачок.

Конечно, реальность, придурок! Я что, спорю?



"Космическое агентство NASA открыло код платформы для создани..."
Отправлено Адепт хохлосрача , 29-Мрт-15 13:29 
Слишком дофига народу не осилят классический Си?
Вообще, инициатива спорная.
Если раньше в отрасли код писался только специально обученными людьми, которые понимают, что каждый такт процессорного времени может быть последним, что подход "технологии ради технологий", может привести к излишнему потреблению памяти, процессорного времени, зависимости от целого ряда дополнительных факторов, на которые невозможно будет повлиять в случае, скажем, кратковременного засвета оборудования космическим излучением или аварийной заморозки.
Я уже прям вижу, как охреневают люди в голубых скафандрах, когда у них дотнетовские библиотеки решили, что им нужно бы перерегистрироваться, переустановить весь дотнет. Времени осталось до стыковки 90 секунд, а тут хер знает сколько ждать генерацию хер знает чего.
И ведь почитают исходники на Си, скажут "чем мы хуже с нашим %LANG%" и начнут приближать нас к светлому будущему.

"Космическое агентство NASA открыло код платформы для создани..."
Отправлено Аноним , 29-Мрт-15 14:23 
минус на ник

"Космическое агентство NASA открыло код платформы для создани..."
Отправлено Аноним , 29-Мрт-15 15:40 
> И ведь почитают исходники на Си, скажут "чем мы хуже с нашим
> %LANG%" и начнут приближать нас к светлому будущему.

Флаг им в руки. Когда спутник за эн миллионов улетит на нерасчетную орбиту и им отвинтят все что отвинчивается - тогда они может и осознают что каждой задаче свой инструмент. Вот си - неплох для задач где нужна хорошая предсказуемость.


"Космическое агентство NASA открыло код платформы для создани..."
Отправлено iZEN , 29-Мрт-15 19:24 
>> И ведь почитают исходники на Си, скажут "чем мы хуже с нашим
>> %LANG%" и начнут приближать нас к светлому будущему.
> Флаг им в руки. Когда спутник за эн миллионов улетит на нерасчетную
> орбиту и им отвинтят все что отвинчивается - тогда они может
> и осознают что каждой задаче свой инструмент. Вот си - неплох
> для задач где нужна хорошая предсказуемость.

О да, предсказуемо. Операции с типом данных String на Си сделан по алгоритму маляра Шлемиля: перебором всех байтов нужно найти завершающий нуль, только тогда будет известна длина строки и можно безопасно провести конкатенацию с другой такой же строкой. :))

Ошибка "Переполнение буфера" записана в ДНК языка Си.



"Космическое агентство NASA открыло код платформы для создани..."
Отправлено shadekhv , 30-Мрт-15 05:25 
Откройте уже для себя betterString чтоли.

http://bstring.sourceforge.net/


"Космическое агентство NASA открыло код платформы для создани..."
Отправлено еще 1 аноним , 30-Мрт-15 09:02 
что мешает вам использовать паскалевскую строку? То есть хранить размер строки, а не вычислять его каждый раз? Или это архи сложно и этому учат только в высших заведениях?

"Космическое агентство NASA открыло код платформы для создани..."
Отправлено Аноним , 30-Мрт-15 10:42 
> Ошибка "Переполнение буфера" записана в ДНК языка Си.

Это у тебя в ДНК ошибка. Почитай например набор правил MISRA C, тогда узнаешь как си можно изогнуть под ответственные применения. И да, если что - для проверки соответствия правилам бывают автоматические валидаторы, если ты вдруг не в курсе.


"Космическое агентство NASA открыло код платформы для создани..."
Отправлено Andrew Kolchoogin , 30-Мрт-15 10:51 
> Ошибка "Переполнение буфера" записана в ДНК языка Си.

У языка C нет типа данных «строка». У языка C есть тип данных «указатель».

Соответственно, реализация хранения нетипизированных массивов байтов может быть любой.


"Космическое агентство NASA открыло код платформы для создани..."
Отправлено Михрютка , 30-Мрт-15 14:22 
ну вот чо-та для строк она получилась такой, что каждый раз, как кто-то пишет #include <strings.h>, Бог убивает котеночка.

"Космическое агентство NASA открыло код платформы для создани..."
Отправлено Ytch , 30-Мрт-15 22:51 
Там есть вещи не только для работы со строками. Сюрприз?

"Космическое агентство NASA открыло код платформы для создани..."
Отправлено csdoc , 29-Мрт-15 19:33 
> Слишком дофига народу не осилят классический Си?

Да. Слишком много кто не обладает достаточным уровнем квалификации, чтобы писать переносимый, корректный и эффективный код на С.

http://habrahabr.ru/post/230777/
Ещё раз о неопределённом поведении или «почему не стоит забивать гвозди бензопилой»


"Космическое агентство NASA открыло код платформы для создани..."
Отправлено Омоним , 29-Мрт-15 20:17 
Значит, их коду нечего делать в космической отрасли.

"Космическое агентство NASA открыло код платформы для создани..."
Отправлено Аноним , 30-Мрт-15 10:44 
> Да. Слишком много кто не обладает достаточным уровнем квалификации, чтобы писать переносимый,
> корректный и эффективный код на С.

И это хорошо, ибо не хотелось бы чтобы жабисты, бидонисты, рубисты и прочие Go'пники писали бы софт для управления ракетами. Ракеты - не веб сервисы, падение ракеты намного дороже и опаснее, как бы.


"Космическое агентство NASA открыло код платформы для создани..."
Отправлено csdoc , 30-Мрт-15 13:44 
>> Слишком много кто не обладает достаточным уровнем квалификации,
>> чтобы писать переносимый, корректный и эффективный код на С.
> И это хорошо

что хорошего в том, что в мире существует много некомпетентных программистов?

> писали бы софт для управления ракетами

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

Debian OpenSSL Bug, Heartbleed Bug и т.п.


"Космическое агентство NASA открыло код платформы для создани..."
Отправлено Аноним , 29-Мрт-15 14:22 
А на чем предлагаете писать? А на чем раньше писали? Полагаю, библиотеки далеко не годичной давности.

"Космическое агентство NASA открыло код платформы для создани..."
Отправлено Аноним , 29-Мрт-15 17:14 
> А на чем раньше писали?

На фортране.


"Космическое агентство NASA открыло код платформы для создани..."
Отправлено iZEN , 29-Мрт-15 19:19 
> А на чем предлагаете писать? А на чем раньше писали? Полагаю, библиотеки
> далеко не годичной давности.

Ада.

"По утверждению Стефена Цейгера из Rational Software Corporation, разработка программного обеспечения на Аде в целом обходится на 60 % дешевле, а разработанная программа имеет в 9 раз меньше дефектов, чем при использовании языка Си." - Wiki.



"Космическое агентство NASA открыло код платформы для создани..."
Отправлено Аноним , 29-Мрт-15 22:39 
Отладка для них очень важна, критический параметр при выборе языка. Тем более, отладку производят на больших дистанциях. Как отлаживается ПО построенное на Аде?

"Космическое агентство NASA открыло код платформы для создани..."
Отправлено Аноним , 30-Мрт-15 10:35 
> Отладка для них очень важна, критический параметр при выборе языка. Тем более,
> отладку производят на больших дистанциях. Как отлаживается ПО построенное на Аде?

Ну как, запустили ариана. Опа - integer overflow! Опа - ракета упала. В следующей версии наверное очень резко починили: дебажная сессия то ценой в 370 миллионов зеленых президентов получилась.


"Космическое агентство NASA открыло код платформы для создани..."
Отправлено csdoc , 29-Мрт-15 22:42 
>> А на чем предлагаете писать? А на чем раньше писали? Полагаю, библиотеки
>> далеко не годичной давности.
> Ада.
> "По утверждению Стефена Цейгера из Rational Software Corporation, разработка программного
> обеспечения на Аде в целом обходится на 60 % дешевле, а
> разработанная программа имеет в 9 раз меньше дефектов, чем при использовании
> языка Си." - Wiki.

И вот к чему привело использование софта написанного на ADA в комической индустрии:

https://www.youtube.com/watch?v=gp_D8r-2hwk#t=45s

http://en.wikipedia.org/wiki/Cluster_%28spacecraft%29


"Космическое агентство NASA открыло код платформы для создани..."
Отправлено maximnik0 , 30-Мрт-15 00:19 
> И вот к чему привело использование софта написанного на ADA в комической
> индустрии:

skip
> http://en.wikipedia.org/wiki/Cluster_%28spacecraft%29

И что ? Кластер и на Буране применялся ,причем у всех 3 компьютеров были разные архитектуры и 2 языка программирования для надежности .Ада также разрабатывался для военных ,в нем было требование чтобы детские опечатки не изменяли логику работы (типа отсуствие скобок ,запятые и т.д ) - учитывали опыт опечатки ,аппарат из-за пропущенной запятой пошел не на Венеру . Второй язык по надежности который применяется в  НASA  - Tk/Tсl ,в этом языке тоже сложно сделать логические ошибки .  



"Космическое агентство NASA открыло код платформы для создани..."
Отправлено csdoc , 30-Мрт-15 01:02 
>> И вот к чему привело использование софта
>> написанного на ADA в космической индустрии:

https://www.youtube.com/watch?v=gp_D8r-2hwk#t=45s

>> http://en.wikipedia.org/wiki/Cluster_(spacecraft)
> И что?

Ракета взорвалась. Из-за ошибки в программе на "языке программирования ада".

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

С Бураном все нормально было. И насколько я понимаю, там не использовался
"язык программирования ада", а использовались языки ПРОЛ2, ДИПОЛЬ и ЛАКС.
И на их основе был создан потом язык https://ru.wikipedia.org/wiki/ДРАКОН

> Ада также разрабатывался для военных, в нем было требование чтобы детские опечатки
> не изменяли логику работы (типа отсуствие скобок ,запятые и т.д )
> - учитывали опыт опечатки, аппарат из-за пропущенной запятой пошел не на
> Венеру.

"Язык критиковали Чарльз Хоар и Никлаус Вирт, а также Эдсгер Дейкстра".

То, что Ada уменьшит проблемы программирования и увеличит надёжность наших разработок до приемлемых границ, — это лишь одна из тех сказок, в которые могут поверить только люди с военным образованием.
  — Научная фантастика и научная реальность в информатике (Edsger W. Dijkstra, EWD952)

Хоар выразил своё сожаление тем, что «погремушки и побрякушки возобладали над фундаментальными требованиями надёжности и безопасности» и предостерёг от «армады ракет, летящих не туда из-за не обнаруженной вовремя ошибки в компиляторе Ады». Никлаус Вирт высказался более сдержанно, но тоже негативно. Он сказал: «Слишком много всего вываливается на программиста. Я не думаю, что, изучив треть Ады, можно нормально работать. Если вы не освоите всех деталей языка, то в дальнейшем можете споткнуться на них, и это приведёт к неприятным последствиям».

- собственно, потом и произошло именно то, о чем предупреждали Хоар, Вирт и Дейкстра.


"Космическое агентство NASA открыло код платформы для создани..."
Отправлено Аноним , 30-Мрт-15 01:44 
> Ракета взорвалась. Из-за ошибки в программе на "языке программирования ада".

А вот в "The Method Framework for Engineering System Architectures" на стр. 7. аффтары пишут: "Nevertheless, its important to note that the Ariane 5 failure was not merely due to the software codings defects. The primary causes of failure were in the engineering of the architecture". Даже боюсь теперь верить Дональду Файерсмиту со товарищи. На опеннете его уже разоблачили настоящие эксперты.


"Космическое агентство NASA открыло код платформы для создани..."
Отправлено csdoc , 30-Мрт-15 02:05 
>> Ракета взорвалась. Из-за ошибки в программе на "языке программирования ада".
> А вот в "The Method Framework for Engineering System Architectures" на стр.
> 7. аффтары пишут: "Nevertheless, its important to note that the Ariane
> 5 failure was not merely due to the software codings defects.
> The primary causes of failure were in the engineering of the
> architecture".

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

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


"Космическое агентство NASA открыло код платформы для создани..."
Отправлено Аноним , 30-Мрт-15 02:14 
> это не важно. важно какие выводы сделала официальная следственная комиссия.

а они пришли к выводу что ракета взорвалась по причине ошибки в программе.

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


"Космическое агентство NASA открыло код платформы для создани..."
Отправлено maximnik0 , 30-Мрт-15 02:29 
>> это не важно. важно какие выводы сделала официальная следственная комиссия.
> а они пришли к выводу что ракета взорвалась по причине ошибки в
> программе.

Это же про Ариан-5 история да ? Всплыло гораздо позже (официально не признавалось ,проговорился один из подрядчиков ракеты )- что конструкторы не учли как называемый "Донный эффект " ,с чем столкнулись наши конструкторы еще на H-1 .Не учли что возникает гидроудар который может порвать стенки емкости .


"Космическое агентство NASA открыло код платформы для создани..."
Отправлено csdoc , 30-Мрт-15 02:49 
>>> это не важно. важно какие выводы сделала официальная следственная комиссия.
>>> а они пришли к выводу что ракета взорвалась по причине ошибки в программе.
> Это же про Ариан-5 история да ?

Да.

> Всплыло гораздо позже (официально не признавалось ,проговорился один из подрядчиков
> ракеты )- что конструкторы не учли как называемый "Донный эффект " ,с чем столкнулись
> наши конструкторы еще на H-1. Не учли что возникает гидроудар который может порвать
> стенки емкости .

Нет.

Если очень внимательно посмотреть на видео:

https://www.youtube.com/watch?v=gp_D8r-2hwk#t=45s

то можно заметить, что ракета сначала отклонилась от курса, а потом взорвалась.

что полностью согласуется с результатами расследования:

https://www.ima.umn.edu/~arnold/disasters/ariane5rep.html
ARIANE 5 Flight 501 Failure


"Космическое агентство NASA открыло код платформы для создани..."
Отправлено Аноним , 30-Мрт-15 03:07 
> Если очень внимательно посмотреть на видео:
> https://www.youtube.com/watch?v=gp_D8r-2hwk#t=45s
> то можно заметить, что ракета сначала отклонилась от курса, а потом взорвалась.
> что полностью согласуется с результатами расследования:
> https://www.ima.umn.edu/~arnold/disasters/ariane5rep.html
> ARIANE 5 Flight 501 Failure

Видео - самоуничтожение потерявшей управление ракеты. О причинах потери оно ничего не говорит


"Космическое агентство NASA открыло код платформы для создани..."
Отправлено csdoc , 30-Мрт-15 03:15 
>> Если очень внимательно посмотреть на видео:
>> https://www.youtube.com/watch?v=gp_D8r-2hwk#t=45s
>> то можно заметить, что ракета сначала отклонилась от курса, а потом взорвалась.
>> что полностью согласуется с результатами расследования:
>> https://www.ima.umn.edu/~arnold/disasters/ariane5rep.html
>> ARIANE 5 Flight 501 Failure
> Видео - самоуничтожение потерявшей управление ракеты.
> О причинах потери оно ничего не говорит

Видео опровергает версию о том, что причиной взрыва ракеты
был "донный эффект" и "гидроудар":

> Всплыло гораздо позже (официально не признавалось ,проговорился один из подрядчиков
> ракеты )- что конструкторы не учли как называемый "Донный эффект " ,с чем столкнулись
> наши конструкторы еще на H-1. Не учли что возникает гидроудар который может порвать
> стенки емкости .


"Космическое агентство NASA открыло код платформы для создани..."
Отправлено Аноним , 30-Мрт-15 12:07 
> Видео опровергает версию о том, что причиной взрыва ракеты
> был "донный эффект" и "гидроудар":

Видео ничего не опровергает и не доказывает кроме того, что ракета потеряла управление и была ликвидирована по команде с земли или собственной БЦВМ. Углядеть возникновение трещин в районе сопла по нему решительно невозможно



"Космическое агентство NASA открыло код платформы для создани..."
Отправлено csdoc , 30-Мрт-15 14:21 
>> Видео опровергает версию о том, что причиной взрыва ракеты
>> был "донный эффект" и "гидроудар":
> Видео ничего не опровергает и не доказывает кроме того, что ракета потеряла
> управление и была ликвидирована по команде с земли или собственной БЦВМ.
> Углядеть возникновение трещин в районе сопла по нему решительно невозможно

Видео опровергает версию о том, что ракета взорвалась по причине "гидроудара".


"Космическое агентство NASA открыло код платформы для создани..."
Отправлено Аноним , 30-Мрт-15 15:36 
> Видео опровергает версию о том, что ракета взорвалась по причине "гидроудара".

Мама, роди меня заново. Если Вы не можете прочитать что я написал, прочтите отчет. Пробую объяснить 3-й раз, последний, хотя очень сомневаюсь что дойдет. Конечно, ракета взорвалась не от гидроудара. Она САМОЛИКВИДИРОВАЛАСЬ. Еще раз: САМОЛИКВИДИРОВАЛАСЬ. Причиной команды на самоликвидацию была потеря управления. Отчего произошла потеря управления это видео никак не проясняет. Она могла произойти как от установки сопел твердотопливных ускорителей в крайнее положение по команде СУ, как говорит отчет, так и от гидроудара в районе сопел из-за формируемых донным эффектом завихрений воздуха в том месте. И в том и вдругом случае ракета будет выглядеть целехонькой до самого последнего момента и взорвется какбы сама по себе без видимых внешних причин.


"Космическое агентство NASA открыло код платформы для создани..."
Отправлено csdoc , 30-Мрт-15 15:58 
> Отчего произошла потеря управления это видео никак не проясняет.

Видео опровергает версию о том, что ракета взорвалась по причине "гидроудара".
Потому что сначала ракета потеряла ориентацию в полете, а только потом взорвалась.

> Она могла произойти как от установки сопел твердотопливных ускорителей
> в крайнее положение по команде СУ, как говорит отчет, так и от гидроудара
> в районе сопел из-за формируемых донным эффектом завихрений воздуха в том месте.
> И в том и вдругом случае ракета будет выглядеть целехонькой до самого последнего
> момента

https://ru.wikipedia.org/wiki/Гидравлический_удар

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

-----------------------------------------

для сравнения: https://www.youtube.com/watch?v=dH64pEOzBkc#t=1m18s
ракета летит не меняя свою траекторию и вдруг внезапно взрывается.

Причина:

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

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

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


"Космическое агентство NASA открыло код платформы для создани..."
Отправлено Аноним , 30-Мрт-15 10:29 
> Видео - самоуничтожение потерявшей управление ракеты. О причинах потери оно ничего не говорит

Зато говорят выводы комиссии. Которые озвучили. Виновата программа. Написанная на языке Ада.



"Космическое агентство NASA открыло код платформы для создани..."
Отправлено Аноним , 30-Мрт-15 12:16 
>> Видео - самоуничтожение потерявшей управление ракеты. О причинах потери оно ничего не говорит
> Зато говорят выводы комиссии. Которые озвучили. Виновата программа. Написанная на языке
> Ада.

Вот это называется "угадал все буквы, но не смог прочитать слово". В выводах коммиссии написано что проблема не в языке ада, а в отсутствии этапов анализа и тестирования инерциальной системы навигации в процессе разработки Arian 5. Да, да. Именно так!

"The extensive reviews and tests carried out during the Ariane 5 Development Programme did not include adequate analysis and testing of the inertial reference system or of the complete flight control system, which could have detected the potential failure."


"Космическое агентство NASA открыло код платформы для создани..."
Отправлено csdoc , 30-Мрт-15 14:39 
>> выводы комиссии. Которые озвучили. Виновата программа. Написанная на языке Ада.
> Вот это называется "угадал все буквы, но не смог прочитать слово".
> В выводах коммиссии написано что проблема не в языке ада,

Проблема не в языке программирования ада. Проблема в программе, написанной на этом языке:
"due to specification and design errors in the software of the inertial reference system"

Хотя, военным обещали, что "Ada уменьшит проблемы программирования и увеличит
надёжность разработок до приемлемых границ" - но это оказалось пустым обещанием.

> а в отсутствии этапов анализа и тестирования инерциальной системы навигации
> в процессе разработки Arian 5. Да, да. Именно так!

Нет.

> "The extensive reviews and tests carried out during the Ariane 5 Development
> Programme did not include adequate analysis and testing of the inertial
> reference system or of the complete flight control system, which could
> have detected the potential failure."

в этом ^^^ фрагменте написано, если если бы были сделаны тесты, то они могли бы
обнаружить эту potential failure. Но про причины катастрофы написано однозначно:

CAUSE OF THE FAILURE

The failure of the Ariane 501 was caused by the complete loss of guidance and attitude information 37 seconds after start of the main engine ignition sequence (30 seconds after lift- off). This loss of information was due to specification and design errors in the software of the inertial reference system.

software - это программа на языке программирования ада.


"Космическое агентство NASA открыло код платформы для создани..."
Отправлено Аноним , 30-Мрт-15 16:27 
> Проблема не в языке программирования ада. Проблема в программе, написанной на этом
> языке:

У Вас, батенька, подмена тезиса. Из более ранних утверждений следовало что виноват все-таки язык программирования Ада. Цитирую:

> И вот к чему привело использование софта написанного на ADA в комической индустрии:

Конечно, что никто не подумал что датчики на новой ракете будут выдавать данные в более широком диапазоне, нежели на старой - виновата ADA
Что ленивый программер не поставил локальный эксепшн-хендлер и переполнение стало обрабатываться глобальным и тем самым разрываться рабочая петля тоже виновата ADA. Это даже не обсуждается. На правильных языках такая ересь как исключения должна отсутствовать как класс.
Ну и что никто не удосужился испытать старый софт от Arian 4 в новой ракете, тоже виновата ADA.

А вообще, во всем виноват Чубайс и/или клятi москалi. Так-что даже тут Вы никак не можете быть правы т.к. противоречите аксиоматике реального мира.

За сим откланяюсь т.к. началась реальная демагогия.


"Космическое агентство NASA открыло код платформы для создани..."
Отправлено csdoc , 30-Мрт-15 17:32 
> Из более ранних утверждений следовало что виноват
> все-таки язык программирования Ада. Цитирую:
>> И вот к чему привело использование софта написанного на ADA в коcмической индустрии

Каким образом из "использование *софта* написанного на ADA" следует,
что в катастрофе ракеты "виноват все-таки язык программирования Ада"?

Разумеется, виноваты программисты, которые не написали,
не проверили, не протестировали, не предусмотрели и т.п.

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

И раз уж Ада - это такой суперклассный язык, который позволяет писать надежные
и защищенные программы - почему же на нем практически никто и ничего не пишет?


"Космическое агентство NASA открыло код платформы для создани..."
Отправлено csdoc , 30-Мрт-15 02:31 
>> это не важно. важно какие выводы сделала официальная следственная комиссия.
>> а они пришли к выводу что ракета взорвалась по причине ошибки в программе.
> Естественно эксперты опеннета после этого сразу пришли к выводу
> что проблема именно в языке ада.

проблема была в программе, написанной на языке программирования ада.

какие именно были/есть проблемы в языке, которые и привели
к ошибкам в программе - об этом сказали Хоар, Вирт и Дейкстра:

https://ru.wikipedia.org/wiki/Ада_(язык_программирования)#.D0.9A.D1.80.D0.B8.D1.82.D0.B8.D0.BA.D0.B0


"Космическое агентство NASA открыло код платформы для создани..."
Отправлено Аноним , 30-Мрт-15 02:58 
> проблема была в программе, написанной на языке программирования ада.
> какие именно были/есть проблемы в языке, которые и привели
> к ошибкам в программе - об этом сказали Хоар, Вирт и Дейкстра:

Мимо. Хоара и Вирта сразу вычеркиваем как людей заинтересованных. Критика Дейкстры, конечно, правомерна, но отношение к конкретной ошибке (переполнению) не имеет.



"Космическое агентство NASA открыло код платформы для создани..."
Отправлено csdoc , 30-Мрт-15 03:13 
>> проблема была в программе, написанной на языке программирования ада.
>> какие именно были/есть проблемы в языке, которые и привели
>> к ошибкам в программе - об этом сказали Хоар, Вирт и Дейкстра:
> Мимо. Хоара и Вирта сразу вычеркиваем как людей заинтересованных.

обвинять Хоара и Вирта в необъективности и предвзятости - это как-то уже слишком.

> Критика Дейкстры, конечно,
> правомерна, но отношение к конкретной ошибке (переполнению) не имеет.

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

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

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


"Космическое агентство NASA открыло код платформы для создани..."
Отправлено Andrew Kolchoogin , 30-Мрт-15 10:47 
> обвинять Хоара и Вирта в необъективности и предвзятости - это как-то уже слишком.

За сэра Энтони Хоара сказать ничего не имею.

За профессора Вирта — имею. Профессор Вирт сам участвовал в подготовке языка для подобных критичных разработок — и даже подготовил. Это язык Модула.

Сам Вирт писал, что (цитирую по памяти) «компиляторы Ады занимают миллионы строк текста, в то время как компилятор Модулы занимает всего двести тыс., и я не понимаю, как можно создать компилятор Ады, свободный от ошибок».

Так что профессор Вирт — лицо таки заинтересованное. Впрочем, наработки Вирта в лету не канули — упрощением Модулы получился Паскаль, усложнением — Лилит. Опять-таки, сам Вирт про это писал.


"Космическое агентство NASA открыло код платформы для создани..."
Отправлено Аноним , 30-Мрт-15 11:50 
> За сэра Энтони Хоара сказать ничего не имею.

А чего за него говорить, если он вместе с Виртом в одной команде принимал участие в тендере на разработку этой самой Ады и проиграл еще на этапе предварительного отбора. Странно, что там еще их 3-й собутыльник - Дейкстра не засветился. Это дает возможность хоть и с натяжкой, но считать его (Дейкстру) непредвзятым.


"Космическое агентство NASA открыло код платформы для создани..."
Отправлено csdoc , 30-Мрт-15 14:06 
> Так что профессор Вирт — лицо таки заинтересованное.

Да, он создал язык и участвовал в конкурсе.
Но каким образом из этого следует что его оценки необъективны?

А судьи кто? конкурс ведь проводили люди с военным образованием.
так что я больше склонен доверять оценкам Вирта, чем тем, кто оценивал
результаты его работы. Им рассказали красивую сказку - они взяли и поверили.

> Впрочем, наработки Вирта в лету не канули — упрощением Модулы получился Паскаль,

Наоборот, сначала Вирт создал Паскаль, потом Модула, потом Модула-2.
После него еще были созданы другими людьми языки Модула-2+ и Модула-3.
На этом фоне ругать питон за несовместимость версий - как-то даже и не удобно уже.

> усложнением — Лилит. Опять-таки, сам Вирт про это писал.

Вообще-то Lilith Workstation - это не язык программирования, а имя компьютера.
весь софт для Lilith Workstation был написан на модула-2.

Создать язык программирования более примитивный чем паскаль - это разве вообще возможно?


"Космическое агентство NASA открыло код платформы для создани..."
Отправлено Andrew Kolchoogin , 30-Мрт-15 17:34 
> Наоборот, сначала Вирт создал Паскаль, потом Модула, потом Модула-2.

Очень может быть.

> Создать язык программирования более примитивный чем паскаль - это разве вообще возможно?

Паскаль ровно настолько же примитивен, насколько и C -- оба языка полны по Тьюрингу, это доказано. :)


"Космическое агентство NASA открыло код платформы для создани..."
Отправлено csdoc , 30-Мрт-15 17:45 
>> Создать язык программирования более примитивный чем паскаль - это разве вообще возможно?
> Паскаль ровно настолько же примитивен, насколько и C
> -- оба языка полны по Тьюрингу, это доказано. :)

Это да. Но по Тьюрингу и Brainfuck является полным.

P.S.

Кстати, у паскаля много глюков и недостатков,
даже по сравнению с языком программирования С:

http://www.lysator.liu.se/c/bwk-on-pascal.html
Why Pascal is Not My Favorite Programming Language
Brian W. Kernighan, April 2, 1981


"Космическое агентство NASA открыло код платформы для создани..."
Отправлено Аноним , 31-Мрт-15 20:53 
>Создать язык программирования более примитивный чем паскаль - это разве вообще возможно?

Ну, С++ ведь создали...


"C++"
Отправлено csdoc , 31-Мрт-15 21:58 
> Ну, С++ ведь создали...

Программиста спрашивают:
— Как вам удалось так быстро выучить английский язык?
— Да, ерунда какая. Они там почти все слова из C++ взяли.

P.S.

http://harmful.cat-v.org/software/c++/linus
Linus Torvalds on C++


"Космическое агентство NASA открыло код платформы для создани..."
Отправлено Аноним , 30-Мрт-15 00:27 
> И вот к чему привело использование софта написанного на ADA в комической индустрии

Сударь, вы откровенно лжете, правильнее даже сказать пиз..те. Какое отношение пропихивыемый в USA эндемичный язык имеет к европейским ракетам?


"Космическое агентство NASA открыло код платформы для создани..."
Отправлено csdoc , 30-Мрт-15 01:53 
>> И вот к чему привело использование софта написанного на ADA в космической индустрии
> Сударь, вы откровенно лжете, правильнее даже сказать пиз..те.

Нет.

Эта ракета действительно взорвалась из-за ошибки в программе на языке ада:

https://en.wikipedia.org/wiki/Ariane_5#Notable_launches
The software, written in Ada, was included in the Ariane 5...

http://esamultimedia.esa.int/docs/esa-x-1819eng.pdf
Ariane 5 Flight 501 Failure, Report by the Inquiry Board

> Какое отношение пропихивыемый в USA эндемичный язык имеет к европейским ракетам?

1. гуглить: язык программирования ада
2. читать: кто является автором этого языка


"Космическое агентство NASA открыло код платформы для создани..."
Отправлено Аноним , 30-Мрт-15 10:36 
> "По утверждению Стефена Цейгера из Rational Software Corporation,

А по утверждению анонимуса с опенета такие заявления - обычный маркетинговый булшит :)


"Космическое агентство NASA открыло код платформы для создани..."
Отправлено ы , 30-Мрт-15 13:41 
жаба, так вообще даже для текстовой константы выделяет память. только жабисты по этому поводу любят скромно помалкивать.

"Космическое агентство NASA открыло код платформы для создани..."
Отправлено XVilka , 30-Мрт-15 15:44 
Не Ada а SPARK - http://www.spark-2014.org/

"Космическое агентство NASA открыло код платформы для создани..."
Отправлено Аноним , 29-Мрт-15 15:19 
Знаешь, о чем твой комментарий говорит? Что ты - не разработчик ПО.

"Космическое агентство NASA открыло код платформы для создани..."
Отправлено Аноним , 30-Мрт-15 09:35 
ха, я думал оно на Ada

"Космическое агентство NASA открыло код платформы для создани..."
Отправлено Аноним , 30-Мрт-15 10:33 
> ха, я думал оно на Ada

Внезапно, "устаревший и немодный" сишечка используется в куче суперответсвенных областей. Потому что позволяет достигать предсказуемости характерной для ассемблера без использвания оного. А всякие модные хипстерские приблуды обеспечивают свистелки и пеpдeлки, но - ценой потери этой самой предсказуемости. А предсказуемость инструмента - первый шаг к надежности системы, если что.

Старый и немодный сишечка может например память заранее выделить, на старте. Ява-хипстеры и прочие не понимают: как это - "вообще нет управления памятью?" :). А если нет динамического выделения памяти - ВНЕЗАПНО отпадает целый класс багов, например...


"Космическое агентство NASA открыло код платформы для создани..."
Отправлено iZEN , 30-Мрт-15 13:25 
> Старый и немодный сишечка может например память заранее выделить, на старте. Ява-хипстеры и прочие не понимают: как это - "вообще нет управления памятью?" :). А если нет динамического выделения памяти - ВНЕЗАПНО отпадает целый класс багов, например...

Баг ДНК сишечки "Выход за пределы границ областей памяти" - не такой уж редкий случай. Если точнее, то с ним связано больше половины случаев намеренного или случайного взлома программ.

Ошибку "Переполнение памяти" (Out of memory error) тоже никто не отменял.


"Космическое агентство NASA открыло код платформы для создани..."
Отправлено Аноним , 30-Мрт-15 14:28 
> Баг ДНК сишечки "Выход за пределы границ областей памяти" - не такой уж редкий случай.

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

> Ошибку "Переполнение памяти" (Out of memory error) тоже никто не отменял.

Опять же контролируй, что делает твой алгоритм.


"Космическое агентство NASA открыло код платформы для создани..."
Отправлено клоун , 30-Мрт-15 14:46 
Указанная ошибка входит в топ-10 допускаемых. Из чего следует, что

ИЛИ все люди (кроме тебя, разумеется) конченные де-илы, не понимающие или понимающие и принципиально нежелающие применять написанные тобой правила

ИЛИ это реальный косяк ЯП, требовать от человека помнить больше, чем тот в обычной ситуации способен.


"Космическое агентство NASA открыло код платформы для создани..."
Отправлено csdoc , 30-Мрт-15 14:57 
> Указанная ошибка входит в топ-10 допускаемых. Из чего следует, что
> ИЛИ все люди (кроме тебя, разумеется) конченные де-илы, не понимающие или понимающие
> и принципиально нежелающие применять написанные тобой правила
> ИЛИ это реальный косяк ЯП, требовать от человека помнить больше, чем тот
> в обычной ситуации способен.

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

http://habrahabr.ru/post/230777/
Ещё раз о неопределённом поведении или «почему не стоит забивать гвозди бензопилой»

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

#include <stdio.h>
#include <stdlib.h>

int main() {
  int *p = (int*)malloc(sizeof(int));
  int *q = (int*)realloc(p, sizeof(int));
  *p = 1;
  *q = 2;
  if (p == q)
    printf("%d %d\n", *p, *q);
}
$ clang -O realloc.c ; ./a.out
1 2

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


"Космическое агентство NASA открыло код платформы для создани..."
Отправлено клоун , 30-Мрт-15 15:49 
Ты хочешь донести, что у любого инструмента есть свои особенности (не всегда удобные пользователю), которые нужно знать и с которыми нужно смириться.

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


"Космическое агентство NASA открыло код платформы для создани..."
Отправлено csdoc , 30-Мрт-15 16:04 
> Ты хочешь донести, что у любого инструмента есть свои особенности (не всегда
> удобные пользователю), которые нужно знать и с которыми нужно смириться.

В статье очень доступно объясняется, «почему не стоит забивать гвозди бензопилой».

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

И какой язык программирования предлагается использовать вместо С ?

P.S.

Есть всего 2 типа языков: те, на которые все жалуются и те, которыми никто не пользуется. — Бьерн Страуструп

Есть два способа построения программ: сделать их настолько простыми, что там очевидно не будет ошибок, или же настолько сложными, что там не будет очевидных ошибок. - Энтони Хоар, 1980 лекция на вручении премии Тьюринга


"Космическое агентство NASA открыло код платформы для создани..."
Отправлено cdscdsc , 01-Апр-15 03:06 
> Требовать от языка программирования С чтобы он был легким, просты и удобным  -  это как минимум не понимать, для чего он был создан и для чего изначально применялся.

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

http://www.lysator.liu.se/c/bwk-on-pascal.html
The effort to rewrite the programs in 'Software Tools' started in March, 1980, and, in fits and starts, lasted until January, 1981.  The final product(19) was published in June, 1981.  During that time I gradually adapted to most of the superficial problems with Pascal (cosmetics, the inadequacies of control flow), and developed imperfect solutions to the significant ones (array sizes, run-time environment).


"Космическое агентство NASA открыло код платформы для создани..."
Отправлено csdoc , 01-Апр-15 20:20 
>> Требовать от языка программирования С чтобы он был легким, просты и удобным  
>> -  это как минимум не понимать, для чего он был создан и для чего изначально применялся.
> Вообще то (как обычно) он и создавался чтобы на тот момент быть
> самым легким, простым и удобным. И неспецифичным.

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

Если одновременно надо достичь эти две цели - то и получится в результате язык С.

Например, в Java - приоритеты как раз более смещены в сторону простоты, удобства
и легкости написания/сопровождения софта, поэтому, например, там есть сборщик мусора.

James Gosling: Java — это C++, из которого убрали все пистолеты, ножи и дубинки.

Java = simple, object oriented, distributed, interpreted, robust, secure,
architecture neutral, portable, high performance, multithreaded,
dynamic language – Gosling, “Java: An Overview” (1995)

В результате:

Прирост производительности разработчиков от простого перехода в разработке ПО с языка программирования C++ на языки Java и C# оценивается экспертами в 500% — чем, собственно, и объясняется вытеснение первого языка двумя последними в течение достаточно короткого срока. [...] Java и C# обладают двумя важными свойствами: а) они лишают программиста возможности сделать некоторые чрезвычайно болезненные ошибки, исправление которых часто требовало неадекватного и непредсказуемого времени, и б) они сильно облегчают возможность сборки программы из крупных готовых частей. - цитата из http://dz.ru/solutions/phantom/


"Космическое агентство NASA открыло код платформы для создани..."
Отправлено vcdvfvf , 03-Апр-15 02:55 
>> Вообще то (как обычно) он и создавался чтобы на тот момент быть  самым легким, простым и удобным. И неспецифичным.
> Это уже вторичные цели. Прежде всего язык С должен быть достаточно низкоуровневым, чтобы позволять писать эффективный код и вместе с тем - должен быть переносимым, чтобы операционную систему можно было бы легко переносить между разными платформами.

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

At the time we did not put much weight on portability; interest in this arose later.
Dennis M. Ritchie

На самом деле слепили кое-как и побыстрее что-то получше ассемблера вот и все цели. А что такое - эффективный код - так это вообще загадка.

> Например, в Java - приоритеты как раз более смещены в сторону простоты, удобства и легкости написания/сопровождения софта, поэтому, например, там есть сборщик мусора.  James Gosling: Java — это C++, из которого убрали все пистолеты, ножи и дубинки.

Очередные легенды да? Чтобы на практике чего-нить родить на жабе надо знать 1000 библиотек, поведение которых бывает далеко не очевидно. Часто быстрее самому написать, чем нужные методы искать. Что до с++ то на нем (в смысле 1000 страничного стандарта) никто и не пишет. Все реально пользуются небольшим подмножеством самых распространенных возможностей. Но какое отношение с++ имеет к ц, кроме жуткого низкоуровнего синтаксиса непонятно. Там свои массивы, строки и т.п. Там даже нормальные ссылки есть.

> Прирост производительности разработчиков от простого перехода в разработке ПО с языка программирования C++ на языки Java и C# оценивается экспертами в 500%

Было бы смешно, но ведь некоторые всерьез верят в возможность измерения какой-то мифической производительности в процентах. Вы менеджер што ле?


"Космическое агентство NASA открыло код платформы для создани..."
Отправлено csdoc , 03-Апр-15 17:19 
> At the time we did not put much weight on portability; interest
> in this arose later. Dennis M. Ritchie

Это цитата из раздела "History: the setting" статьи http://cm.bell-labs.com/who/dmr/chist.html
- в этой вырванной из контекста цитате Dennis M. Ritchie говорит о времени,
когда они использовали язык программирования B. Тогда ядро операционной
системы еще было написано на ассемблере, а утилиты на B.

>> Например, в Java - приоритеты как раз более смещены в сторону простоты,
>> удобства и легкости написания/сопровождения софта, поэтому, например,
>> там есть сборщик мусора.  
>> James Gosling: Java — это C++, из которого убрали все пистолеты, ножи и дубинки.
> Очередные легенды да?

Нет, это факты. James Gosling - создатель языка программирования Java.

Java = simple, object oriented, distributed, interpreted, robust, secure,
architecture neutral, portable, high performance, multithreaded,
dynamic language – Gosling, “Java: An Overview” (1995)

The first Java “buzzword” is SIMPLE


"Космическое агентство NASA открыло код платформы для создани..."
Отправлено Аноним , 03-Апр-15 18:43 
> James Gosling: Java — это C++, из которого убрали все пистолеты, ножи и дубинки.

Единственная проблема: когда что-то запускают в космос - нужен, образно говоря, хирург и скальпель. А не погремушка для ребенка, безопасная но бесполезная для решения задачи.


"Космическое агентство NASA открыло код платформы для создани..."
Отправлено csdoc , 03-Апр-15 22:29 
>> James Gosling: Java — это C++, из которого убрали все пистолеты, ножи и дубинки.
> Единственная проблема: когда что-то запускают в космос
> - нужен, образно говоря, хирург и скальпель.

Когда что-то запускают в космос - программы создают
в некоторых случаях с помощью https://ru.wikipedia.org/wiki/ДРАКОН
из графического представления программа потом компилируется в машинный код.


"Космическое агентство NASA открыло код платформы для создани..."
Отправлено Аноним , 03-Апр-15 18:47 
> ИЛИ это реальный косяк ЯП, требовать от человека помнить больше, чем тот
> в обычной ситуации способен.

Когда сильно припирает - можно и автоматический валидатор напустить. Он напомнит. Сишечка выпускает подушки безопасности, рулит ответственными объектами и прочая. И потеснить его там особо как-то и некому. Писать на асме утомительно, а все остальные - менее предсказуемые.

Завалить в режим "а я типа, кодогенератор, без 100500 мегов библиотек и автоматических подтиралок зада" сишечку можно. В отличие от "более хороших" языков. По поводу чего сишечка работает в минмальных, предсказуемых окружениях, системном добре и прочая. А остальным туда - просто не судьба.


"Космическое агентство NASA открыло код платформы для создани..."
Отправлено Аноним , 03-Апр-15 18:39 
> Ошибку "Переполнение памяти" (Out of memory error) тоже никто не отменял.

Как раз таки при полностью статичном распределении памяти - память раздается в момент линковки, может при старте. Если заработало - все, дальше уже точно не сломается. Память которая уже выделена не может "закончиться". Она уже выделена. А новую просить не будем. В мироконтроллерах зачастую вообще malloc() нет. Захочешь - и то не попросишь на ходу, прикинь? :)


"Космическое агентство NASA открыло код платформы для создани..."
Отправлено cdscdsc , 01-Апр-15 02:54 
> Старый и немодный сишечка может например память заранее выделить, на старте. Ява-хипстеры

и прочие не понимают: как это - "вообще нет управления памятью?"

int[] myIntArray = new int[1000];

String[] myStringArray = new String[1000];


"Космическое агентство NASA открыло код платформы для создани..."
Отправлено metelev_sv , 05-Апр-15 21:02 
Центральная проблема, на которую не обращают должного внимания --- машинный язык ориентирован на компьютер, в первую очередь, а должен быть ориентирован на человека. Об этом ещё Кнут писал. Для этого и концепцию literate programming придумал.

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

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

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

То есть, для общения между людьми.


"Космическое агентство NASA открыло код платформы для создани..."
Отправлено csdoc , 05-Апр-15 21:14 

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

Programs must be written for people to read,
and only incidentally for machines to execute. — Hal Abelson

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

В книге http://www.ozon.ru/context/detail/id/5497184/
предлагается немного другой способ решения этой же проблемы.
Не менее эффективный, а временами наверное - даже более эффективный.


"Космическое агентство NASA открыло код платформы для создани..."
Отправлено metelev_sv , 05-Апр-15 22:17 
> В книге http://www.ozon.ru/context/detail/id/5497184/
> предлагается немного другой способ решения этой же проблемы.
> Не менее эффективный, а временами наверное - даже более эффективный.

Там предлагают несколько страниц, чтобы посмотреть, и вот языка никакого я там не увидел. Общие слова. Тираж 1000 экземпляров. Что-то мне не верится, что за этим --- будущее.

Идея-то, наверное, более-менее известная, но одной идеи мало. Надо средство и чтобы оно годилось для массового использования. "Дракон" ведь не поддержан никакой официальной реализацией, то есть для обычной публики это тоже общие слова. Правда, есть несколько самодельных реализаций. Но они, на мой взгляд, вынуждены решать каким-то доморощенным способом серьёзные концептуальные вопросы. Если я правильно понимаю, на что похож "Дракон" в оригинале, наверное получается что-то средства написания программы для микроконтроллера. Он же не сам по себе, не свой собственный, а в рамках "Графит-Флокс", опять же, как я понимаю --- потому что я знаю про это про всё только из открытых источников.

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

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


"Космическое агентство NASA открыло код платформы для создани..."
Отправлено csdoc , 05-Апр-15 22:47 
>> В книге http://www.ozon.ru/context/detail/id/5497184/
>> предлагается немного другой способ решения этой же проблемы.
>> Не менее эффективный, а временами наверное - даже более эффективный.
> Там предлагают несколько страниц, чтобы посмотреть

Книга "Эрик Эванс-Предметно-ориентированное проектирование (DDD). Структуризация сложных программных систем-2010" доступна не только на сайте ozon.ru но и на сайте ........r.org

> и вот языка никакого я там не увидел.

Чтобы что-то увидеть - надо сначала прочитать книжку и понять, что в ней написано.

Это сложная книжка, уровня Кнута и Фаулера - за 5 минуть написанное там понять нельзя.

Хотя общее впечетление о чем эта книга можно составить из отзывов, предисловия и введения.

> Идея-то, наверное, более-менее известная, но одной идеи мало.
> Надо средство и чтобы оно годилось для массового использования.

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