JavaScript是你应当学习的下一个(或第一个)编程语言

我已经被多次问到,如果我刚刚开始,我应当学习什么编程语言,答案一定是JavaScript,下面是为什么:

最简单的开发环境

我相信人们进入编程最大的障碍实际上是编写代码相关的所有其它方面的东东。你能够更快地编写代码(至少在你开始学习的时候),在我看来就是一个胜利。每个人都可以访问web浏览器,这意味着每个人现在也能访问一个简单的开发环境了。如果你在使用Mac下的Chrome,按快捷键cmd-opt-j。就来到了控制台,现在你就可以开始编写JavaScript并管理你看到的网页了。真不错。还有大量的在线编辑器和工具,比如CodePen,JSFiddle,让你在浏览器搭建更为完整的开发/测试/原型环境。

简单

当你开始的时候,JavaScript让编写代码变得真正容易,这是非常有效的。定义一个函数,调用它。写个循环。忽略DOM(事实上,也差不多完全忽略了web),只关心简单的逻辑和代码。开始建立对象和数组。JS里的OO模型稍微有些奇怪(特别是对于类和继承),不过还好,你需要灵活些,不管怎样,如果你想成为开发人员的话。一旦你掌握了基础,你就可以更为深入,并发现JavaScript的所有力量。

灵活

之前讨论的另外一个方面有,JavaScript也是超级灵活的(论证也是如此)。一旦你能够从直接嵌在网页里的Sctipt标签里的一些函数,并控制一个图片或菜单,那么很快你就能够继续带有很多文件、较庞大的对象/类形式的结构,复杂的单页应用程序以及整个更加复杂的、完整架构的web应用程序。既然它与DOM和浏览器结合如此紧密,那么JavaScript实际上更好地扩展来迎接更大的挑战,可以完美地匹配web应用程序。

网络原生(web-native)

足够多的有天赋的移动app开发者让你相信,app是未来,我仍然认为开放的web技术才是未来的关键。给它一些时间,我们差不多用HTML/JS写出所有的移动app,并把打包好的app部署到手机上。我认为这基本上是不可避免的。学习web方面的开发是至关重要的。不管你在工作上主要用什么语言,你都需要基本地了解它,因为不管我们如何努力,你最终还是在操作CSS、调整一些HTML标签等。那不会立即就销声匿迹,我不这样认为。

不可避免

几乎是到了最后,不过主要由于思想进化而部署其它方面。实际上我把这是做你为什么要学习JavaScript的真正的重要原因。下面是权衡——如果你开发web方面的东西,那么你到最后是在编写JavaScript。这无可避免。你可以用服务器端语言(PHP,Python,Ruby)来做。有时候,负载会传递到浏览器,如果你想在远端做些有意思的东西,你将不得不使用JavaScript。因此,如果你不得不学习,为什么不能优化这个过程呢(或许在更多地方使用JS,而不是更少)。

轻便(浏览器/服务器/原生)

由于我们具有了Node.js之类的东东,JavaScript已经超越了浏览器。你不仅可以写服务器端JS(因此你可以用JS开发前后端web应用程序),而且还可以使用node-webkit之类的东西打包成可分发的桌面应用程序,或者使用PhoneGap为任意平台打包成移动app。现在还没有其它语言能够有如此轻便。

工具链

如果上面那些原因还不够的话,就开发者工具链而言,激增的JavaScript社区在接下来的数年里,还有一条真正的长路要走。我们或许没有像Mac开发者使用的Xcode那样集成的、一站式方式,但是我们有Grunt和Gulp之类的工具,可以建立自己的资源流水线。人们熟知的每个代码编辑器都支持JavaScript语法高亮和提示,我们不需要像其他语言的build过程,因此我们可以更加从容.还有一堆测试工具;从单元测试到功能测试,完全模拟了使用浏览器的用户。

因此不管怎么说——从来就没有开始学习编程的更好时间,如果你想开始,我建议从JavaScript开始。从简单做起,慢慢提高。看源代码。去Github。并为之疯狂。

免费领取兄弟连php原创视频教程光盘,详情咨询官网客服:

http://www3.53kf.com/webCompany.php?arg=lampbrother&style=1

时间: 2024-08-30 02:04:13

JavaScript是你应当学习的下一个(或第一个)编程语言的相关文章

深度学习的下一个大热门——Swift

来源商业新知网,原标题:为什么Swift会是深度学习的下一个大热门? 如果你喜欢编程,当你听到Swift,你可能会想到iOS或MacOS的应用程序开发.如果你正在进行深度学习,那么你一定听说过Swift for Tensorflow(缩写为S4TF).然后,你可以问自己:“为什么谷歌要为Swift创建一个TensorFlow版本?”Python和c++已经有了版本;为什么要添加另一种语言?在这篇文章中,我将试着回答这个问题,并概述为什么你应该认真遵循S4TF以及Swift语言本身的原因.这篇文章

《下一个倒下的会不会是华为》学习总结

<下一个倒下的会不会是华为> 这本不是任正非自己写的,是两个记者通过当面交谈-采访.间接的从讲话.书籍.文章.会议中分析出华为的一整套管理.观念.文化等. 客户第一.这是老生常谈的事情了,但却被很多普通工作者.行政管理则.HR.会计等内部员工,甚至是市场销售人.公关人忘记,一般企业主不会忘.因为处在公司内部,不大接触客户,所以普通工作者感受不到客户,可能就忘却,以上级脸色第一.对上级唯命是从.做作不已.甚至当企业上市.股份制后,到底是客户第一还是管理者.资本者.股东第一就更说不清楚了.内部普通

学习笔记---Javascript事件Event、IE浏览器下的拖拽效果

学习笔记---Javascript事件Event.IE浏览器下的拖拽效果     1. 关于event常用属性有returnValue(是否允许事件处理继续进行, false为停止继续操作).srcElement(触发事件的事件源对象)和attachEvent("onclick",function(){...}); 2. a. 实现拖放(Drag and Drop): 目前支支持IE, 若定制某对象为可拖放对象, 则必须覆盖目标对象的dragenter和dragover事件, 可以用e

JavaScript对下一个元旦倒计时,经常用于网店限时销售

<div>距离下一个元旦还有多久:</div> <div id="timer"></div> <script type="text/javascript"> function nextTime(){ var now = new Date(); //距离下一个元旦还有多久 var end = new Date(now.getFullYear() + 1,0,1); //两个时间差 var time = end

javascript 获取dom书的下一个节点。

利用javascript 写一个在页面点击加减按钮实现数字的累加.. 简略的html大概如此.看得懂就好不要在意这些细节啊 1 <input type="button" value="+" onclick="jia(this)" /> 2 <label class="num">0</label> 3 <input type="button" value="

C++ Primer 学习笔记_29_STL实践与分析(3) --操作步骤集装箱(下一个)

STL实践与分析 --顺序容器的操作(下) 六.訪问元素 假设容器非空,那么容器类型的front和back成员将返回容器的第一个和最后一个元素的引用. [与begin和end的对照:] 1)begin和end返回容器类型的迭代器,而不是引用: 2)end返回容器最后一个元素的下一个位置的迭代器,而back返回容器的最后一个元素的引用! /* *必须保证该list容器非空! *假设容器为空,则if语句内的全部操作都是没有定义的! */ if (!iList.empty()) { list<int>

C++ Primer 学习笔记_41_STL实践与分析(15)--先来看看算法【下一个】

STL实践与分析 --初窥算法[下] 一.写容器元素的算法 一些算法写入元素值.在使用这些算法写元素时一定要当心.必须确保算法所写的序列至少足以存储要写入的元素. 1.写入输入序列的元素 写入到输入序列的算法本质上是安全的--仅仅会写入与指定输入范围数量同样的元素. 写入到输入序列的一个简单算法是fill函数: fill(iVec.begin(),iVec.end(),10); fill(iVec.begin(),iVec.begin()+iVec.size()/2,0); fill带有一对迭代

[JavaScript] 初中级Javascript程序员必修学习目录

很多人总感觉javascript无法入门,笔者在这里写一下自己的学习过程,以及个人认 为的最佳看书过程,只要各位能按照本人所说步骤走下去,不用很长时间,坚持 个3个月,你的js层级会提高一个档次,无他,唯有努力与坚持,请看: 1. 从头到尾对一遍<<Javascript高级程序设计>>,不懂的地方可以暂时掠过,给自己对javascript有一个大体的印象 2. 认认真真的读完这本书:<<编写可维护的javascript>>,从编码规范,技巧,模式,等各个方面

《JavaScript权威指南》学习笔记之二十---XMLHttpRequest和AJAX解决方案

一.AJAX概述 AJAX是Asynchronous JavaScript and XML的缩写,中文译作异步JavaScript和XML.AJAX 不是新的编程语言,而是一种使用现有标准的新方法,在不重新加载页面的情况下,与服务器交换数据并更新部分网页的艺术.其核心是:客户端的Javascript能够与web服务器进行异步数据交换. 二.AJAX基础---XMLHttpRequest对象 所有现代浏览器(IE7+.Firefox.Chrome.Safari 以及 Opera)均内建 XMLHt