代码之家  ›  专栏  ›  技术社区  ›  nickwalt

初级程序员-是从ES5还是ES6开始[已关闭]

  •  0
  • nickwalt  · 技术社区  · 8 年前

    在成为IT运营领域的多面手多年后,我开始踏上为web服务(全栈)编写代码的道路。Ruby、Python、C#和JavaScript都很有趣,Launch School看起来有一个很好的方法和课程来学习完整堆栈,从后端的Ruby开始。

    C#和.net Core怎么样?

    然而,最近一位朋友让我对C#感兴趣,这显然是一种很好的语言。上个月发布的.net Core使其更具吸引力。然而,从简单开始学习编程并不是一个坏主意,不幸的是,C#与.net密不可分。所有的代码示例似乎都有.net,这可能使初学者学习编程概念不太好。

    C#的结构和严格类型对我很有吸引力,但Ruby和其他动态语言的“简单性”也很吸引我。Ruby的OOP和该语言的固执己见也很吸引人。事实上,每种语言都有令人信服的原因。

    转到JavaScript

    因此,持续的研究表明,JavaScript是一种很好的第一语言,它将扩展到许多领域(web前端和后端、DevOps等),并如Jeffrey Snover所说 a virtuous cycle '.

    JavaScript看起来也不错。它似乎没有C#那么冗长。然而,它的缺点是没有C#的严格类型,也没有Ruby的固执己见,以帮助程序员编写更好的代码。它太松了。ES6和TypeScript解决了这个问题,最初我只想学习TypeScript。但是,我是一个原教旨主义者,所以这感觉不是正确的方式。

    可能的路径

    这让我找到了一条或多或少基于以下因素的路径:

    1. 学习使用ES5进行编码(开始时有很多可用资源 使用口若悬河的JavaScript,添加口语JavaScript、JavaScript:The Good Parts等);
    2. 将Smalltalk添加到组合中,因为这听起来像是一个很好的基线,而且众所周知,它是一种漂亮、简单/直接的语言,以OOP为中心;
    3. 学习CSS和HTML、JSON、ReST;
    4. 一旦我熟悉ES5,学习TypeScript和ES6,包括避免了它的许多缺陷;
    5. 学习节点。js和其他js变体;
    6. 根据需要添加框架。

    无论如何,JavaScript对于全栈、“一切”web服务都有意义。学习非Microsoft堆栈也很好。

    谢谢 刻痕

    编辑:

    我听过 podcast

    在ES6使初学者更难学习的背景下,他们似乎非常强烈地指向Classes,而实现似乎是一种奇怪的语言。但是,他们也提到了毁灭是多么可怕,以及它如何使学习变得更容易。这是一个有趣的讨论。

    Ashley还在jsconf2015上做了一次演讲(链接到上面链接的页面上),在演讲中,她从使用ES6学习编程概念的角度来看ES6。

    3 回复  |  直到 8 年前
        1
  •  2
  •   Yasin Yaqoobi    8 年前

    在学习Javascript时,我的意见是选择多种来源,如视频、在推特上关注合适的人、收听播客、文章等。这里是一个很好的地方,可以指导您的旅程: http://jstherightway.org/

    你提到的书很好,但我想再加两本书。Javascript是权威指南,您不了解JS。

    我读过《易洛魁特JS》、《最终指南》和《Javascript》中的精彩部分,但在读了《你不知道JS——凯尔·辛普森的作品》之后,我觉得自己真正开始掌握JS了 https://github.com/getify/You-Dont-Know-JS

        2
  •  2
  •   Robo Robok    8 年前

    在您精通JavaScript的时候,ES6很可能会得到完全支持。我会直接学习ES6。然后,我会学习JavaScript框架,比如 Angular 2 .

    ES6几乎包含了ES5的所有功能,它们并没有完全不同。有一个 very good ES6 description 可获得的

        3
  •  2
  •   Community Egal    4 年前

    当您看到:

    ES5系统

    [{lb:'Email',val:'ab@kg.co.sa'}].map(function(e){
          return '<div><label>'+e.lb+'</label>'+'<input value="'+e.val+'" />'+'</div>'
                 
    })
    

    可以写入 欧洲标准6 :

    [{lb:'Email',val:'ab@kg.co.sa'}].map(({lb,val})=>`<div><label>${lb}</label> <input value="${val}" /></div>`)
    

    ==>;优雅&生产力与 欧洲标准6 .