作者dryman (dryman)
看板Suckcomic
标题Re: [黑暗] x是有比ㄅ高级喔
时间Sat Mar 16 06:18:38 2013
补上吐槽:
其实以程式变数来说的话,一个字母的变数命名反而是不适当的
通常一个变数或function都有其作用,让命名符合它的功能
比较能让维护者明白程式运作的逻辑
如何言简意赅的写出好的程式码,简短又能让人了解程式的逻辑及软体架构
需要好几年的训练及观摩好的程式码设计
程式命名以英文单字或片语为佳
有进行更动的,通常是动词
如果是一些状态变数,那可能会以描述那个状态的子句来当作变数
讨论是否要用中文来当变数其实对写程式来说帮助不大
^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^
(微弱的吐槽XD)
数学和物理的符号发展得比程式语言早了几百年
当时可没有自动完成系统,而且手写也比较容易写复杂的符号
所以使用英文字母或是拉丁文字来当变数很常见
可是适合代数操作的语言系统,其实不一定适合程式撰写
因为代数操作时不需详细地指定各种「动作」
而写程式时需要把一条条指令详细地列出
也就是说代数基本上用到的符号都是名词或物件
而好的程式命名需要兼顾主词、动词、名词等等
另外写程式有使用键盘输入的限制
这是程式语言几乎都是以英文及键盘上可见的符号的主要原因
再补一个吐槽
其实漫画上只要说看到国外的数学都用x,y,z,所以我们就一起用x,y,z就好了
大部分工程或科学的翻译都很难翻好,所以还是要学会国外约定俗成的用法才行
重点在於读懂别人的科学着作,而非要让老外看懂我们的东西
* * *
以下是对文言文程式码的分析
其实那个文言文并没有那麽困难啦
原始码在这
http://cpansearch.perl.org/src/AUDREYT/Lingua-Sinica-PerlYuYan-1257439830.94865/lib/Lingua/Sinica/PerlYuYan.pm
原始码非常短,它只是Perl程式语言的关键字转成用中文来写而已
而唐凤本人文采非常好,所以它可以让程式真的看起来像古文...
例如英文字母对应中文是
a b c d e f g h i j k l m n o p q r s t u v w x y z
甲乙丙丁戊己庚辛壬癸子丑寅卯辰巳午未申酉戌亥地水火风
A B C D E F G H I J K L M N O P Q R S T U V W X Y Z
青心赤肝黄脾白肺黑肾鼠牛虎兔龙蛇马羊猴鸡狗猪春夏秋冬
数字
0 1 2 3 4 5 6 7 8 9 10 100 1000 10000 10000_0000
零一二三四五六七八九十 百 千 万 亿
0 1 2 3 4 5 6 7 8 9 10 100 1000 20 30
零壹贰毵肆伍陆柒捌玖拾 佰 仟 廿 卅
0 1 2 3 4 5 6 7 8 9
0123456789
符号
! @ # # $ % % ^ & * ( ) - = _ + + [ ] { } \ | ; : :
非阵井注纯杂模析和乘起合减赋底加正内外始终参联兮然标
' ' " " , , => < . . > / / ? ` ` ~
曰矣道哉又并与 小点接大除分欤行者系
! @ # $ % ^ & * ( ) - = _ + [ ] { } \ | ; ; : ' " , , < . > / ? ` ~
!@#$%︿&*()-=ˍ+〔〕{}╲|;。:’”,、<.>╱?‵~
原本的程式翻回Perl原始码不难,但唐凤用了很多perl的怪招
所以原本的程式要读懂不是很容易XD
用筹兮用严。井涸兮无碍。
use integer; use strict; #涸兮无碍。 <---- 这是注解
印曰最高矣 又道数然哉。
print '最高' , "数然";
截起吾纯风 赋小入大合。
chomp (my $z = <STDIN>);
习予吾阵地 并二至纯风。
study my @w, 2..$z;
当起段赋取 加阵地合始。
while ($/ = shift + @w) {;
阵地赋筛始 系系此杂段。
@w = grep { ~~ $_ %$/ ;
终阵地兮印 正道次标哉。
} @w; print +"next:";
输空接段点 列终注泰来。
printf .$\. \n #泰来。
--
※ 发信站: 批踢踢实业坊(ptt.cc)
◆ From: 207.151.228.138
1F:推 yuhung:你果然被召唤来了...科科 03/16 06:46
2F:→ yuhung:如果Perl课堂的期末考来一段文言文"翻译"一定很精彩 03/16 06:47
3F:→ devidevi:我还以为是一个指令用一个中文代表,原来是一个英文字用 03/16 07:30
4F:→ devidevi:中文代表.这样不是变得更复杂=.= 03/16 07:30
5F:→ ctx705f:..........(材料系表示继续崩溃中 03/16 07:43
6F:推 RushMonkey:...虽然我是工科组 但我还是徵求翻译官! 03/16 09:03
※ 编辑: dryman 来自: 71.20.147.248 (03/16 09:34)
7F:推 frank47147:这要文科和理工兼修才写的出来吧 03/16 10:18
8F:推 PrinceBamboo:应该是文科跟资讯才对 我是理工的完全不懂 03/16 13:04
9F:推 winter40114:大概懂原理,程式运作全不懂~~~ 化工路过 03/16 13:42
10F:推 lovelylion2:文言文翻回程式码不难,用对照表当密码翻就对了 03/16 13:49
11F:→ lovelylion2:问题还是perl程式码本身.. 03/16 13:49
12F:→ yumetokiseki:密码表好像不是一对一 #就会出现歧异的对照 03/16 14:04
13F:→ devidevi:同样'就有曰矣的差异,"也有道哉的差异.. 03/16 14:48
14F:推 yuhung:我想看原PO用Perl吐槽漫画(我知道你可以的) 03/16 15:07
15F:→ Hastur:我猜曰是前",矣是後"。XX曰OO矣。刚好把要说的话框起来。 03/16 15:17
16F:→ Hastur:道哉也是类似的 03/16 15:18
17F:→ Hastur:另外转译是从中文到英文,所以多对一是没关系的。 03/16 15:19
18F:推 p3398530:我看不懂Perl 好像有点弱 03/16 17:19
19F:推 damody:这里是程式版吗XD 03/16 17:42
20F:推 f1990791026:我好像进错板了XD 03/16 17:49
21F:→ adsaf:补个吐嘈吧 03/16 19:20
已补上
22F:推 moonboundary:进错板 (′・ω・‵) ? 03/16 19:27
23F:推 kirimaru73:我建议你吐一下他用的怪招 因为我也看不懂XD 03/16 19:28
24F:推 o07608:糟了,这样让我好惭愧...... 03/16 21:35
※ 编辑: dryman 来自: 207.151.231.159 (03/17 07:16)
25F:推 shadow0326:编译器通常是长词优先做分词 03/17 12:09
26F:推 owencyt:这感觉好强!!!(高中碰过C++的路人 03/17 22:45
27F:推 t56874123:这根本是军事密码程度等级的了!!!!!(掀桌 03/18 00:16
28F:推 cloud963:原来如此 我还想说那段文怎麽一堆意义不通的语句 ... 03/18 21:45