一篇文章告诉你编程的一切(二)

7.Java是一种诞生自Sun Microsystem(今已不存在)的编程语言,它是在一个虚拟机上运行的,因此说Java可以运行在任何地方,就是说它在Windows、Mac或Unix机上运行是完全一样的。

8.JavaScript是怎么回事呢?

最初的网景公司(Netscape)要解决一个问题,让静态的Web界面动起来,于是一个叫布兰登·艾克的工程师花了几周时间创造了一门叫做JavaScript的语言。它其实和Java没有半毛钱的关系。JavaScript不像Java那么可控,甚至比原生编译的C慢得多,并且十分不精确。然而,有Gmail、Google、Flicker、Twitter和Facebook这些大佬在使用它,并一起致力于弥补它的缺陷,把它弄得漂亮些。08年,一位叫瑞恩·达尔的开发者对V8引擎作了修改,并作为自由软件发布。它使得JavaScript可以再浏览器以外的地方运行,而且改进后很快。达尔管这种进一步的分支版本叫做Node.js,它很快流行起来。JavaScript起初在Web页面上运行没多久,之后就冲破了浏览器的牢笼,它可以访问你的硬盘,发送邮件删除你所有的文件。现在它是一门真正的编程语言了,从前的客户端变成了服务器。

9.关于PHP我应该知道些什么?

PHP是Personal Home Pages/Forms Interpreter(个人主页/表单解释器)的缩写。它的理念是当你在载入Web页面时,PHP代码可以在页面传入互联网之前就运行起来。比如PHP可以检查你是否已经登录,如果登陆了,它可以把你高度保密的账号细节信息显示出来;如果没有,它就说,“请登录”。

以写PHP代码为生并非死路一条,很多人依靠PHP致富了。只不过你得不停地剪贴粘贴,花很多时间在谷歌上搜索,搞明白问题出在哪儿。可悲、可怜、可憎、及其实用、无比成功的PHP。读PHP代码就像在读诗,大一时写的诗。

10.应用软件是怎么做出来的?

拥有一台Mac电脑的其中一个好处,是可以去下载苹果的一个程序,叫Xcode。它是一个IDE集成开发环境(Intergrated Development Environment)。Xcode是苹果的心脏,是一个完整的世界。比如其中有一个叫 iOS SDK(软件开发工具包)的组件,里面有许许多多的API,播放声音的API,追踪用户所在地址的API,搜集用户信息的API等等。

只要你是在编程,尤其是Web编程,那你十有八九已经采用了一种框架。SDK是一种企业哲学的表达,框架Framework则更像一种产品的宣传,你可以用一个图形框架来创建图形应用程序,用Web框架来创建Web应用程序,用网络框架来创建网络服务器。软件世界有数以百计的框架,几乎每种语言都有自己饿框架。

框架是有主见的,不过不像SDK那么强硬。后者是严密捆绑的,夹带着企业公关的私货,尤其是像苹果或微软这种公司,而框架很多时候是源自某种不满,去改善。很多优秀的框架都是Free,它们的存在是为了解决问题,为它们的创造者带来荣耀和影响力,而不是金钱和权力。它们的名声是自然而然传出去的。如果你在做一个Web应用,不先用一下框架就是傻瓜了。有的框架很小,是给那些控制欲很强的人准备的,专门处理URL路由,有的像是Django和Rails这样的大型框架,致力于实现Smalltalk等大系统在早年间提出的目标:开发大规模协作系统,让数据可以在协同中得到操控和共享。这是别人帮你做好的,DRY(Don't Repeat Youeself!)

11.测试与版本管理

有时,在写程序本身之前,会先把程序必须通过的测试写好。这叫做测试驱动设计。测试当然也是代码,它们负责检测其它代码里的功能,而且是自动的。

版本管理是编程中最美妙的东西。所有那些进入代码库的文档的每一次改变都会记录在案;可以用它来检查bug是在什么时候进入系统的;针对做出的改变,时间精确到分秒,很强大;每个人都可以查看每一个改变,完全透明;可以改变打包,变成分支,任何人可以根据需要去创建分支,不会破坏其它分支的完整性;可以把已完成的分支重新合并到代码主干上去,随时复查和修正不一致的地方。

这样一来,代码的实际发布就是由测试和版本控制来触发的!

12.程序员的管理本身是一门学问。有一个学科分支是专门处理程序员沟通的。最知名的方法叫做“敏捷开发”,要求程序员之间进行持续协调,并要求他们遵循一套仪式和规范,从而让他们的程序可以和其他人的程序合作。

你可能感兴趣的:(一篇文章告诉你编程的一切(二))