- Программисты из SpaceX отвечают на вопросы про разработку – Журнал «Код»: программирование без снобизма
- На каком языке написана большая часть кода для ракет и корабля?
- Расскажите о своём стеке
- Мы знаем, что весь интерфейс на мониторах в Crew Dragon отображается с помощью движка Chromium и JavaScript. А кроме этого вы используете какие-то библиотеки и компоненты, и если да — то какие?
- Как работает система безопасности полёта?
- Как вы отслеживаете и исправляете ошибки, которые возникают во время полёта?
- Что будет, если во время полёта что-то пойдёт не по плану — например, если откажут двигатели или что-то подобное?
- SpaceX использует искусственный интеллект внутри своего ПО?
- Гвин Шотвелл — директор SpaceX. Когда космической компанией управляет инженер, а не журналист
- Космическая Гвин
- Чувствуете, да? Увлечённый человек, с соответствующим образованием и навыками, нашёл своё дело.
- Корабли и РН SpaceX
- двигатели SpaceX
- На чём пишут ПО для космических аппаратов?
- Как кодят в NASA?
- Как кодят в SpaceX?
- Как кодят в Роскосмосе?
- Конец
- На чём пишут в NASA?
- Короткий ответ
- Длинный (и более интересный) ответ от инсайдера
- Microsoft Visual Studio
- Eclipse CDT
- NetBeans
- CodeLite
- Code::Blocks
- Космос как кормушка: почему американские чиновники не верят в Space X
- Немного истории
- Современная ситуация
- Преступный сговор или глупость?
- Обида обид
- И что теперь?
- Как безработный инженер создал космический стартап мирового уровня — Трибуна на vc.ru
- Немного о себе
- Проект
- Продвижение проекта
Программисты из 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