设为首页收藏本站

LUPA开源社区

 找回密码
 注册
文章 帖子 博客
LUPA开源社区 首页 IT综合资讯 查看内容

世上的程序语言已这么丰富,为什么还不够?

2014-6-24 14:20| 发布者: joejoe0332| 查看: 2539| 评论: 0|原作者: Techorange|来自: Techorange

摘要: 程序语言百百种,想要学 Coding 就必须先确定你的目的是什么,有的是拿来写App的,有的是专写操作系统,有的则是拿来写网页的 …… 各种不同的目的都有其最适合的语言。常见的语言如 C++、JavaScript、VB、VC、Matla ...

   程序语言百百种,想要学 Coding 就必须先确定你的目的是什么,有的是拿来写App的,有的是专写操作系统,有的则是拿来写网页的 …… 各种不同的目的都有其最适合的语言。常见的语言如 C++、JavaScript、VB、VC、Matlab、Python 等,但其实像WhatsApp如此受欢迎的App就不是前述这几种语言写的,为什么要有那么多的程序语言?



  本文作者 Chris Dannen 同时是知名科技媒体《Fast Company Digital》 和《FastCo.Labs》 的编辑,曾经做过管理顾问、户外运动的採访记者以及 Red Bull Energy Drink 的品牌代表,曾写过两本关于 iOS 开发与设计的书。以下以作者第一人称撰写。



  世界上的程序语言已这么丰富,为什么我们还需要更多?


  六月初,Apple 发布了一个新的语言 Swift,主要是为了建立 Mac Apps 而开发的,你有想过为什么需要这么多的程序语言吗?难道现在开发的都还不够用吗?没错,就是一个简单到不行的塬因:只要有人想要学习,就会有各种不同的语言被开发出来。因为科技进步,加上因为使用语言的目的性不同,越来越广泛也越齐全。


  如果把这个问题套用到「鸡生蛋还是蛋生鸡」,这个问题的解答会是蛋生鸡。许多语言的开端,都是要让编写程序的概念变得更简单、更适合初学者和有兴趣的朋友。事实上,电脑把语言设成二元码(电脑进行储存和运算时,採用二进位,也就是所有资讯都被替代成二进位字串),为什么要这么做呢?


  原因很简单:如果你把你所有的指示转换成 Yes 或 No 的问题,并分别以 1 和 0 表示,这么一来电脑就不会搞混了(除非一开始的编码是错的)。在第二次世界大战时,广播讯号是以非常糟糕又不可靠的无线电导航来传重要讯息,而二元码如此聪明的创新是 Claude Shannon (美国数学家、电子工程师和密码学家,被誉为资讯理论的创始人)所发想的,只要用二元码,电脑就可以把资讯储存与进行处理。


  自从二元码诞生,非常多的语言都以它来设计,使工程师能够写得更流畅又更容易读,虽然会感到无聊或是觉得写二元码很冗长。比如说大写字母 A 好了,以二元码表示成 01000001 ,如果是小写 a 呢,则是 01100001 ,写完一个程序要花一些时间,但不用介意长度有几千行,因为大多数的程序都是这样来的。


  当一个语言以易懂的英文写,就更容易读了,但另一方面就会显得相当冗长;像是 Apple 的程序语言 Objective-C(是一种通用、高阶、物件导向的程序语言,任何塬始的 C 语言承是不需要经过修改就能直接通过 Objective-C 的编译器),就是冗长到不行;但主要也是为了要满足对使用者友善的特色,语言本身就是非常容易使用的。即使在你的生命中从来没有写过程序,或多或少你也能了解一点工程师想要告诉电脑要做什么,它长的大概是像这个样子:

  事实上,为什么在物理电子学的範畴裡有这么多的骇客套件,主要是因为要让现实世界的装置通常能以最自然的方式转换成写程序的概念,至少对于写程序的初学者而言,这类的程序语言是比较适合的,即使它很冗长。


  程序语言就是开发者自我性格的复制


  就像其他的创新一样,程序语言通常都是从一个偏执顽固的人开始,试图要走一条只属于自己的路。


  举例来说1971年,在这个领域的大多数人都在 Lisp(源于列表处理器,List Processor 的缩写,是历史悠久的电脑程序语言家族,于 1958 年基于 λ 演算创造,是第一个函数语言程序设计的语言)写程序,一个在 Stanford 的工程师明白了要如何编辑 Lisp 的编码,也就是我们今天所谓的塬始的编辑器;想像一下,就是一个在 Mac 上的 TextEdit App,但当然不是像现在一样可以直接简单的使用。


  然后你必须按 Escape 键跳出页面,检查你所做的那些改变,像是储存或浏览在部落格贴文的草稿等,是否跟你预想中的一样;不管怎么说,重复对照你所想的与结果,这简直是一件痛苦的事,。


  另一个从 MIT 来的工程师看到在 Palo Alto 的创新后,决定要回 Cambridge 后靠自己把它复製下来,并且做一些改善与调整;而其他同事们为了新介面终于开始写 macros(巨集,根据一系列预定的规则替换一定的文字模式)—— 可重复使用的编码位元以节省时间。当他们将巨集的集合程序化,结合到一个系统内,他们把这个叫做 EMACS,Editing MACroS 的缩写。



酷毙

雷人

鲜花

鸡蛋

漂亮
  • 快毕业了,没工作经验,
    找份工作好难啊?
    赶紧去人才芯片公司磨练吧!!

最新评论

关于LUPA|人才芯片工程|人才招聘|LUPA认证|LUPA教育|LUPA开源社区 ( 浙B2-20090187 浙公网安备 33010602006705号   

返回顶部