C#和.net Core怎么样?
然而,一位朋友最近让我对C#感兴趣,这显然是一种美妙的语言。上个月发布的.net Core使其更具吸引力。然而,开始简单并首先学习编程并不是一个坏主意,不幸的是,C#与.net是不可分割的。所有的代码示例似乎都有.net,这可能会让初学者学习编程概念不太好。
C#的结构和严格打字对我来说很有吸引力,但是简单性也是如此。 Ruby和其他动态语言。 Ruby的OOP和语言的固有意义也很有吸引力。实际上,每种语言似乎都有令人信服的理由。
转到JavaScript
因此,继续研究表明,JavaScript作为一种优秀的第一语言有很强的理由,它将扩展到许多领域(网络前端和后端,DevOps等)并创建,正如Jeffrey Snover所说,&# 39; a virtuous cycle'
JavaScript看起来也不错。它似乎比C#更简洁。然而,它的缺点是没有C#的严格打字,也没有Ruby的观点,以帮助程序员编写更好的代码。它太宽松了。 ES6和TypeScript可以解决这个问题,最初我想学习TypeScript。但是,我是一个原教旨主义者,所以这并不是一种正确的方法。
可能的路径
这导致我或多或少基于以下路径:
无论如何,JavaScript对于全栈,#39;所有内容都是有意义的。网页服务。很高兴学习非Microsoft堆栈。
谢谢, 缺口
修改
我听过 podcast ,其中Kyle Simpson,Ashley Williams等人正在谈论使用JavaScript学习编程概念的初学者。并且,他们赞扬ES5中缺乏抽象和糖,并将其与ES6中抽象的引入进行比较,其中一些模糊了初学者的语言方面。
在ES6的上下文中,对于初学者而言,它们似乎更强调Classes,并且实现似乎是一种奇怪的语言。但是,他们还提到了令人敬畏的Destructuring是如何以及如何使它更容易学习。这是一个有趣的讨论。
Ashley还在jsconf2015(上面链接的页面上的链接)上发表了演讲,其中她在使用它来学习编程概念的背景下查看ES6。
答案 0 :(得分:2)
当您精通JavaScript时,ES6很可能会得到完全支持。我会直接去ES6。然后,我会学习JavaScript框架,比如Angular 2。
ES6几乎涵盖了ES5的所有功能,它们并没有完全不同。有一个very good ES6 description可用。答案 1 :(得分:2)
当你看到:
[{lb:'Email',val:'ab@kg.co.sa'}].map(function(e){
return '<div><label>'+e.lb+'</label>'+'<input value="'+e.val+'" />'+'</div>'
})
可以用 ES6 :
编写[{lb:'Email',val:'ab@kg.co.sa'}].map(({lb,val})=>`<div><label>${lb}</label> <input value="${val}" /></div>`)
您将自己做出决定。
答案 2 :(得分:0)
Javascript是一种很棒的语言,但它也很混乱,而且有很多不好的文章。与其他答案不同,我建议您首先学习ES5,因为您提到的所有书籍都是用ES5编写的。你不想把自己与箭头语法和其他语法糖混淆。一旦你厌倦了ES5,你也会更加欣赏ES6,但我相信这是学习的必要部分。它还可以让您更好地了解为什么这些新功能添加到ES6中。
在学习Javascript方面,我的意见是选择多个来源,如视频,跟随Twitter上的合适人物,收听播客,文章等。这是一个指导您旅程的好地方:{{3 }}
你提到的书很棒,但我会再加两本书。 Javascript权威指南,你不知道JS。
我已经阅读了Eloquent JS,The Definitive Guide和Javascript这些好的部分,但我觉得在我读完“你不懂JS - Kyle Simpson后”http://jstherightway.org/
我强烈建议他的视频课程“为严肃的程序员提供高级Javascript”。它真的让我看到了javascript范例。
不要跳过框架,因为你会在配置上花费大量时间而不是学习实际的javascript。