如何看待有人在知乎上問具體如何編程的問題?

來源:互聯網
上載者:User
比如最近碰到有人邀請回答的這兩個問題,
如何用matlab計算焓濕圖上的空氣狀態點?
用matlab怎麼求二重積分?

或許第一個問題還有些複雜度,但是第二個問題實在是太過分了,完全是把知乎當成了百度知道或者stackoverflow。(沒有貶低stackoverflow的意思,只是說明專精的範圍)

我認為,在知乎,關於電腦方面,討論的主題層次應該更高些(比如方法論層級?),比如分析語言的特性,比較程式設計語言的優劣,等,如下這些,
大家用matlab有遇到過哪些槽點?
文法最漂亮的程式設計語言是哪種?
幾大數學軟體各有什麼優缺點?

類似這樣的問題,
Matlab中是否有更簡便的方法產生這樣的矩陣M?
大致也還能接受,因為雖然是具體問題,但是能激發一些想法。我記得正是一個類似的問題,促使我從MATLAB轉入了Python門下。

回複內容:

我最近答了兩個比較具體的編程問題:

  • 如何用c語言輸出100! 的前100位? - Milo Yip 的回答
  • 寫個程式求100以內的質數? - Milo Yip 的回答

這兩個問題都被標誌為「代為完成的個人任務」而被關閉了,我對此不滿。

這些都是定義清楚的問題,而且可以有多種正確答案,無標準答案。

提問需要滿足:其他人可能遇到相似問題,或問題的解決方案對其他人有所助益。如果通過其他方式解決遇到困難,歡迎提問並說明你的求知過程。

我認為這些問題需要分析,也可能引來不同的嘗試,讀者可以更深入瞭解這些問題,並不只對提問者有協助。甚至乎,在回答的過程解答者也是需要思考,並在解答和交流過程中學習到新的知識。上面第二個問題裡的其他答案也讓我開眼界啊,難道這不是寶貴的知識?

如果問題本身太無聊,自然沒有人關注,也沒有人願意答。

作為一個嘗試解答的人,我並不在意問題者的目的,也不可能得知其目的。對於沒有針對個人的問題,「代為完成的個人任務」純粹是一種猜測。

有時候,我覺得可能是一些人認為問題太簡單,或是覺得學校裡會出的問題,就會舉報。我覺得上面的問題和下面這些沒有本質上的差異。

  • 怎樣判斷平面上一個矩形和一個圓形是否有重疊? - Milo Yip 的回答
  • C/C++中如何在main()函數之前執行一條語句? - Milo Yip 的回答
  • 如何用C語言產生(0,1)之間的隨機浮點數? - Milo Yip 的回答
  • 如何簡化包圍多邊形?

這些問題都比那些職業諮詢問題有意義多了。而且,上面最後一個是我的「個人任務」,舉報吧。

-----
更新:我找了一下stackflow、quora的相似問題,列出部分如下。

  • integer - Calculating large factorials in C++
  • c++ - Calculate the factorial of an arbitrarily large number, showing all the digits
  • c++ - Can anyone explain this algorithm for calculating large factorials?
  • How do i find and print factorial of numbers greater than 20 in C programming?
  • I wrote a code for calculating the factorial of the first 100 natural numbers in C++ 4.3.2. I saved the individual digits in an array, but it's giving the right answer for initial numbers only up to about 20. Why so?

  • python - Fastest way to list all primes below N
  • C - determine if a number is prime
  • c# - Check if number is prime number
  • c++ - Which is the fastest algorithm to find prime numbers?
  • c# - What is the best, most performant algorithm to find all primes up to a given number?
  • How we make a program in C language to make the first 20 prime number digits?

----
同日更新:在此答案發表後兩小時內,那兩個問題已從新開放。感謝管理員從善如流,我之後再盡量補充答案,加入更多解釋。

搞得這麼複雜幹什麼,誰沒在知乎當過伸手黨啊,看不過眼就不要答嘛。


有些太高層次的問題,就算會了其實也不太想在知乎答,不如寫成部落格,看的人還多一點,還不用跟別人爭。

我覺得具體而且有標準答案的問題比拿態度站隊的問題好太多了我覺得 stackoverflow 比知乎高大上多了。前者回答的品質要甩知乎幾十條街。
千萬別有什麼優越感,只要知乎官方允許,沒有什麼是不可以的。以下比較容易討打:

1. 給出一段代碼自己都不知道做什麼代碼的找人幫debug。
2. 如何評價XXX,然後就一個標題在那裸奔。

至於你說如何完成1-100的prime倒是容易被封,但是你說1-10000!的素數呢?是不是就不容易被封了?所以下次要把問題寫的看起來比較牛逼一點。。。注意,是看起來。問題無高下,研究態度有高下。什麼事都是會了之後就覺得簡單,知識應該共用,先學者與後學者分享經驗,幫後來人少走彎路,我覺得是一件非常好的事情。我覺得“Google it ”有時候會是非常不負責的說法,Google會得到許多參差不齊的結果,那為什麼不把自己的經驗分享給其他知友嘞?如果有更多專精的,深入的問題,我覺得知乎的格調不但不會變低,反而會變得更高。我反倒覺得,不問具體技術光比較“什麼語言最好最漂亮”的技術問題才是最下等的。具體問題沒什麼不好,但問題描述至少應包括以下幾點:

1、完整、清晰、簡潔的描述;
2、清晰說明自己的思路。必要時貼偽碼或精簡後的代碼。然後尋求該思路的正誤、優劣;
3、說明卡住的地方,比如相關代碼、編譯器報錯、runtime錯誤、與預期不一致的地方等。

能做到以上幾點,相信會有好答主的。
題主還可以把上述整理成英文發到StackOverflow上,肯定可以收到好回複。問出這樣的問題大多是笨得無可救藥的人了。
我相信百度“MATLAB 二重積分”會比在這兒提個問題等人答來得快得多。屑妖w
我覺得知乎不適合問具體的編程問題的原因有兩個。一是具體的問題的品質有點參差不齊,少數很難回答的,多數讓人不想好好回答只想吐槽這人自己完全沒開始努力沒開始學沒開始動腦筋就只伸手要代碼交差的…這類伸手黨問題在任何一個地方公開問都是很讓人不愉悅的。
//什麼,你說百度知道??好吧…

二是,知乎畢竟也不是一個專業向的技術的網站,大多數會被願意嚴肅認真回答的問題都是需要一定的反思、總結的比較…“人文”(?)的問題?在這樣的大環境下,知乎並非是適合提那種非常hardcore的問題的場所。相比之下,問演算法題的話,倒是因為問題的開放性,不太會被質疑/討厭。


---------
不管在什麼地方問具體的編程問題,或者是私下問人也好,覺得基本的不冒犯人也容易得到解答的提問方式是:
0 仔細嚴謹的描述問題
1 給出自己當前的思路/想法/所完成了的部分
2 大概分析自己思路斷了的地方/猜測自己遇到的瓶頸的方向

這樣提問的話有誠意,而且省去了一些時間?比較容易得到中肯的認真的回覆。

//當然如果你是萌妹子的話賣萌就可以啦…喵w
//而且大多數時候別人不太願意幫忙看這種問題或者仔細教你什麼的?更願意直接扔代碼給你…省他的時間
//所以我還是覺得私下問比公開問要合適,除非是那種程度比較高的問題(知乎上簡直沒出現過這類叭…

//不許吐槽人家的吐槽都注釋掉嘛…你看不到喔 ow o
  • 聯繫我們

    該頁面正文內容均來源於網絡整理,並不代表阿里雲官方的觀點,該頁面所提到的產品和服務也與阿里云無關,如果該頁面內容對您造成了困擾,歡迎寫郵件給我們,收到郵件我們將在5個工作日內處理。

    如果您發現本社區中有涉嫌抄襲的內容,歡迎發送郵件至: info-contact@alibabacloud.com 進行舉報並提供相關證據,工作人員會在 5 個工作天內聯絡您,一經查實,本站將立刻刪除涉嫌侵權內容。

    A Free Trial That Lets You Build Big!

    Start building with 50+ products and up to 12 months usage for Elastic Compute Service

    • Sales Support

      1 on 1 presale consultation

    • After-Sales Support

      24/7 Technical Support 6 Free Tickets per Quarter Faster Response

    • Alibaba Cloud offers highly flexible support services tailored to meet your exact needs.