转自 PHP100中文网 初学编程

  本文是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。

  • 0
    点赞
  • 0
    收藏
    觉得还不错? 一键收藏
  • 0
    评论
张恩民 老师 的PHP视频教程【www.php100.com】 绝对是PHP教程中的经典。 PHP100视频教程目录(共112集) PHP100视频教程1:环境配置与代码调试 PHP100视频教程2:PHP的数据类型与源码调试 PHP100视频教程3:常用PHP运算类型介绍与应用 PHP100视频教程4: PHP条件语句介绍与应用 PHP100视频教程5:PHP循环语句的介绍与应用 PHP100视频教程6:PHP数组的创建修改应用 PHP100视频教程7:PHP函数和自定义函数 PHP100视频教程8:Mysql 简介和创建新的数据库 PHP100视频教程9:数据库中的常用SQL语句 PHP100视频教程10:MYSQL在PHP5中的应用 PHP100视频教程11:学习制作PHP+MYSQL留言板(上) PHP100视频教程12:学习制作PHP+MYSQL留言板(下) PHP100视频教程13:PHP+MYSQL分页原理 PHP100视频教程14:PHP上传原理及应用 PHP100视频教程15:PHP生成HTML文件原理 PHP100视频教程16:PHP小偷程序原理和实例 PHP100视频教程17:PHP面向对象开发的学习(一) PHP100视频教程18:PHP面向对象开发的学习(二) PHP100视频教程19:PHP面向对象开发的学习(三) PHP100视频教程20:PHP面向对象开发的学习(四) PHP100视频教程21:PHP面向对象开发的学习(五) PHP100视频教程22:PHP面向对象开发的学习(六) PHP100视频教程23:PHP面向对象开发的学习(七) PHP100视频教程24:PHP面向对象开发的学习(八) PHP100视频教程25:PHP面向对象开发的学习(九) PHP100视频教程26:制作自己的PHP+MYSQL的类 PHP100视频教程27:PHP模板引擎Smarty入门使用 PHP100视频教程28:PHP模板引擎Smarty的变量操作符 PHP100视频教程29:PHP模板引擎Smarty内置函数 PHP100视频教程30:PHP模板引擎Smarty缓存应用 PHP100视频教程31:PHP在线编辑器fckeditor应用 PHP100视频教程32:PHP5中Cookie与 Session详解 PHP100视频教程33:PHP5中图片验证码的制作(上) PHP100视频教程34:PHP5中图片中文验证码(下) PHP100视频教程35:PHP5文字图片混合水印与缩略图 PHP100视频教程36:PHP中正则表达式学习及应用(一) PHP100视频教程37:PHP中正则表达式学习及应用(二) PHP100视频教程38:PHP中正则表达式学习及应用(三) PHP100视频教程39:PHP中正则表达式学习及应用(四) PHP100视频教程40:PHP中开发自己的-UBB代码 PHP100视频教程41:PHP站内搜索、多关键字、加亮显示 PHP100视频教程42:PHP通过mail()或Socket发邮件 PHP100视频教程43:PHP中MVC学习之ThinkPHP(上) PHP100视频教程44:PHP中MVC学习之ThinkPHP(下) PHP100视频教程45:如何用PHP开发一个完整的网站 PHP100视频教程46:PHPMyAdmin功能操作详解 PHP100视频教程47:PHP输出CSV和EXCEL两种简单的方法 PHP100视频教程48:Ajax+PHP快速上手及应用 PHP100视频教程49: Ajax+PHP打造等待进度条效果(二) PHP100视频教程50: Ajax+PHP检查用户名或邮件(三) PHP100视频教程51:PHP+MYSQL会员系统的开发(上) PHP100视频教程52:PHP+MYSQL会员系统的开发(下) PHP100视频教程53:PHP如何防止注入及开发安全 PHP100视频教程54:Apache Rewrite 拟静态配置 PHP100视频教程55:PHP5中使用PDO连接数据库 PHP100视频教程56:制作PHP安装程序的原理和步骤 PHP100视频教程57:PHP备份数据库原理和方法 PHP100视频教程58:快速设计一个企业网站之BIWEB PHP100视频教程59:关于BIWEB常见问题和结构分析 PHP100视频教程60:PHP与数据库代码开发规范 PHP100视频教程61:PHP+Mysql新闻系统的开发一 PHP100视频教程62:PHP+Mysql新闻系统的开发二 PHP100视频教程63:PHP+Mysql新闻系统的开发三(上) PHP100视频教程64:PHP+Mysql新闻系统的开发四 PHP100视频教程65:PHP+Mysql新闻系统的开发五 PHP100视频教程66:PHP+Mysql新闻系统的开发六 PHP100视频教程67:PHP+Mysql新闻系统的开发七 PHP100视频教程68:PHP+Mysql新闻系统的开发八 PHP100视频教程69:PHP+Mysql新闻系统的开发九 PHP100视频教程70:PHP 5.3.1 + Apache + Mysql配置 PHP100视频教程71:PHP SQLite 的使用和配置 PHP100视频教程72:PHP+SQLite 常用函数及应用 PHP100视频教程73:PHP MemCached高级缓存配置 PHP100视频教程74:PHP MemCached 高级缓存应用 PHP100视频教程75:Zend framework 配置与调试 PHP100视频教程76:Zend framework 数据库操之读取与插入 PHP100视频教程77:Zend framework数据库操作之编辑和视图函数 PHP100视频教程78:PHP+Flash多文件异步上传 swfupload PHP100视频教程79:PHP上传RAR压缩包并解压目录 PHP100视频教程80:ADODB PHP 数据库万能引擎类(上) PHP100视频教程81:ADODB PHP 数据库万能引擎类(下) PHP100视频教程82: PHP开发通用采集入库程序 PHP100视频教程83: PHP开发通用采集入库程序二 PHP100视频教程84:PHP开发通用采集入库程序三 PHP100视频教程85:PHP 图表类 JPGraph 入门配置与应用 PHP100视频教程86:PHP JPGraph 中文字体和背景设置 PHP100视频教程87:PHP 之 CURL 传输与获取功能 PHP100视频教程88:PHP 之 CURL模拟登陆并获取数据 PHP100视频教程89:PHP XML 的 DOMDocument 读取功能 PHP100视频教程90:PHP DOM 创建生成多功能 XML文件 PHP100视频教程91:PHP修改和删除XML内容的原理和方法 PHP100视频教程92:在线支付接口之PHP支付宝接口开发 PHP100视频教程93:在线支付接口之PHP云网接口开发 PHP100视频教程94:SVN (Subversion) 配置与安装调试 PHP100视频教程95:SVN (Subversion) 应用与技巧 PHP100视频教程96:PHP程序员经典面试&笔试题目解析(上) PHP100视频教程97:PHP程序员经典面试&笔试题目解析(下) PHP100视频教程98:PHP会员权限交叉多类型的控制(上) PHP100视频教程99:PHP会员权限交叉多类型的控制(下) PHP100视频教程100PHP程序员的学习之路和未来职业规划 PHP100视频教程101:PHP5.3 Xdebug 调试器配置与应用 PHP100视频教程102:PHP5.3 Xdebug 错误分析与性能调试 PHP100视频教程103:JQuery 之 Javascript 基础(一) PHP100视频教程104:JQuery 之 Javascript 基础(二) PHP100视频教程105:JQuery 之 Javascript 基础(三) PHP100视频教程106:JQuery 之语法模式与开发基础 PHP100视频教程107:JQuery 之选择器、事件器详解 PHP100视频教程108:JQuery之各类动画效果的实现 PHP100视频教程109:JQuery 之 Ajax 开发详解 PHP100视频教程110:Jquery案例 之 双下拉框内容移动 PHP100视频教程111:Jquery案例 之 复选框与隔行换色 PHP100视频教程112:Jquery案例 之 双击编辑异步更新
评论
添加红包

请填写红包祝福语或标题

红包个数最小为10个

红包金额最低5元

当前余额3.43前往充值 >
需支付:10.00
成就一亿技术人!
领取后你会自动成为博主和红包主的粉丝 规则
hope_wisdom
发出的红包
实付
使用余额支付
点击重新获取
扫码支付
钱包余额 0

抵扣说明:

1.余额是钱包充值的虚拟货币,按照1:1的比例进行支付金额的抵扣。
2.余额无法直接购买下载,可以购买VIP、付费专栏及课程。

余额充值