顯示廣告
隱藏 ✕
※ 本文為 fine246 轉寄自 ptt.cc 更新時間: 2013-03-18 09:27:14
看板 Suckcomic
作者 dryman (dryman)
標題 Re: [黑暗] x是有比ㄅ高級喔
時間 Sat Mar 16 06:18:38 2013



補上吐槽:
其實以程式變數來說的話,一個字母的變數命名反而是不適當的
通常一個變數或function都有其作用,讓命名符合它的功能
比較能讓維護者明白程式運作的邏輯

如何言簡意賅的寫出好的程式碼,簡短又能讓人了解程式的邏輯及軟體架構
需要好幾年的訓練及觀摩好的程式碼設計

程式命名以英文單字或片語為佳
有進行更動的,通常是動詞
如果是一些狀態變數,那可能會以描述那個狀態的子句來當作變數

討論是否要用中文來當變數其實對寫程式來說幫助不大
^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^
(微弱的吐槽XD)


數學和物理的符號發展得比程式語言早了幾百年
當時可沒有自動完成系統,而且手寫也比較容易寫複雜的符號
所以使用英文字母或是拉丁文字來當變數很常見

可是適合代數操作的語言系統,其實不一定適合程式撰寫
因為代數操作時不需詳細地指定各種「動作」
而寫程式時需要把一條條指令詳細地列出
也就是說代數基本上用到的符號都是名詞或物件
而好的程式命名需要兼顧主詞、動詞、名詞等等

另外寫程式有使用鍵盤輸入的限制

這是程式語言幾乎都是以英文及鍵盤上可見的符號的主要原因

再補一個吐槽
其實漫畫上只要說看到國外的數學都用x,y,z,所以我們就一起用x,y,z就好了
大部分工程或科學的翻譯都很難翻好,所以還是要學會國外約定俗成的用法才行
重點在於讀懂別人的科學著作,而非要讓老外看懂我們的東西

* * *

以下是對文言文程式碼的分析

其實那個文言文並沒有那麼困難啦
原始碼在這
http://cpansearch.perl.org/src/AUDRE...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
yuhung:你果然被召喚來了...科科1F 03/16 06:46
yuhung:如果Perl課堂的期末考來一段文言文"翻譯"一定很精彩
devidevi:我還以為是一個指令用一個中文代表,原來是一個英文字用3F 03/16 07:30
devidevi:中文代表.這樣不是變得更複雜=.=
ctx705f:..........(材料系表示繼續崩潰中5F 03/16 07:43
RushMonkey:...雖然我是工科組 但我還是徵求翻譯官!6F 03/16 09:03
※ 編輯: dryman          來自: 71.20.147.248        (03/16 09:34)
frank47147:這要文科和理工兼修才寫的出來吧7F 03/16 10:18
PrinceBamboo:應該是文科跟資訊才對 我是理工的完全不懂8F 03/16 13:04
winter40114:大概懂原理,程式運作全不懂~~~             化工路過9F 03/16 13:42
lovelylion2:文言文翻回程式碼不難,用對照表當密碼翻就對了10F 03/16 13:49
lovelylion2:問題還是perl程式碼本身..
yumetokiseki:密碼表好像不是一對一 #就會出現歧異的對照12F 03/16 14:04
devidevi:同樣'就有曰矣的差異,"也有道哉的差異..13F 03/16 14:48
yuhung:我想看原PO用Perl吐槽漫畫(我知道你可以的)14F 03/16 15:07
Hastur:我猜曰是前",矣是後"。XX曰OO矣。剛好把要說的話框起來。15F 03/16 15:17
Hastur:道哉也是類似的
Hastur:另外轉譯是從中文到英文,所以多對一是沒關系的。
p3398530:我看不懂Perl 好像有點弱18F 03/16 17:19
damody:這裡是程式版嗎XD19F 03/16 17:42
f1990791026:我好像進錯板了XD20F 03/16 17:49
adsaf:補個吐嘈吧21F 03/16 19:20
已補上
moonboundary:進錯板 (′・ω・‵) ?22F 03/16 19:27
kirimaru73:我建議你吐一下他用的怪招 因為我也看不懂XD23F 03/16 19:28
o07608:糟了,這樣讓我好慚愧......24F 03/16 21:35
※ 編輯: dryman          來自: 207.151.231.159      (03/17 07:16)
shadow0326:編譯器通常是長詞優先做分詞25F 03/17 12:09
owencyt:這感覺好強!!!(高中碰過C++的路人26F 03/17 22:45
t56874123:這根本是軍事密碼程度等級的了!!!!!(掀桌27F 03/18 00:16

--
※ 看板: FW 文章推薦值: 0 目前人氣: 0 累積人氣: 709 
分享網址: 複製 已複製
r)回覆 e)編輯 d)刪除 M)收藏 ^x)轉錄 同主題: =)首篇 [)上篇 ])下篇