Я в своих основных языках знаком фактически со всеми активными профи, поэтому иногда спросить там что-нибудь заковыристое — это такой способ пообщаться, поспорить, подискутировать. Но так да, в основном отвечаем.
Я когда-то давно в каком-то левом твите (или блоге) прочел: «Лучший способ выучить новый для себя язык за минимальное время — пойти на SO и начать отвечать на вопросы» и до сих пор убежден, что это один из лучших советов, которые мне довелось получить, пусть и косвенно.
Пользователи будут ныть в любом случае, но вот мне идея прямо понравилась.
Иногда очень хочется вопросу (или ответу) поставить больше, чем просто плюс, и я в таких случаях завожу баунти (с тех пор, как разрешили давать баунти просто потому, что вопрос / ответ тебе понравился). Но с баунти нужно два дня ждать, чтобы его передать автору, и вот это — раздражает неимоверно, висит открытая вкладка в браузере, просто чтобы банально не забыть.
Я — за кнопку «прямо сейчас передать 100/200/300/400/500 очков репутации вот за это».
Если у вас хватает репутации вопрос можно просто закрыть.
Это не так. Во первых, не если хватает репутации, а если есть золотая метка по одному из тегов. Во-вторых, вопрос можно закрыть только как дубликат. Для закрытия по low quality все равно нужен консенсус из трех человек с золотыми метками, или из пятерых простых смертных (с какой-то существующей, но не очень высокой репутацией).
Странно, что вы не упомянули нативную поддержку работы с AST из коробки — немного криво и косо, но авторы языка подумали (!) об этом, что явно выгодно выделяет Rust из когорты других языков, как по-настоящему пригодный к метапрограммированию.
И никто на меня не обижается (кроме сумасшедших сейлов, ну да и шут с ними), хотя все знают, что я легко могу ответить очень резко и никогда в деловой переписке не использую смайлики.
Поначалу — было дело, многие настораживались. Но быстро привыкли, и это оказалось вовсе не сложно приучить к культуре взаимного уважения без заискивания сто с лишним человек в конторе, в которой русских фактически нет.
Достаточно обладать профессионализмом и чувством юмора.
VM вставляет в код неявные проверки «не пора ли переключиться на планировщик», вытесняющей многозадачностью
Так и не называйте, VM не вставляет в код никаких проверок (VM вообще ничего в код вставить не может, компилятор может, но и он этого не делает). VM эмулирует процессор для каждого «процесса» (в кавычках, потому что это не системные процессы) и отдает каждому по несколько сотен/тысяч тиков.
если например в этом потоке в данный момент выполняется какой-нибудь код на C
Угу, половина стандартной библиотеки эрланга — NIFs, и ничего, планируются как миленькие.
разработчик не может сказать VM: «вот тут проверяй [...]»
Опишите ситуацию, когда я хотел бы, чтобы вот тут код намертво заблокировал одно из ядер на пять минут, пока он файл до конца не вычитает.
[green threads] инструмент, которым надо уметь пользоваться [...]
Армстронг рассказывал, как он был на какой-то конференции в начале 90-х и все хвастались производительностью, удобством использования и прочими плюшками своих языков. А он подходил ко всем и спрашивал: «А как насчет fault-tolerance?» Потому что рассчитывать на то, что разработчик никогда не сделает ошибку — по меньшей мере наивно.
Вот хороший бенчмарк для Phoenix (это заслуга OTP, конечно) — два миллиона соединений на 40core/128gb box. Основное отличие — то, что я могу в миллионе из этих соединений считать факториалы больших чисел, и они ответят клиентам, когда будут готовы, а остальной миллион — этого вообще не заметит.
Если это не вытясняющая многозадачность — то я не знаю, что тогда.
Что, в принципе, прямой путь к дедлоку, если у нас N ядер, N горутин, и каждая чем-то очень тяжелам занята.
Я вообще затрудняюсь сказать кто, кроме эрланга (почему-то вообще не упомянутого в статье, в которой ну очень странно даже про него не обмолвиться) и смолтока, умеет в нормальную вытесняющую многозадачность.
Хорошим тоном все-таки считается сначала уточнить, какие именно проблемы пользователей проекта это решит, и только потом закрывать PR с комментарием «отложено до следующего мажорного релиза, там посмотрим».
встать у истоков великого проекта, как какой-нибудь Столман или Торвальдс, что бы потом успешные успехи вышвырнули меня из него, потому что я старый токсичный мудак, который портит им комьюнити
Абсолютно. Когда они пришли за Столлманом я напечатал несколько маек “Stop toxing RMS!” и ходил в них на работу.
А по теме — позиция principal engineer — лучшее, что может случиться в этом направлении, насколько мог судить. Свой бизнес я совсем не хочу, а так — пилишь потихоньку то, что тебе кажется правильным, важным и нужным — а через полгода, когда команда дозревает, продравшись через все свои скрамы и аджайлы — вдруг выясняется, что именно оно и было нужно. Или не выясняется, впрочем, но это уже другая история.
После определенного количества коммитов и/или собственных проектов, выступления на конференциях случаются сами собой, потому что приятные люди сами зовут.
Еще вот какой момент: GH расскажет о том, каков разработчик сам по себе; SO может рассказать, каков разработчик в команде / общении. Не всем это нужно, но присутствие в hall of fame в языках, с которыми постоянно работаешь — очень способствует статусу в сообществе.
Я в своих основных языках знаком фактически со всеми активными профи, поэтому иногда спросить там что-нибудь заковыристое — это такой способ пообщаться, поспорить, подискутировать. Но так да, в основном отвечаем.
Я когда-то давно в каком-то левом твите (или блоге) прочел: «Лучший способ выучить новый для себя язык за минимальное время — пойти на SO и начать отвечать на вопросы» и до сих пор убежден, что это один из лучших советов, которые мне довелось получить, пусть и косвенно.
Очень сильно зависит от предметной области.
Пользователи будут ныть в любом случае, но вот мне идея прямо понравилась.
Иногда очень хочется вопросу (или ответу) поставить больше, чем просто плюс, и я в таких случаях завожу баунти (с тех пор, как разрешили давать баунти просто потому, что вопрос / ответ тебе понравился). Но с баунти нужно два дня ждать, чтобы его передать автору, и вот это — раздражает неимоверно, висит открытая вкладка в браузере, просто чтобы банально не забыть.
Я — за кнопку «прямо сейчас передать 100/200/300/400/500 очков репутации вот за это».
На StackOverflow это напрямую в правилах прописано, вообще-то.
Это не так. Во первых, не если хватает репутации, а если есть золотая метка по одному из тегов. Во-вторых, вопрос можно закрыть только как дубликат. Для закрытия по low quality все равно нужен консенсус из трех человек с золотыми метками, или из пятерых простых смертных (с какой-то существующей, но не очень высокой репутацией).
Странно, что вы не упомянули нативную поддержку работы с AST из коробки — немного криво и косо, но авторы языка подумали (!) об этом, что явно выгодно выделяет Rust из когорты других языков, как по-настоящему пригодный к метапрограммированию.
И никто на меня не обижается (кроме сумасшедших сейлов, ну да и шут с ними), хотя все знают, что я легко могу ответить очень резко и никогда в деловой переписке не использую смайлики.
Поначалу — было дело, многие настораживались. Но быстро привыкли, и это оказалось вовсе не сложно приучить к культуре взаимного уважения без заискивания сто с лишним человек в конторе, в которой русских фактически нет.
Достаточно обладать профессионализмом и чувством юмора.
Так и не называйте, VM не вставляет в код никаких проверок (VM вообще ничего в код вставить не может, компилятор может, но и он этого не делает). VM эмулирует процессор для каждого «процесса» (в кавычках, потому что это не системные процессы) и отдает каждому по несколько сотен/тысяч тиков.
Угу, половина стандартной библиотеки эрланга — NIFs, и ничего, планируются как миленькие.
Опишите ситуацию, когда я хотел бы, чтобы вот тут код намертво заблокировал одно из ядер на пять минут, пока он файл до конца не вычитает.
Армстронг рассказывал, как он был на какой-то конференции в начале 90-х и все хвастались производительностью, удобством использования и прочими плюшками своих языков. А он подходил ко всем и спрашивал: «А как насчет fault-tolerance?» Потому что рассчитывать на то, что разработчик никогда не сделает ошибку — по меньшей мере наивно.
Вот хороший бенчмарк для Phoenix (это заслуга OTP, конечно) — два миллиона соединений на 40core/128gb box. Основное отличие — то, что я могу в миллионе из этих соединений считать факториалы больших чисел, и они ответят клиентам, когда будут готовы, а остальной миллион — этого вообще не заметит.
Если это не вытясняющая многозадачность — то я не знаю, что тогда.
nathanmlong.com/2017/06/concurrency-vs-paralellism тут вот внятно для людей, которые думают, что грин-треды — это не болото, которое повиснет намертво при первом удобном случае.
Я вообще затрудняюсь сказать кто, кроме эрланга (почему-то вообще не упомянутого в статье, в которой ну очень странно даже про него не обмолвиться) и смолтока, умеет в нормальную вытесняющую многозадачность.
Абсолютно. Когда они пришли за Столлманом я напечатал несколько маек “Stop toxing RMS!” и ходил в них на работу.
А по теме — позиция principal engineer — лучшее, что может случиться в этом направлении, насколько мог судить. Свой бизнес я совсем не хочу, а так — пилишь потихоньку то, что тебе кажется правильным, важным и нужным — а через полгода, когда команда дозревает, продравшись через все свои скрамы и аджайлы — вдруг выясняется, что именно оно и было нужно. Или не выясняется, впрочем, но это уже другая история.
Еще вот какой момент: GH расскажет о том, каков разработчик сам по себе; SO может рассказать, каков разработчик в команде / общении. Не всем это нужно, но присутствие в hall of fame в языках, с которыми постоянно работаешь — очень способствует статусу в сообществе.