大家可能知道,我時常活躍於stack overflow——當今最熱門的程式設計師問答**。該**的好同志們公開了他們的資料,任何人都可以通過這個頁面查詢他們的資料庫:data.stackexchange.com
那裡的很多問題和回答都配上了xkcd(由randall munroe 創作)的漫畫鏈結,於是我決定扒一扒,哪幾篇漫畫最愛被程式設計師拿來吐槽他們遇到的奇葩事。
我使用的查詢很簡單:
你可以從這兒看全部結果,本文只討論排名最前的五篇。
#5 隨機數 (10次引用)
引用這篇漫畫的自然是吐槽各種隨機數生成器坑爹的帖子,其中被頂最多的是這一篇:
161803398是乙個特殊的數嗎?math.random()裡用到的
我猜答案可能是「數學原理,不解釋」,但我還是希望有人能通俗地解釋一下此中玄機…
起因是,我今天在鼓搗bcl的源**,想看看以前用過的那些類是怎麼實現的。因為以前沒考慮過如何生成(偽)隨機數的問題,所以我打算看看在這兒是怎麼實現的。
全部**在此:
private const int mseed = 161803398;
每次生成random()類的隨機數種子都要用到這個mseed值。
這個神奇的數字:161803398,我想破頭也想不出它是怎麼來的。它不是個質數,也不是2的某次冪,跟哪個稍微有點意義的數字都不搭邊兒。我也查了它的二進位制和十六進製制形式,怎麼看都只是乙個沒有特徵的數字。
我google過了,沒有結果。
這個數來自於phi值(**分割比)。
161803398 = 1.61803398 10^8 ≈ φ 10^8
有關**分割比
另外,強烈推薦數學愛好者讀讀這一篇。
我還找到一篇含同樣觀點的關於隨機數生成器的學術**。(見53頁)
也就是說,出於某些(也許是有道理的)原因,**分割比貌似很適合拿來做隨機數生成器的種子……有意思的是,上面引用的那篇**,程式語言中的偽隨機數生成器,第一頁就引用了上面這篇漫畫。
#4 goto (10次引用)
goto是某些程式語言中的乙個構造體(construct),用於跳過所有正在執行的迴圈和處理,無條件跳轉到程式的任意位置。很多程式設計師(顯然還有迅猛龍)都認為這是個很糟的程式設計習慣。
解析錯誤:unexpected 「
我遇到了這麼一條錯誤資訊:parse error: syntax error, unexpected '' (t_encapsed_and_whitespace), expecting identifier (t_string) or variable (t_variable) or number (t_num_string) in c:xampphtdocsgame.php on line 12
源**如下:
<?php
$words=$_get['words'];
$array=explode(",",$words);
$j=count($array)-1;
goto a;
a: shuffle($array);
$num=$array[0];
echo "the number is = $num";
echo "
"; echo "please enter the number within 10 seconds";
echo "');
}//close the connected session with the server
mysql_close($con);
} else
}else
?>
這位作者很奇葩地想故意把**寫得能被sql注入,結果卻做不到…… 吐槽 程式語言設計哲學
寫這篇文章的起意是看一位博主寫的年終總結,談到他學習go語言及其程式設計哲學。這讓我突然意識到,最近一直覺得自己寫python寫的很不舒服,總覺得這門語言有很多弊病。現在看來,是因為我忘了這門語言的設計哲學了。python本身就是以優雅著稱,本來就是要易看易讀。儘管這門語言被用於很多領域,但這也是因...
吐槽大會4 《吐槽大會4》是《吐槽大會》的終點嗎?
1月18日,吐槽大會4 最新一期如約開播。導演徐崢作為 主咖 帶著自己即將於大年初一上映的電影 囧媽 參加節目。節目播出之後,徐崢吐槽郭京飛 李誕讚吐槽大會沒有下一季 李庚希跟徐崢要易烊千璽演唱會門票 等話題接連登上微博熱搜榜,而在這之中最為觀眾注意的則是思文不僅喊話 囧系列 不要繼續了,同時也調侃...
網路程式設計課設吐槽記錄
運用子執行緒來實現全雙工通訊 service端 void sendinfo socket sockconn if strcmp gets s s,50 quit 0 sprintf s sendbuf,s send sockconn,sendbuf,strlen sendbuf 1 0 傳送訊息 清...