当前位置:  开发笔记 > 编程语言 > 正文

为什么新手程序员似乎回避图书馆?

如何解决《为什么新手程序员似乎回避图书馆?》经验,为你挑选了12个好方法。

我已经注意到了许多可以使用库解决的新程序员的问题.建议使用库时,他们经常会回答"我不想使用X库"这是学习曲线吗?要么 ?只是好奇!



1> Nader Shiraz..:

许多新程序员仍然在非常低的抽象层次上工作,学习交易.这是每个人都必须经历的事情.可以说,"向上移动"需要一段时间.

一旦程序员意识到他们花费大部分时间来解决与其他人已经做过的相同的问题,并且目标是实现"商业价值",那么他们就能真正体会到优秀图书馆带来的价值.


好吧,在我看来.
你也可以责怪教育.很多关于写一个字符串课程或写一个快速排序的课程以及使用现有图书馆的总体印象都是作弊.
深入研究"使用现有的图书馆会欺骗":获得计算机科学学位,我不得不参加许多关于如何编写代码的课程,但没有关于如何管理图书馆的课程.如果你可以做前者,你最终可能会自己找出后者,而且在课堂上只有有限的时间,所以我不确定我会"责备"任何人.应届毕业生经验不多,电影在11 :-)

2> Electrons_Ah..:

当你还在学习新语言的细节时,还必须学习如何使用第三方库看起来像是太多的工作.此外,库往往被严重记录 - 或者至少有一些文档似乎对新的(呃)程序员完全不透明.

因此,面对试图解决问题X,说"使用库"听起来很像"解决问题Y那么问题x".

(另外,他们的教授告诉他们不要这样做.虽然我没有学习STL,但我还是设法通过C++本科学生得到了所有方法.男孩,做了我的面条.)


我会说,因为它没有多大意义,所以很安全.发现STL令人兴奋.在我的生活中,我从未如此乐意丢掉数百行自定义代码.("我没有必要写自己的哈希表?优秀!等等")
"图书馆往往被严重记录" - 这是我的主要原因.至少在开源领域,库往往用C语言编写,带有神秘的变量名和几乎没有文档.

3> Carl Manaste..:

有些人在遇到问题时会想"我知道,我会使用图书馆."现在他们有两个问题.

说真的 - 对于新手来说,这是一种合理的方式,已经被新语言,编程环境,范例,击键等所淹没,以对使用库的建议做出反应.如果你有一个解决方案,但它没有工作,那么就有很多潜在的错误来源; 对它们进行分类是一项挑战. 添加它们似乎是不合理的.

"使用库"意味着找到库,下载它,在项目中安装它,并调用必要的函数.如果您已经习惯了(并且没有针对它的公司策略,并且您有理由信任供应商,并且库本身具有最小的依赖性等),那就不难了.但是如果它对你来说都是全新的,那么当你提出一个编程问题并找回一个系统配置答案时,它看起来就没那么有用了(即使它实际上并非如此).


对于那些不会使用其全部复杂性的程序来说,某些库的麻烦程度根本不值得.通常情况下,就像4天安装一个库,阅读文档,弄清楚它是如何输入的,以及将它与自己的代码进行比较1或2天,*和*你可以为自己的代码编写详细的文档. .

4> Noon Silk..:

几乎总是因为他们的教授告诉他们他们做不到.

有时它只是因为他们想要自己学习,但我会说这很少见.


伟大的一点,加上如果你使用图书馆你的老师应该学习它也了解你的代码.老师不是在学习新事物,因为他们已经知道一切.

5> andandandand..:

这是学习曲线.



6> Lotus Notes..:

使用库可能是学习程序员可以做的最糟糕的事情之一.他们不是学习如何编码,而是学习如何使用其他人实现的特定API.我不是说每个程序员都必须理解他们使用的每一件事情,但是了解计算机细节(数字逻辑,汇编操作码等)的程序员通常比已经开始的人有优势.像Java Swing这样的东西,只是把库放在一起.

在生产中,这当然是另一回事.但我认为最好的教育方法是至少"做一切".从头开始编写我自己的Web应用程序框架确实提高了我的编程技能和抽象能力.并不意味着我会使用该框架,如果有人雇用我构建他们的应用程序,但我知道"巨型"框架使用的东西背后的优点,缺点和原因,它可以帮助我选择一个特定的框架对于特定情况.



7> Nope..:

我记得只是因为我想看看是否可以创建自己的算法而避开几个库.我不想放弃,让别人为我工作,而是想从错误中吸取教训.一旦我想出了一个我满意的解决方案,我就查看了这些库.

所以对我来说,它只是想看看我能否做到.


这里也是一样的

8> sshow..:

我总是有这种冲动自己做,但有时我可以看到自己的局限.刚刚下载了一个库来创建PDF文档,但这几乎是我唯一记得的时间.

至少对我来说,(尝试)自己做事,是我的学习方式.

我的印象是,许多新手程序员如果要使用别人的图书馆,就不会认为这是他们自己的工作.



9> Ed S...:

我认为这不一定是坏事.使用库很棒; 它节省了时间,精力,错误等.但是,你在这个过程中学到的很少,对于新程序员来说,学习是目标.为了回答这个问题,我认为他们往往只是因为他们不习惯使用它们来避开库,也许他们不知道它们存在.


学习库对初学者来说并不是那么有用.

10> Bill K..:

对于许多文档较差的库,这些库要么松散地实现,要么使用的语言不能很好地控制包容和可见性,因此很难猜测库应该如何使用.

在你使用它一段时间之后,你已经习惯了这个怪癖或者阅读其他教你正确方法的源代码; 但是在那之前,使用一个糟糕的拼凑/设计的库可能会非常恼人.(或者甚至是一个设计得很好但没有很好记录的文件).

如果您没有库的源代码,那就是另一个问题 - 您无法控制保持程序正常运行的能力.这种情况现在更为罕见,但在购买的图书馆的情况下仍然会发生.



11> Jon Hopkins..:

大多数要点被覆盖(对我而言,主要的一点是学习曲线),但我认为另外一点起了作用:

因为学习图书馆比自己编写相同的功能更令人兴奋.



12> Seth..:

更多的图书馆=较少的可计费小时数.


较少的计费小时意味着您可以每小时收费更多.
这是一个非常短视的愿景,但对于经验不足的程序员来说可能也适用.事实上,你应该做的就是尽快通过重新发明轮位,以便为你的客户提供真正的商业价值(他们会注意到).
推荐阅读
贴进你的心聆听你的世界
这个屌丝很懒,什么也没留下!
DevBox开发工具箱 | 专业的在线开发工具网站    京公网安备 11010802040832号  |  京ICP备19059560号-6
Copyright © 1998 - 2020 DevBox.CN. All Rights Reserved devBox.cn 开发工具箱 版权所有