撇开操作系统和网络等基本功不谈,
语言:语法,标准库,技术规范,底层实现,演化历史
生态:主流框架/库的使用和底层原理,各种需求场景下的选型
功力:Thinking in XX ,XX 语言在 YY 生态下解决某个需求的最佳实践
学会一门语言,只不过是粗通了这个语言的语法,离能干活和干好活还差的远着呢,再简单也是需要时间和项目经验积累的。否则,很容易在用 B 语言的时候,寻找 A 语言 XX 用法的平替,思考方式还是 A 语言的,不地道。
https://www.v2ex.com/t/1100354 就是个例子
别的语言,比如 C++, PHP, Go 封装一个 LogUtil 可能比较有必要,但在 Java 中,slf4j 就是事实标准,它只是个接口,其内部实现每一层都能自定义,统一汇总上报,分布式服务调用链 trace ,动态调整日志级别,脱敏等等都可以在不侵入接口的前提下很方便的实现。技术负责人沿用之前习惯,那便是“学会一门语言,再学其它语言很简单,但容易用的不地道”的例子。