А вот скажите, у вас получилось привязать нормально встроенный SIP-клиент в Андроиде к Астрериску? Я как ни старался, а Нексус 5 всё глотает и глотает звуки. Сторонние SIP-клиенты, вроде SIPdroid, работают нормально на тех же настройках.
Дайте определение слов «искусство» и «ремесло», а то обычно такие споры из-за недопонимания того, что люди понимают под данными терминами.
По мне так «ремесло» — это и искусство, которым зарабатывают на жизнь. Художник, рисующий картины за деньги, тоже ремесленник. А значит одно другому не противоречит.
Иными словами, это утверждение основано не на конкретных данных, а на авторитете конкретного человека-эксперта. Просто для ясности, а не для подкола и обижания для.
Если бы это было ключевое слово на уровне компилятора, то тип Result пришлось бы делать встроенным, прибивать гвоздями к компилятору. А сейчас обработка ошибок реализуется полностью на библиотечном уровне. Result и try! — не часть языка, а часть стандартной библиотеки. Можно спорить хорошо это или плохо, но это один из столпов языка: создать мощную обобщённую и достаточно компактную базу, которая позволит выразить на уровне библиотек большинство концепций, которые обычно захламляют и усложняют компилятор. И лично мне, как и многим приверженцам раста, это нравится.
По поводу разных ошибок из одной функции, опять же язык достаточно мощный, чтобы выразить это на уровне типов. Для этого есть два инструмента: типы-суммы (enum, a.k.a. tagged union в C++) и типажи. Обычно для библиотеки создаётся тип-сумма всех возможных ошибок, которые может вернуть библиотечная функция, и расширение списка ошибок достигается увеличением списка доступных в типе-сумме вариантов. Впрочем, про это уже была рассказано не раз, так что повторяться опять и опять смысла не вижу. А для избавления от boiler-plate кода при описании таких типов-сумм для ошибок, язык опять же предоставляет достаточную базу, чтобы реализовать решение на уровне библиотек.
Тут проблема в том, что многие люди к этому не привычны. Скажем какой хаскеллист или скалист вполне свободно будет писать и читать такие конвееры, но часто сталкиваюсь с людьми, которые пришли из си++, которым такой подход взрывает мозг.
Всё равно, лучше «любитель». «Аматор» в русских текстах встречается чуть реже, чем никогда. Здесь первый раз, когда я его увидел в русском тексте, а читаю я очень много. Выглядит оно абсолютно чужеродно.
Спасибо за статью! С возрастом и правда задумываешься, не слишком ли ты стар для разработки. Мне (всего-то) 34, но в нашей команде я уже самый старый, даже PM моложе меня. Когда смотришь на более молодых коллег, это заставляет задуматься о смысле жизни. Программирование — сфера молодых, возраст большинства программистов от 20 до 30 лет, и когда слышишь на стендапе, как кто-то нафигачил кусок кода вечером-ночью, и понимаешь, что ты уже так не особо-то можешь, становится грустно.
В сети всегда найдётся человек, который воспримет сарказм дословно.
Когда б вы знали из какого сора
Растёт весь софт не ведая стыда!
Как одуванчик вдоль забора
Как лопухи и лебеда.
Статья оборвана на половине. Где продолжение? Когда оно будет?
Эх, а мне больше unsafe enum были по душе...
Пакет glibc версии 2.22-4, ядро 4.4.1-2-ARCH.
Я не верю своим глазам! Наконец-то!
По мне так «ремесло» — это и искусство, которым зарабатывают на жизнь. Художник, рисующий картины за деньги, тоже ремесленник. А значит одно другому не противоречит.
По поводу разных ошибок из одной функции, опять же язык достаточно мощный, чтобы выразить это на уровне типов. Для этого есть два инструмента: типы-суммы (enum, a.k.a. tagged union в C++) и типажи. Обычно для библиотеки создаётся тип-сумма всех возможных ошибок, которые может вернуть библиотечная функция, и расширение списка ошибок достигается увеличением списка доступных в типе-сумме вариантов. Впрочем, про это уже была рассказано не раз, так что повторяться опять и опять смысла не вижу. А для избавления от boiler-plate кода при описании таких типов-сумм для ошибок, язык опять же предоставляет достаточную базу, чтобы реализовать решение на уровне библиотек.
slovari.yandex.ru/amatore/%D0%BF%D0%B5%D1%80%D0%B5%D0%B2%D0%BE%D0%B4
www.lingvo-online.ru/ru/Translate/en-ru/amateur
любитель, поклонник, дилетант.
Где вы такое слово-то в русском нашли? Аж споткнулся. Amature = любитель, новичок, от a-mature — не-зрелый.