http://ivan-gandhi.livejournal.com/3493927.html?thread=57238311#t57238311
Я общался со спутникостроителями, а также с любителями Ады (я не спрашивал где они работали, насколько я понимаю - военка).
Так вот если в двух словах, на спутниках ничего не верифицируют, но в правильных конторах у них есть стенды - софтверный эмулятор спутника и в особо правильных еще и хардверный эмулятор спутника (то есть буквально макет спутника, в котором есть часть исполнительных устройств и датчиков, и программа на нем отрабатывает какие-то этапы полета).
Софт у них реально очень простой, по сути компьютер обычно заменяет программный барабан (эта штука, которая управляет стиральной машиной автоматом, где механическое управление), там верифицировать практически нечего, потому что установки времени программистам передаются из других отделов - часто программист просто не знает что за цифры ему дали.
Да, еще в спутниках обычно встроен хардверный отладчик, в смысле по каналу телеметрии можно остановить бортовой компьютер, прочитать/записать регистры проца и ячейки памяти; периферию подергать, типа там предохранители попередергивать и прочие телодвижения сделать.
Проблему что пока компьютер висит может потеряться ориентация решают по разному, например у "Венер" была такая конструкция корпуса что его "автоматически" давлением солнечного света разворачивало так что низкоскоростной канал телеметрии мог работать даже без ориентации; "Вояджеры" летают с закруткой.
В ракетах вроде расклады несколько иные, но насколько я знаю из истории самого дорогого в истории софтверного сбоя, тоже никто нихрена не верифицировал, а просто взяли уже многократно отработавшие либы с Ариан-4 и попробовали использовать на Ариан-5, а там где-то была проверка на превышение диапазона и эта проверка тупо вывалила исключение и первый запуск закончился катастрофой.
Ну и собственно у ракеты расклад такой, что там есть математическая формула задающая трубку допустимых траекторий, и для каждой ступени есть диапазон ускорения которое эта ступень должна дать.
И задача софта рулить рулевыми движками чтобы идти в пределах трубки траектории и плюс временем работы выжать из нижней ступени максимум, а верхние вовремя отключить (топлива обычно с некоторым запасом на всякий случай, поэтому если выжимать всё то орбита будет слишком высокой), а собственно для определения когда вовремя, есть специальный интегратор ускорений, можно сказать спидометр, то есть вобщем тоже нечего верифицировать.
Да, в старых ракетах было еще проще - там даже не трубка траекторий была, а просто тупо вычислена на наземном компьютере кривая и управляющий компьютер должен был жестко вести по этой кривой, а отсечку по скорости делал внешний девайс, по-моему даже аналоговый (ну типа конденсатор накапливал заряд и как накопил то делалась отсечка).
Вобщем какой там ООП - там процедурно всё.
У любителей Ады не верификация, а что-то похожее на TDD - у них методология почти всегда водопад, и когда сверху приезжает ТЗ, то заранее известно какой диапазон значений могут принимать входные параметры ну и некоторые переменные тоже, и они просто создают под каждый параметр тип с ограничением диапазона а потом тестируют чтобы при работе проги переменные не вылезли за диапазон, плюс эмуляторы.
Теоритически можно ожидать что верификацию делают энергетики и химпром, и тут это как раз моя первая специальность, я живьем часть проектов видел и с людьми общался, но реально у них контроллеры часто эмулируют релейные схемы, и тоже методология водопад, так что там все проверки делаются на уровне главного инженера и/или архитектора и плюс закладывается некоторая избыточность средств защиты от ошибок, а потом во время эксплуатации объекта ошибки постепенно отлавливают (естественно вместе с аварийными отключениями).
На Маска выйти пока не довелось. Допускаю что у него несколько иначе, поскольку Маск автомобилист по образованию.
С самолетчиками общался, так у них автопилот совершенно тупая, но чувствительная машина, чуть кто на борту чихнет, он сразу отключается и больше рулить не пытается.
А эти которые "буран" делали, у них тоже был водопад, и они для типа верификации сделали язык графический, у которого программы являются чертежами, которые соответствуют требованиям госта на ЕСКД :))))
Мария является владелицей бара... В один прекрасный день она понимает, что практически все ее клиенты - безработные алкоголики, поэтому, она больше не может содержать бар, иначе разорится.
Чтобы решить эту проблему, она придумывает новый маркетинговый план, в соответствии с которым, ее клиенты могут пить сейчас, а платить позже.
Она записывает количество выпитого в специальные книги (тем самым предоставляя клиентам кредит).
О стратегии Марии "Пей сейчас, плати потом" начинает ходить слава, и в результате, в баре Марии увеличивается поток клиентов.
Вскоре ее бар показывает самые большие объемы продаж в ее городе, а перспективы выглядят радужными.
Предоставляя своим клиентам свободу от немедленного требования оплаты, Мария не встречает никакого сопротивления, когда, через регулярные промежутки времени, она существенно увеличивает цены на самые популярные напитки - вино и пиво.
Следовательно, увеличивается и объем продаж бара Марии.
Молодой президент местного банка понимает, что эти долги клиентов представляют собой ценный будущий актив, и увеличивает для Марии кредитование.
Он не видит никаких причин для беспокойства, поскольку в качестве залога у него есть долги алкоголиков.
В штаб-квартире банка трейдеры-эксперты придумывают способ заработать огромные комиссионные, трансформировав эти долги клиентов в Бухалооблигации и Алкооблигации. Затем эти активы начинают торговаться на международных рынках ценных бумаг.
Новые инвесторы не до конца понимают, что эти ценные бумаги, которые были проданы им в качестве ценных бумаг с наивысшим рейтингом В«АААВ» в действительности являются долгами безработных алкоголиков.
Цены на бумаги продолжают расти, и активы скоро становятся самыми быстро раскупаемыми позициями у ведущих брокеров страны.
Как-то раз, даже при том, что цены на облигации продолжают расти, менеджер по рискам того местного банка решает, что пришло время требовать платежи по долгам, накопившимся у алкоголиков в баре Марии. Об этом он сообщает ей.
Мария начинает требовать деньги у своих алкоголиков, но, будучи безработными, алкоголики не могут вернуть кредиты.
Поскольку Мария не может выполнять свои кредитные обязательства она вынуждена объявить дефолт. Теперь она банкрот.
Бар закрывается, и 11 сотрудников теряют работу.
За одну ночь Бухало- и Алкооблигации теряют в цене 90 процентов стоимости.
Объем обрушившейся стоимости этих активов уничтожает банковскую ликвидность, и препятствует выпуску новых займов, тем самым замораживая кредитование и всю экономическую активность.
Поставщики для бара Марии, предоставлявшие ей расширенные условия оплаты, инвестировали пенсионные фонды своих фирм в различные ценные бумаги. Они обнаруживают, что в данный момент столкнулись с необходимостью списания безнадежных долгов, и что потеряли свыше 90 процентов от предполагаемой стоимости облигаций.
Ее поставщики вина так же объявляют банкротство, закрывая семейный бизнес, который кормил три поколения. Ее поставщика пива выкупает конкурент, который немедленно закрывает местную фабрику и увольняет 150 рабочих.
К счастью, банк, брокерские фирмы и их руководство спасены многомиллиардным пакетом от своих дружков в правительстве.
Средства на этот спасательный пакет были найдены путем обложения налогами работающего среднего класса, который ни разу не заглядывал в бар к Марии.
«Кроме того, денежные суррогаты более конкурентоспособны по сравнению с легальными деньгами, что влечет их стремительное распространение. По экспертным оценкам, объем оборота денежных суррогатов в России уже достигает 1 процента от ВВП», — сказал Бастрыкин.
При превышении этого показателя более чем на 10% данный инструмент будет представлять реальную угрозу финансовой стабильности государства, подчеркнул глава СКР. «Ведь неконтролируемое расширение фактического объема денежной массы в обороте за счет суррогатов повлечет обесценивание и постепенное вытеснение с валютного рынка рубля. В результате государство может утратить монополию на эмиссию денег и доход от этой деятельности», — сказал он.
Охуительно.
Заебали уже эти леваки ебучие.
Look at all the biggest companies in the world, they are all based on the internet. Look at what they are selling: nothing. Facebook has no product. Airbnb, the biggest hotel chain in the world, has no hotels. Uber, the biggest taxi company in the world, has no taxis whatsoever.
http://motherboard.vice.com/read/pirate-bay-founder-peter-sunde-i-have-given-up
Парни, я вчера видел на улице лиспера. Ну вы знаете, как это обычно бывает - идет вам на встречу человек бомжеватого вида, а когда подходит ближе у него на лбу можно разглядеть 2 скобки и большую лямбду между ними.
Но в это раз передо мной был ребенок, на вид лет 14-16 от роду. И знаете, что самое удивительное? Мне стало его жалко. Чисто по-человечески жалко, вы понимаете. "Такой молодой, а уже лиспер" - на секунду подумал я и тут же отвернулся. Потом повернуля обратно и догнал юнца.
Как тебя зовут? Где ты живешь? Кто твои родители?
ERROR: Unbound variable: Как
Пришлось переспрашивать.
"Скобка. Как тебя зовут? Где ты живешь? Кто твои родители? Скобка. " -
"Мандрюшей меня зовут. Родителей нет, живу в парке Горького."
Скобка. Пошли ко мне, Мандрюша. Поживешь некоторое время у меня, накормлю, найду тебе работу и жилье на первое время. Скобка.
Нет, не пойду. Меня друзья-лисперы потеряют! Мы с ними каждую пятницу собираемся в Буране и читаем вслух SICP. А сегодня как раз пятница. Я не могу пропустить.
Загоревшись интересом посмотреть на это зрелище, я спросил, можно ли мне присуствовать. Получив утвердительный ответ, мы вдвоем направились в прямиком в парк Горького.
На месте сразу бросилось в глаза: привычная для этого места очередь на аттракцион куда-то пропала. Касса с билетами - тоже. Только внутри горел свет.
"Только тихо, и ничего не говори про теорию типов" - неожиданно предупредил Мандрюша.
"Хорошо" - сказал я.
Мы вошли внутрь. Сказать, что я сильно удивился - значит не сказать ничего. На стенах висели портреты разных известных лисперов, вроде Рича Хикки и Джона Маккарти, разбавляя бесконечное море листингов на лиспе и его диалектах. Нас ждало около 30 человек, чьим запахом, как мне тогда казалось, можно было травить тараканов. Среди них были женщины, дети и старики.
"И сказал Сассман: не продавайте Библий, а ловите лулзы! И да будет так! Пусть всегда будет так! Lambda!" - доносилось из хвостовой части.
"Но ведь Сассман - жид! Жид, родные, жид, ребята! Негоже жидам угнетать настоящих людей, нас, русских людей, построивших этот Буран, венец человеческого творения!" - воскликнул какой-то лысый толстяк поблизости. Из толпы сразу вышли несколько человек с горбатыми носами, которые вытолкали смутьяна на улицу.
ЭНе обращайте внимание, мои lambda-братья" - продолжал голос их хвоста - "Сегодня мы собрались обсудить построение абстракций при помощьи данных. Сестра с зелеными волосами, подойдите, возьмите книгу и читайте! Читайте же!"
"Ой вы знаете, я хочу сначала на листочке завести трекер, чтобы можно было отслеживать где я прочитала. Вы и сами можете отписываться на нем, отслеживая свои дела. Знаете, это должно быть очень весело!" - неожиданно ответила деловитым тоном невысокая девушка с необычно большими глазами и зелеными, как газон после дождя, волосами.
- Читайте уже, милая - сказал загадочный голос и девушка начала неспешно и размеренно читать вслух.
Пока она читала, я присмотрелся в Главного, который все это время находился в хвосте, внимательно: на нем была синяя футболка с изображением гну, борода с крошками, белые шорты, желтые резиновые тапки и длинные волосы. Он внимательно посмотрел на меня. "Вы, да вы, подойтите , пожалуйста сюда" - громко сказал он - "Я вас вижу на наших собраниях первый раз. Представьтесь пожалуйста! Расскажите, чем вы занимаетесь"
Я немного замялся, но просьбу выполнил - прошел в хвост, куда устремили свой взгляд все присуствующие.
Меня зовут Семен, я работаю в Microsoft, программистом - начал я.
А на каких языках вы пишите? - поинтересовался Главныйю
на C#, F#, Haskell - ответил я без задней мысли.
Вдруг наступила тишина. Девушка-чтец выранила книгу из рук. Мандрюша нервно скукожился. Глаза Главного налились кровью. Тишину прервал резкий крик из толпы: "СТАТИКОПЕТУХ, БРАТЦЫ! БЕЙ ЕГО". В меня сразу же полетели несколько советсикх калькуляторов МК-61, ящик котрых стоял рядом с кабиной пилота. Чудом уклонившись от них, я завернулся в монаду. Теперь лисперы не могли меня достать. "Кто его привел? Кто привел этого Статикопетуха?" - закричал главный - "пусть он тогда ответит за все!". Мандрюша икнул. Для него было все кончено. 30 лисперов сейчас стояли и смотрели на него, как на живой труп. Впрочем, Мандрюша про себя думал тоже самое. Резким рывком, я прыгнул через 3-х лисперов и оказался возле Мандрюши. " Скобка. Сейчас будет немного больно. Скобка. " сказал я и завернул его в Maybe-монаду. И снова наступила тишина. Злыми глазами на меня смотрели лисперы. Обалдевший от такой наглости на меня смотрел Мандрюша.
Тишину разрезал смех. "Вы не выйдете отсюда, глупые статикодилы! Какой-то статикодебил однажды пытался завернуть этот корабль в State монаду, и теперь вам нужен трансформер, чтобы выйти отсюда!".
Неожиданный поворот. В один миг все оказалось кончено. Развернуться из монады означало сдать себя на корм голодным лисперам. Не разворачиватья - просидеть в этом памятнике человеческой мысли до тех пор, пока кто-то не узнает про инцидент.
Неожиданно для всех, в носовой части открылась дверь и зашел тот самый толсяк, который до этого кричал про жидов.
Жиды, вы все жиды. Вы должны умереть чтобы очистить русскую землю от жидовской заразы! - закричал он и подключился с ноутбука к бортовому компьютеру.
Я написал специальный язык на лиспе, с помощью которого запущу это аппарат в космос! - еще более громко закричал он - Три! Два! Один! Пуск!
Громкий гул раздался в хвосте. В одно мгновение стало очень жарко. Дверь у кабины закрылась и космический аппарат поехал в сторону Крымского Вала. Немного оторвавшись от земли, он процарапал своим шасси несколько машин, стоявших в пробке у моста, упав из-за этого в реку.
Как сообщили потом новости, аппарат упал из-за того, что в управляющей программе случился сегфолт - сказался недостаток тестов для всех возможных вариантов RealWorld - не была учтена возможность тарана нескольких машин в пробке. Из всех невольных пассажиров выжило лишь двое - я и Мандрюша. После этого инцидента он больше не пишет на лиспе, нашел работу C#-девелопером и обходит других лисперов стороной. Я же пишу историю здесь по тому, что официальные СМИ ее умалчивают. Большинство новоствных агенств ссылается на личную просьбу некоего Давида Моисеевича.
Аноны, меня вдруг осенило, что всякое дрочево типа ФП и модных фреймворков нинужны и в 99% случаев мы занимаемся скучным говном.
Это норма. Большая часть программистской работы это айти-сантехника - создание машинных переводчиков с одного языка на другой (с HTTP-запросов в SQL-запросы и т.д. и т.п. в интерпрайзе программирование это сплошная серилизация и десериализация).
Когда программисты это понимают они придумывают новые языки и фреймворки чтобы быть сантехником было веселее - получается что ты совмещаешь рутинную работу и решение головоломки о том как соединить твои новые трубы причудливой формы чтобы по ним потекли данные. (есть правда ещё деталь - если сантехник изобретает новую трубу/фреймворк которая входит в моду у других прогрессивных сантехников то он может добавить это в своё резюме и требовать больше денег за свою работу). Больше всего в этом преуспели хаскеллисты которые сделали целый язык-головоломку в котором простейшие задачи требуют решения кубиков-рубиков абстрактной теории групп. Чтобы головоломки в хаскиле всегда оставались свежими постоянно выходят расширения его системы типов. Этот язык успешно распространяется тем же принципом что и головоломки "а тебе слабо решить? чё, тупой чтоли?".
Что делать с этим очевидно идиотским сложившимся состоянием отрасли? Выбирать самую простую работу которая приносит максимальное количество денег, желательно такую на которой можно часть времени сидеть в интернете и делать что хочешь. Откладывать деньги в застрахованные депозиты и другие инвестиционные инструменты чтобы однажды перестать быть завсимым от работы.
Я примерно так делаю, а настоящим интересным программированием занимаюсь в свободное время - пишу физические симуляторы, строю и программирую простых роботов из китайских серв и играюсь с машинным зрением.
С нульчана:
Местный плебс и не слышал о том что считается достойными задачами:
САПРы для разработчиков электроники содержащие алгоритмы для размещения миллиардов транзисторов на кристалле в соответствии с высокоуровневой спецификацией.
Системы управления роботами самых разнообразных типов, ракетами, БПЛА.
Алгоритмы распознавания образов, визуальных, звуковых, каких-либо ещё. (Это и есть распознавние лиц, речи и т.д.)
Обработка информации на естественном языке.
Планирование для принятия решений (в т.ч. составление расписаний) таким образом чтобы решения были оптимальными по заданному критерию.
Моделирование сложных технических и экономических систем.
Биоинформатика.
Список можно продолжать и продолжать, я затронул лишь малую часть релевантных тем.
Области информатики где сейчас действительно есть большой прогресс это машинное обучение, алгоритмическая теория информации.
Новые, эффективные алгоритмы разработаны для применения в компьютерном зрении и биоинформатике.
Ваша PLT всегда была на обочине, и совершенно заслуженно.
До чего же тупыми нужно быть чтобы не понимать того что Programming Language Theory это очень узкое подмножество Computer Science?