什么代表了最具挑战性的编码形式?

时间:2009-02-28 20:39:23

标签: computer-science

我正在攻读有机化学专业的研究生学位。

目前,我所在地区的许多优秀人才正朝着纳米技术的方向发展。

现代计算机科学的等效领域是什么?

9 个答案:

答案 0 :(得分:20)

对我来说,这是线程。即使是相对“简单”的线程也具有挑战性,如果你深入研究无锁代码的领域,它就会变得更加毛茸茸。肯定有线索范式不会引起许多精神上的头痛(演员,消息传递等),但他们往往会有自己的权衡取舍。

在我看来,这是一个“深度”复杂程度,但还有其他编码领域以不同方式具有挑战性。安全性,i18n和日期/时间处理(或几乎与实际人类特征相关的任何事情)非常挑剔,需要学习和注意许多角落案例。这当然很难,但以不同的方式实现并发。

编辑:作为对twk答案的回应:是的,有很多人试图让并发更容易。虽然已经有各种平台可以很好地支持并发性(例如Erlang),但目前还有更多的举措可以将更简单的并发性带入已经主流的平台。从我作为.NET开发人员的角度来看(无论如何,业余/爱好者.NET开发人员;目前专业Java)Parallel ExtensionsCoordination and Concurrency Runtime是最近两个最有趣的发展。我不希望这会使并发简单 - 只是对于凡人来说是可行的

答案 1 :(得分:8)

“强”artificial intelligencequantum computing将成为我与纳米技术等效的投票。

答案 2 :(得分:4)

Natural language processing(NLP)是另一个应该提及的领域。

答案 3 :(得分:1)

我同意Jon Skeet的观点,即线程/并行执行是一个热门话题,并且有开放的新领域,或者考虑开箱即用的技术,如Transactional Memory。这是一个新概念的开放领域。

答案 4 :(得分:0)

HTML / CSS

好吧,它不完全是编码,但是男人很头疼

答案 5 :(得分:0)

我确信希望有一些人忙着让自动更容易使用更多的处理器内核。当然,有像英特尔螺纹构建模块这样的东西,甚至像Erlang这样的语言,但我希望我们在未来10年内在这方面看到更多的进展。

答案 6 :(得分:0)

至少在本地,热点是informatics,特别是生物信息学。收集,组装,关联和分析来自多个来源的信息并从集合中获取额外信息代表了计算机科学与其他活动的最强联系。这是我们CS系的最新学位,吸引了大多数学科的研究生到CS课程。

我不知道它有多么精神上的挑战,但是新的有很多想法没有被考虑过,更不用说被调查了。提出原创想法是非常具有挑战性的,尽管它们背后的实际编程部分可能不是。

答案 7 :(得分:0)

什么代表了最具挑战性的编码形式?嵌入式固件开发。

目前,我所在地区的许多优秀人才正朝着纳米技术的方向发展。

现代计算机科学的等效领域是什么?再次,嵌入式固件开发。

对于任何桌面或互联网开发人员,如果您认为嵌入式编码比其他任何类型的编码都困难得多,那么您就不会知道嵌入式编码。我可以做桌面或互联网程序员可以做的任何事情,但是大多数(如果有的话)桌面/互联网程序员可以很好地嵌入,或者根本不可能。

例如,我有一个我正在处理的错误,在串行通信端口上成功接收到4个字节后(中断驱动接收),连续字节不会导致UART产生中断(他们应该)。

那么,Windows和互联网程序员 - 你认为最有可能的原因是什么?你会怎么做?哦,我忘记了,Windows和Internet程序员没有完全和直接访问硬件 - 所以他们可能从来没有经历过这样的情况。在嵌入式开发领域,你不能说“它是硬件”,并且将它留在那里 - 你有责任使它自己工作,从UI到电源(软件,固件,硬件,它的所有方式)嵌入式开发人员的所有责任)。这是一个比任何Windows或Internet程序员都遇到的更大的挑战。

答案 8 :(得分:0)

对我来说,很难说出最具挑战性的人:我不认为只有一个。

系统和嵌入式编程是恕我直言中最难的两个领域。你最接近硬件的是最难的(在你的生活中至少看一次real mode assembly:D)。

Jon完全正确地说,并发编程非常棘手,很难做对。

但我会对加密,机器学习或数学编程的某些方面做出相同的结论。我想区分CS基础知识和更高级别的任务是有意义的......

非常主观的问题。