IT в России и мире в реалиях мирового кризиса

1,401,210 8,469
 

Фильтр
adolfus
 
Слушатель
Карма: +18.97
Регистрация: 12.02.2010
Сообщений: 12,011
Читатели: 2
Цитата: TAU от 04.03.2016 21:31:20В НПЦ АП имени Пилюгина для программирования систем управления ракет действительно используется ГРАФИТ/ФЛОКС (ГРАФИТ - изначальное название этой технологии в НПЦ АП, под "засекреченным" Вы, скорее всего, имели в виду ФЛОКС). Используется наряду с другими языками, например, проблемно-ориентированным языком "У".

Судя по презентациям автора, статьям и докладам, ДРАКОН является сугубо проблемно-ориентированным языком. Опрос регистров и памяти разных железок, анализ и выдача им команд. Рожден во времена проникновения ibm pc/at  в СССР и расцвета окнодоса. Наверняка ориентирован на какую-нибудь встраиваемую платформу, на которой идет одна задача, зашитая в пзу. Что-то вроде генератора простеньких программ для контроллеров.
Сама система похожа на визуальный генератор конечных автоматов. При этом в его презенатциях обойдены все вопросы, связанные с конкретными деталями -- предполагается, что элементарный функционал, типа обработки конкретного прерывания или инициализации контроллеров, написан на ассемблере и/или си. Вот если бы он продемонстрировал, как расправляется с программированием каскада i8259-ых или аналогов на входов этак двадцать, но мы видим поллинг и только поллинг. Особенно смешно выглядят временные задержки после выдачи команд -- т.е. вызовы не ждут завершения, не пользуются прерываниями, а просто сразу возвращают и после этого нужно ждать энное количество секунд, пока стабилизируется, например, напряжение или остановится мотор.
  • -0.01 / 1
  • АУ
Lapsha
 
Слушатель
Карма: -2.16
Регистрация: 10.01.2016
Сообщений: 356
Читатели: 0
Цитата: TAU от 04.03.2016 21:23:40По поводу 1. Там фигурирует своеобразный термин "Department of Defense software". Подозреваю, под него не попадает весьма большая часть ПО, используемого в военной сфере. Весьма показательно использование КОБОЛа, языка бизнес-приложений. Опять же рискну предположить, что термин "DoD software" обозначает некое управленческое ПО собственно министерства.


Подозревать и предполагать можно что угодно.

Однако в реальности Ада используется именно для "железяк": оружейные системы, критичные по эффективности команды, управление, передача данных, интеллектуальные системы.

Цитата: ЦитатаToday, Ada is the most commonly used language for mission-critical defense software, which includes weapon systems and performance-critical command, control, communications, and intelligence (C3I) systems.


http://www.nap.edu/read/5463/chapter/3

А вот всякий офисный софт в МО (за исключением чисто военного) может быть любым. Скорее всего MS, как и везде.


Цитата: Цитата: TAU от 04.03.2016 07:23:402. Вы представляете себе долю "старых железяк" в армии, ВМС, ВМФ? Причем их ПО нужно продолжать совершенствовать и дорабатывать.


Понятия не имею.

А так же не имею никакой информации, что они там делают с железками при модернизациях. Не думаю, что в боеспособном состоянии сейчас есть хоть одна старая железка, не прошедшая суровую модернизацию. Читал что-то про Ф-15, у которых заменили практически все, и уже по нескольку раз.

Цитата: Цитата: TAU от 04.03.2016 07:23:404. Мягко говоря, это не так.
Ну и, наконец, как бы Вы соотнесли свои утверждения "почти ничего кроме Ады не осталось" с всем известными фактами разработки ПО Ф-35 на С/С++ и ПО марсохода Curiosity аналогично? Вроде бы "свежие" разработки.


Если судить по динамике, это должно быть так.

Или у Вас есть какие-то разведданные, это опровергающие?
В 2008-м все продолжало катиться по той же колее:
https://gcn.com/articles/2008/04/11/the-return-of-ada.aspx

Да, в Ф-35 "для существенного ускорения разработки софта" решили все делать на С++. Думаю, это было сделано по упоминаемому рецепту: с официального разрешения министра обороны. Результат впечатлить не замедлил. Опять же предположения: все нескладухи от говенного управления разработкой, как это всегда и бывает. разработка софта для военных железяк и для остальной индустрии несколько разнятся. Говоря лурковским языком, разнятся чуть более чем полностью.
Софт для Раптора (Ф-22) делался на Ада.

Как показывает практика, С++ не очень хороший выбор для создания реально критического софта. С - другое дело.

Марсоходы изначально интернациональный проект. Ну, некоторая часть. На них есть и российские железяки. Естественно в таком случае выбрать основой самый распространенный язык для лучшего сопряжения разных дивайсов, разработанных где попало.
Отредактировано: Lapsha - 07 мар 2016 23:43:03
  • +0.00 / 0
  • АУ
Поверонов
 
Слушатель
Карма: +38.59
Регистрация: 05.06.2010
Сообщений: 19,882
Читатели: 8
Цитата: Lapsha от 07.03.2016 20:39:33...
Как показывает практика, С++ не очень хороший выбор для создания реально критического софта. С - другое дело.
...

Есть Objective-C - на нем пишут в Apple.  А C++ - выбор мелкомягких.
  • +0.00 / 0
  • АУ
Lapsha
 
Слушатель
Карма: -2.16
Регистрация: 10.01.2016
Сообщений: 356
Читатели: 0
Цитата: Поверонов от 08.03.2016 08:53:24Есть Objective-C - на нем пишут в Apple.  А C++ - выбор мелкомягких.

Выбор мелкомягких Visual C++, а C++ применяется очень много где: Линухи/Юнихи и пр. Плюс практически все графические оконные оболочки.

Чистый C плохо дружит с развесистой графикой.

Да, у мелкомягких с их .NET при леплении нетленок именно под Win гораздо удобнее Шарп, чем собственно VC++. 
  • +0.01 / 1
  • АУ
Pnb
 
Слушатель
Карма: +3.12
Регистрация: 21.01.2009
Сообщений: 785
Читатели: 0
Тред №1068977
Дискуссия   291 5
Цитата: TAU от 04.03.2016 00:56:59Увы! Приведенное в цитате - яркая иллюстрация уровня развития... Вот именно, что программер.
Нужно четко различать программеров  и  инженеров-программистов...

Чем отличается инженер-программист от программиста? Примерно тем же, чем автолюбитель отличается от шофера-профессионала. Первого волнует то, куда и зачем он едет, а не сам процесс езды. И что он будет делать там куда приедет. А езда для него - необходимое зло. Чем ее меньше, тем лучше.

Можно предположить, что 90% если не больше программистов заняты так называемыми бизнес-приложениями. Эти приложения переписывают информацию из одного места в другое почти без изменения.
Вычитал из менюшки - вписал в базу. Прочитал из базы - передал по сети. Получил по сети - вписал в другую базу. И т.д.
Ну вот, чтобы от непроходимой тупости такого занятия они не стрелялись в массовом порядке, им и предлагают для развлечения различные языки программирования. Вроде как освоил новый язык, что-то новое в жизни. Вырос профессионально.

Второе, откуда берутся все эти новые языки. В штатах еще осталась и жива школа написания новых языков и новых компиляторов. Если не будет спроса на новые языки, это дело умрет. А тогда и во всем мире умрет.
Так что здесь у амеров "бремя белого человека" / единственной сверхдержавы, они вынуждены отстегивать что-то на новые языки чтобы все это было живое.

Поэтому появление Ады, в частности, легко объяснимо.
Цитата: Lapsha от 03.03.2016 18:52:23армейцы в Штатх и НАТО пользуют язык Ада, а не С/С++.


Зачем нужен Пентагону свой собственный язык программирования? А зачем нужна российским госструктурам своя ОС? За тем же самым.


Цитата: Superwad от 03.03.2016 08:26:16набор кода (набивка текста) 17 %, отладка 70 %.

Вообще-то основное время уходит на то чтобы думать. А не на то чтобы по клавишам бацать.

Нормально так: 70% обдумывание - проектирование, 15% набивка-правка текста, 15% отладка. Если отладка занимает 70%, то это просто означает что вы сначала что-то сбацали, а потом начинаете думать, почему виснет.

Программы виснут у программиста потому что он сам нихрена не понимает, что же он там такое напрограммировал.

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

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


Цитата: Superwad от 03.03.2016 07:11:552. Грамотный программист оформит код как положено, а профи - с комментариями. Квалификацию программера никто не отменял.


Цитата: Lapsha от 03.03.2016 07:40:06В теории - да.

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


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

Бейте по рукам сучонка за код без комментариев. Хотя он сам себя и считает "хорошо квалифицированным кодером", заявляет, что "у него нет времени на эпистолярные отвлечения", и он лучше "займется чем-то более интересным".
Пока молодой. Когда заматереет, нужно будет вообще руки нахрен отрывать.

Потому-то этот код и открытый, что это быдлокод. Берите, не жалко.

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

В одной фирме, где я когда-то работал, были корпоративные стандарты оформления кода на С. Правила расстановки пробелов, скобок, табуляции, наименования переменных, констант, функций, объектов (где большие и где маленькие буквы, где подчерки и т.д.).
Написанный и отлаженный код сдавался другой группе на проверку оформления, в том числе и на наличие комментариев.

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

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

П.С.
Вот для сторонников программирования на С в стиле с goto  меткой quit: [оказывается, такие еще есть. Ну надо же] хочу поделиться таким макросом:

Скрытый текст
Отредактировано: Pnb - 08 мар 2016 20:17:47
  • +0.07 / 8
  • АУ
adolfus
 
Слушатель
Карма: +18.97
Регистрация: 12.02.2010
Сообщений: 12,011
Читатели: 2
Цитата: Lapsha от 08.03.2016 09:52:22Выбор мелкомягких Visual C++, а C++ применяется очень много где: Линухи/Юнихи и пр. Плюс практически все графические оконные оболочки.
Чистый C плохо дружит с развесистой графикой.

Как раз с точностью до наоборот. OpenGL, включая все, что с ним ему в помощь, тому подтверждение -- просто лезем в хидеры и смотрим что почем. Это что касается именно графики.
Насчет интерфейса. Документы CUA не относят окна, кнопки, прокрутки, списки, поля ввода и всю остальную трихомудию к графическому интерфейсу. Графический интерфейс -- это тот, который имеет сугубо пиксельный ввод. Фотошоп, гимп, автокад -- вот там графический интерфейс. Вы "берете" точку и меняете ее положение или атрибуты -- вот это графический интерфейс.
Тем не менее, WPS -- непревзойденный до сих пор настоящий объектный десктоп IBM OS/2 , написан на C. Для того, чтобы он был таки объектным, была разработана специальная штука -- язык описания интерфейсов IDL и системная объектная модель SOM. Параллельно на основе IDL командой конкурентов разрабатывалась CORBA.
С++ в его чистом виде не имеет никаких встроенных средств для реализации даже элементарной объектной модели, которая явялется базой любого десктопа. Иначе не появился бы QT, который представляет собой громоздкие объектные костыли  для этого самого С++, чтобы хоть какой-нибудь объектный элемент проявился на рабочем столе КДЕ.
  • +0.01 / 1
  • АУ
adolfus
 
Слушатель
Карма: +18.97
Регистрация: 12.02.2010
Сообщений: 12,011
Читатели: 2
Цитата: Pnb от 08.03.2016 17:07:491) Зачем нужен Пентагону свой собственный язык программирования?
2) А зачем нужна российским госструктурам своя ОС? За тем же самым.

1) Появление Ады вызвано стремлением сократить затраты на разработку и эксплуатацию сложного ПО для систем с высокими требованиями к надежности. И у нее это получается. Поэтому Ada -- один из четырех языков, на долю которых приходится по разным источникам от 95 до 98 процентов софта, на котором держится современный мир.

2) Российским госструкутрам нужна своя, в смысле, полностью контролируемая ОС, чтобы повысить уровень информационной безопасности -- прямые и косвенные потери от использования проприетарного софта и прошивок, контролируемых вероятным противником не менее, чем полностью (через IBM и Oracle, как минимум), превышают все мыслимые затраты на разработку и развитие своих.
Правительству, ПМСМ, следует создать децел команд и организовать их в консорциум под своим жестким контролем. Команды, полностью финанисируемые государством, присоединились бы к тестированию и разработке линукс-ядра, системного софта и наиболее востребованных  приложений. Параллельно с этим нужно разрабатывать несколько смежных дистрибутивов -- серверный, десктоп, и другие, помельче. Не забыть про встраиваемое, для чего потребуется ядро жесткого реального времени. Здесь тоже несколько классов -- от вертикальных систем, типа QNX, до гипервизорных, обрабатывающих на низком уровне потоки событий, и распределяющих их обработку по сотням узлов. Как и в области производства вооружений, можно выпускать варианты для себя и верифицируемые варианты на экспорт.
  • +0.06 / 6
  • АУ
adolfus
 
Слушатель
Карма: +18.97
Регистрация: 12.02.2010
Сообщений: 12,011
Читатели: 2
Цитата: Pnb от 08.03.2016 17:07:49Потому-то этот код и открытый, что это быдлокод. Берите, не жалко.

Ну да, gcc -- это быдлокод, а VisualStudio -- шедевр программирования.
Что-то в ТОП-500 суперкомпьютеров сплошь быдлокодеры пролезли.
Вот, например, интернет на быдлокоде выстроен. Какой-то странный быдлокод, не находите?

 

 
  • +0.03 / 3
  • АУ
Jack Doe
 
Слушатель
Карма: +0.28
Регистрация: 16.04.2014
Сообщений: 20
Читатели: 0
Си и графика
Дискуссия   634 30
Заблуждение, что на Си нельзя написать API для работы с графикой/окнами в объектной модели.
Можно, есть примеры реализаций: WinAPI, GDK/GTK, реализация протокола X11 в XFree86, а затем в X.org.
 
Писать на Си в псевдообъектном стиле весьма несложно: сначала определяются структуры данных (например, typedef struct _point {...} point_t). Затем определяются функции работы над этими структурами, которые в объектном языке были бы методами класса point_t. Именуются функции префиксом класса, в данном случае point (например, point_draw()). Инкапсуляция, имена пространств, группировка данных и алгоритмов - отсутствующие выразительные средства берутся из головы программиста.

Мораль такова. Нечеткость приоритета алгоритмов над данными (или наоборот) - это яркий пример того, что ООП в свое время стало классической маркетинговой серебряной пулей. Форсирование ООП воплотило много монстров и извратило много неокрепших умов, но сейчас, слава богу, наметился выход - мода на функциональные языки уже переломила тренд ООП, а ожидаемое их фиаско приведёт к пересмотру выразительных средств ЯП вообще.

Я не призываю фигачить код в таком стиле, я лишь обращаю внимание на две вещи: 1) оптимально продуманная семантическая система лаконична и выразительна одновременно (касается не только языков, но и API); 2) мыслите критически, умейте выделить суть, распознавайте маркетинговые обманки.
  • +0.03 / 3
  • АУ
Superwad
 
belarus
Минск
51 год
Слушатель
Карма: +73.54
Регистрация: 27.02.2012
Сообщений: 2,641
Читатели: 0
Цитата: TAU от 04.03.2016 21:31:20А! Ну, давайте я займусь Вашим ликбезом как достаточно активный участник того самого форума.
В НПЦ АП имени Пилюгина для программирования систем управления ракет действительно используется ГРАФИТ/ФЛОКС (ГРАФИТ - изначальное название этой технологии в НПЦ АП, под "засекреченным" Вы, скорее всего, имели в виду ФЛОКС). Используется наряду с другими языками, например, проблемно-ориентированным языком "У".
Кроме того, ПО для ракет и разгонных блоков в нашей стране создается и в других местах. Например, в НПОА в Екатеринбурге.

Поэтому утверждать, что при написании ПО для ракет ничего не используется, помимо ДРАКОНа - неверно.

Большое спасибо за ликбез. Я как раз и говорил, что ДРАКОН используется в СВЯЗКЕ с другими языками. Да и назначение ДРАКОНа совсем другое, чем у компилятора, что я и хотел донести до участников этого форума - он служит для ИСКЛЮЧЕНИЯ ЛОГИЧЕСКИХ ОШИБОК. Но народ этого не понимает.
  • +0.00 / 0
  • АУ
Superwad
 
belarus
Минск
51 год
Слушатель
Карма: +73.54
Регистрация: 27.02.2012
Сообщений: 2,641
Читатели: 0
Цитата: LightElf от 04.03.2016 11:00:46Они же на богомерзком C написаны! Не по феншую! Как можно? Доколе!Улыбающийся
А кроме шуток: слабо аналог паскалевской WriteLn на паскале написать?

Может его и переписали со временем, но начинал он на Delphi да ещё и был доступен в исходниках в своё время.
  • +0.00 / 0
  • АУ
Superwad
 
belarus
Минск
51 год
Слушатель
Карма: +73.54
Регистрация: 27.02.2012
Сообщений: 2,641
Читатели: 0
Цитата: Alexxey от 04.03.2016 12:03:10У Вас именно к фигурным скобкам такая неприязнь или вообще ко всяким?

Да не. Просто это НЕ ЧИТАБЕЛЬНО при отладке. Особенно если отлаживает другой человек. На отладке больше всего времени гробится. Вот и веся "непрязнь". У меня программирование не является основной работой, но очень сильно в ней помогает и у меня нет много времени на отладку, поэтому я подбираю инструментарий, который с минимальными затратами выдаст необходимый результат. И да, работа с БД + генератор отчета - это большая часть моих программ. Да и работа с БД - это очень удобно, особенно можно много чего придумать при работе с БД с подпиской на событияУлыбающийся Посему Lazarus на сегодня для меня очень приемлемый инструментарий, а  с Си я бы затрахался, хотя... Я работал с разными языками, но object pascal как-то мне больше приглянулся, есть в нем своя красота, своя мощь. А вот Delphi+CnPack - это вообще бомба, если бы ещё это портировали под Лазаря, я выл бы на седьмом небе от счастья.
  • +0.03 / 2
  • АУ
Superwad
 
belarus
Минск
51 год
Слушатель
Карма: +73.54
Регистрация: 27.02.2012
Сообщений: 2,641
Читатели: 0
СМИ: у американского истребителя F-35 нашли критический недочет
Источник: http://m.ria.ru/world/20160308/1386876028.html?rubric=sys_daynews&sort=sortkey

Систематические ошибки в программном обеспечении американского самолета сообщают о том, что радар работает со сбоями или вообще отключается. Из-за этого истребитель становится фактически "слепым", пишет американское издание IHS Jane's Defence Weekly.

Полный текст

КОММЕНТАРИЙ:

Эта музыка будет вечной, если в ней заменить батарейки (с) Жуки.
Отредактировано: Superwad - 09 мар 2016 18:37:52
  • +0.00 / 0
  • АУ
TAU
 
Слушатель
Карма: +53.40
Регистрация: 24.07.2008
Сообщений: 4,227
Читатели: 0
Цитата: adolfus от 07.03.2016 14:19:471. Судя по презентациям автора, статьям и докладам, ДРАКОН является сугубо проблемно-ориентированным языком.
2. Опрос регистров и памяти разных железок, анализ и выдача им команд.
3. Рожден во времена проникновения ibm pc/at  в СССР и расцвета окнодоса.
4. Наверняка ориентирован на какую-нибудь встраиваемую платформу, на которой идет одна задача, зашитая в пзу.
5. Что-то вроде генератора простеньких программ для контроллеров.
6. Сама система похожа на визуальный генератор конечных автоматов.
7. При этом в его презенатциях обойдены все вопросы, связанные с конкретными деталями
8. элементарный функционал
9. если бы он продемонстрировал, как расправляется с программированием каскада i8259-ых или аналогов на входов этак двадцать
10., но мы видим поллинг и только поллинг.
11. Особенно смешно выглядят временные задержки после выдачи команд

Итак, разберу вас "по косточкам".
1. Неверно. Если бы вы действительно почитали Парондажнова, сразу бы обратили внимание, что он последовательно и настойчиво продвигает ДРАКОН в качестве универсального инструмента описания бизнес-процессов, "гибридного" программирования (ДРАКОН-Си, ДРАКОН-Оберон, ДРАКОН-ассемблер и т.п.) на различных платформах, причем в качестве языка "общего назначения", иными словами, универсального.
2. Пренебрежением веет. А зря. Ведь "опрос памяти железок и выдача им команд" - описание основной функциональности приложений критической важности. Работающих в режиме реального времени, позволю напомнить, обуславливающим целый ряд сложностей, невиданных в "вычислительном мэйнстриме". Да и логика приложения может быть весьма непростой...
3. Это-то каким боком? Или вы как модница (стилист), ака блондинка? Не самое новое - значит, плохое?
4. См. пункт 1. Если говорить о ГРАФИТе, он действительно создавался для Бисер'ов. Но ДРАКОН не ориентирован на какую-либо одну платформу.
5. См. пункт 2. "Простенькие", говорите, у контроллеров программы? Зато важные и с такими требованиями к надежности, кои коммерческому софту и не снились. "Мал, да уд ал".
6. Ну и? Сами слова "конечный автомат" считаете ругательством? Выдает лишь вашу личную... ограниченность.
7. По поводу конкретных деталей ГРАФИТа - что вы хотели от сотрудника режимного предприятия??? Если о ДРАКОНе, то, напротив, очень много опубликовано. И на сайте drakon.su примеры в том числе присутствуют достаточно детализированные.
8. Формулировка опять же выдает лишь вашу собственную определенную... малограмотность. См. определение понятия "функционал" в энциклопедии. Набор функций именуется функциональностью.
9. Не вижу никаких принципиальных проблем написать подобное средствами ДРАКОНа... Опять же - см.примеры на drakon.su и http://forum.easyelectronics.ru 
10. Открою маленькую тайну. Прерывания там есть.
11. Особенно смешно выглядят попытки выглядеть "всезнайкой", свысока взирающим на усилия "простых смертных". Смешно и печально, но - увы! - достаточно распространено в среде программеров.
  • +0.03 / 2
  • АУ
TAU
 
Слушатель
Карма: +53.40
Регистрация: 24.07.2008
Сообщений: 4,227
Читатели: 0
Цитата: Lapsha от 07.03.2016 20:39:331. А так же не имею никакой информации, что они там делают с железками при модернизациях. Не думаю, что в боеспособном состоянии сейчас есть хоть одна старая железка, не прошедшая суровую модернизацию. Читал что-то про Ф-15, у которых заменили практически все, и уже по нескольку раз.

2. Если судить по динамике, это должно быть так. Или у Вас есть какие-то разведданные, это опровергающие?
В 2008-м все продолжало катиться по той же колее:
https://gcn.com/articles/2008/04/11/the-return-of-ada.aspx

3. Как показывает практика, С++ не очень хороший выбор для создания реально критического софта. С - другое дело.

4. Марсоходы изначально интернациональный проект. Ну, некоторая часть. На них есть и российские железяки. Естественно в таком случае выбрать основой самый распространенный язык для лучшего сопряжения разных дивайсов, разработанных где попало.

1. Уверен, что ПО на другой язык не переписывают. Может, в исключительных случаях.
2. Зачем нужны "разведданные"? По Вашей же ссылке "между строк" явно читается, что несмотря на то, что многие понимают, что С/С++ далеко не лучший вариант для критических приложений, до сих пор нельзя сказать, что Ада полностью его вытеснил, скорее - Ада медленно и постепенно увеличивает свою долю.
3. Си - далеко не подарок. Вот в АО "Информационные спутниковые системы" используют Модулу-2.
4. Детский лепет. Система управления марсоходов создавалась вполне конкретным подрядчиком. Сопряжение "железок" идет не на уровне языка программирования.
  • +0.00 / 0
  • АУ
TAU
 
Слушатель
Карма: +53.40
Регистрация: 24.07.2008
Сообщений: 4,227
Читатели: 0
Цитата: Pnb от 08.03.2016 17:07:491. Ну вот, чтобы от непроходимой тупости такого занятия они не стрелялись в массовом порядке, им и предлагают для развлечения различные языки программирования. Вроде как освоил новый язык, что-то новое в жизни. Вырос профессионально.
2. Поэтому появление Ады, в частности, легко объяснимо. Зачем нужен Пентагону свой собственный язык программирования? А зачем нужна российским госструктурам своя ОС? За тем же самым.
3. Вообще-то основное время уходит на то чтобы думать. А не на то чтобы по клавишам бацать.
Нормально так: 70% обдумывание - проектирование, 15% набивка-правка текста, 15% отладка. Если отладка занимает 70%, то это просто означает что вы сначала что-то сбацали, а потом начинаете думать, почему виснет.
4. "Вы пишете программы для людей, а не для машин" (ц). Для тех людей, которым после вас понадобится через 5 лет что-то поменять.
5. В том числе этим человеком можете оказаться и вы сами через 5 лет. Когда все уже начисто забудете.
Код без комментариев - это одноразовый быдлокод. Который в будущем заведомо будет просто выкинут и переписан заново, когда там понадобится что-то поменять. Бейте по рукам сучонка за код без комментариев. Хотя он сам себя и считает "хорошо квалифицированным кодером", заявляет, что "у него нет времени на эпистолярные отвлечения", и он лучше "займется чем-то более интересным".
Пока молодой. Когда заматереет, нужно будет вообще руки нахрен отрывать.

1. Недопустимое упрощение. Языки программирования могут различаться концептуально, по модели вычислений. Отличаться коренным образом друг от друга. Появляются языки программирования не только для развлечения, почему - можно отдельное исследование писать )
2. Вы знакомы с понятием "кризис программирования"? А с "критически важная система"? Вот поскольку имевшиеся языки не позволяли в должно мере обеспечить производительность труда и написание надежных программ, Пентагон и объявил конкурс. Имел все причины.
3. Если отладка (автономная, совместная, комплексная, испытания, аттестационные испытания,...) занимает 70% - это значит, вы имеете дело с чем-либо крайне важным. Критически важным. Если вы считаете, что 15% для отладки - нормально, вы как раз из тех 90% "мэйнстримовых" программистов. Что, конечно, не отменяет важности тщательной постановки задачи и проектирования.
4-5. А вот с этим полностью согласен.
  • +0.01 / 1
  • АУ
Superwad
 
belarus
Минск
51 год
Слушатель
Карма: +73.54
Регистрация: 27.02.2012
Сообщений: 2,641
Читатели: 0
Тред №1069604
Дискуссия   148 0
TAU я подписываюсь под Вашими словами.
Многие меня не понимают про что я толкую и что на самом деле и для чего был изначально заточен Дракон. И мне их жалко.
1) Язык дракона настолько универсален, что многие его используют для отвлеченных от программирования дел - есть примеры использования для описания тех. процессов на производстве, бизнес - процессов в банке, даже для проектирования электронных схем. Ибо он устраняет главную проблему - наличие логических ошибок в коде! А многие этого не понимают. Особенно это критично при написании программ с параллельным исполнением кода (потоков). Там проектирование на Драконе - это вообще сильно упрощает задачу (а это в среде программистов называют седьмым кругом ада Дъявол и не безосновательно - я сам в этом убедился, хотя очень интересно )
2) Си универсален, но... отладка кода на нем это ещё то удовольствие. Поэтому Си программисты стоят дороже, чем те, кто пишет на Паскале - просто затраты разные. Может это и хорошо?!
3) Про 70 % времени на отладку - сия статистика не моя, и не местная - она забугорная, так что кто как хочет пускай к ней относится. Качество конечного программного продукта -  это в первую очередь зависит от человека, который её разрабатывает. Есть разные подходы к этому делу, например Sony Vegas - образцовый пример КАК НАДО ПИСАТЬ продукт - изумительная вещь, я преклоняюсь перед такими командами, а вот Микрософт ... кроме мыслей нет слов - и те - одна нецензурщина. Но со временем я понял, что писание быдлокода и наличие огромного количества логических и архитектурных ошибок - это фирменный стили и бизнес модель данной компании. Ибо пользователи надеются, что каждый новый продукт будет лучше прежнего, и наконец, пофиксят множество багов - как логических, так и системных. Но никто это делать не собирается, а зачем терять бабло? В этом феномен СПО, и, в частности, Линукса. Ибо задрали. 
  • +0.00 / 0
  • АУ
Lapsha
 
Слушатель
Карма: -2.16
Регистрация: 10.01.2016
Сообщений: 356
Читатели: 0
Цитата: Pnb от 08.03.2016 17:07:49...Можно предположить, что 90% если не больше программистов заняты так называемыми бизнес-приложениями. Эти приложения переписывают информацию из одного места в другое почти без изменения.
Вычитал из менюшки - вписал в базу. Прочитал из базы - передал по сети. Получил по сети - вписал в другую базу. И т.д.
Ну вот, чтобы от непроходимой тупости такого занятия они не стрелялись в массовом порядке, им и предлагают для развлечения различные языки программирования. Вроде как освоил новый язык, что-то новое в жизни. Вырос профессионально...

Фееричненько!

Причем все подряд, без исключения, включая незацитированное.

Интересен этот феномен (пока что наблюдал только в бСССР) - подобная необъяснимая спесь. Особенно у айтишников всякого разлива. Сам себе пока придумал объяснение такое: едет крыша от осознания того, что имеют доход существенно выше среднего у окружающих.

Одно замечание: выражений подобных "бить сучёнка по рукам", "индусы" и т.п. следует стыдиться произносить публично. Ну, примерно как публично испражняться.
Хотя и понимаю, что все эти воззвания бесполезны.
Цитата: Pnb от 08.03.2016 17:07:49
Скрытый текст


Если все выдержано в таком стиле, то это и есть яркий пример быдлокода.

1. Я так понимаю, тут изображен образец, как надо комментить код. В данном коде комментировать совершенно нечего, поскольку все предельно очевидно. Комменты пишутся для кодеров, а не для дебилов. Комментируются только неочевидные вещи. А не 
// А вот тут складываются числа а и b

2. Почему имена параметров неговорящие? Почему name, а не fName, fpName, fileName и т.п.?

3. Если уж проверяется bytes_to_read, почему не проверяется указатель array на NULL?

4. Этот метод исходя из любой логики должен возвращать количество прочитанных байтов, а не 0 и -1.

5. И самое главное: макрос просто не имеет право рассчитывать на некий предполагаемый код извне него, кроме уже до этого объявленных макросов. Это самый настоящий быдлокод, когда при использовании макроса кодер еще должен не забыть добавить нужный код (в данном случае метка).

6. Стек вызовов подобный лог будет иметь только в случае единственного потока. При многопоточном исполнении будет хаос.

7. fread(array, bytes_to_read, 1, file) != 1 по-видимому, предполагалось как fread(array, bytes_to_read, 1, file) >= -1

Представить, как можно по-другому программировать на чистом С не проблема.
Сишникам хорошо известна техника setjmp - longjmp. На ее основе существует очень изящная библиотека exceptions4c:
https://github.com/g…ceptions4c
И код будет выглядеть вот примерно так (безотносительно к предыдущему коду):

try{
        foo = get_user_input(buffer, 1024);
}catch(BadUserInputException){
        foo = 123;
}finally{
        free(buffer);
}

Вот тут, действительно, изящнее не придумаешь. Но эту феньку очень опасно пользовать в проектах, где есть еще и С++.

Пару слов о технике setjmp - longjmp. Это просто сногсшибательный трюк, безумно остроумный и непонятно каким образом пришедший тому/той умничке в голову. Отличный вопрос для собеседования, кстати. Но только если требования очень высокие. Т.с., факультативный вопорс.
Отредактировано: Lapsha - 10 мар 2016 11:28:39
  • +0.02 / 2
  • АУ
Lapsha
 
Слушатель
Карма: -2.16
Регистрация: 10.01.2016
Сообщений: 356
Читатели: 0
Цитата: Jack Doe от 08.03.2016 22:50:37Заблуждение, что на Си нельзя написать API для работы с графикой/окнами в объектной модели.
Можно, есть примеры реализаций: WinAPI, GDK/GTK, реализация протокола X11 в XFree86, а затем в X.org.

Я не писал, что "на Си нельзя написать API для работы с графикой/окнами". 

С графикой можно работать и в АSM. 
Я писал, что Си не дружит с развесистой графикой. 
Оконный интерфейс очень естественным образом упаковывается в библиотеку С++. И очень громоздко - с С или любым другим не ООП.
  • +0.00 / 0
  • АУ
Lapsha
 
Слушатель
Карма: -2.16
Регистрация: 10.01.2016
Сообщений: 356
Читатели: 0
Цитата: Superwad от 09.03.2016 14:16:25Да не. Просто это НЕ ЧИТАБЕЛЬНО при отладке. Особенно если отлаживает другой человек. На отладке больше всего времени гробится. Вот и веся "непрязнь".

Вот 10 самых используемых языков программирования в мире:



Из них только Ruby пользует все эти endif, end и т.п. Остальные бодро оперируют фигурными скобками. И все у них, отчего-то, нормально читается.
То, что это плохо читается для кого-то единичного в Минске, несомненно крупном центре разработки мирового софта, никак не влияет на читаемость в других IT-центрах. Хоть и не настолько могучих как минский, канешно.

Дело-то ведь на самом деле очевидное: Вам предподавали Паскаль, Вы пользовали Дельфи, привыкли к нему кое-как, учить новое и тем более напрягаться с этим новым просто лень. Отсюда все эти натягивания и скобок, и "ненадежности", и отрицания совершенно очевидного факта, какие именно языки являются основными для промышленного программирования и т.п.
 
Цитата: Цитата: Superwad от 09.03.2016 00:16:25У меня программирование не является основной работой


Это очевидно.
Отредактировано: Lapsha - 10 мар 2016 11:30:50
  • +0.00 / 0
  • АУ
Сейчас на ветке: 2, Модераторов: 0, Пользователей: 0, Гостей: 0, Ботов: 2