Здравствуйте, so5team, Вы писали:
S>Сомневаюсь, что на российских АЭС вообще применяется софт, разработанный на Ada (как и сильно сомневаюсь, что есть российские сертифицированные для подобных нужд компиляторы Ada). Применение Ada нужно искать на американских/европейских станциях. Типа вот такого: http://archive.adaic.com/projects/atwork/nuclear.html
В России Ада не сильно популярна. У нас в военной и космической сфере, кроме C и C++, вроде бы Модула и Оберон ещё используются. Встречал упоминание о них в какой-то статье, но по этим воспоминаниям ничего нагуглить не получается.
Здравствуйте, Nuzhny, Вы писали:
N>Даже в России используется, неожиданно.
Угу, на самолетике БЕ-200 для тушения лесных пожаров. Судя по истории по ссылке, они планировали этот самолетик в Штаты продавать, поэтому озаботились соответствующей сертификацией.
Здравствуйте, Pzz, Вы писали:
Pzz>Угу, на самолетике БЕ-200 для тушения лесных пожаров. Судя по истории по ссылке, они планировали этот самолетик в Штаты продавать, поэтому озаботились соответствующей сертификацией.
Здравствуйте, Ночной Смотрящий, Вы писали:
V>>Это который с фиксированной точностью 100 нс? V>>Уже десяток лет назад аппаратные таймеры шли с 10-нс разрешением, сегодня в среднем 1 нс. НС>Очень актуально в свете того, что надо в конфигах хранить секунды и минуты.
Почему TimeSpan плох для хранения минут — я тоже упомянул.
Здравствуйте, Nuzhny, Вы писали:
N>Здравствуйте, Pzz, Вы писали:
Pzz>>Угу, на самолетике БЕ-200 для тушения лесных пожаров. Судя по истории по ссылке, они планировали этот самолетик в Штаты продавать, поэтому озаботились соответствующей сертификацией.
N>Там же рядом Туполев и Илюшин.
А Туполев, Ильюшин и Бериев сами софт разрабатывают или заказывают у кого-нибудь? Может быть для них один и тот же подрядчик ПО писал?
Здравствуйте, Kswapd, Вы писали:
_>>значительная часть там написана конечно же не на Go, а на банальном ассемблере, отдельно под каждую платформу: https://github.com/golang/go/tree/master/src/runtime. K>Всё-таки, справедливости ради, ассемблер этот не банальный, а переносимый Go-ассемблер. Гениальное решение; по крайней мере, никто не станет писать на нём высокоуровневый код, как это случилось с другим языком, носившем прозвище "переносимый ассемблер".
Эм, а что тут подразумевается под переносимостью "Go-ассемблера"? Между чем и чем он переносим? )
Здравствуйте, Pzz, Вы писали:
_>>Хы, у Go нет рантайма в том смысле (виртуальной машины), в котором это слово упоминалось в контексте выше — он компилируется сразу в машинные коды. Но если же говорить в широком смысле слова (в котором рантайм есть и у C/C++), то значительная часть там написана конечно же не на Go, а на банальном ассемблере, отдельно под каждую платформу: https://github.com/golang/go/tree/master/src/runtime. Pzz>На асме там написан стартап, очень низкоуровневые процедуры, типа доступа к TLS, которых там совсем немного, и процессорно-специфические оптимизации. Pzz>Для x86, например, там всего полторы тысячи строк ассемблера, включая коментарии. Причем туда еще зачем-то и AES запихнули. Pzz>В сишном рантайме доля ассемблера и его назначение примерно такие же.
Так я и не говорил, что "на ассемблере — это плохо". ) Я говорил лишь то, что оно не целиком на Go (как утверждал ты).
Здравствуйте, Pzz, Вы писали:
_>>Это само собой. Но ты же говорил, что у тебя перловский скрипт работал столько же, сколько и C++ программа с отключённым освобождением памяти. А это уже однозначно намекает на какой-то косяк в коде. ) Pzz>Каким образом намекает? Перловский скрипт и C++ программа без освобождений отрабатывали быстро, но я не заморачивался с миллисекундной точностью мерить. C++ с освобождениями отрабатывал ОЧЕНЬ медленно.
Ну фраза "Кстати, аналог этой програмки, написанный на перле, отрабатывал за те же полсекунды" как бы подразумевал собой определённые замеры. Ну да ладно, если в итоге оказалось, что про равенство ты для красного словца сказал, то тогда вопрос больше нет. )
Интересно. Частично я прав (в списке явно доминируют амерские вояки), но только частично, т.к. есть и ещё много других применений. Особенно удивили пункты с Ил-96М и Ту-204... Никогда не слышал о практическом применение этого языка в наших самолётах. Хотя книжки на русском по нему регулярно выходили, но и только.
Здравствуйте, so5team, Вы писали:
L>>Над PLC сидят АСУТП (читай SCADA) — наиболее распространненые в мире SCADA системы написаны на плюсах, а то и шарпе.
S>Я привел ссылку. Она подтверждает, что Ada используется в энергетике. Утверждений о том, что Ada широко используется в энергетике, что кроме Ada в энергетике ничего больше не используется, что на Ada пишутся наиболее критичные места и пр. не было. S>О чем спор?
В том, что этот язык подается как некая панацея или прям священный грааль.
На деле он, может быть, и используется. У меня есть подозрение, где, как и почему, но опять же — сам не видел, поэтому спекулировать на пустом месте не буду.
Однако за свое время работы в энергетике я ничего, отличного от C/C++, внутри компонентов систем управления, непосредственно стоящих передо оборудованием или являющихся частью их, так и не удостоился чести увидеть.
Здравствуйте, landerhigh, Вы писали:
L>В том, что этот язык подается как некая панацея или прям священный грааль.
Ну да, так прямо про панацею и священный грааль и было написано: "Формально говоря, есть еще и Ada."
Т.е. с формальной точки зрения в той же нише, где живут и здравствуют (и будут жить и здравствовать еще долго) C, C++ и Rust, есть еще и Ada. Т.е. она есть. Где-то.
Здравствуйте, alex_public, Вы писали:
_>Ну фраза "Кстати, аналог этой програмки, написанный на перле, отрабатывал за те же полсекунды" как бы подразумевал собой определённые замеры. Ну да ладно, если в итоге оказалось, что про равенство ты для красного словца сказал, то тогда вопрос больше нет. )
Какое-то время уходит чисто на запуск процесса с подгрузкой всех его запчастей. Если бы меня интересовали точные замеры, я бы измерял время от начала main'а до выхода из программы. Меня такая точность не интересовала, поэтому я этим не занимался.
_>Так ты уже пишешь это сообщение из браузера, написанного на C? Если ещё нет, то беги срочно писать вменяемую замену на C! А то ведь непорядок какой-то, весь мир сидит на не правильно написанных продуктах.
Браузер-десктопная софтина. Для меня десктопное ПО-это не показатель вообще ничего.
_>Эм, а что тут подразумевается под переносимостью "Go-ассемблера"? Между чем и чем он переносим?
Между архитектурами. Так называемый Go-ассемблер является абстрактным низкоуровневым языком, в который превращается код на языке Go в процессе компиляции. При желании можно вывести текстовое представление, нечто вроде такого (взято с сайта go-internals):
AG>Почему же? AG>Тот факт, что человек пишет код отлично уже говорит о наличии и мозгов, и навыков. AG>Что же мешает подтянуть элементарные (ИМХО — глубоких то и не надо) знания предметной области?
Как раз глубокие и желательно. А относительно неглубокие это просто маст.
AG>Или здесь просто речь идёт о жадности работодателя, который хочет сразу всё в одном флаконе человеке, да ещё и за миску риса
Нет, платят вполне пристойно. И однозначно работодатель хочет нанять того, кто наиболее эффективно может двигать продукт вперед. А для этого нужно понимание предметной области.
AG>P.S. Всё-равно разработчик софта должен работать бок о бок со специалистом предметной области. AG>Именно это и является залогом успеха разработки.
У нас так не работает. И в других компаниях где я работал в этой области это не работает.
Чем больше ты понимаешь и можешь сам придумать, тем лучше.
Все понять невозможможно, поэтому всегда есть какая-то специализация. И есть люди, которые вообще криво код пишут, изрядно криво. Но им простительно, они большую часть времени в матлабе проводят.
DB>Ничего не мешает. Но для некоторых предметных областей может потребоваться довольно много времени, чтобы человеку можно было поручить что-то серьёзное и ответственное. В некоторых случаях такого запаса времени нет.
Именно.
А еще, написать код это процентов 20% дела максимум.
А остальное это либо найти а в чем же проблема. И поиск это не отладчиком пройтись. Там и TCP заморочки, и wireless протоколы, и куча параллельных алгоритмов для управление RF частью и кто из них кокретно здесь лажает. Сначала просто понять а в чем же проблема по симптомам уже полдела.
Либо придумать а что же вообще надо делать, чтобы иметь возможность конкурировать. Причем маркетинг этого не скажет, они сами не знают что же можно сделать, только в общих чертах направление.
В результате приходим к тому, что умение писать код это малая часть. Понимание предметной области и сложнее и важнее для бизнеса.