我不确定这是否是提出这个问题的最佳方式,但是我还处于学习编程/开发的早期阶段,我想做很多事情,包括web开发,有时还需要我有一些熟练的移动开发.
我开始以为我会学习Java,因为它在开发领域普遍存在,尤其是J2ME在移动开发方面的饱和.然而,似乎.NET框架,特别是C#更适合于整个系统/框架的Web开发.
看起来C#对于Web开发和应用程序开发的语言来说是一个很好的折衷,并且考虑到C#和Java之间的相似性,希望不会很难切换到Java/J2ME.
Java,在我非常有限的经验中似乎不方便Web开发.似乎托管服务提供商相对较少.
我的问题是,这是对Java的准确评估吗?它是否适合像带有主机和框架的.NET一样进行Web开发?我知道这是一种很棒的语言,但我不清楚用它进行Web开发的典型路线图是什么.
为冗长的问题道歉.任何输入都将非常感激.
除了已经提出的一些评论之外,还有其他一些需要专业考虑的事情:
企业软件主要由Java主导,因为许多大型客户更喜欢在UNIX环境中部署,而那里的.NET CLR并不真正同意这些大客户的大多数IT部门.
Java通常被认为是企业软件领域中更具吸引力的收购目标.
地理需求似乎在两者之间是不同的.在加利福尼亚州北部地区的西海岸,爪哇占主导地位.你的专长可以决定你在哪里找工作.
如果您对构建消费者站点感兴趣,那么现在很多消费者站点都不是基于Java或.NET/C#构建的.除了旧的PHP备用 - 还有值得考虑的Django/Python和Rails/Ruby.在所有这些领域中都有非常成熟的解决方案.我从经验得到的这个结论.
IMO,Rails堆栈比Java世界中提供的任何东西都要早几年,在大多数情况下仍需要你将不同的平台拼接在一起并希望它能够很好地运行(这不是C#/ .NET的问题).强类型语言本身也往往比Python/Ruby更冗长,你可以利用函数编程技术,如clojures和lambda.
在语言之间移动很容易,但就像编程一样,它正在利用已经构建的内容 - 这是棘手的部分.学习语言是实现真正掌握的10%.了解您正在使用的框架的变幻莫测,库以及了解可用的框架是棘手的部分.Java Foundation Classes单独包含数千个类文件!在跳过之前掌握至少一个平台很重要.