编程语言、框架随想

前言

从事程序员这份工作已经很久了,期间也接触了很多语言、框架。一直想提笔写一个总结性的文章,不求面面俱到,但求给真心热爱计算机的同好一些经验之谈。

多年前,当我们开始学习计算机的时候,我们就有一个感性的认识:程序=指令+数据。多年的发展历史,技术的不断革新,不变的还是这个简单的公式。另一个我个人比较认同的公式是:程序=输入+处理+输出。

编程语言越高级,那么意味着开发功能所用的时间越少,执行性能上会越低,对人的编程体验越好。另外我个人认为有专门的IDE的语言使用起来要优于编辑器+插件的形式。
编程语言在随编程思想的变化而变化,影响编程语言发展的,出来本身语言实现的优劣,整个开发环境的生态也很重要。
我们需要根据开发目标场景来选择合适的开发语言。有些应用场景会导致新语言的产生。

汇编语言 编译型

作为最接近硬件的语言,汇编语言既简单又复杂。如果以倒金字塔来做比较,那么汇编语言在计算机软件系统的组成中,是属于倒金字塔的塔尖部位的。除了一些极端恶劣的开发环境,比如嵌入式设备,系统的部分启动代码外(这些代码基本上在计算机可见的使用寿命中都不会有升级或修改),我们平常是不会接触汇编语言的开发的,而且不同的硬件设备一般对应有不同的汇编语言指令,如果不是相关领域专门进行相关的开发工作,我们一般只是作为知识扩展,加深自己对计算机的理解。在计算机发展的早期,程序员们大都是使用汇编语言,进行当时的程序开发。

C语言 编译型

C语言诞生之后,立即解放了大量开发人员的时间和精力。我们都知道计算机是一个可以进行大量的重复计算的机器。C语言的语法已经接近了人类可以理解的文章的水平,因为人很容易看懂文章,而汇编那种公式一样的代码就很抽象了。C语言提供了一个人们比较容易接受的开发语法,而且写出来的代码是要经过编译,形成对应平台的目标机器指令的,这样人们可以比较方便的写一份代码,然后生成多种机器的运行程序。不够严谨的说:C语言就是给汇编语言的一些指令或结构进行了重新的封装,我们所写的C语言代码,要经过编译程序的处理,转化为汇编程序,然后再进一步处理。由于转化的过程是程序控制的,因此也就有可能产生性能的损耗。当然我们下面要介绍的语言,由于封装越来越高,因此性能的损耗也雨来越大。

  • 优点
    • 接近底层,而又没有汇编语言的繁琐,代码可读性高。
    • 性能高
  • 缺点
    • 造轮子的情况比较突出,大部分库无法直接使用。
    • 目前只适合进行一些不需要人机交互体验的开发,作为基础设施使用。

C++语言 编译型

语言作为面向对象的编程语言,在保证性能的情况下,也进一步提升了编程的体验,我目前接触不到,不过这语言,目前主要还是游戏开发方面使用较多。

Objective-C 语言 编译型

做为开发苹果应用的官方语言,OC为C语言引入了面向对象的概念。同时苹果推出的Xcode IDE也是目前少有的良心IDE(虽然最近几次升级很恶心),由于苹果自己产品的封闭生态圈,因此苹果可以很方便的进行性能和新功能的调优。同时Objective-C语言的调试环境确实是少有的强大。

Java语言 编译型

Java语言也出来很久了,业内一直有唱衰的论调,但比较无奈的是,我接触了很多语言,也许他们有自己独到的小亮点,但就整个开发生态而言,Java语言确实是目前比较完善的。因此大部分企业选择使用Java语言作为项目的开发语言。在一些电信行业,很多系统的代码都是服役十年以上的老代码。

JavaScript语言

语法性感觉不够强,但是上手简单,基本上目前主要在NodeJS项目、Reactive中使用。在WEB开发中使用较多。

Python语言 解释型

这个语言起源于一个愚人节的恶搞,能够流行起来已经不易,抛开它稍微奇葩一点的语法格式,平常当个计算器或者写些小工具还是很方便的。比如大家经常写的小爬虫。

Groovy语言 编译型

Groovy代码可以运行在JVM虚拟机,在兼容Java语法的同时,大量的引入语法糖设计,非常适合单人的一揽子计划。基本上配合一个GGTS框架(单独有一个IDE,项目为经典的MVC设计),一个人就可以完成一个大型项目的开发。这是我目前发现的开发速度最快的语言和框架。

Go语言 编译型

谷歌作为一家世界级的大企业,自己开发编程语言,确实水平不凡。Go语言整合了面向过程和面向对象的优点,同时加入了原生并发支持。作为服务器开发语言确实很方便,目前唯一的缺点就是没有一个跨平台的方便的原生IDE,同时整个开发生态发展速度不够快。

注意

文章还没写完,部分内容还会有修改。

最后编辑于
©著作权归作者所有,转载或内容合作请联系作者
  • 序言:七十年代末,一起剥皮案震惊了整个滨河市,随后出现的几起案子,更是在滨河造成了极大的恐慌,老刑警刘岩,带你破解...
    沈念sama阅读 159,716评论 4 364
  • 序言:滨河连续发生了三起死亡事件,死亡现场离奇诡异,居然都是意外死亡,警方通过查阅死者的电脑和手机,发现死者居然都...
    沈念sama阅读 67,558评论 1 294
  • 文/潘晓璐 我一进店门,熙熙楼的掌柜王于贵愁眉苦脸地迎上来,“玉大人,你说我怎么就摊上这事。” “怎么了?”我有些...
    开封第一讲书人阅读 109,431评论 0 244
  • 文/不坏的土叔 我叫张陵,是天一观的道长。 经常有香客问我,道长,这世上最难降的妖魔是什么? 我笑而不...
    开封第一讲书人阅读 44,127评论 0 209
  • 正文 为了忘掉前任,我火速办了婚礼,结果婚礼上,老公的妹妹穿的比我还像新娘。我一直安慰自己,他们只是感情好,可当我...
    茶点故事阅读 52,511评论 3 287
  • 文/花漫 我一把揭开白布。 她就那样静静地躺着,像睡着了一般。 火红的嫁衣衬着肌肤如雪。 梳的纹丝不乱的头发上,一...
    开封第一讲书人阅读 40,692评论 1 222
  • 那天,我揣着相机与录音,去河边找鬼。 笑死,一个胖子当着我的面吹牛,可吹牛的内容都是我干的。 我是一名探鬼主播,决...
    沈念sama阅读 31,915评论 2 313
  • 文/苍兰香墨 我猛地睁开眼,长吁一口气:“原来是场噩梦啊……” “哼!你这毒妇竟也来了?” 一声冷哼从身侧响起,我...
    开封第一讲书人阅读 30,664评论 0 202
  • 序言:老挝万荣一对情侣失踪,失踪者是张志新(化名)和其女友刘颖,没想到半个月后,有当地人在树林里发现了一具尸体,经...
    沈念sama阅读 34,412评论 1 246
  • 正文 独居荒郊野岭守林人离奇死亡,尸身上长有42处带血的脓包…… 初始之章·张勋 以下内容为张勋视角 年9月15日...
    茶点故事阅读 30,616评论 2 245
  • 正文 我和宋清朗相恋三年,在试婚纱的时候发现自己被绿了。 大学时的朋友给我发了我未婚夫和他白月光在一起吃饭的照片。...
    茶点故事阅读 32,105评论 1 260
  • 序言:一个原本活蹦乱跳的男人离奇死亡,死状恐怖,灵堂内的尸体忽然破棺而出,到底是诈尸还是另有隐情,我是刑警宁泽,带...
    沈念sama阅读 28,424评论 2 254
  • 正文 年R本政府宣布,位于F岛的核电站,受9级特大地震影响,放射性物质发生泄漏。R本人自食恶果不足惜,却给世界环境...
    茶点故事阅读 33,098评论 3 238
  • 文/蒙蒙 一、第九天 我趴在偏房一处隐蔽的房顶上张望。 院中可真热闹,春花似锦、人声如沸。这庄子的主人今日做“春日...
    开封第一讲书人阅读 26,096评论 0 8
  • 文/苍兰香墨 我抬头看了看天上的太阳。三九已至,却和暖如春,着一层夹袄步出监牢的瞬间,已是汗流浃背。 一阵脚步声响...
    开封第一讲书人阅读 26,869评论 0 197
  • 我被黑心中介骗来泰国打工, 没想到刚下飞机就差点儿被人妖公主榨干…… 1. 我叫王不留,地道东北人。 一个月前我还...
    沈念sama阅读 35,748评论 2 276
  • 正文 我出身青楼,却偏偏与公主长得像,于是被迫代替她去往敌国和亲。 传闻我的和亲对象是个残疾皇子,可洞房花烛夜当晚...
    茶点故事阅读 35,641评论 2 271

推荐阅读更多精彩内容

  • TITLE: 编程语言乱炖 码农最大的烦恼——编程语言太多。不是我不学习,这世界变化快! 有时候还是蛮怀念十几、二...
    码园老农阅读 5,185评论 2 35
  • Android 自定义View的各种姿势1 Activity的显示之ViewRootImpl详解 Activity...
    passiontim阅读 170,569评论 25 707
  • 上一篇文章介绍了工作中常用的Windows和Word的一些快捷键,本篇我们来介绍下Excel中常用的一些快捷键及函...
    小昀阅读 1,732评论 0 89
  • 父传子:最简单也是最基础的一种数据传递方式 父组件: 父组件中调用子组件并将数据放入 datas 中传给子组件,子...
    走走婷婷1215阅读 366评论 0 1
  • 昨天,浩鸿同学在几个伙伴的带领下,进了一趟城。体验了一下滴滴打车,吃了湛江最有名气的豆腐花,还忽悠了一帮乞丐。 首...
    浩鸿同学阅读 888评论 0 0