在windows、MacOS上做一些开发,从使用者的角度:
无论用什么开发,最好的是开发编译以后,生成的可执行档可以直接在电脑上运行,只依赖于系统,而不用额外的非系统的解释器,这是较为期望的状态。
从这个角度来说,Objective-C,swift,c,c++(MFC)都可以做到,只要开发编译以后,release给用户就可以直接使用。
如果开发者发布程序后,还要用户安装相应的环境,这不是太理想的状态,毕竟不是每一个使用者都能熟练方便的在电脑上安装维护一个这样的环境。
比如c#,开发后电脑上必须安装有相应版本的.net framework才能运行,否则无法运行,并非是有系统即可。虽然windows都自带.net framework,也很方便,但也仍旧是非系统的东东,仍旧有可能面临版本不对的问题,总之还是需要使用者再来维护的。
比如python等,开发后电脑上必须安装Python,且如果发布包要小,那么用户还必须自己安装类库,无论pip多么便利,都是多了一个步骤。这也不是有系统即可运行。
当然对于server类的开发而言却不用考虑这方面的内容。毕竟server开发维护使用的也就那么些人内部人员,对最终用户而言,只会接触到网页,而不需要本地不需要什么额外的环境。所以无论python、perl、js等等都无所谓,都是那些开发者考虑的东西。
另外如果一个系统维护了一个解释器,比如android,jvm就是系统的一部分,所有的app都是在此基础上运行,基于此,在android上用java开发对用户而言,也是简便的。
从这个角度提示,在做开发的时候,发布出去的尽可能做到傻瓜式的操作,就像手机上安装一个app后,只需点击安装后就可以运行了,不需要使用者再设置/安装这样那样的东西。