我发现了编程学习的本质

2018-05-23 09:32:26 +08:00
 xianyukang

如果我能拿到知乎和 V2EX 的源码,并且能看懂这些代码,我就能掌控这个解决方案,造出类似的网站

个人觉得编程能力的实质就是,给出一套成熟的,生产环境可用的解决方案

比如我想造一个类似知乎的做内容和社交网站,我不知道怎么进行技术选型,我不知道整个网站该如何组织,我不知道各种功能该怎么做,个人觉得这些方向性的问题就是编程的主要难点

如果我能知道业界的专业做法,我写出来的东西一定就是专业的,( 问题是我不知道啊~

所以我的问题是, 哪儿有专业的代码可以学习呢?去哪找成熟的整套的解决方案来学习呢?

( 吐槽: 程序员本应该更酷的宝贵年轻生命都拿去喂代码了,代码似乎是一种资产,代码不像书本那样可以全人类共享 ....

17792 次点击
所在节点    程序员
146 条回复
spicycoffee
2018-05-23 09:35:47 +08:00
你说的是“山寨”的本质...
那么多经典的开源项目,看去吧。
正确的路径是:学习,消化,进化。而不是直接搬过来。
qiayue
2018-05-23 09:37:54 +08:00
不同的规模会使用不同的技术选型,不同的架构
2011 年刚上线的知乎跟现在的知乎,是完全不一样的
huiyue
2018-05-23 09:38:02 +08:00
你这个很适合腾讯。
好的编程学习应该是能够自己或者带领团队解决问题,创造出解决方案。
swim2sun
2018-05-23 09:38:24 +08:00
编程的本质是 抽象
neoblackcap
2018-05-23 09:38:50 +08:00
我就举个反例,google 现在的 spanner,论文已经发了,你去实现试试看。别人有定制的原子钟,你怎么实现?你知道原理又不代表你能实现。
再举个例子,你拿到 redhat 维护的包的源代码也编译不出跟它效率一样的包
sutra
2018-05-23 09:38:54 +08:00
所以有架构师这个职位来辅助你?
xianyukang
2018-05-23 09:42:41 +08:00
@spicycoffee 山寨好~,这是学习最高效的方法
ben1024
2018-05-23 09:42:47 +08:00
本质是解决问题,不是创造问题
xianyukang
2018-05-23 09:43:26 +08:00
@sutra 对~,如果有架构师手把手辅助我,那我学起来肯定飞速
UIXX
2018-05-23 09:44:06 +08:00
想多了。"给出一套成熟的,生产环境可用的解决方案。"早已超出编程能力的范畴,这涉及到需求调研、架构设计、协调沟通,这更应该叫做工程能力。编程很简单,就是"用代码语言编写算法解决问题"。
你所表达的专业做法实际上就是"最佳实践",你提到了架构的最佳实践(你说的选型 /组织),也提到了编程的最佳实践(你说的看专业人员写的源码)。你的疑惑跟其他迷茫的人是一样的:如何获得最佳实践的经验?
还用教吗?到成熟的大公司跟牛人学习就是最快的方法了。你觉得代码不共享?上 github 看看去。
Norie
2018-05-23 09:46:15 +08:00
当你有了这些源码你不就直接用了吗
xianyukang
2018-05-23 09:47:28 +08:00
@UIXX 嗯,所以应该去公司里看专业的代码~
v2dead
2018-05-23 09:48:46 +08:00
@Norie 放心吧,给了源码都用不起来的。
wuweidong0107
2018-05-23 09:48:58 +08:00
block
VoidChen
2018-05-23 09:49:23 +08:00
你这样已经失去了“创造”了,就是说换了个环境,没代码给你抄,你就不会写代码了
Blazings
2018-05-23 09:51:57 +08:00
其实我挺赞同的, 入门学习的方法就是模仿,没毛病
xianyukang
2018-05-23 09:52:27 +08:00
@VoidChen 嗯,想表达的意思是抄 /学最棒的代码,并且理解它
qloog
2018-05-23 09:53:06 +08:00
至少先学习各种基础知识,不然都没发抄,然后 从模仿 到 创新, 你就厉害了。
littleylv
2018-05-23 09:53:57 +08:00
楼主有这样的想法还是转行吧

Block
huangzhe8263
2018-05-23 09:54:14 +08:00
你这句话里面,看懂就已经是不可能的了

如果只是拿到的话,你永远不知道为什么这地方要这么做,那地方要那么做

这里面有很多 trick,很多 compromise

除非是有带路的人帮解释帮说明,不然很多细节都是无法掌控的

有些时候就是这些细节决定了

这是一个专为移动设备优化的页面(即为了让你能够在 Google 搜索结果里秒开这个页面),如果你希望参与 V2EX 社区的讨论,你可以继续到 V2EX 上打开本讨论主题的完整版本。

https://www.v2ex.com/t/457034

V2EX 是创意工作者们的社区,是一个分享自己正在做的有趣事物、交流想法,可以遇见新朋友甚至新机会的地方。

V2EX is a community of developers, designers and creative people.

© 2021 V2EX