Ещё хочу обратить внимание всех, кто покупает пилюли, но не смотрит внимательно на маркировку, на возможность установки полностью аналогичного функционально чипа, со всеми плюшками, но отдающего не тот id отладчику. Я вот так купил, все было хорошо, а потом долго думал, почему отладчик не работает. Только после этого посмотрел внимательно на камень — упс, подделка… Честно написано название совсем другой фирмы.
Возвращать в магазин не стал, хотя покупал в Москве, как и не стал менять камень (он банально дороже самой платы, если покупать со склада Диджикея, а покупать у китайцев как-то теперь уже нелогично).
Аналогично. Причем мне Гугл подсказал его тоже с четырех букв, из которых две я ввел неверно (клавиатура на телефоне плохая уже), то есть релевантность запроса высочайшая.
Узнал также, что по-английски это будет dingleberry.
Пфффф, у пользователя поисковиков тоже есть выбор — заходить в Яндекс и пользоваться предоставляемым там комплексом услуг (со всеми плюсами и минусами), либо заходить в Гугл и там получить свободный доступ к Авито, нет монополизму, одинодин.
Да, с точки зрения обычного человека этот "вопль нищебродов" именно так выглядит — странно как минимум. Примерно как если FSF потребовал бы от Apple обеспечить работоспособность Линуса на их смартфонах, причем не просто не запрещать такое использование, а вот именно прямо "обеспечить равные условия", наверное ещё и с техподдержкой. Разумеется пример сильно утрирован.
Однако антимонопольное законодательство оно такое. Не то чтобы оно сильно сдерживает создание супермутантов типа Яндекса или Интела, но периодически требует от них чего-то этакого необычного для поддержания тонуса.
Наверное ЧЛХ часто фигурирует потому, что люди часто запускают болезни. Я сам был в ЧЛХ с весьма непростыми случаями и видел там таких людей (да, это все ещё были люди), каких в частном кабинете не увидишь.
Да, наблюдал как-то в одном весьма известном и большом московском частном медицинском центре картину: женщине, которая пришла на операцию (!) стало плохо при даче седации. Ее вывезли из операционной и начали бегать с криками "вызывайте скорую, ее надо везти в нормальную больницу". Это конечно вряд ли было официальное мнение руководства, скорее паника конкретного медперсонала, но очень показательно имхо.
Ещё есть интересная особенность, касающаяся любого языка: когда у языка появляется новое свойство, большинство, с этим свойством не знакомые, желают более «вербозный» синтаксис. Опытные же пользователи, привыкшие к этому свойству, желают его записывать покомпактней.
Угу, и что же, в большинстве вменяемых языковых систем кто побеждает?
Ну, это зависит. Например если нужно гарантированно какие-то ресурсы освобождать при выходе из любой точки функции, то вместо множественного return может даже множественный go to потребоваться, и это не антипаттерн ни разу, в том числе в приличных домах (см. Linux core style guide). Правда это больше про Си, но все же.
Не, ну мотиваторы мне известны, и я их не отрицаю. Просто мне кажется, что все то же можно было сделать более внятным образом. Не короче по количеству текста, возможно даже длиннее, но понятнее.
Возьмите какой-нибудь другой бедный язык, будет ли он так же понятен?
Объявляем функцию f с параметром x типа ссылка на 32битное знаковое целое, которая возвращает тип, реализующий интерфейс () -> i32, то есть лямбду, возвращающую целое 32битное знаковое целое, и имеющее время жизни такое же, как входной аргумент.
Наверное сложность понимания обусловлена также и сложностью примера. Потому что из текстового описания у меня например формируется вопрос «а зачем это нужно?» )))
Тогда это просто вопрос привычки. Ну примерно как после паскаля с begin/end перейти на Си.
Могу посоветовать смотреть на разные языки. Обычно классика считается один си-подобный императивный, один логический, один функциональный, ну и sql. Нужно понимать, что привычный синтаксис не значит удобный. И соовтетственно
Да ну нет же! То есть конечно фактор привычки нельзя игнорировать, но он не ключевой.
Насчет Паскаля — перейдя с него на Си я очень порадовался, что вместо begin/end появились брекеты. Их конечно тоже надо уметь готовить, но они гораздо понятнее. И вообще я очень быстро «отошел» от паскалевских заморочек, именно потому, что Си понятнее.
Насчет «Си-подобных императивных». Во-первых, кое-кто говорит, что Раст как раз из таких — и чем же они похожи с Си? Во-вторых, кое-кто говорит, что С++ из таких — но при использовании некоторых приемов программирования плюсовый код превращается в кашу что-то совершенно не похожее на Си. То есть этот термин (Си-подобность) какой-то неоднозначный. А если мы редуцируем вашу фразу до «императивный» (без указания референса), то ведь это не о синтаксисе получается…
Насчет SQL — отличный пример, я написал в свое время немало запросов. И мне нравится лаконичность и внятность этого языка. Я сразу начал понимать, что и как там делается, без длительных объяснений. То есть внезапно беда не в императивном клинче моего мозга.
Нет, просто вы привыкли её видеть
Да конечно, я на Джаве писал сто лет назад, и это была другая Джава.
Например, эрик липперт в статье про «топ 10 фич сишарпа о которых мы жалеем» в один из топа списка поставил «зря мы взяли из сишки то, что тип пишется впереди имени функции и переменных»
Угу, часто об этом говорят, хотя разумных аргументов лично я не слышал. Слышал только разные инсинуации.
Выпишите просто что вас смущает.
Проще сказать, что я смог понять сам (если игнорировать ваши разъяснения). А именно — имею догадку, что «i32» как-то соотносится с int32_t, но это не точно. Еще есть смутное подозрение, что "&" имеет отношение к взятию адреса (то есть это ссылка на что-то, возможно это ref/out), но и это не точно. Вот и все.
Не могу ничего сказать про Котлин, да и про Джаву мало что знаю (изучал в институте сто лет назад), так что я комментировал конкретный пример, и только.
Проблема в том, что смущает буквально все. Что-то конкретное трудно назвать.
я просто серьезно не могу понять, что тут сложного, не считая б0льшего объема информации
Вот в этом «не считая» кроется основная проблема — информации много, но понимания она не добавляет.
Просто если попробуете все то же записать при помощи той же джавы, у вас кода будете еще больше
И очень хорошо — кода больше, и он внезапно понятнее! То есть в Джаве введена разумная избыточность. И хотя я не понимаю, что в этом коде собственно происходит, но его синтаксис хотя бы понятен.
В конкретной аппаратной реализации они 16-битные, поэтому старшее слово в 32-битных (с точки зрения memory map) регистрах зарезервировано
Простите, а вы это знаете, или предполагаете?
Простой пример из практики: CPLD-сателлит у процессора, внутри нее есть набор 32-битных регистров, у большинства из которых доступна для использования только младшая половина, остальное зарезервировано (физически туда писать можно, ничего страшного не произойдет, просто смысла нет). В документации, как и полагается, старшее слово обозначено как reserved, однако регистр от этого 16-битным не становится. Конечно в микроконтроллере ситуация чуть иная, и скорее всего неиспользуемые регистры (которые будут только место занимать) физически отсутствуют, однако это не мешает адресным дешифраторам прикидываться валенком.
И если убрать тот или иной способ указать реальное выравнивание 16-битных uint16_t volatile xx, то будет запись/чтение зарезервированной части регистра с понятными последствиями. На сегодняшний день я не знаю красивого и эффективного решения подобных проблем.
Если мы используем структуру для доступа к регистрам — то да, суровое танго.
Спасибо за статью! Хотя она получилась больше о фронтенде, чем о самой линейке.
Скажите, вы делаете прибор видимого диапазона?
Ещё хочу обратить внимание всех, кто покупает пилюли, но не смотрит внимательно на маркировку, на возможность установки полностью аналогичного функционально чипа, со всеми плюшками, но отдающего не тот id отладчику. Я вот так купил, все было хорошо, а потом долго думал, почему отладчик не работает. Только после этого посмотрел внимательно на камень — упс, подделка… Честно написано название совсем другой фирмы.
Возвращать в магазин не стал, хотя покупал в Москве, как и не стал менять камень (он банально дороже самой платы, если покупать со склада Диджикея, а покупать у китайцев как-то теперь уже нелогично).
Аналогично. Причем мне Гугл подсказал его тоже с четырех букв, из которых две я ввел неверно (клавиатура на телефоне плохая уже), то есть релевантность запроса высочайшая.
Узнал также, что по-английски это будет dingleberry.
Да, с точки зрения обычного человека этот "вопль нищебродов" именно так выглядит — странно как минимум. Примерно как если FSF потребовал бы от Apple обеспечить работоспособность Линуса на их смартфонах, причем не просто не запрещать такое использование, а вот именно прямо "обеспечить равные условия", наверное ещё и с техподдержкой. Разумеется пример сильно утрирован.
Однако антимонопольное законодательство оно такое. Не то чтобы оно сильно сдерживает создание супермутантов типа Яндекса или Интела, но периодически требует от них чего-то этакого необычного для поддержания тонуса.
Людей — в смысле пациентов.
Наверное ЧЛХ часто фигурирует потому, что люди часто запускают болезни. Я сам был в ЧЛХ с весьма непростыми случаями и видел там таких людей (да, это все ещё были люди), каких в частном кабинете не увидишь.
Да, наблюдал как-то в одном весьма известном и большом московском частном медицинском центре картину: женщине, которая пришла на операцию (!) стало плохо при даче седации. Ее вывезли из операционной и начали бегать с криками "вызывайте скорую, ее надо везти в нормальную больницу". Это конечно вряд ли было официальное мнение руководства, скорее паника конкретного медперсонала, но очень показательно имхо.
Угу, и что же, в большинстве вменяемых языковых систем кто побеждает?
Аналогично. Имхо однострочный if-then при нормальном оформлении и без чрезмерной вложенности условия и действия читается даже проще.
А вот к применению брекетов в стиле K&R я почему-то равнодушен. Мне тупо нравится, когда открывающий брекет стоит в отдельной строке.
Ну, это зависит. Например если нужно гарантированно какие-то ресурсы освобождать при выходе из любой точки функции, то вместо множественного return может даже множественный go to потребоваться, и это не антипаттерн ни разу, в том числе в приличных домах (см. Linux core style guide). Правда это больше про Си, но все же.
Само собой, но вы ведь сами привели его в пример.
Возьмите какой-нибудь другой бедный язык, будет ли он так же понятен?
Наверное сложность понимания обусловлена также и сложностью примера. Потому что из текстового описания у меня например формируется вопрос «а зачем это нужно?» )))
Да ну нет же! То есть конечно фактор привычки нельзя игнорировать, но он не ключевой.
Насчет Паскаля — перейдя с него на Си я очень порадовался, что вместо begin/end появились брекеты. Их конечно тоже надо уметь готовить, но они гораздо понятнее. И вообще я очень быстро «отошел» от паскалевских заморочек, именно потому, что Си понятнее.
Насчет «Си-подобных императивных». Во-первых, кое-кто говорит, что Раст как раз из таких — и чем же они похожи с Си? Во-вторых, кое-кто говорит, что С++ из таких — но при использовании некоторых приемов программирования плюсовый код превращается в
кашучто-то совершенно не похожее на Си. То есть этот термин (Си-подобность) какой-то неоднозначный. А если мы редуцируем вашу фразу до «императивный» (без указания референса), то ведь это не о синтаксисе получается…Насчет SQL — отличный пример, я написал в свое время немало запросов. И мне нравится лаконичность и внятность этого языка. Я сразу начал понимать, что и как там делается, без длительных объяснений. То есть внезапно беда не в императивном клинче моего мозга.
Да конечно, я на Джаве писал сто лет назад, и это была другая Джава.
Угу, часто об этом говорят, хотя разумных аргументов лично я не слышал. Слышал только разные инсинуации.
Проще сказать, что я смог понять сам (если игнорировать ваши разъяснения). А именно — имею догадку, что «i32» как-то соотносится с int32_t, но это не точно. Еще есть смутное подозрение, что "&" имеет отношение к взятию адреса (то есть это ссылка на что-то, возможно это ref/out), но и это не точно. Вот и все.
Проблема в том, что смущает буквально все. Что-то конкретное трудно назвать.
Вот в этом «не считая» кроется основная проблема — информации много, но понимания она не добавляет.
И очень хорошо — кода больше, и он внезапно понятнее! То есть в Джаве введена разумная избыточность. И хотя я не понимаю, что в этом коде собственно происходит, но его синтаксис хотя бы понятен.
Простите, а вы это знаете, или предполагаете?
Простой пример из практики: CPLD-сателлит у процессора, внутри нее есть набор 32-битных регистров, у большинства из которых доступна для использования только младшая половина, остальное зарезервировано (физически туда писать можно, ничего страшного не произойдет, просто смысла нет). В документации, как и полагается, старшее слово обозначено как reserved, однако регистр от этого 16-битным не становится. Конечно в микроконтроллере ситуация чуть иная, и скорее всего неиспользуемые регистры (которые будут только место занимать) физически отсутствуют, однако это не мешает адресным дешифраторам прикидываться валенком.
Если мы используем структуру для доступа к регистрам — то да, суровое танго.
Вы так говорите, будто я не живу в этом мире с самого института ))