3

虽然很多人问到哪里可以找到好书或教程,但我想采取相反的策略。

我认为自己是一个准备升级到中级的入门级程序员。我用 c、c++、c#、perl、python、clojure、vb 和 java 编写过代码,所以我并不是完全一无所知。

我认为进入下一个级别的一个问题是学习更好地利用数百个可用的库。

除非有一本书或教程中有一个具体的例子来帮助我,否则我似乎瘫痪了,但我经常在各种论坛上阅读其他程序员试图帮助解决问题的地方。他/她将在他们最喜欢的 IDE 中查看文档或扫描可用的类/方法,并且似乎在相对较短的时间内了解正在发生的事情,即使他们以前没有使用该特定库或函数的经验。

我渴望打破不断地花费数小时搜索和阅读,搜索和阅读,搜索和阅读的脐带。很多时候没有书或教程,或者如果有,讨论掩盖了我的特定需求,或者显示的示例与我想到的使用路径相去甚远,或者信息已过时并使用了已弃用的组件或图书馆本身已经脱离了主流,但仍然完全可用(但没有文档、书籍或教程可供掌握)。

我的问题是:在没有书籍或教程的情况下,了解新的或不熟悉的图书馆的最佳方式是什么?

我渴望走上 grok 的道路,这样我就可以开始做我最喜欢的事情——编码。

4

5 回答 5

5

给一个好的程序员一本手册,他们可以很快弄清楚。让你成为一名优秀程序员的不是阅读书籍或教程,而是真正的编程。实践。你想变得更好,学得更好,写更多的代码。设定小的编码目标或考虑制作一个简单的应用程序。你在书籍和教程中查找语法时写的越多,这些语法和实践就会“点击”得越多。许多人能够“在相对较短的时间内了解正在发生的事情”的原因是因为大多数编程只是语法。

我给你一个个人的例子。我拿起一本关于 Objective-C 的书来了解 iPhone 的开发。去年夏天坐在那里读了一遍。当我坐下来编写我在 Photoshop 中设计的应用程序时,我不知道蹲下。当然,这些想法在我脑海中浮现,但我还没有任何实践知识来执行它们。起初语法让我非常困惑,但我在一般编程、动画和 UI 设计方面有很多经验,所以一旦我“记住”了语法,代码就开始更自然地流动了。现在我可以在没有手册的情况下非常流畅地编写 Obj-C,并且更好地了解哪些任务将是困难的,哪些将是容易的。

于 2010-03-19T15:55:29.167 回答
1

我的问题是:在没有书籍或教程的情况下,了解新的或不熟悉的图书馆的最佳方式是什么?

做你刚刚做的怎么样:在 StackOverflow 上问一个问题?根据我的经验,“如何使用库 X 完成任务 A、B 或 C”类型的问题得到了相当快的回答,尤其是如果它们是初学者问题,而且无论库对提问者来说多么深奥或过时。事实上,我曾多次目睹图书馆的开发人员亲自回答此类问题。

即使一个库似乎在很久以前就“脱离了主流”,很可能仍然有一些人在 SO 上使用它或在过去的某个时候使用过它。

最重要的是,您不再需要“花费数小时搜索和阅读 [...] 掩盖 [您] 特定需求的讨论,或者 [那些] 与 [您] 的用法相差太远的示例请注意”,因为您可以根据自己的个人需求在此处定制您的问题。

于 2010-03-19T16:28:23.363 回答
1

库为开发人员提供了一组特定领域的概念来解决问题,这与自然(口语)语言不同。相似之处比这更深:同样了解更多自然语言可以更容易地选择新语言,使用更多库的经验可以轻松过渡到使用新语言。这里没有灵丹妙药:您拥有的经验越多,您的进步就越快,因为您可以预测使用库来解决任务可能会是什么样子。

除此之外,这些是我在选择新图书馆时找到的帮助:

于 2010-03-19T15:57:07.770 回答
0

在我看来,最好的不用书学习的方法是开始编程。解决您面临的问题将教您如何使用图书馆。

于 2010-03-19T15:56:17.697 回答
0

如果您想检查或搜索或学习 .NET 程序集 - Reflector。它是免费的,而且非常强大。

http://www.red-gate.com/products/reflector/

于 2010-03-19T15:58:02.170 回答