7

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

现在,我所在地区的许多有才华的人都在走向纳米技术。

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

4

9 回答 9

20

对我来说,它是线程。即使是相对“简单”的线程也具有挑战性,如果您深入研究无锁代码领域,它会变得更加棘手。当然,线程范式不会引起那么多的心理问题(参与者、消息传递等),但它们往往会带来自己的权衡。

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

编辑:作为对 twk 回答的回应:是的,有很多人试图让并发更容易。虽然已经有各种平台可以很好地支持并发(例如 Erlang),但目前还有更多的举措来为已经成为主流的平台带来更简单的并发。从我作为 .NET 开发人员的角度来看(好吧,无论如何,一个业余/狂热的 .NET 开发人员;目前是专业的 Java)并行扩展协调以及并发运行时是最近两个最有趣的发展。我不希望这会使并发变得容易-对凡人来说是可行的

于 2009-02-28T20:44:52.650 回答
8

“强大的”人工智能量子计算将是我与纳米技术等效的投票。

于 2009-02-28T20:44:37.283 回答
4

自然语言处理(NLP) 是另一个可能应该提及的领域。

于 2009-02-28T21:40:44.777 回答
1

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

于 2009-02-28T21:19:49.197 回答
0

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

现在,我所在地区的许多有才华的人都在走向纳米技术。

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

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

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

那么,Windows 和 Internet 程序员——您认为最可能的原因是什么?你会怎么做?哦,我忘记了,Windows 和 Internet 程序员没有完全和直接的硬件访问权限——所以他们可能从未经历过这种情况。在嵌入式开发世界中,你不能说“它是硬件”就这样——你有责任让它自己工作,从 UI 一直到电源(软件、固件、硬件,它是嵌入式开发人员的所有责任)。这是任何 Windows 或 Internet 程序员都无法遇到的更大挑战。

于 2009-12-29T22:31:55.120 回答
0

HTML / CSS

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

于 2009-02-28T20:43:52.513 回答
0

我当然希望有一些人忙于让自动使用更多处理器内核变得容易。当然,有像 Intel Thread Building Blocks 这样的东西,甚至还有像 Erlang 这样的语言,但我希望我们在未来 10 年看到这方面的更多进展。

于 2009-02-28T20:47:32.567 回答
0

至少在局部,热点领域是信息学,尤其是生物信息学。收集、组合、关联和分析来自许多来源的信息,并从收集中获得额外的信息,代表了计算机科学与其他活动之间最紧密的联系。这是我们 CS 系提供的最新学位,吸引了来自许多学科的最多研究生进入 CS 课程。

我不知道这在精神上是多么具有挑战性,但是作为新手,有很多想法还没有被想到,更不用说调查了。提出原创想法非常具有挑战性,尽管它们背后的实际编程部分可能并非如此。

于 2009-02-28T21:09:45.523 回答
0

对我来说,很难说出最具精神挑战的名字:我认为没有一个。

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

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

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

不过,非常主观的问题。

于 2012-01-16T12:16:11.703 回答