在过去的4年里,我一直在从事各种软件产品的开发工作(财务ERP系统、在线Web开发、贸易软件以及现在的供应链mgmt软件)。大部分工作都是在Core Java中完成的。最近,我确实觉得我应该开始研究具体的技术“原则”和/或领域,比如并行计算和移动计算,而不是为了作为软件开发人员而在软件解决方案上工作太久。简而言之,我想给我现有的技能提供一个指导,这样我就不仅仅了解编程语言了。
有人能指点我该如何学习这些领域吗?我真的对并行计算很感兴趣,但是我对其他我可以研究的领域不太了解。
发布于 2012-01-14 16:58:52
你会想要把你的头绕在android上。几年前,几乎所有的手机都支持java,但现在市场被“智能手机”所主宰,情况发生了变化。三个最重要的基础设施是: IOs、Android和Windows 7。请注意,我已经排除了Symbian,因为诺基亚已经宣布它将在2015年之前停止积极的开发。Windows 7还没有建立起来,并且还在争夺市场份额。IOs开发是由Objective和Android依赖Java驱动的。THe Android将使您在一种您现在已经使用的语言中高效工作,并且您可能不会遇到任何问题。
当然,Java支持并行计算,但是Java的线程系统可以说不是很舒服。我推荐Scala,因为它内置了对通过参与者进行消息驱动的多线程的支持。Scala编译为.class文件并在JVM上运行。这意味着您可以重用现有的Java库知识。当然还有很多其他的选择,取决于你想做什么,其中一个可能更合适。我最近尝试过谷歌go,它非常创新。
发布于 2012-01-14 20:17:32
如果我正确地理解了你的话
所以我知道的不仅仅是编程语言
您想离开垂直(应用程序/业务特定的)域工作,因为您觉得它不是很技术性的!
我给你的第一个建议是-if --你认为现在还不算太晚--申请一所著名学院的计算机科学硕士学位。
或者,如果这听起来很困难或者不可能,试着让自己受雇于那些你认为处于这些技术前沿的公司。您可以在这个领域(或类似的领域,您可能喜欢) 发现伟大的公司。
当你正在寻找这样一个机会的时候,你可能会开始通过积极参与一个更合适的、让你兴奋的开源项目来获得知识。如果你是一个明确的贡献者,你进入上述个人资料/公司的机会可能只会提高。
https://softwareengineering.stackexchange.com/questions/129154
复制相似问题