惯性聚合 高效追踪和阅读你感兴趣的博客、新闻、科技资讯
阅读原文 在惯性聚合中打开

推荐订阅源

阮一峰的网络日志
阮一峰的网络日志
Jina AI
Jina AI
GbyAI
GbyAI
D
DataBreaches.Net
人人都是产品经理
人人都是产品经理
Hugging Face - Blog
Hugging Face - Blog
V
Visual Studio Blog
P
Proofpoint News Feed
The Cloudflare Blog
H
Help Net Security
MyScale Blog
MyScale Blog
T
The Blog of Author Tim Ferriss
量子位
博客园 - 聂微东
Apple Machine Learning Research
Apple Machine Learning Research
T
Tailwind CSS Blog
博客园 - 三生石上(FineUI控件)
钛媒体:引领未来商业与生活新知
钛媒体:引领未来商业与生活新知
让小产品的独立变现更简单 - ezindie.com
让小产品的独立变现更简单 - ezindie.com
MongoDB | Blog
MongoDB | Blog
Last Week in AI
Last Week in AI
大猫的无限游戏
大猫的无限游戏
小众软件
小众软件
月光博客
月光博客

方永、南天紫雲

linux透明代理 技术的边界 停机问题通俗说明 Rust与oracle、redis集群的纠结 学习能力的增长 微信调试的原语 mac外接移动硬盘安装ArchLinux linux的死机问题 linux下全键盘操作 漂亮又好用的bspwm linux本机透明代理 ssh、mosh、autossh linux不能待机又一例 从WordPress切换到Hugo 折腾电脑开机 linux系统QQ新思路 Arch Linux的字体渲染 svn管理之submin OpenWrt自动fucking墙記錄 二维码(qrcode)名片的一些事儿 用lua nginx module搭建一个二维码(qr code)生成器 CentOS 7 安裝註記 php程序連接MySQL时只能127.0.0.1而localhost無法連接的問題 ThinkPad之FAN_ERROR、hi fi聲卡 jetty多端口部署 OpenWrt簡單暴力限網 linux中cron之PATH变量 OpenWrt的WDS無線橋接模式 再敘OpenWrt下的rtl8187無線中繼 sed之模擬tail
我与我的语言
zola · 2011-10-29 · via 方永、南天紫雲

最早接触计算机语言是在九十年代流行的学习机上,这种简单的8位机上提供了G-BASIC的简单编程环境,能做出个自动演奏歌曲的程序还是很开心的。

之后教课书上又是什么BASIC,后来学VB为了过二级。真是一路BASIC啊。

大学时间较多,各种东西都学,有时会在网吧上网,但有些网吧没有安装需要的一些程序,比如输入法之类,出于这种需要,用NSIS写了个脚本来安装程序并对注册表什么的做些设置。学完了才发现NSIS的脚本其实就是一种语言,有变量,有分支,有循环。

喜欢用绿色软件,就是小巧又功能强大的,发现用汇编写的程序就是这样,于是开始学汇编。汇编那是真学呀,从计算机结构开始,还有那几百个指令,罗云杉前辈的巨著,以及fasm的强大语法,Intel的几本手册,很多都是英文,英文水平也是突飞猛进呀。同时也玩批处理、sed、grub、vim。

等到用汇编做出了绿色软件,又因为sed、vim迷恋上了linux。linux真是相见恨晚,发现了arch,其官网上的KISS,使我以前一些模糊的概念一下子清晰起来,不就是KISS么!从Windows世界来的我,发现linux简直就是天堂,喜欢定制,linux的每个程序都是可定制的,喜欢根本原理,linux中每个程序都是开源的,面对如此美好的世界,真是有些不知所措。shell、sed、awk、bc,perl、python、ruby、lua,C、Java、C++,google go和scala,几乎都是原生的。

有人总是喜欢比较语言,perl比shell好,ruby比python好,Java比C++好,都面向对象了,那个谁还在面向过程,语言没有最好,只有最合适。编程做什么,解决问题。终极语言是什么,只要对着计算机说我需要什么,计算机将给出一个非常满意的结果,甚至计算机与它里面运行的程序默默地做着工作而我们浑然不知,这时语言这个概念都已经消亡了。现在提出问题、分析问题、解决问题的相当一部分都是由人来做,语言在进化之路上还是个单细胞而已。回到现实,语言要面对两个对象,一是计算机,一是程序员。从计算机角度进化,就是效率和移植性问题,从程序员角度进化,就是效率和灵活性。从根本上说就是这个语言在整个过程中消耗了最少量的资源。一个语言对于程序员来说,不用考虑计算机执行效率和移植性问题,不会因为问题的复杂度提高而在语言方面投入额外的成本,也能在问题发生变化时不会在语言方面投入额外的成本,那么它就是最合适的。