Я тоже когда перечитал, так подумал. Я не имею никакого отношения к этой компании. Просто так получилось, что в магазине где я закупаюсь они широко представлены. Ну а замалчивать производителя химикатов как-то неправильно.
Если честно, цены не сравнивал. Однако, многие жаловались на то, что утюг может неравномерно прогреть бумагу с рисунком. Ну и рисунок не точно переведётся.
Да лазерного принтера у меня нет…
Я тоже подумал, что это какой-то плохо переваренный пример.
Ещё раз скажу, что этот пост очень опасен. Использование любых «волшебных слов» без понимания может привести к ошибкам. Однако многопоточные приложения особо каварны: у разработчика всё может работать хорошо, но в реальных условиях могут появится самые непредсказуемые и сложно диагностируемые ошибки.
Постараюсь ответить за автора. Мне кажется, тут закрались вот какие ошибки:
1. try-catch кушает исключение. Это очень плохо, потому, что instance будет равен null и вызовет непредсказуемое исключение дальше в ходе исполнения программы. Проблема в том, дебажить будет крайне сложно: ошибка и симптом далеки друг от друга.
2. synchronized ни к чему. Блок статической синхронизации гарантировано исполняется лишь один раз. Об одновременном исполнении не может быть и речи.
3. volatile ни к чему. Значение instance меняться не будет (это же сингельтон), так что запрещать кеширование совершенно не нужно.
Мне кажется, что приведённый код очень опасен. Отработает он, похоже, правильно. Однако он может смутить читателя, поскольку синхронизация используется совершенно ни к месту.
Похоже, автор слышал о synchronized, volatile и статических переменных, но не понял их вполне.
1. Зачем городить огород с виртуальной машиной и своим языком? Почему бы не использовать Си, или, если очень хочется виртуальной машины то урезанную Джаву?
2. Предполагается ли выпуск контролируемых устройств? Ну, вроде умного чайника, умного открывателя штор, умного модуля для управления светом?
То, что вы делаете – чрезвычайно низко. Критика – это здорово. Говорить о недостатках – отлично. Однако, фразы типа «это – говоно» не достойны порядочного человека.
Ваша критика деталей интерфейса вполне разумна. Над этими моментами следует поразмыслить, может быть исправить. Мне хочется надеяться, что человек, который может так хорошо сформулировать недостатки интерфейса умеет адекватно общаться с людьми, а эти злые комментарии он оставил по досадной случайности.
Уже исправил. Vacuum tubes, понимайте ли. Я микроэлектронику по американским материалам изучал. Только что дошло, что это и есть лампы! Ламповый звук! Тфу, пропасть…
Да лазерного принтера у меня нет…
Ещё раз скажу, что этот пост очень опасен. Использование любых «волшебных слов» без понимания может привести к ошибкам. Однако многопоточные приложения особо каварны: у разработчика всё может работать хорошо, но в реальных условиях могут появится самые непредсказуемые и сложно диагностируемые ошибки.
1. try-catch кушает исключение. Это очень плохо, потому, что instance будет равен null и вызовет непредсказуемое исключение дальше в ходе исполнения программы. Проблема в том, дебажить будет крайне сложно: ошибка и симптом далеки друг от друга.
2. synchronized ни к чему. Блок статической синхронизации гарантировано исполняется лишь один раз. Об одновременном исполнении не может быть и речи.
3. volatile ни к чему. Значение instance меняться не будет (это же сингельтон), так что запрещать кеширование совершенно не нужно.
Мне кажется, что приведённый код очень опасен. Отработает он, похоже, правильно. Однако он может смутить читателя, поскольку синхронизация используется совершенно ни к месту.
Похоже, автор слышал о synchronized, volatile и статических переменных, но не понял их вполне.
1. Зачем городить огород с виртуальной машиной и своим языком? Почему бы не использовать Си, или, если очень хочется виртуальной машины то урезанную Джаву?
2. Предполагается ли выпуск контролируемых устройств? Ну, вроде умного чайника, умного открывателя штор, умного модуля для управления светом?
Ваша критика деталей интерфейса вполне разумна. Над этими моментами следует поразмыслить, может быть исправить. Мне хочется надеяться, что человек, который может так хорошо сформулировать недостатки интерфейса умеет адекватно общаться с людьми, а эти злые комментарии он оставил по досадной случайности.