Сообщение Re[12]: А что мешает заменить JS? от 14.03.2017 22:39
Изменено 14.03.2017 22:43 koandrew
Re[12]: А что мешает заменить JS?
Здравствуйте, gandjustas, Вы писали:
G>Ну какбы для драйверов нужен kernel mode где нету .NET. Хотя есть UDF, но он тоже не сильно с .NET совместим.
G>Поэтому вызвало удивление.
Драйвером называют программный компонент, выступающий "мостом" между прикладным софтом и железом. Он не обязательно должен работать в режиме ядра.
G>Или ты просто по стандартным портам общаешься с железками?
Говорю же — по-разному. Попадались и железки с COM-портом (как с обычным "классическим", так и с виртуальным через "конвертеры" типа тех же FTDI), и с интерфейсом D2XX (чипы от FTDI), и со своими интерфейсными библиотеками разной степени замороченности, и со всевозможными сетевыми протоколами (начиная от более-менее стандартного Modbus и заканчивая полностью кастомным бинарным). Иногда приходилось писать "переходник" на С++, но обычно справлялся "родными" средствами дотнета + интеропом.
G>В этом случае финализаторы не нужны
Классический ответ дилетанта (без обид). Хинт — железку ОС сама не приведёт в адекватное состояние. Как раз это я и делаю в финализаторах (если "штатное" завершение почему-то не отработало). В особенно терминальных случаях (когда "падение" софта может привести к материальному ущербу и/или человеческим жертвам) делался ещё отдельный вотчдог, дабы гарантировать, что железка не натворит делов (я испытал это на своей шкуре в процессе тестирования — когда автоматический кар с грузом в полтонны слегка задел меня, приятного было мало, скажу прямо). Короче индустриальные железки — это вам не циферками в БД жонглировать, тут цена ошибки может быть очень и очень высока.
G>Ну какбы для драйверов нужен kernel mode где нету .NET. Хотя есть UDF, но он тоже не сильно с .NET совместим.
G>Поэтому вызвало удивление.
Драйвером называют программный компонент, выступающий "мостом" между прикладным софтом и железом. Он не обязательно должен работать в режиме ядра.
G>Или ты просто по стандартным портам общаешься с железками?
Говорю же — по-разному. Попадались и железки с COM-портом (как с обычным "классическим", так и с виртуальным через "конвертеры" типа тех же FTDI), и с интерфейсом D2XX (чипы от FTDI), и со своими интерфейсными библиотеками разной степени замороченности, и со всевозможными сетевыми протоколами (начиная от более-менее стандартного Modbus и заканчивая полностью кастомным бинарным). Иногда приходилось писать "переходник" на С++, но обычно справлялся "родными" средствами дотнета + интеропом.
G>В этом случае финализаторы не нужны
Классический ответ дилетанта (без обид). Хинт — железку ОС сама не приведёт в адекватное состояние. Как раз это я и делаю в финализаторах (если "штатное" завершение почему-то не отработало). В особенно терминальных случаях (когда "падение" софта может привести к материальному ущербу и/или человеческим жертвам) делался ещё отдельный вотчдог, дабы гарантировать, что железка не натворит делов (я испытал это на своей шкуре в процессе тестирования — когда автоматический кар с грузом в полтонны слегка задел меня, приятного было мало, скажу прямо). Короче индустриальные железки — это вам не циферками в БД жонглировать, тут цена ошибки может быть очень и очень высока.
Re[12]: А что мешает заменить JS?
Здравствуйте, gandjustas, Вы писали:
G>Ну какбы для драйверов нужен kernel mode где нету .NET. Хотя есть UDF, но он тоже не сильно с .NET совместим.
G>Поэтому вызвало удивление.
Драйвером называют программный компонент, выступающий "мостом" между прикладным софтом и железом. Он не обязательно должен работать в режиме ядра.
G>Или ты просто по стандартным портам общаешься с железками?
Говорю же — по-разному. Попадались и железки с COM-портом (как с обычным "классическим", так и с виртуальным через "конвертеры" типа тех же FTDI), и с интерфейсом D2XX (чипы от FTDI), и со своими интерфейсными библиотеками разной степени замороченности, и со всевозможными сетевыми протоколами (начиная от более-менее стандартного Modbus и заканчивая полностью кастомным бинарным). Иногда приходилось писать "переходник" на С++, но обычно справлялся "родными" средствами дотнета + интеропом.
G>В этом случае финализаторы не нужны
Классический ответ дилетанта (без обид). Хинт — железку ОС сама не приведёт в адекватное состояние. Как раз это я и делаю в финализаторах (если "штатное" завершение почему-то не отработало). В особенно терминальных случаях (когда "падение" софта может привести к материальному ущербу и/или человеческим жертвам) делался ещё отдельный вотчдог, дабы гарантировать, что железка не натворит делов (я испытал это на своей шкуре в процессе тестирования — когда автоматический кар с грузом в полтонны слегка задел меня, приятного было мало, скажу прямо). Короче индустриальные железки — это вам не циферками в БД жонглировать, тут цена ошибки может быть очень и очень высока. Но как чертовски приятно дотронуться до только что сошедшей с конвейера машины, зная, что и я приложил руку к её созданию, вложил частичку своей души в неё
Описать это сложно — нужно самому почувствовать!
G>Ну какбы для драйверов нужен kernel mode где нету .NET. Хотя есть UDF, но он тоже не сильно с .NET совместим.
G>Поэтому вызвало удивление.
Драйвером называют программный компонент, выступающий "мостом" между прикладным софтом и железом. Он не обязательно должен работать в режиме ядра.
G>Или ты просто по стандартным портам общаешься с железками?
Говорю же — по-разному. Попадались и железки с COM-портом (как с обычным "классическим", так и с виртуальным через "конвертеры" типа тех же FTDI), и с интерфейсом D2XX (чипы от FTDI), и со своими интерфейсными библиотеками разной степени замороченности, и со всевозможными сетевыми протоколами (начиная от более-менее стандартного Modbus и заканчивая полностью кастомным бинарным). Иногда приходилось писать "переходник" на С++, но обычно справлялся "родными" средствами дотнета + интеропом.
G>В этом случае финализаторы не нужны
Классический ответ дилетанта (без обид). Хинт — железку ОС сама не приведёт в адекватное состояние. Как раз это я и делаю в финализаторах (если "штатное" завершение почему-то не отработало). В особенно терминальных случаях (когда "падение" софта может привести к материальному ущербу и/или человеческим жертвам) делался ещё отдельный вотчдог, дабы гарантировать, что железка не натворит делов (я испытал это на своей шкуре в процессе тестирования — когда автоматический кар с грузом в полтонны слегка задел меня, приятного было мало, скажу прямо). Короче индустриальные железки — это вам не циферками в БД жонглировать, тут цена ошибки может быть очень и очень высока. Но как чертовски приятно дотронуться до только что сошедшей с конвейера машины, зная, что и я приложил руку к её созданию, вложил частичку своей души в неё