Страницы: Пред. 1 ... 811 812 813 814 815 ... 968 След.
RSS
О пенсиях и зарплатах, Как исправить ситуацию?
Цитата
BETEP IIEPEMEH пишет:
Ну да. Особенно классно, что один программист может в одной строке написать:data = 1а потом другой программист экраном ниже data = GetRawSatteliteInputStreamтак что в первом случае переменная будет как бы int, а во-втором - как бы InputStream. Но при сборке проекта этого недоразумения никто не заметит, потому что такова уж природа Visual Basic, поэтому когда уже работающий в продакшн проект на этапе исполнения вдруг еще парой страниц ниже обнаружит, что InputStream кто-то пытается помножить на 42 - это будет исключительно замечательная ситуация.
Что мешает явно описать тип общей переменной data?
Я всегда описываю все переменные явно, с комментариями каждой.
И включаю опцию Option Explicit, чтобы не пропустить описание.

Цитата
BETEP IIEPEMEH пишет:
VB.Net в этом плане, конечно, ушел далеко вперед относительно своего ужасно неказистого предка для обучения программированию чайников, но, тем не менее, по-прежнему требует присутствия всего окружения целиком. Используя VB.Net, вы можете собрать проект, чтобы в нем были и сложная математика, и нетривиальная логика, а потом уместить весь исполняемый код всего в пару тройку мегабайт?
Умещается же.
Сложной математики у нас нет, а нетривиальная логика встречается не редко.

Цитата
BETEP IIEPEMEH пишет:
И чтобы этот проект сразу же можно было собрать под любую платформу: x86, amd64, ARM, ARM64? Запустить его хоть на Windows, хоть на OsX, хоть на iOS, хоть на Android, хоть на Linux? Заставить сходу ваши вычисления работать распараллеленными на сотне ядер, используя OpenMP/MPI? Нет, нельзя? Вот удивительно!
Это нам не нужно.
X86 и Windows достаточно.
Изменено: Olginoz - 04.12.2018 16:28:17
Внимание! Данное сообщение содержит исключительно личное мнение автора. Есть основания полагать, что оно может не отвечать критериям научности.
Цитата
BETEP IIEPEMEH пишет:
Зачем разбираться. Сразу в ведро. VB - это для нетребовательного настольного решения, но никак не для космоса
Ни в коем случае, запрограммирована важная функциональность.
Внимание! Данное сообщение содержит исключительно личное мнение автора. Есть основания полагать, что оно может не отвечать критериям научности.
Цитата
Olginoz пишет:
Что мешает явно описать тип общей переменной data?
Ну да, вот только кто-то встал утром не с той ноги, не выспался, простыл или просто прощелкал, и вот уже проект космической стоимости вылетает в рантайме по эксепшену в утиль где-то в районе Марса.

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

Цитата
X86 и Windows достаточно.
Ну да. А тут вдруг производитель железяк решил перейти на архитектуру ARM, чтобы снизить энергопотребление системы и ее стоимость, и все наработки сразу в мусор. Или перейти под нативную поддержку отечественных Эльбрусов с тем же результатом для старого софта.

Забиваться в космической промышленности под Windows, x86 и VB - это просто преступление. Я не знаю, кто у вас там такой "умный" принимал подобные технические решения, но я бы за такое под расстрел отправил.
Внимание! Есть полагание основать, что личное мнение содержит исключительно сообщение автора. Оно может не отвечать, что соответствует научности по критериям данности.
Или ещё проще: попадёт продукция Microsoft под санкции и привет...
Цитата
BETEP IIEPEMEH пишет:
Ну да, вот только кто-то встал утром не с той ноги, не выспался, простыл или просто прощелкал, и вот уже проект космической стоимости вылетает в рантайме по эксепшену в утиль где-то в районе Марса.
Это исключено, здесь кроме меня никто на VB не пишет.

Цитата
BETEP IIEPEMEH пишет:
Вопрос вовсе не в том, мешает что-то некоторому танцору или нет. Проблема в том, что сами архитектурные средства языка не исключают возможности появления этой ошибки как таковой.
Да. Я пишу свою систему так, чтобы её архитектура, насколько это можно, исключала возможности появления ошибок у пользователя.  

Цитата
BETEP IIEPEMEH пишет:
Забиваться в космической промышленности под Windows, x86 и VB - это просто преступление. Я не знаю, кто у вас там такой "умный" принимал подобные технические решения, но я бы за такое под расстрел отправил.
Я в значительной степени человек не свободный. Мой бывший начальник принимал решение, чтобы я программировала на Visual Basic. Я начала с Паскаля Delphi, если бы не он, я бы наверное, перешла к программированию на С++, С#. Сейчас уже поздно, слишком много написано.
Внимание! Данное сообщение содержит исключительно личное мнение автора. Есть основания полагать, что оно может не отвечать критериям научности.
Цитата
Olginoz пишет:
Да. Я пишу свою систему так, чтобы её архитектура, насколько это можно, исключала возможности появления ошибок у пользователя
А пользователь то при чем? Речь про ваши собственные ошибки, которые вы потенциально можете совершить при написании кода. От этого никто и никогда не застрахован, и считать, будто бы приложение в принципе не содержит ни единой ошибки - это просто верх неадекватности. Даже самые умные и внимательные люди все равно допускают ошибки - это нормально. Ненормально, когда эта ошибка выявляется лишь на подлете к Марсу, в то время как альтернативные решения выявили бы эту ошибку еще на этапе сборки.

P.S. Насколько я знаю из баек причастных к проекту Фобос (советских Фобос-1 и Фобос-2), оба аппарата накрылись тазом именно по схожей причине - из-за элементарных описок в коде (<<Я пишу свою систему так, чтобы её архитектура, насколько это можно, исключала возможности появления ошибок>>), которые при сборке исполняемого кода были интерпретированые как "нормальные".
Внимание! Есть полагание основать, что личное мнение содержит исключительно сообщение автора. Оно может не отвечать, что соответствует научности по критериям данности.
Вот, кстати, вроде бы даже пруф к известным мне байкам:

https://rumlin.wordpress.com/2013/04/03/o-gibeli-ams-fobos/

Цитата
В то же время при создании бортовых программ отдельные параметры (время, количество команд) надо было задавать в десятичном виде. Хотя эти вещи были точно определены, программисты ЦУПа ввели для обозначения восьмеричных чисел букву «В» в конце. Мы возражали против этого, но переубедить не смогли.
Для наглядности можно представить такой гипотетический случай. Допустим, что с сегодняшнего дня опять ввели дореволюционную азбуку, где в конце слова после согласных обязательно ставился Ъ.
Даже если перед вашими глазами будет лежать инструкция, написав всего одну страницу, вы обязательно пропустите хотя бы одну из этих букв. Более того, прочитав по новой весь текст, вы этого не заметите, поскольку его смысл от этого не пострадал. Однако ошибка налицо. Очень скоро мы с этим столкнулись.
Поскольку перелет к Марсу длился 7 месяцев, постановщики различных научных экспериментов периодически обращались в группу управления с просьбой провести тестовые включения своих приборов. Часть из этих проверок была прописана в программе полета, но большая часть — нет.
Именно для проверки одного такого прибора — гамма спектрометра ГС 14СЦФ, созданного в ГЕОХИ, и была разработана злополучная программа ПВС. С точки зрения ее смысловой части она была сделана абсолютно правильно, но при ее составлении в одном месте была пропущена буква «В».
Цитата
Впрочем, возвращаясь к «Фобосу 1», истинные причины его гибели заключались не только в пресловутой букве «В». Они были гораздо глубже... На аппаратах «Фобос» переход с основной на резервную магистраль пневмосистемы происходил через выключение одной с последующим включением другой, т.е. эти два действия выполнялись двумя разными командами
В отношении последнего, если непонятно, чем это чревато: вы подали команду на выключение - она прошла успешно. Далее даете команду на включение - она не проходит (а такое даже на настольных компьютерах встречается повсеместно, включая и другие экзотические варианты зависания при остановке/старте), аппарат оказывается убитым вашими собственными руками. Именно поэтому критические операции должны выполняться как атомарная процедура "рестарт".
Цитата
Судя по всему, после выдачи команды на закрытие пневмосистемы БЦВМ БУК среагировала на уход астроориентиров из полей зрения астроприборов, но ничего поделать не смогла, поскольку в ее арсенале не было команды на открытие пневмосистемы.
Внимание! Есть полагание основать, что личное мнение содержит исключительно сообщение автора. Оно может не отвечать, что соответствует научности по критериям данности.
Цитата
BETEP IIEPEMEH пишет:
А пользователь то при чем? Речь про ваши собственные ошибки, которые вы потенциально можете совершить при написании кода.
Потому что по данным пользователя система автогенерит модули данных на ассемблере. Проверить смысловую логику пользователя нельзя, но запрограммированы разные виды проверок, чтобы пользователь не ввел того, что не существует, и не соответствует принятому формату. (Например, если бы в конце 8-ричного числа нужна была бы буква "В", ошибка была бы автоматически найдена сразу при вводе в окно или при трансляции модуля на ассемблер).

А мои ошибки программирования, естественно, бывают, программ без ошибок не бывает. На то отладка и тестирование разных видов существуют. В MS Visual Studio отличная система отладки.

Цитата
Вот, кстати, вроде бы даже пруф к известным мне байкам:
Печально, что тут скажешь.  У нас тоже бывает бардак, но не до такой же степени.
Внимание! Данное сообщение содержит исключительно личное мнение автора. Есть основания полагать, что оно может не отвечать критериям научности.
Цитата
Olginoz пишет:
Потому что по данным пользователя система автогенерит модули данных на ассемблере.
Без потому что. Нет никаких "модулей данных на ассемблере" в VB, это интепретируемый язык. И в VB.Net тоже нет - там генерится байт-код, который интерпретируется средой CLI при исполнении "на лету", в рантайм.
Цитата
ошибка была бы автоматически найдена
Увы, но нет. Подобные ошибки вылазят только "при подлете к Марсу".
Внимание! Есть полагание основать, что личное мнение содержит исключительно сообщение автора. Оно может не отвечать, что соответствует научности по критериям данности.
Цитата
BETEP IIEPEMEH пишет:
Без потому что. Нет никаких "модулей данных на ассемблере" в VB, это интепретируемый языке. И в VB.Net тоже нет - там генерится байт-код, который интерпретируется при исполнении "на лету", в рантайм.
Вы ничего не поняли. Я пишу систему в целом, которая на выходе автогенерит модули на Ассемблере. Правда, транслятор с внутреннего промежуточного языка на Ассемблер пишу не я, а сотрудница из соседнего сектора. Но я пишу все проверки на ошибки перед трансляцией.
Внимание! Данное сообщение содержит исключительно личное мнение автора. Есть основания полагать, что оно может не отвечать критериям научности.
Страницы: Пред. 1 ... 811 812 813 814 815 ... 968 След.

О пенсиях и зарплатах


Портал журнала «Наука и жизнь» использует файлы cookie и рекомендательные технологии. Продолжая пользоваться порталом, вы соглашаетесь с хранением и использованием порталом и партнёрскими сайтами файлов cookie и рекомендательных технологий на вашем устройстве. Подробнее