Heim >Backend-Entwicklung >Python-Tutorial >如何看待有人在知乎上问具体如何编程的问题?

如何看待有人在知乎上问具体如何编程的问题?

WBOY
WBOYOriginal
2016-06-06 16:21:561674Durchsuche

比如最近碰到有人邀请回答的这两个问题,
如何用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
Stellungnahme:
Der Inhalt dieses Artikels wird freiwillig von Internetnutzern beigesteuert und das Urheberrecht liegt beim ursprünglichen Autor. Diese Website übernimmt keine entsprechende rechtliche Verantwortung. Wenn Sie Inhalte finden, bei denen der Verdacht eines Plagiats oder einer Rechtsverletzung besteht, wenden Sie sich bitte an admin@php.cn