吐槽程式設計問題的五張漫畫

2021-09-23 14:44:15 字數 2881 閱讀 3994

大家可能知道,我時常活躍於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 傳送訊息 清...