那就是,用一门自创的编程语言来重写程序!
既然自己的代码和开发过程无论如何都无法保密,都会被看光,那就让他们看!只要这个世界上除了自己,没人能看得懂自己的代码,那么自己就是绝对安全的!
三流程序员要保住饭碗,靠的是写屎山,让无数冗杂沉寂在程序里,动了一点就马上崩盘;
二流程序员要保住饭碗,靠的是写bug,只要刻意留下一个除了自己没人能解决的bug,甚至出现那种“同样的程序,在别人的电脑上跑不通,在程序员自己的电脑上就跑的通”的情况,这下,公司怎么敢让程序员离职?
一流程序员要保住饭碗,靠的是一门冷门的语言。就像传说中的保罗·格雷厄姆那样,使用一门冷门的Lisp语言,直接奠定了自己乃至整个产品在业界无可替代的优势和地位,甚至影响后续诸多创业者的选择。
秦枫要做的,就是对那位保罗·格雷厄姆的模仿。虽然说,一门好的编程语言,离不开一个开放、交流的社区论坛,但是秦枫的目的并不是为了实用或者好用,而是保密,只要能用就行了。
实在不行,拿记事本敲0101的二进制指令也不是不可以。
所谓二进制指令和编程语言的关系,就是说人话与说机器话的区别。
机器实际上没有所谓的智慧,只能通过0和1模拟电路的开关,通过一系列01的操作来达到种种目的。往往编程语言里几个很简单的字母,背后就是几百个01的操作。
所谓编程语言,就是把人话翻译成机器语言的一套指令,这个单词对应几百个01如此这般排列,那个单词又对应另外几百个01的另一种排列。
哪怕不用编程语言,在不计较效率的情况下,程序员也是可以做到只靠0和1就完成编程的。只不过往往一小段编程语言的代码,其背后的0和1的数量大概可以写满一整个本子。
秦枫显然并不打算这样,他要的是加密。单纯用0和1来编程的话,其实就跟把代码脱光了给人看没什么太大的区别,唯一的区别就是代码的数量太大了,有心人一时半会可能看不完。但即便如此,秦枫自己也写不完。
……
花了小半天时间,秦枫用网上搜来的加密方法把要用到的二进制指令加密成了一套新的汇编语言,又把这套汇编语言再加密,形成了新的编程语言。打个比方,传统的加法指令,二进制下的表示方法是00000011,其汇编语言是“ADD“,在秦枫的语言里,就不是“ADD“而是先把“ADD”转成Unicode编码下的“?”,再取“?”的异体字“?”的UTF-32码,把“?”转换成“0000441D“。
然后用“0000441D“来表示机器的00000011,这就是秦枫的编码操作。
秦枫逆向试了一遍,0000441D连之前的?字都无法逆向转换,更不要提?再转换成ADD了。
凡此种种不再赘述。
怎么说呢,虽然略显简陋,但是暂时应付一两个月还是问题不大的。