Специалист космического масштаба: бывший программист НАСА создал сервис для финансовых компаний

Содержание
  1. Программисты из SpaceX отвечают на вопросы про разработку – Журнал «Код»: программирование без снобизма
  2. На каком языке написана большая часть кода для ракет и корабля?
  3. Расскажите о своём стеке
  4. Мы знаем, что весь интерфейс на мониторах в Crew Dragon отображается с помощью движка Chromium и JavaScript. А кроме этого вы используете какие-то библиотеки и компоненты, и если да — то какие?
  5. Как работает система безопасности полёта?
  6. Как вы отслеживаете и исправляете ошибки, которые возникают во время полёта?
  7. Что будет, если во время полёта что-то пойдёт не по плану — например, если откажут двигатели или что-то подобное?
  8. SpaceX использует искусственный интеллект внутри своего ПО?
  9. Гвин Шотвелл — директор SpaceX. Когда космической компанией управляет инженер, а не журналист
  10. Космическая Гвин
  11. Чувствуете, да? Увлечённый человек, с соответствующим образованием и навыками, нашёл своё дело.
  12. Корабли и РН SpaceX
  13. двигатели SpaceX
  14. На чём пишут ПО для космических аппаратов?
  15. Как кодят в NASA?
  16. Как кодят в SpaceX?
  17. Как кодят в Роскосмосе?
  18. Конец
  19. На чём пишут в NASA?
  20. Короткий ответ
  21. Длинный (и более интересный) ответ от инсайдера
  22. Microsoft Visual Studio
  23. Eclipse CDT
  24. NetBeans
  25. CodeLite
  26. Code::Blocks
  27. Космос как кормушка: почему американские чиновники не верят в Space X
  28. Немного истории
  29. Современная ситуация

  30. Преступный сговор или глупость?

  31. Обида обид

  32. И что теперь?

  33. Как безработный инженер создал космический стартап мирового уровня — Трибуна на vc.ru
  34. Немного о себе
  35. Проект
  36. Продвижение проекта

Программисты из SpaceX отвечают на вопросы про разработку – Журнал «Код»: программирование без снобизма

Специалист космического масштаба: бывший программист НАСА создал сервис для финансовых компаний

Программисты из SpaceX отвечают на вопросы про разработку

На Reddit есть инте­рес­ный тред, где про­грам­ми­сты из SpaceX отве­ча­ют на любые вопро­сы поль­зо­ва­те­лей. SpaceX — это та ком­па­ния, кото­рая постро­и­ла раке­ты Falcon и кораб­ли серии Dragon, а совсем недав­но запу­сти­ла пер­вый в сво­ей исто­рии пило­ти­ру­е­мый корабль с эки­па­жем.

Вот они собра­лись на Reddit, что­бы поот­ве­чать на вопро­сы, а мы пере­ве­ли самое важ­ное. Если вы зна­е­те англий­ский — почи­тай­те в ори­ги­на­ле, там мно­го инте­рес­но­го.

На каком языке написана большая часть кода для ракет и корабля?

Весь софт, кото­рый дол­жен рабо­тать авто­ном­но, напи­сан на C++.

Нам нра­вит­ся объектно-ориентированный под­ход в C++, но при этом мы ста­ра­ем­ся писать настоль­ко про­стой код, насколь­ко это вооб­ще воз­мож­но.

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

Расскажите о своём стеке

Весь софт, кото­рый отве­ча­ет за сам полёт, мы пишем на C и C++, для выво­да инфор­ма­ции на экра­ны мы исполь­зу­ем HTML, JavaScript и CSS. Python нам нужен для тестов. А ещё мы исполь­зу­ем стан­дарт­ные веб-компоненты. Всё про­сто.

Мы знаем, что весь интерфейс на мониторах в Crew Dragon отображается с помощью движка Chromium и JavaScript. А кроме этого вы используете какие-то библиотеки и компоненты, и если да — то какие?

Да, мы исполь­зу­ем тот же Chromium, кото­рый лежит в осно­ве бра­у­зе­ра Chrome, ещё есть соб­ствен­ные биб­лио­те­ки. При этом важ­но пони­мать, что мы исполь­зу­ем Chromium толь­ко как дви­жок для отоб­ра­же­ния интер­фей­са на экра­нах. То, что мы выво­дим на мони­то­ры, никак не вли­я­ет на сам полёт и отка­зо­устой­чи­вость систе­мы.

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

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

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

Немно­го интер­фей­са из инте­рье­ра кораб­ля Dragon

Как работает система безопасности полёта?

За эту систе­му отве­ча­ет спе­ци­аль­ный набор чипов, кото­рый рабо­та­ет неза­ви­си­мо от основ­но­го ком­пью­те­ра.

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

Если они пой­мут, что раке­та летит не туда, теря­ет ско­рость или будет что-то подоб­ное, то эта систе­ма сра­зу закон­чит полёт и поста­ра­ет­ся поса­дить раке­ту на Зем­лю.

Как вы отслеживаете и исправляете ошибки, которые возникают во время полёта?

Здесь мно­го нюан­сов.

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

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

Что будет, если во время полёта что-то пойдёт не по плану — например, если откажут двигатели или что-то подобное?

Что­бы исклю­чить любую непред­ви­ден­ную ситу­а­цию, мы почти всё, что мож­но, ста­вим в трой­ном объ­ё­ме — дат­чи­ки, при­во­ды, мик­ро­схе­мы и всё осталь­ное. Даже если в полё­те сло­ма­ет­ся один или даже два из них, систе­ма будет рабо­тать как обыч­но.

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

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

Напри­мер, Crew Dragon может сам пре­рвать полёт и при­зем­лить­ся обрат­но, если сбой в рабо­те будет слиш­ком боль­шим.

Ещё немно­го интер­фей­са из кораб­ля Dragon

SpaceX использует искусственный интеллект внутри своего ПО?

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

Источник: https://thecode.media/spacex/

Гвин Шотвелл — директор SpaceX. Когда космической компанией управляет инженер, а не журналист

Специалист космического масштаба: бывший программист НАСА создал сервис для финансовых компаний

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

И это верно, ведь как говорил #ИосифСталин перед выпускниками военных академий 4 мая 1935 года, — «Кадры решают всё».

Там где дело ведут профессионалы, да ещё и со здоровыми амбициями и энтузиазмом добиться нового, прорывного, там и результат виден, что называется, на лицо.

Космическая Гвин

#ГвинШотвелл (фамилия по родителям Роули) родилась 23 ноября 1963 года в Эванстоне, штат Иллинойс.

Видимо с самого детства её привлекали точные науки и техника, поэтому у неё и соответствующее образование.

Шотвелл получила дипломы с отличием бакалавра и магистра наук по машиностроению и прикладной математики в Северо-Западном университете, который входит в 20-ку лучших университетов мира.

Как можно понять из её биографии, работа в автомобильной сфере у неё не задалась. Скорее всего, потому что при устройстве в Chrysler Corporation её отправили в программу подготовки управленческих кадров. И это явно было не то, чем хотелось заниматься.

Поэтому чуть позже, в 1988 году она перешла работать в исследовательском центре El Segundo The Aerospace Corporation, где выполняла техническую работу по контрактам на военные космические исследования и разработки.

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

Чувствуете, да? Увлечённый человек, с соответствующим образованием и навыками, нашёл своё дело.

Следующим местом её работы на 4 года, с 1998 по 2002 год, стала калифорнийская частная космическая компания Microcosm. Эта компания до сих пор работает.

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

Но, видимо, Гвин хотелось более масштабной работы, и в 2002 году она приходит в только что созданную Илоном Маском компанию SpaceX, где и работает по сей день, сейчас в должности президента и главного операционного директора компании. Здесь даже можно сказать, что она является одним из тех, кто создавал #SpaceX, так как она пришла в компанию седьмым по счёту сотрудником. Так что она одна из тех, кто создал эту компанию такой, какой мы её сейчас видим.

Корабли и РН SpaceX

За 18 лет, с нуля, создан многоразовый ракетоноситель Falcon 9, и РН тяжёлого класса Falcon Heavy, многоразовый беспилотный грузовой корабль Dragon, многоразовый пилотируемый корабль Crew Dragon. Сейчас идёт сборка грузового корабля Dragon 2-ого поколения. Созданы собственные двигатели Merlin, Kestrel, Draco, SuperDraco и Raptor.

двигатели SpaceX

Начато развёртывание спутниковой группировки Starlink. В Техасе, в Бока-Чика, начато строительство собственного космодрома и производственной базы для создания межпланетного корабля #Starship, элементы которого здесь же собираются и тестируются. И тут я ещё не говорю о работах, которые предстоят по контракту с #NASA, по реализации проекта «#Артемида».

Сейчас под руководством Гвин Шотвелл работает приблизительно 8 тысяч человек, а компания оценивается в 33,4 млрд.$.

Согласитесь, за 18 лет сделать то, что смогла она, это о многом говорит. В 2012 году её имя было внесено в  Международный зал славы «#Женщины в технике». В 2018 году, она вошла в 50-ку рейтинга #Forbes «America’s Top 50 Women In Tech».

В личном плане, она замужем, и имеет двоих детей.

___________________________

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

Ваше участие нам очень важно!

Источник: https://zen.yandex.ru/media/iap_zts/gvin-shotvell--direktor-spacex-kogda-kosmicheskoi-kompaniei-upravliaet-injener-a-ne-jurnalist-5efa3f6eecb0ad052b7c89ff

На чём пишут ПО для космических аппаратов?

Специалист космического масштаба: бывший программист НАСА создал сервис для финансовых компаний

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

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

Мы всё время повторяем: «Инженеры установили то… Разработали это… Сконструировали другое», тем самым уделяя всё внимание им.

Конструкторы собирают Mars 2020 (Я ал за Clarity).

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

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

Как говорил мой преподаватель по программированию… Магия! Не вникая в суть невозможно понять масштаб работы, которую нужно проделать для реализации этой «магии», однако каждый, кто в изучении программирования уходил хотя-бы на несколько ступеней выше знаменитого «Hello World!», понимает, что это неимоверный труд.

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

Как кодят в NASA?

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

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

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

Именно поэтому миссии THEMIS и STEREO, запущенные в 2007 и 2006 годах соответственно, работали с использованием модулей от предыдущих миссий на процессорах Intel 8085, выпущенных ещё в 1976 году. Код для них очевидно писался на машинно-ориентированных языках по типу Ассемблера.

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

Одна и та же программа на Ассемблере и многим известном Паскале.

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

К тому же, просто использовать Fortran тогдашнее руководство не захотело и во время раскрутки программы Space Shuttle в 70-ые года было принято решение разработать на основе Fortran новый язык программирования, отвечающий новым требованиям стандартов, которые так были необходимы для упорядочивания всей накопившейся к тому времени кодовой каши. Было решено разработать два языка: HEL/S для ПО космических аппаратов, и HEL/G для наземного оборудования. Однако с HEL/S создатели явно перемудрили, сделав код абсолютно не читабельным даже для программиста выше среднего уровня. Вот простейший пример.

Код на HEL/S:

2 z = y + x * h i

И вот что под ним имеется в виду (i — индекс):

z = y2 +x*hi

Вот уж где точно магией не пахнет. Таким образом, язык HEL/S был оставлен в прошлом, а HEL/G даже не появился на свет. В итоге NASA начало временно использовать язык программирования Ada, разработанный до этого под нужды ВВС США. Изначально он использовался для управления военными объектами, снарядами, самолётами, кораблями и другими безделушками в реальном времени.

Как вы уже могли догадаться, единственным языком в NASA он не стал. Всё также кто-то где-то использовал Fortran, кто-то Pascal, а кто-то вообще Visual Basic или Bliss. Ко всей этой солянке в начале нулевых добавились знаменитые С, С++ и Perl. Стали, наконец, появляться операционные системы в привычном нам понимании.

К слову, многие аппараты до этого вообще путешествовали по космическим просторам без каких либо операционных систем (Пионер вам в пример). Таким образом приоритет захватил быстрый и удобный язык С. Именно на нём сейчас работает большая часть космических аппаратов, в том числе всем известный любимчик — марсоход Curiosity.

Под роверы на С была написана универсальная операционная система VxWorks. Все марсоходы начиная от Pathfinder и заканчивая Curiosity работают на ней.

Пример языка С.
Программа просто выводит надпись «hello, world».

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

Никуда так и не делся кошмар любого любителя ООП (объективно ориентированное программирование) — Ассемблер.

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

Как кодят в SpaceX?

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

Красота же, правда?

Для программного обеспечения на всех ракетах серии Falcon, на всех кораблях Dragon используется шикарнейший язык С++, который какое-то время в универе я считал идеальным языком программирования (пока не познакомился с Java). Язык максимально универсален и, плюс ко всему, относительно машинных языков прост в изучении.

На нём пишут практически всех современных роботов, все системы дистанционного управления и всё, что только можно. По заявлениям сотрудников SpaceX, этот язык занимает основную позицию, среди всех других языков в компании. Своё место нашли C# и JavaScript. На них работают большая часть внутренних инструментов и услуг компании.

Например кофеварка в кабинете Илона Маска, вероятнее всего, работает на C# (если она у него есть). Для других технологических задач также используются Knockout, Handlebars, Python, LESS. Моделирование же проводится в LabVIEW с помощью графического языка программирования G.

Из операционных систем же для своих аппаратов, SpaceX отдали предпочтение Linux.

В общем, у SpaceX, в отличие от тех же NASA, с разработкой ПО всё намного проще и практичнее.

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

SpaceX же фактически пришли в идеальный момент, когда все трудности за них уже преодолело NASA и сильно запариваться с машинными языками программирования команде Илона не пришлось, когда уже есть С++.

Как кодят в Роскосмосе?

«С? С++? Что за бред? Какой-то набор скобочек и запятых? Зачем нам это?» — подумали российские инженеры, когда эти языки начали появляться на свет. И правильно сделали. Ведь ещё в СССР был разработан универсальный способ писать ПО для ракет и космических кораблей. Всё началось с разработки всемирно известного Бурана.

В представлении не нуждается.

Для реализации этого проекта был разработан ПРОЛ2 — язык для разработки комплексных бортовых программ в реальном времени. Сразу за ним подоспели ДИПОЛЬ — проблемно-ориентированный язык для создания программ для наземных испытаний и ЛАКС — язык для моделирования.

Все это было создано под БЦВМ — бортовую цифровую вычислительную машину. Для неё также была написана отдельная операционная система, получившая название «Пролог-диспетчер».

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

Таким образом на свет родился Дружелюбный Русский Алгоритмический язык, Который Обеспечивает Наглядность. Или сокращённо ДРАКОН.

Главной фишкой этого языка является то, что программировать на нём может кто угодно, даже не программист. По крайней мере на его чистой версии. Язык является в меньшей степени языком и в большей набором схем, создающимся в редакторе. ДРАКОН-Схемы получились очень удобными и читаемыми для всех людей, даже не являющимися программистами.

Алгоритм Дейкстры реализованный на ДРАКОН’е.

Но на этом его создатели решили не останавливаться.

Всё-таки одними схемами сыт не будешь и ДРАКОН стал гибридным языком программирования, что значит, что он способен как-бы сливаться с другими языками программирования, образуя таким образом ДРАКОН-Java, ДРАКОН-Python и так далее. Вот это я понимаю магия.

Язык оказался настолько надёжным и мощным, что используется он и по сегодняшний день, причём не только в Роскосмосе. Некоторые проекты ESA реализованы на нём, планируемый в будущем «Морской старт» от S7 тоже будет реализован на ДРАКОН’е.

По мелочи, конечно, использовались и другие языки программирования. Мой преподаватель (тот что шутил про магию), рассказывал как для разработки ПО серии аппаратов «Венера» использовался язык Fortran, однако основой после Бурана всё же остался максимально универсальный ДРАКОН.

Конец

На этом всё, спасибо всем, кто дочитал до конца. Буду рад любым отзывам и оценкам.

, пожалуйста, выделите фрагмент текста и нажмите Ctrl+Enter.

Источник: https://thealphacentauri.net/na-chem-pishut-po-dlya-kosmicheskih/

На чём пишут в NASA?

Специалист космического масштаба: бывший программист НАСА создал сервис для финансовых компаний

Источник: forums.udacity.com

Вопрос: в NASA пишут на Python’е? 

Короткий ответ

NASA не использует Python для реализации каких-то серьезных проектов, касающихся полетов или доставки военного назначения.

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

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

Длинный (и более интересный) ответ от инсайдера

И хотя каждый может писать на том, на чем ему удобно, большинство используют C, много меньше работников пишут на C++ и уж совсем мало — на Java. Абсолютное меньшинство используют ADA, Fortran и Lisp. Assembler используется, когда речь идет о необходимости оптимизации или драйвере.

Для моделирования, как минимум в JPL, большинство поддерживают MatLab, но есть и те, кто используют Mathematica (подозреваю, что кто-то пользуется даже Maple, но лично я таких людей еще не встречал).

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

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

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

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

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

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

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

Конечно, они замечательно подходят для персональной техники, но ведь речь идет о работе в открытом космосе, для них необходимо использовать защищенные от радиации материалы. В итоге менеджерам приходится выбирать оборудование, которое сильно уступает оборудованию ПК обычных пользователей. Так, например, в MER’ах установлены чипы с частотой 20 MHz и DRAM в 128 MB.

Мой ноутбук, которому уже четыре года, в 100 раз быстрее (2,4GHz) и имеет в 32 раза больше памяти (4GB). А уж сравнивать объем моего HDD на 1 TB с объемом, предоставляемом космическому оборудованию, вовсе не приходится. Так что, думаю, вы понимаете, почему редко делается выбор в пользу C++, сгенерированный код на котором не славится малыми размерами.

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

К тому же, у C++ есть еще один недостаток: программы на нем могут вести себя непредсказуемо, код на C++ сложно обслуживать.

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

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

Давайте рассмотрим такой пример. Пусть инженер занимается, к примеру, антеннами. Ему не нужно знать C++: вся его работа заключается в том, чтобы заставить работать антенну без сбоев, быстро и качественно. Поэтому в качестве языка для написания драйвера он скорее выберет чистый C.

И написанный им код может быть легко изучен другими инженерами, которым ровно также нет смысла создавать ПО на C++. И такая же история повторяется во всех сферах деятельности конторы: от пожарной безопасности до сжатия изображений.

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

Призы для программистов — нужно пройти опрос. Больше ответов — больше шансы

Сегодня рассмотрим 5 популярных сред программирования на C++. Многие из них поддерживают также и другие языки.

Microsoft Visual Studio

Наверняка многие из вас слышали о Visual Studio.

IDE обладает огромным набором средств и возможностей: позволяет разрабатывать как консольные приложения, так и приложения с графическим интерфейсом, в том числе с поддержкой технологии Windows Forms, а также веб-сайты, веб-приложения и веб-службы для всех поддерживаемых платформ: Windows, Windows Mobile, Windows CE, .NET Framework, Xbox, Windows Phone, .NET Compact Framework и Silverlight. Несмотря на изобилие крутых фич, в использовании Visual Studio есть и минусы, например, невозможность работать на платформах, отличных от Windows, однако сейчас проблема решена выпуском Microsoft Visual Studio Code, которая работает на всех популярных платформах: Windows, Linux, Mac OS X и др. Visual Studio хоть и стоит денег, но Microsoft в последнее время подобрел и предлагает различные условно-бесплатные варианты, с которыми вы можете ознакомиться здесь.

Eclipse CDT

Eclipse — свободная интегрированная среда разработки модульных кроссплатформенных приложений, которая приобрела большую популярность среди разработчиков на Java, однако в данной статье мы рассмотрим выпуск Eclipse CDT (С/С++ Development Tooling). Данная среда является отличным выбором, так как Eclipse CDT не только обладает всеми необходимыми инструментами, но и бесплатна и работает под различными операционными системами: Windows/Linux/Mac OS X. Официальная страничка продукта здесь.

NetBeans

NetBeans — еще одна бесплатная интегрированная среда разработки. Позволяет создавать приложения на языках программирования Java, Python, PHP, JavaScript, C, C++ и ряде других.

NetBeans IDE доступна в виде готовых дистрибутивов для платформ Microsoft Windows, Linux, FreeBSD, Mac OS X, OpenSolaris и Solaris, а для всех остальных платформ есть возможность собрать NetBeans самостоятельно из исходников.

 Чтобы установить себе NetBeans, посетите эту страничку.

CodeLite

В подборке лучших IDE для С++ нельзя не упомянуть CodeLite. Кроме того, что среда предоставляется бесплатно, так еще и работает во множестве операционных систем: Windows 7/8/8.

1/10, Debian, Ubuntu, Fedora, OpenSUSE, ArchLinux и даже Mac OS X версии 10.8 и выше. Интерфейс прост и интуитивно понятен, что делает его весьма хорошим выбором для новичков.

Также следует отметить, что последние версии CodeLite IDE поддерживают проекты на PHP и Node.js. Официальный сайт здесь.

Code::Blocks

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

Можно расширить набор стандартных инструментов за счет установки расширений. Продукт разрабатывается под Windows, Mac OS X и Linux, однако есть возможность установить среду на любую Unix-подобную систему при помощи сборки исходников.

 Скачать IDE можете тут.

Призы для программистов — нужно пройти опрос. Больше ответов — больше шансы

Источник: https://tproger.ru/articles/nasa-programming-language/

Космос как кормушка: почему американские чиновники не верят в Space X

Специалист космического масштаба: бывший программист НАСА создал сервис для финансовых компаний

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

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

Немного истории

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


На самом деле программа Space Shuttle была обречена еще на стадии проектирования.

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

Для того чтобы окупить вложения, NASA предполагало совершать в идеале 55 стартов на орбиту в год, а в худшем случае — не менее двадцати. Увы, все эти планы 1970-х так и остались лишь мечтой.

К исходу нулевых руководству NASA стало понятно, что в нынешнем виде программа Space Shuttle дальше существовать не может. Цена запуска к тому времени выросла до непомерных даже для бюджета NASA $420 млн, а общие затраты достигли $400 млрд, что вчетверо больше, чем предполагалось при создании программы. США срочно требовался новый вариант космического корабля для пилотируемых полетов.

В 2010 году стартовала многоэтапная программа NASA по развитию коммерческих пилотируемых кораблей для доставки астронавтов Commercial Crew Program (CCP). Она состояла из трех раундов, по итогу которых предполагалось отобрать частные компании, способные обеспечить регулярные полеты к Международной космической станции. В 2014 году были определены два финалиста.

Ими стали корпорация Boeing с кораблем CST-100 и ракетой-носителем Atlas V и молодая, но подающая большие надежды компания SpaceX с кораблем Dragon V2 и ракетой-носителем Falcon 9. При этом компании Boeing как более опытному разработчику было выделено на разработку $4,2 млрд, а SpaceX — всего $2,6 млрд.

Логику здесь найти сложно — скорее всего, в Boeing просто сказали, что за меньшую сумму работать не будут.


Предполагалось, что регулярные полеты к МКС начнутся уже с 2017 года. Но в 2011 году NASA, еще не имея точного понимания сроков создания новых кораблей, прекращает программу Space Shuttle, оставив американскую космонавтику без пилотируемой программы. С июля 2011 года обеспечение доставки астронавтов на МКС ложится на плечи России.


Современная ситуация


И вот в двери стучится уже 2020 год, а воз американской пилотируемой космонавтики и ныне там. До настоящего момента ни Boeing, ни SpaceX не запустили ни одного космического корабля с экипажем, и, скорее всего, этого не произойдет ранее второго квартала следующего года. Зато вместо завершения работ по пилотируемой программе резко активизировались подковерные игры.


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


В то время как у SpaceX стоимость предполагаемой доставки на МКС должна составить $55 млн за одно место (это довольно дешево), то у Boeing стоимость одного билета на орбиту составляет аж $90 млн.

Это дороже, чем предложил NASA «Роскосмос»: согласно обсуждаемым контрактам на 2020 год, стоимость доставки астронавта на «Союзе» составит $86 млн.

И это при том, что цены, предлагаемые «Роскосмосом», включают расходы на обучение и другие опции.

К слову, еще в 2006 году цена полета на «Союзе» составляла всего $21,3 млн, однако почти ежегодно повышалась. Если рассчитать среднюю цену, то получится, что один полет обходился NASA примерно в $55 млн. Примерно такую сумму и называет сейчас SpaceX.


Преступный сговор или глупость?


Но почему NASA так активно помогало корпорации Boeing, притом что такое поведение откровенно находится на грани коррупции? Скорее всего, реальных причин две.

Во-первых, две аварии, произошедшие с ракетами-носителями компании SpaceX в 2015 и 2016 году.

Взрыв Falcon 9 на стартовой площадке в сентябре 2016 года вызвал панику среди чиновников, решивших, что дни компании сочтены, а государственная программа под угрозой. Во-вторых, NASA изначально ставило на Boeing, не особо веря в амбициозных новичков. 


Всё это и привело NASA к чрезвычайно странному решению — заплатить корпорации Boeing $287 млн сверх суммы контракта. За что? Согласно данным аудита, объяснение таково: «для предотвращения перерыва в доступе астронавтов NASA к Международной космической станции». 


Как предполагают некоторые наблюдатели, Boeing банально начала шантажировать чиновников из NASA. Сначала корпорации «выписали» почти $300 млн, понимая, к каким проблемам это может привести. Затем у Boeing выкупили за $373 млн пять мест на российских «Союзах».

Корпорация получила их в качестве оплаты при продаже своей доли в проекте Sea Launch. Скорее всего, в случае неполучения денег в Boeing намекали на возможность немного затянуть сроки и поставить NASA в чрезвычайно неудобное положение либо вообще выйти из программы.

Другое объяснение подобной ситуации может быть только одно — коррупция.


Версия о шантаже подтверждается тем, что подобное уже случалось во время создания сверхтяжелой ракеты-носителя SLS (Space Launch System).

Проект отставал от графика, а NASA пыталось «потушить» проблему десятками и сотнями миллионов долларов сверх цены контракта.

Стоит ли говорить, что на сегодняшний момент SLS чрезвычайно далека от завершения и превратилась в один из грандиознейших долгостроев современной космонавтики.


Обида обид


Естественно, SpaceX не могла не отреагировать на ситуацию. Основатель компании миллиардер Илон Маск написал несколько гневных твитов, но, по большому счету, этим и закончилось. Ссориться с NASA, вне зависимости от их поведения, абсолютно не в планах SpaceX. Чтобы не оставаться в долгу, Boeing опубликовала открытое письмо: 


Автор цитаты

«Мы категорически не согласны с выводами доклада о ценах и готовности космического корабля CST-100 Starliner, и мы обязаны поделиться фактами с космическим сообществом и американской общественностью, которые пропустил Генеральный инспектор.

Каждый член команды Boeing лично заинтересован в безопасности, качестве и целостности того, что мы предлагаем нашим клиентам, и с самого первого дня команда Starliner работает в этой программе с обязательством создать такой космический корабль, которым будут гордиться и США, и NASA».


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



И что теперь?


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


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

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



В таких условиях данное вице-президентом США Майком Пенсом обещание, что американская команда астронавтов вновь высадится на поверхности Луны до 2024 года, кажется малореальным и не очень серьезным хвастовством.

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

Тем более что для полета на Луну требуется несколько стартов ракеты SLS и дополнительная модификации ее второй ступени, а шансы на то, что это будет сделано вовремя, тают день за днем.


Источник: https://iz.ru/950114/mikhail-kotov/kosmos-kak-kormushka-pochemu-amerikanskie-chinovniki-ne-veriat-v-space-x

Как безработный инженер создал космический стартап мирового уровня — Трибуна на vc.ru

Специалист космического масштаба: бывший программист НАСА создал сервис для финансовых компаний

Здравствуйте! Меня зовут Андрей Данилин — я инженер и технологический предприниматель. В этой публикации хочу рассказать историю моего проекта. Надеюсь, что она будет полезна всем, кто связан с инновационным бизнесом в сфере высоких технологий, а так же и для тех людей, кто только собирается запустить свой проект.

Это я на узле связи крупного нефтяного месторождения “ОАО Томскнефть”, май 2005 года. На этом месторождении работал инженером связи – мы внедряли самые современные на тот момент времени технологии связи. Андрей Данилин

Немного о себе

Образование: Томский политехнический университет — Электрофизический факультет (в 2010 году факультет был преобразован в Институт неразрушающего контроля); Новосибирский техникум связи — Радиосвязь, радиовещание и телевидение.

Профессиональный опыт: работал в крупных компаниях в сфере корпоративных систем связи, электроники и электроэнергетики. Инженер связи последнего крупного проекта НК «ЮКОС».

Имею опыт бизнеса и инновационной деятельности.

В 2011 году один из моих проектов вошел в топ-100 лучших инновационных проектов в номинации «Бизнес» во время проведения международного инновационного форума «Interra-2011» в городе Новосибирске. Увлекаюсь физикой.

Проект

Проект относится к сфере классической электродинамики. Презентация создана за день до введения ограничений в связи с коронавирусом, но актуальна с поправкой на дату проведения мероприятия в новосибирском Академпарке — сентябрь 2020 года:

Продвижение проекта

На дату запуска проекта свободных денег у меня не было — на тот момент времени я уже 5 лет был без работы, без зарплаты и никогда не получал пособие по безработице)) В первый рабочий день 2019 года (т.е 11 января) запустил краудфандинговый проект на платформе Planeta.ru:

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

Во время краудфандингового проекта пытался наладить взаимодействие с российскими высокотехнологичными компаниями и техническими университетами — везде получил отказ. В феврале 2019 года связался с американской компанией Tektronix — мировой лидер в сфере измерительного оборудования.

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

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

В сентябре 2019 года я посетил Технопарк Новосибирского Академгородка (Академпарк) — крупнейший научно-технологический парк в России. С Академпарком у меня давнее знакомство — в Академпарке много друзей и знакомых. Договорился об организации открытого мероприятия по моему проекту.

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

Очень удачно я попал в нужное место и время))

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

В качестве вознаграждений спонсорам я предложу спонсорские пакеты по всем необходимым категориям — титульный спонсор, генеральный спонсор, информационный спонсор. Частным спонсорам предложу вознаграждение стоимостью 2500 рублей — билет на мое мероприятие в Академпарке.

Подписчикам фб-страницы проекта — скидка в 5 раз)) Вот ссылка:

Да, кстати, чуть не забыл.

В сентябре 2019 года получил кредитную карту Тинькофф Банка — я документально показал ему свои доходы на основе финансовых поступлений от краудфандингового проекта)) Банк весьма заинтересовался моим проектом и предложил создать инновационную компанию — просто телепатия какая-то)) Буквально за два дня все документы были готовы — спасибо, Тинькофф! Компанию создам после мероприятия в Академпарке. Так, вроде пока и все. Увидимся))

Источник: https://vc.ru/tribuna/135131-kak-bezrabotnyy-inzhener-sozdal-kosmicheskiy-startap-mirovogo-urovnya

Бизнес
Добавить комментарий

;-) :| :x :twisted: :smile: :shock: :sad: :roll: :razz: :oops: :o :mrgreen: :lol: :idea: :grin: :evil: :cry: :cool: :arrow: :???: :?: :!: