学习新语言时需要解决的算法/问题

3
在我们的生活中,我们总会遇到学习新语言的情况(无论是工作要求还是出于兴趣)。就我个人而言,我正在尝试学习Objective-C,而我的编程背景是几年的php编码。我的问题是,我对一些普通的起始程序感到厌倦(其中大多数来自数学;例如:斐波那契数列)。
当你学习一门新语言时,你写的第一个算法和程序是什么?
我在考虑我们可以列出一些有趣的问题来解决,这将使学习曲线至少更加有趣。
最后编辑: 我的问题是关于有趣的事情(也很有用),但不像 Code Kata或其他非常无聊的数学内容(我已经做了很多了)
最后编辑[2]: 我今天发现了this,那里的问题似乎很有趣。

2
可能是重复问题:http://stackoverflow.com/questions/2545302/ - Björn Pollex
不太对...我不喜欢数学问题。我喜欢有趣的事情。而Code Kata很无聊。 - Bogdan Constantinescu
2
每个人都喜欢“有趣的事情”,但显然我们对有趣的定义不同。在不告诉我们你认为什么有趣的情况下,这会很难回答。为什么不做一些你认为有趣的事情呢? - Ken
我觉得90%的经典数学问题都很无聊。我会在上面添加一些我认为有趣的资源。 - Bogdan Constantinescu
8个回答

3

尝试开发一个适当的项目,解决一些问题;解决算法问题只会教你如何应用算法,而不能真正地学习使用的语言。

选择一个有用的项目,然后选择一种语言,然后“做它”将涵盖您需要学习新语言的许多基础知识。


嗯,这里的问题在于“有用的项目” :) 我写下这个问题是为了在学习一门新语言的同时找到有趣的(也有用的)编码项目。 - Bogdan Constantinescu


1

只是一个想法:看看计算机语言基准测试游戏的问题。

当你完成一个片段时,你可以将你的解决方案与提供的解决方案进行比较。



1
每当我学习一门新语言时,我都会尝试用它来解决SPOJ上的问题。他们基本上支持所有主流语言(以及一些像Intercal和Whitespace这样的奇怪语言)。这些问题大多来自世界各地的各种ACM和类似格式的比赛,因此可能非常难,并且对于每个人的口味来说可能过于计算机科学/数学化。任何语言的教程问题都相当容易解决。
我还建议将该语言的标签添加到您的SO感兴趣的标签列表中。许多SO问题涉及小代码片段,尝试回答它们并查看其他答案可能非常有启发性。
但是,一旦我掌握了基础知识,我选择的策略是尝试制作一个非常小的项目。通常这是一个简单的游戏、GUI应用程序或微型webapp。这很有价值,因为有些东西只靠编写小的孤立代码块是无法学习到的。

0

尝试使用您的新语言解决这些挑战。它是关于什么的:

在软件中,我们在工作中进行练习,这就是为什么我们在工作中犯错误的原因。我们需要找到将实践与职业分开的方法。我们需要练习会话...


0

0
你也可以尝试理解或改进现有的开源项目,如此处所建议。尽管答案有一定的Cocoa偏见,但这应该是一个不错的起点。
通过这种方式,您可以根据自己的选择(理解、调试、改进)和兴趣方向(UI、特定库等等)深入了解。 编辑:当我说起点时,我的意思是您可以浏览objective-c代码的存储库,例如sourceforge

网页内容由stack overflow 提供, 点击上面的
可以查看英文原文,
原文链接