本人多年PHPer, 同时接触过golang和erlang.
差异可以说: golang是未来的基于网络的c**语言**; erlang更像是完整的**解决方案**, 而不纯粹是语言.
1. 可能golang的发明者是那些牛B的大人物, 所以在语言层次上具有特别的优势. 目前而言可见的应用在于构建基于网络的服务以及可能的嵌入式领域(未来的分布式智能环境); 但是谈到GUI部分, 我认为需要相当长的一段时间 -- 这意味着不太能够实现类似移动端app的开发.在web领域里替代现有的php系统貌似也不太适合, 更多的我觉得是一种系统性产品的开发, 功能更强(比如可能需要命令行的执行)+有个web接口这种应用比较合适.
2. erlang是相对比较旧的语言, 所以感觉会有点不太适应潮流. 像类似只能赋值一次的变量, 很多尾递归的写法都需要一般程序员去适应. 不过因为时间长了, 所以同样也比较靠谱, 并且重要的是它所带的整个环境 (所以它并非单纯语言的概念), 它更多的像是一个基于网络的操作系统, 只是基于开发应用, erlang语言本身之于erlang相当于bash之于unix. 我觉得相对庞大的(不考虑投入的)电信级的应用会考虑erlang. 否者会感觉不如现代化语言方便...另外erlang因为它自身特殊性的设计和别的语言交互也会相对比较麻烦...