10 правил, які дозволяють NASA писати мільйони рядків коду з мінімальними помилками

image
Маргарет Гамільтон стоїть поруч з написаним їй вихідним коду бортового комп'ютера «Аполлона»
Лабораторія реактивного руху (Jet Propulsion Laboratory) — науково-дослідний центр НАСА, відповідальний за більшість безпілотних космічних кораблів США. Там пишуть багато коду, і права на помилку у них набагато менше, ніж у звичайних програмістів.
У JPL пишуть на Сі, і на їх сайті є документ "JPL Institutional Coding Standard", описує жорсткі стандарти кодування всередині організації. Вони нагадують правила програмування для вбудованих (embedded) систем і систем реального часу, з обмеженими ресурсами. Але багато з правил просто ці принципи хорошого програмування. Обмеження складності, максимальне спрощення для подальшого читання коду та налагодження, відсутність побічних ефектів. Ми в Хекслете постійно говоримо про це вебинарах і, звичайно, самих курсах. Ми вважаємо дуже важливим якомога раніше піднімати ці теми, тому про функції і побічні ефекти починаємо говорити в самому першому курсі «Основи програмування», який розрахований на новачків. Це безкоштовний курс, до речі, і в ньому є практика на мові JavaScript.
В документі JPL є багато правил, але користувач Реддита вичавив десяти головних принципів. Ось переклад цього списку.
Читати далі →

НАСА оголосило конкурс проектів марсіанської бази

    
 Один з проектів, представлених на конкурс
 
Лабораторія реактивного руху НАСА (JPL) спільно з виробником 3D-принтерів MakerBot оголосили конкурс проектів марсіанської бази MakerBot Mars Base Challenge . У конкурсі може взяти участь будь-який користувач сайту Thingiverse, незалежно від місця проживання та освіти.
 
Читати далі →

Гальмуємо разом з NASA JPL

  Корисна таки річ, цей парашут! І пілоту життя врятувати може, і гуманітарну допомогу доставити куди потрібно. А особливо цікавих — навіть на сусідню планету посадити. Парашути в космонавтиці — окрема, заслуговує уваги тема.
Під катом я розповім, а скоріше покажу останні досягнення NASA у випробуванні нових «гальмівних» моделей.
 
 
Читати далі →