Имеет смысл разбавить вашу абстрактную статью конкретными примерами :-) когда по действиям человека можно с большой точностью судить о его склонностях.
Не зная C#, но зная C++ и Java, ошибся только в одном месте. И сразу же нашел почему, без чтения пояснений. :-)
Очень напоминает Boxing/Unboxing в Java.
Достаточно хорошо знать язык в моем понимании = уметь его использовать для ежедневных задач.
Раньше моя планка была выше, но в текущих реалиях приходится мыслить подобными категориями, глядя на рынок труда.
P.S. Да, и еще: многие под «знать SMTH» понимают «знать N% от SMTH», причем N запросто может быть < 50%.
И они искренне удивляются, когда узнают, что есть остальные >50%.
Еще бы неплохо знать про Reflection, создание прокси-классов «на лету» и т.д.
Для понимания того, что под капотом и каким образом оно все-таки работает.
Иначе для непосвященного это выглядит как магия :-)
Даже если он достаточно хорошо знает язык.
Bingo!
Меня эта ситуация на рынке труда тоже несколько напрягает. )
Поэтому предпочитаю иметь базис поверхностных знаний по широкому кругу framework'ов, и специальные знания по тем, с которыми приходится работать вплотную.
Хотя приходилось сталкиваться с тем, что приходишь на собеседование по вакансии Senior Java Developer, тебя пытаются грузануть, а когда не получилось — вежливо объясняют, что «до Senior'а надо еще дорасти, сначала поработай у нас с годик-два».
Не соглашусь с тем, что «для его разработки не требуется труда».
Для разработки хорошего и удобного API нужно затратить достаточное количество времени на анализ вариантов использования этого самого API.
Помимо документации еще нужна такая вещь, как vision.
В случае наличия исходников это подчас оказывается намного нужнее JavaDoc'ов и тому подобной «низкоуровневой» документации.
Особенно верное замечание, ясли вспомнить сравнение signed и unsigned-типов.
Очень напоминает Boxing/Unboxing в Java.
Не все это видят.
А на stream — можно.
Достаточно хорошо знать язык в моем понимании = уметь его использовать для ежедневных задач.
Раньше моя планка была выше, но в текущих реалиях приходится мыслить подобными категориями, глядя на рынок труда.
P.S. Да, и еще: многие под «знать SMTH» понимают «знать N% от SMTH», причем N запросто может быть < 50%.
И они искренне удивляются, когда узнают, что есть остальные >50%.
На двух, конечно, есть другие способы организации работ. :-)
Для понимания того, что под капотом и каким образом оно все-таки работает.
Иначе для непосвященного это выглядит как магия :-)
Даже если он достаточно хорошо знает язык.
Меня эта ситуация на рынке труда тоже несколько напрягает. )
Поэтому предпочитаю иметь базис поверхностных знаний по широкому кругу framework'ов, и специальные знания по тем, с которыми приходится работать вплотную.
Хотя приходилось сталкиваться с тем, что приходишь на собеседование по вакансии Senior Java Developer, тебя пытаются грузануть, а когда не получилось — вежливо объясняют, что «до Senior'а надо еще дорасти, сначала поработай у нас с годик-два».
Для разработки хорошего и удобного API нужно затратить достаточное количество времени на анализ вариантов использования этого самого API.
В случае наличия исходников это подчас оказывается намного нужнее JavaDoc'ов и тому подобной «низкоуровневой» документации.
Т.е. прощай совместимость интерфейсов фирм-конкурентов.