当主要目标是依赖核心语言的框架时,学习超越核心语言的基础是否有益?[关闭]


10

请记住,这不是另一个“ 在移至[ 此处插入框架 ] 之前我应该​​知道多少[ 这里插入编程语言 ]?”?我想知道的是,当您的意图是在大多数时候严重依赖其框架时,学习编程语言的那些高级概念有什么好处。因此,例如,我开始使用jQuery,首先花时间真正掌握Javascript的核心概念。另外,我书架上还有一些不仅仅涉及基础知识的书籍(例如,《 Java忍者》的秘密),而且还深入研究了该语言。当我浏览页面时,我发现其中相当一部分并没有延续到jQuery,因为我的主要目的是进行DOM操作。

Ruby和RoR也可以这样说。这些书会使我整体上成为更好的程序员吗?大概。这些主题可以帮助我更好地利用其框架吗?这就是我很难理解的地方。


7
调试时,如果您了解幕后发生的事情,通常会有所帮助。除此之外,当我遇到需要时,我大部分时间都会学习新东西,而且我很喜欢。
marczellm 2014年

2
我有点喜欢marczellm。我的一般态度是,您一生中只会拥有太多代码,而语言,方言和框架的发布基本上比您编写代码的速度快。如果您已经能够使用多种语言和框架,那么您可能想在需要了解或希望了解的基础上进行研究,而不是像以往那样不断增加。
Panzercrisis

我会说这另一个“多少”的问题-它肯定有相同的答案,即根据您的实际情况而定。
jmoreno 2014年

jQuery有点特殊情况。它几乎是嵌入Javascript中的另一种特定于领域的语言。(几乎但不是安静)。我想知道是因为这种特殊性,这个问题会更好地专门写关于jQuery和Javascript(而不是仅仅以jQuery和Javascript为例)
Lyndon White

Answers:


27

这是更重要的学习语言比它要研究的框架。很好地学习语言,就可以很好地使用该框架。

按重要性顺序(最重要的是第一):

  1. 基本编程原理-算法,数据结构等
  2. 语言范例-OOP,功能性等
  3. 语言功能。
  4. 语法和框架。

2
如果可以的话,很多人对此表示赞同。程序员将不了解自己的知识,无法进行高级工作的设计和能力。
彼得·史密斯

8
5.惯用代码。阅读其他人的代码,并学习该特定语言的样式
约书亚·泰勒

5
@JoshuaTaylor我想我将其放在框架之前很重要,因为惯用代码很可能与框架一起使用,并且单独学习它们更有用-语言惯用语不是框架的一部分,并且框架的用户可能添加了更多
Izkata 2014年

由于它证实了我的个人偏见,因此受到支持。不过,请提供您的资料。
亚伦·霍尔

5

当然。问题是“这种收益值得花时间投资吗?”。我会一直争论,但这肯定取决于您和您的环境,因为它们会影响收益(您的环境将从您的知识中获得多少)与成本(您需要学习多长时间以及您的学习水平)之间的关系。吸收知识)。

我为什么会说这是有益的?因为您将不会一直在框架中。即使是最全面的框架也仍然是更大的生态系统的一部分。您不能单独进行jQuery调用。您需要知道如何将脚本绑定到页面,如何运行,如何与您要执行的操作进行交互。那可能是您书中的“基础知识”,但是我一直发现,更深入的知识可以帮助我更快地编写代码,当然也可以更快地调试问题。框架与否。

除此之外,现实世界有一种讨厌程序员的习惯。当然,您今天的任务可能是执行一些DOM操作,但是明天您可能需要连接一些SWFObject。拥有良好的基础可以使您更轻松地适应不断变化的环境。

最后,即使您可能只想进行DOM操作,也很少有程序员单独工作。您的同行可能会使用编程语言来做更高级的事情。您将需要能够读取该代码,或者至少不要弄乱它。


1

可能需要在学习量上保持一点平衡。它不是全部还是什么都不是,因此请尽可能多地投入其中。您必须问自己,依靠该框架要承受什么风险。

如果您需要的是启动并运行一些最低可行产品,那就太好了。不会有巨大的性能或复杂的需求陷阱。假设您选择了一个可以处理您要构建的框架。

另一方面,如果您正在处理一个相当大/复杂的应用程序,而您发现该框架不能很好地处理某些问题。没什么大不了的,因此您最终不得不学习更多的JavaScript。如果您从一开始就学会了,那您将不得不花费时间。但是你有时间吗?您能在不按时完成工作的压力下学习基础知识吗?没有人能回答。

平衡它可能是最好的选择。快节奏。如果可以的话,学习一些JavaScript。您可能不会成为专家,但这没有理由忽略它。框架是由需要解决与您相似但又不完全一样的问题的人员创建的。


1

在充分了解核心语言之前,需要深入研究框架的一个普遍领域是性能。所有语言/平台都适用(休眠n + 1选择等)。这里有很多JQuery的提示以及依赖(除其他事项外)上做手脚的核心语言的良好的知识有关的性能:

使用“代替”每个本机函数总是比任何辅助函数都快。每当遍历作为JSON接收的对象时,最好重写JSON并使其返回一个数组,通过该数组您可以更轻松地进行循环。

使用ID而不是类由于类库的行为,最好通过ID选择对象:jQuery使用浏览器的本机方法getElementByID()来检索对象,从而实现了非常快速的查询。


0

我认为您的问题是基于错误的前提。首先,您说您打算依赖一个框架,然后您询问在框架之外学习是否有益。因此,您当然可以得出结论,这是不值得的。但是这个前提是有缺陷的。您不应该专注于使用框架。您应该专注于使用正确的工具来完成正确的工作。jQuery确实擅长某些任务,Ruby on Rails或任何其他框架也是如此。但是它们并不总是适用于所有事物的正确工具。了解框架以外的语言,甚至学习其他框架,微框架或其他工具,都可以帮助您确定框架何时发挥了更大的作用,并让您能够寻求其他,

所以我的回答是:是的,这绝对值得,因为该框架并不是适合每个工作的合适工具。

By using our site, you acknowledge that you have read and understand our Cookie Policy and Privacy Policy.
Licensed under cc by-sa 3.0 with attribution required.