The OpenNET Project / Index page

[ новости /+++ | форум | wiki | теги | ]

Космическое агентство NASA открыло код платформы для создания полётного ПО

29.03.2015 09:32

Космическое агентство NASA объявило об открытии исходных текстов платформы cFS (core Flight System), используемой в качестве основы для создания полётного ПО, которым комплектуются системы обработки данных на спутниках и приборы, применяемые на космических аппаратах. Несмотря на то, что cFS изначально разработан для полётных компьютеров, практически он может применяться и для другой встраиваемой техники.

В настоящее время cFS используется в запущенной в прошлом году миссии GPM, нацеленной на организацию непрерывного мониторинга выпадения осадков по всему земному шару, и в миссии LADEE, развиваемой НАСА в исследовательском центре Эймса для изучения атмосферы Луны и анализа пылевого окружения её орбиты. Платформа также используется и в других исследовательских центрах, включая Центр космических полётов имени Джорджа Маршалла, Исследовательский центр Гленна и Космический центр имени Линдона Джонсона.

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

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

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



  1. Главная ссылка к новости (http://www.nasa.gov/press/godd...)
  2. OpenNews: NASA представило открытое приложение для поиска астероидов
  3. OpenNews: Ubuntu используется в Космическом центре Кеннеди
  4. OpenNews: NASA планирует опубликовать каталог с кодом более тысячи своих проектов
  5. OpenNews: Космическое агентство NASA переводит используемые на МКС ноутбуки на Linux
  6. OpenNews: Космическое агентство NASA представило портал для открытых проектов
Лицензия: CC-BY
Тип: К сведению
Короткая ссылка: https://opennet.ru/41924-nasa
Ключевые слова: nasa, cfs
При перепечатке указание ссылки на opennet.ru обязательно
Обсуждение (89) Ajax | 1 уровень | Линейный | +/- | Раскрыть всё | RSS
  • 1.1, Аноним (-), 10:12, 29/03/2015 [ответить] [﹢﹢﹢] [ · · · ]  
  • –2 +/
    К хорошему быстро привыкаешь, размещение кода на SourceForge уже ощущается как прошлый век. На какую совместную работу они рассчитывают,  опубликовав zip-архивы с кодом в никак логически не связанных проектах на SourceForge? Не могли всё в одном месте собрать и закинуть на GitHub.
     
     
  • 2.2, YetAnotherOnanym (ok), 11:00, 29/03/2015 [^] [^^] [^^^] [ответить]  
  • +5 +/
    Перечитайте абзац про лицензию. Скачал к себе и сам допиливаешь. О какой "совместной работе" Вы говорите?
     

  • 1.3, iZEN (ok), 12:19, 29/03/2015 [ответить] [﹢﹢﹢] [ · · · ]  
  • –50 +/
    > Код написан на языке Си

    Это провал.

     
     
  • 2.6, Аноним (-), 13:28, 29/03/2015 [^] [^^] [^^^] [ответить]  
  • +3 +/
    Это реальность, дурачок.
     
     
  • 3.11, Аноним (-), 15:38, 29/03/2015 [^] [^^] [^^^] [ответить]  
  • +4 +/
    Возможно, изену намного более симпатично если какая-нибудь ява соберет мусор именно в тот момент, когда пора выполнять орбитальный маневр. Что, скорость хренадцать километров в секунду и тупняк на полсекунды посылает КА к черту на куличики? Подумаешь фигня, зато безопасТные технологии в действии.
     
     
  • 4.18, Аноним (-), 16:53, 29/03/2015 [^] [^^] [^^^] [ответить]  
  • –1 +/
    Предыдущему оратору стоило бы открыть для себя реалтаймовые java-машины, но в целом стоит согласиться - яве в данной нише не место.
     
     
  • 5.63, Аноним (-), 10:25, 30/03/2015 [^] [^^] [^^^] [ответить]  
  • +/
    > Предыдущему оратору стоило бы открыть для себя реалтаймовые java-машины,

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

     
  • 5.93, pavlinux (ok), 16:03, 30/03/2015 [^] [^^] [^^^] [ответить]  
  • +/
    > Предыдущему оратору стоило бы открыть для себя реалтаймовые java-машины,
    > но в целом стоит согласиться - яве в данной нише не место.

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

     
     
  • 6.107, iZEN (ok), 20:53, 30/03/2015 [^] [^^] [^^^] [ответить]  
  • –2 +/
    >> Предыдущему оратору стоило бы открыть для себя реалтаймовые java-машины,
    >> но в целом стоит согласиться - яве в данной нише не место.
    > Вот влом искать, но жава на Марсе работает. Если не для срача
    > - найдете. #java #ibm #mars #nasa

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


     
  • 4.30, VoDA (ok), 20:27, 29/03/2015 [^] [^^] [^^^] [ответить]  
  • +4 +/
    > Возможно, изену намного более симпатично если какая-нибудь ява соберет мусор

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

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

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


     
     
  • 5.62, Аноним (-), 10:23, 30/03/2015 [^] [^^] [^^^] [ответить]  
  • +/
    Это требования не столько по части реалтаймности, сколько по части надежности и ... большой текст свёрнут, показать
     
     
  • 6.75, клоун (?), 12:00, 30/03/2015 [^] [^^] [^^^] [ответить]  
  • –2 +/
    Чувак вёл речь про жёсткое реальное время, в котором непрогнозируемые задержки н... большой текст свёрнут, показать
     
  • 5.78, YetAnotherOnanym (ok), 12:21, 30/03/2015 [^] [^^] [^^^] [ответить]  
  • –1 +/
    > PS да и Linux не реалтайм-ОС, так что для реального времени нужно весь стек технологий тянуть - от железа и ОС до программ.

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

     
  • 3.25, iZEN (ok), 19:20, 29/03/2015 [^] [^^] [^^^] [ответить]  
  • –14 +/
    > Это реальность, дурачок.

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


     
  • 2.7, Адепт хохлосрача (?), 13:29, 29/03/2015 [^] [^^] [^^^] [ответить]  
  • +1 +/
    Слишком дофига народу не осилят классический Си Вообще, инициатива спорная Есл... большой текст свёрнут, показать
     
     
  • 3.9, Аноним (-), 14:23, 29/03/2015 [^] [^^] [^^^] [ответить]  
  • –1 +/
    минус на ник
     
  • 3.12, Аноним (-), 15:40, 29/03/2015 [^] [^^] [^^^] [ответить]  
  • –1 +/
    > И ведь почитают исходники на Си, скажут "чем мы хуже с нашим
    > %LANG%" и начнут приближать нас к светлому будущему.

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

     
     
  • 4.26, iZEN (ok), 19:24, 29/03/2015 [^] [^^] [^^^] [ответить]  
  • –8 +/
    >> И ведь почитают исходники на Си, скажут "чем мы хуже с нашим
    >> %LANG%" и начнут приближать нас к светлому будущему.
    > Флаг им в руки. Когда спутник за эн миллионов улетит на нерасчетную
    > орбиту и им отвинтят все что отвинчивается - тогда они может
    > и осознают что каждой задаче свой инструмент. Вот си - неплох
    > для задач где нужна хорошая предсказуемость.

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

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


     
     
  • 5.59, shadekhv (?), 05:25, 30/03/2015 [^] [^^] [^^^] [ответить]  
  • +/
    Откройте уже для себя betterString чтоли.

    http://bstring.sourceforge.net/

     
  • 5.60, еще 1 аноним (?), 09:02, 30/03/2015 [^] [^^] [^^^] [ответить]  
  • +/
    что мешает вам использовать паскалевскую строку? То есть хранить размер строки, а не вычислять его каждый раз? Или это архи сложно и этому учат только в высших заведениях?
     
  • 5.68, Аноним (-), 10:42, 30/03/2015 [^] [^^] [^^^] [ответить]  
  • +/
    > Ошибка "Переполнение буфера" записана в ДНК языка Си.

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

     
  • 5.73, Andrew Kolchoogin (ok), 10:51, 30/03/2015 [^] [^^] [^^^] [ответить]  
  • +5 +/
    > Ошибка "Переполнение буфера" записана в ДНК языка Си.

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

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

     
     
  • 6.84, Михрютка (ok), 14:22, 30/03/2015 [^] [^^] [^^^] [ответить]  
  • +/
    ну вот чо-та для строк она получилась такой, что каждый раз, как кто-то пишет #include <strings.h>, Бог убивает котеночка.
     
     
  • 7.108, Ytch (ok), 22:51, 30/03/2015 [^] [^^] [^^^] [ответить]  
  • +/
    Там есть вещи не только для работы со строками. Сюрприз?
     
  • 3.27, csdoc (ok), 19:33, 29/03/2015 [^] [^^] [^^^] [ответить]  
  • +/
    > Слишком дофига народу не осилят классический Си?

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

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

     
     
  • 4.29, Омоним (?), 20:17, 29/03/2015 [^] [^^] [^^^] [ответить]  
  • +2 +/
    Значит, их коду нечего делать в космической отрасли.
     
  • 4.69, Аноним (-), 10:44, 30/03/2015 [^] [^^] [^^^] [ответить]  
  • +/
    > Да. Слишком много кто не обладает достаточным уровнем квалификации, чтобы писать переносимый,
    > корректный и эффективный код на С.

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

     
     
  • 5.81, csdoc (ok), 13:44, 30/03/2015 [^] [^^] [^^^] [ответить]  
  • +/
    >> Слишком много кто не обладает достаточным уровнем квалификации,
    >> чтобы писать переносимый, корректный и эффективный код на С.
    > И это хорошо

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

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

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

    Debian OpenSSL Bug, Heartbleed Bug и т.п.

     
  • 2.8, Аноним (-), 14:22, 29/03/2015 [^] [^^] [^^^] [ответить]  
  • +/
    А на чем предлагаете писать? А на чем раньше писали? Полагаю, библиотеки далеко не годичной давности.
     
     
  • 3.21, Аноним (-), 17:14, 29/03/2015 [^] [^^] [^^^] [ответить]  
  • +1 +/
    > А на чем раньше писали?

    На фортране.

     
  • 3.24, iZEN (ok), 19:19, 29/03/2015 [^] [^^] [^^^] [ответить]  
  • –7 +/
    > А на чем предлагаете писать? А на чем раньше писали? Полагаю, библиотеки
    > далеко не годичной давности.

    Ада.

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


     
     
  • 4.37, Аноним (-), 22:39, 29/03/2015 [^] [^^] [^^^] [ответить]  
  • +/
    Отладка для них очень важна, критический параметр при выборе языка. Тем более, отладку производят на больших дистанциях. Как отлаживается ПО построенное на Аде?
     
     
  • 5.66, Аноним (-), 10:35, 30/03/2015 [^] [^^] [^^^] [ответить]  
  • +/
    > Отладка для них очень важна, критический параметр при выборе языка. Тем более,
    > отладку производят на больших дистанциях. Как отлаживается ПО построенное на Аде?

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

     
  • 4.38, csdoc (ok), 22:42, 29/03/2015 [^] [^^] [^^^] [ответить]  
  • +/
    >> А на чем предлагаете писать? А на чем раньше писали? Полагаю, библиотеки
    >> далеко не годичной давности.
    > Ада.
    > "По утверждению Стефена Цейгера из 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

     
     
  • 5.40, maximnik0 (?), 00:19, 30/03/2015 [^] [^^] [^^^] [ответить]  
  • +/
    > И вот к чему привело использование софта написанного на ADA в комической
    > индустрии:

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

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


     
     
  • 6.43, csdoc (ok), 01:02, 30/03/2015 [^] [^^] [^^^] [ответить]  
  • +/
    https www youtube com watch v gp_D8r-2hwk t 45s Ракета взорвалась Из-за ошибк... большой текст свёрнут, показать
     
     
  • 7.44, Аноним (-), 01:44, 30/03/2015 [^] [^^] [^^^] [ответить]  
  • +/
    > Ракета взорвалась. Из-за ошибки в программе на "языке программирования ада".

    А вот в "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". Даже боюсь теперь верить Дональду Файерсмиту со товарищи. На опеннете его уже разоблачили настоящие эксперты.

     
     
  • 8.46, csdoc (ok), 02:05, 30/03/2015 [^] [^^] [^^^] [ответить]  
  • +/
    они думают, что проблема была в архитектуре, кто-то другой может думать что про... текст свёрнут, показать
     
     
  • 9.49, Аноним (-), 02:14, 30/03/2015 [^] [^^] [^^^] [ответить]  
  • +1 +/
    а они пришли к выводу что ракета взорвалась по причине ошибки в программе Естес... текст свёрнут, показать
     
     
  • 10.51, maximnik0 (?), 02:29, 30/03/2015 [^] [^^] [^^^] [ответить]  
  • +/
    Это же про Ариан-5 история да Всплыло гораздо позже официально не признавалос... текст свёрнут, показать
     
     
  • 11.54, csdoc (ok), 02:49, 30/03/2015 [^] [^^] [^^^] [ответить]  
  • +/
    Да Нет Если очень внимательно посмотреть на видео https www youtube com wa... большой текст свёрнут, показать
     
     
  • 12.56, Аноним (-), 03:07, 30/03/2015 [^] [^^] [^^^] [ответить]  
  • +/
    Видео - самоуничтожение потерявшей управление ракеты О причинах потери оно ниче... текст свёрнут, показать
     
     
  • 13.58, csdoc (ok), 03:15, 30/03/2015 [^] [^^] [^^^] [ответить]  
  • +/
    Видео опровергает версию о том, что причиной взрыва ракеты был донный эффект ... большой текст свёрнут, показать
     
     
  • 14.76, Аноним (-), 12:07, 30/03/2015 [^] [^^] [^^^] [ответить]  
  • +/
    Видео ничего не опровергает и не доказывает кроме того, что ракета потеряла упра... текст свёрнут, показать
     
     
  • 15.83, csdoc (ok), 14:21, 30/03/2015 [^] [^^] [^^^] [ответить]  
  • +/
    Видео опровергает версию о том, что ракета взорвалась по причине гидроудара ... текст свёрнут, показать
     
     
  • 16.89, Аноним (-), 15:36, 30/03/2015 [^] [^^] [^^^] [ответить]  
  • +/
    Мама, роди меня заново Если Вы не можете прочитать что я написал, прочтите отче... большой текст свёрнут, показать
     
     
  • 17.92, csdoc (ok), 15:58, 30/03/2015 [^] [^^] [^^^] [ответить]  
  • +/
    Видео опровергает версию о том, что ракета взорвалась по причине гидроудара П... большой текст свёрнут, показать
     
  • 13.64, Аноним (-), 10:29, 30/03/2015 [^] [^^] [^^^] [ответить]  
  • +/
    Зато говорят выводы комиссии Которые озвучили Виновата программа Написанная н... текст свёрнут, показать
     
     
  • 14.77, Аноним (-), 12:16, 30/03/2015 [^] [^^] [^^^] [ответить]  
  • +/
    Вот это называется угадал все буквы, но не смог прочитать слово В выводах ком... текст свёрнут, показать
     
     
  • 15.86, csdoc (ok), 14:39, 30/03/2015 [^] [^^] [^^^] [ответить]  
  • +/
    Проблема не в языке программирования ада Проблема в программе, написанной на эт... большой текст свёрнут, показать
     
     
  • 16.96, Аноним (-), 16:27, 30/03/2015 [^] [^^] [^^^] [ответить]  
  • +/
    У Вас, батенька, подмена тезиса Из более ранних утверждений следовало что винов... большой текст свёрнут, показать
     
     
  • 17.97, csdoc (ok), 17:32, 30/03/2015 [^] [^^] [^^^] [ответить]  
  • +/
    Каким образом из использование софта написанного на ADA следует, что в ката... большой текст свёрнут, показать
     
  • 10.53, csdoc (ok), 02:31, 30/03/2015 [^] [^^] [^^^] [ответить]  
  • +/
    проблема была в программе, написанной на языке программирования ада какие именн... текст свёрнут, показать
     
     
  • 11.55, Аноним (-), 02:58, 30/03/2015 [^] [^^] [^^^] [ответить]  
  • +/
    Мимо Хоара и Вирта сразу вычеркиваем как людей заинтересованных Критика Дейкст... текст свёрнут, показать
     
     
  • 12.57, csdoc (ok), 03:13, 30/03/2015 [^] [^^] [^^^] [ответить]  
  • +/
    обвинять Хоара и Вирта в необъективности и предвзятости - это как-то уже слишком... большой текст свёрнут, показать
     
     
  • 13.72, Andrew Kolchoogin (ok), 10:47, 30/03/2015 [^] [^^] [^^^] [ответить]  
  • +/
    За сэра Энтони Хоара сказать ничего не имею За профессора Вирта 8212 имею П... текст свёрнут, показать
     
     
  • 14.74, Аноним (-), 11:50, 30/03/2015 [^] [^^] [^^^] [ответить]  
  • +/
    А чего за него говорить, если он вместе с Виртом в одной команде принимал участи... текст свёрнут, показать
     
  • 14.82, csdoc (ok), 14:06, 30/03/2015 [^] [^^] [^^^] [ответить]  
  • +/
    Да, он создал язык и участвовал в конкурсе Но каким образом из этого следует ч... большой текст свёрнут, показать
     
     
  • 15.98, Andrew Kolchoogin (ok), 17:34, 30/03/2015 [^] [^^] [^^^] [ответить]  
  • +1 +/
    Очень может быть Паскаль ровно настолько же примитивен, насколько и C -- оба яз... текст свёрнут, показать
     
     
  • 16.99, csdoc (ok), 17:45, 30/03/2015 [^] [^^] [^^^] [ответить]  
  • +/
    Это да Но по Тьюрингу и Brainfuck является полным P S Кстати, у паскаля много... текст свёрнут, показать
     
  • 15.109, Аноним (-), 20:53, 31/03/2015 [^] [^^] [^^^] [ответить]  
  • +/
    Ну, С ведь создали ... текст свёрнут, показать
     
     
  • 16.110, csdoc (ok), 21:58, 31/03/2015 [^] [^^] [^^^] [ответить]  
  • –1 +/
    Программиста спрашивают 8212 Как вам удалось так быстро выучить английский ... текст свёрнут, показать
     
  • 5.41, Аноним (-), 00:27, 30/03/2015 [^] [^^] [^^^] [ответить]  
  • +/
    > И вот к чему привело использование софта написанного на ADA в комической индустрии

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

     
     
  • 6.45, csdoc (ok), 01:53, 30/03/2015 [^] [^^] [^^^] [ответить]  
  • +/
    >> И вот к чему привело использование софта написанного на 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. читать: кто является автором этого языка

     
  • 4.67, Аноним (-), 10:36, 30/03/2015 [^] [^^] [^^^] [ответить]  
  • +/
    > "По утверждению Стефена Цейгера из Rational Software Corporation,

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

     
  • 4.80, ы (?), 13:41, 30/03/2015 [^] [^^] [^^^] [ответить]  
  • +/
    жаба, так вообще даже для текстовой константы выделяет память. только жабисты по этому поводу любят скромно помалкивать.
     
  • 4.90, XVilka (ok), 15:44, 30/03/2015 [^] [^^] [^^^] [ответить]  
  • +/
    Не Ada а SPARK - http://www.spark-2014.org/
     
  • 2.10, Аноним (-), 15:19, 29/03/2015 [^] [^^] [^^^] [ответить]  
  • +4 +/
    Знаешь, о чем твой комментарий говорит? Что ты - не разработчик ПО.
     

  • 1.61, Аноним (-), 09:35, 30/03/2015 [ответить] [﹢﹢﹢] [ · · · ]  
  • +/
    ха, я думал оно на Ada
     
     
  • 2.65, Аноним (-), 10:33, 30/03/2015 [^] [^^] [^^^] [ответить]  
  • +2 +/
    > ха, я думал оно на Ada

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

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

     
     
  • 3.79, iZEN (ok), 13:25, 30/03/2015 [^] [^^] [^^^] [ответить]  
  • –6 +/
    > Старый и немодный сишечка может например память заранее выделить, на старте. Ява-хипстеры и прочие не понимают: как это - "вообще нет управления памятью?" :). А если нет динамического выделения памяти - ВНЕЗАПНО отпадает целый класс багов, например...

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

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

     
     
  • 4.85, Аноним (-), 14:28, 30/03/2015 [^] [^^] [^^^] [ответить]  
  • +/
    > Баг ДНК сишечки "Выход за пределы границ областей памяти" - не такой уж редкий случай.

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

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

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

     
     
  • 5.87, клоун (?), 14:46, 30/03/2015 [^] [^^] [^^^] [ответить]  
  • –2 +/
    Указанная ошибка входит в топ-10 допускаемых. Из чего следует, что

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

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

     
     
  • 6.88, csdoc (ok), 14:57, 30/03/2015 [^] [^^] [^^^] [ответить]  
  • +/
    С - это очень специфический язык программирования среднего уровня, грубо говоря,... большой текст свёрнут, показать
     
     
  • 7.91, клоун (?), 15:49, 30/03/2015 [^] [^^] [^^^] [ответить]  
  • –2 +/
    Ты хочешь донести, что у любого инструмента есть свои особенности (не всегда удобные пользователю), которые нужно знать и с которыми нужно смириться.

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

     
     
  • 8.94, csdoc (ok), 16:04, 30/03/2015 [^] [^^] [^^^] [ответить]  
  • +1 +/
    В статье очень доступно объясняется, 171 почему не стоит забивать гвозди бензо... текст свёрнут, показать
     
  • 7.112, cdscdsc (?), 03:06, 01/04/2015 [^] [^^] [^^^] [ответить]  
  • +/
    > Требовать от языка программирования С чтобы он был легким, просты и удобным  -  это как минимум не понимать, для чего он был создан и для чего изначально применялся.

    Вообще то (как обычно) он и создавался чтобы на тот момент быть самым легким, простым и удобным. И неспецифичным. Если вы в этом сомневаетесь то почитайте упоминавшуюся статейку 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).

     
     
  • 8.113, csdoc (ok), 20:20, 01/04/2015 [^] [^^] [^^^] [ответить]  
  • +/
    Это уже вторичные цели Прежде всего язык С должен быть достаточно низкоуровневы... текст свёрнут, показать
     
     
  • 9.114, vcdvfvf (?), 02:55, 03/04/2015 [^] [^^] [^^^] [ответить]  
  • +/
    Не вижу особого смысла обсуждать всякие фантазии и легенды позднейшего времени ... текст свёрнут, показать
     
     
  • 10.115, csdoc (ok), 17:19, 03/04/2015 [^] [^^] [^^^] [ответить]  
  • +/
    Это цитата из раздела History the setting статьи http cm bell-labs com who ... текст свёрнут, показать
     
  • 9.119, Аноним (-), 18:43, 03/04/2015 [^] [^^] [^^^] [ответить]  
  • +/
    Единственная проблема когда что-то запускают в космос - нужен, образно говоря, ... текст свёрнут, показать
     
     
  • 10.121, csdoc (ok), 22:29, 03/04/2015 [^] [^^] [^^^] [ответить]  
  • +/
    Когда что-то запускают в космос - программы создают в некоторых случаях с помощ... текст свёрнут, показать
     
  • 6.120, Аноним (-), 18:47, 03/04/2015 [^] [^^] [^^^] [ответить]  
  • +/
    > ИЛИ это реальный косяк ЯП, требовать от человека помнить больше, чем тот
    > в обычной ситуации способен.

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

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

     
  • 4.117, Аноним (-), 18:39, 03/04/2015 [^] [^^] [^^^] [ответить]  
  • +/
    > Ошибку "Переполнение памяти" (Out of memory error) тоже никто не отменял.

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

     
  • 3.111, cdscdsc (?), 02:54, 01/04/2015 [^] [^^] [^^^] [ответить]  
  • +/
    > Старый и немодный сишечка может например память заранее выделить, на старте. Ява-хипстеры

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

    int[] myIntArray = new int[1000];

    String[] myStringArray = new String[1000];

     

  • 1.122, metelev_sv (ok), 21:02, 05/04/2015 [ответить] [﹢﹢﹢] [ · · · ]  
  • +/
    Центральная проблема, на которую не обращают должного внимания --- машинный язык ориентирован на компьютер, в первую очередь, а должен быть ориентирован на человека. Об этом ещё Кнут писал. Для этого и концепцию literate programming придумал.

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

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

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

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

     
     
  • 2.123, csdoc (ok), 21:14, 05/04/2015 [^] [^^] [^^^] [ответить]  
  • +/

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

    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/
    предлагается немного другой способ решения этой же проблемы.
    Не менее эффективный, а временами наверное - даже более эффективный.

     
     
  • 3.124, metelev_sv (ok), 22:17, 05/04/2015 [^] [^^] [^^^] [ответить]  
  • +/
    > В книге http://www.ozon.ru/context/detail/id/5497184/
    > предлагается немного другой способ решения этой же проблемы.
    > Не менее эффективный, а временами наверное - даже более эффективный.

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

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

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

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

     
     
  • 4.125, csdoc (ok), 22:47, 05/04/2015 [^] [^^] [^^^] [ответить]  
  • +/
    >> В книге http://www.ozon.ru/context/detail/id/5497184/
    >> предлагается немного другой способ решения этой же проблемы.
    >> Не менее эффективный, а временами наверное - даже более эффективный.
    > Там предлагают несколько страниц, чтобы посмотреть

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

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

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

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

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

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

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

     

     Добавить комментарий
    Имя:
    E-Mail:
    Текст:



    Спонсоры:
    Inferno Solutions
    Ideco
    Hosting by Hoster.ru
    Хостинг:

    Закладки на сайте
    Проследить за страницей
    Created 1996-2021 by Maxim Chirkov
    Добавить, Поддержать, Вебмастеру