转自 PHP100中文网 初学编程
来源:互联网 发布:python自动点广告赚钱 编辑:程序博客网 时间:2024/05/16 04:38
本文是PHP100中文网原创翻译,转载请看文末的转载要求,谢谢合作!
很多人都在问我这样的问题:哪门语言应该是初学编程的第一门语言?我的答案一定是JavaScript,下面我来说说原因。
非常便捷的开发环境 我相信阻止很多人开始学习编程的障碍都是写代码以外的事情,如果你能够尽快开始编写程序,至少是还在学习的时候,就已经很好了。每个人都可以访问Web浏览器,这就意味着每个人都有了一个简单的开发环境。如果你是在Mac下使用Chrome,那就可以按下cmd-opt-j,从而进入控制台,那里你就可以开始用JavaScript写代码,修改你正在看的那个网页。这是多么棒的感觉!除此之外,还有大量的在线编辑器和工具供你选择,比如CodePen,JSFiddle,让你深入到更为完整的开发/测试/原型环境中。
简单 JavaScript真的为你开始学习写代码提供了极大的方便,让一切都变得更加容易和有效。按照你的想法,去定义一个函数,然后调用它,再写个循环。你可以忽略DOM,忽略整个Web,只关注于逻辑和代码。慢慢开始学会建立对象和数组,JS里的OO模型或许有些怪异,特别是在类和继承方面。不过这没关系,如果你想成为开发人员,你就要灵活一些。一旦你掌握了基础,你就可以更为深入地学习,发现JavaScript的强大。
灵活 另一方面,JavaScript也是非常灵活的语言。如果你了解了嵌在网页中的标签和其中的函数,并转向对图片和菜单的操作,你也就可以很快过度到一个更高级的Web应用程序,里面拥有更多的文件,更大的对象/类结构,更复杂的单页应用等等。既然它与DOM和浏览器结合的如此紧密,JavaScript实际上可以升级的更好,从而迎接更大的挑战,完美地匹配web应用程序。
天生使用Web开发 许多移动app开发者会让你相信app是未来,我一直认为开放的web技术才是未来的关键。给它一些时间,我们可以用HTML/JS写出所有的移动app,并把它们部署到我们的手机上。我相信这是一个势在必行的趋势,学习Web开发是非常重要的,你要知道它的基本原理,无论你在工作上主要用什么语言。因为无论如何,你最终还是要操作CSS、调整一些HTML标签等等,并且我不认为这些工作以后会消失。
不可避免 这条我认为是你要学习JavaScript的真正重要原因。如果你开发一些web方面的东西,你最后肯定会用到JavaScript,这不可避免。当然你也可以用PHP,Python,Ruby这样的服务器端语言,但有时候负载要传到浏览器,这个时候如果你想远程做些有意思的事情,你就又会用到JavaScript。
轻便 我们有了Node.js,JavaScript已经超越了浏览器。你不仅可以写服务器端JS,而且还可以使用node-webkit之类的东西,将其打包成可分发的桌面应用程序,或者使用PhoneGap为任意平台打包成移动app。现在还没有其它任何一种语言能够有如此轻便。
工具链 人们熟知的每个代码编辑器都支持JavaScript语法高亮和提示,我们不需要像其他语言一样的build过程,因此我们便捷和轻盈。当然,也有很多的测试工具,从单元测试到功能测试,可以完全模拟使用浏览器的用户。
总之,从来就没有一个时间应该去学习编程,但如果你想现在开始,我建议从JavaScript开始。从简单做起,逐步提高,多看看源代码,多逛逛Github。
- 转自 PHP100中文网 初学编程
- 转自:PHP100 Linux常用命令大全
- 程序员的本质--->>转自php100
- 程序员2013新年增值计划,转自php100
- php 数组的常用函数(转自php100)
- 编程修养[转载自JSP中文网]
- 编程-经典语录(转自ubuntu 中文)
- 学好PHP之PHP100中文视频目录
- php超级分页类(转载自php100论坛)
- 《PHP100带给程序员的11条建议》和《PHP100告诉你应该如何学习编程》
- 【转】 PHP100视频教程(2012-2013版)
- 初学编程
- 初学编程
- 初学编程
- 初学编程
- 初学编程
- 初学编程
- 初学编程
- hdu2149
- 第十三周 项目5:(2)完整复制字符串
- Ruby on Rails技术(三)——基本语法(标识符定义)
- synchronized 之我见
- 英文名字的误区及起名方法
- 转自 PHP100中文网 初学编程
- Android Studio导入项目失败
- Android Manifest之元素中文注释
- Ruby on Rails技术(四)——基本语法(流程控制语句)
- 第十三周项目3
- 微信公众平台推出“微信连WiFi”新功能插件
- android布局性能优化
- iOS ipcamer开发难点分析
- Google JavaScript Style Guide[chajn2.28 != me2.64