转:程序语言本质上是帮助程序员屏蔽底层机器代码的实现,让我们更关注于业务逻辑代码的实现。但是因为,编程语言作为机器代码和业务逻辑的粘合层,是在让程序员可以控制更多底层的灵活性,还是屏蔽底层细节,让程序员更多地关注业务逻辑的实现,这是很难两全需要权衡的事情。所以不同的程序语言在设计上都会做相应的取舍,比如:C语言偏向于让程序员可以控制更多的底层细节,而Java和python则让程序员更多地关注业务功能的实现。而C++两者都想要,导致语言在设计上非常复杂。