对于编程入门,这 763 位老程序员有话讲!
如何推开编程的大门?
作者 | Ólafur Waage
译者 | 弯月
责编 | 屠敏
出品 | CSDN(ID:CSDNNews)
概述
瑞典马尔默有一所名为 The Game Assembly 的学校。这所学校专注于教学生游戏制作。从编程到艺术和设计,所有内容都教。这是一个为期三年的计划,最后一年会去游戏工作室实习。
因为我在一家游戏公司工作,所以他们邀请我去为学生们举办讲座。多年来我举行过很多次讲座,每当有这样的机会都感到非常荣幸。
今年我要举办的讲座面向的是大一新生。主要目的是为了回顾面向对象编程的基础知识,但我还有另外一个想法。
我想联系Twitter上的人,问问他们是否能给这些“易受影响的年轻人”一些建议。
于是,我在Twitter上发了如下一则消息:
各位Twitter上的程序员:你好!
最近这几天,我要去给一些易受影响的年轻人开一个讲座。
他们刚开始学习编程,正处在20岁出头的年纪。
你有什么宝贵的意见吗?语言不限。
在此向各位表示感谢!
没想到我收到了700多条的回复。因为从发出这条推文到我去开讲座只有两天的时候,所以我没能汇总所有的建议。但是我设法找到了最受欢迎的部分回复以及从事游戏行业的人的回复。
但是很多建议都无法展现出来。我需要分析这些回复。
获取数据
首先,我设法按照 Twitter 上的时间线挨个浏览,然后把内容复制出来。但是很显然如果某条推文的回复达到一定的大小,Twitter 就会限制你能看到的回复。所以我只能看到285条回复。
接下来是使用 Twitter Developer API,虽然这个 API 有严格的流量控制,但可以实现更精细的搜索。
于是,我通过 Python 和 Tweepy,每隔5分钟发一条请求,最后获得了763条直接的回复。总共花费了6个小时(362分钟)。可能间隔时间再短一些也没问题,但反正我的脚本是在夜间执行的,所以无所谓了。
for page in tweepy.Cursor(api.search, q="to:olafurw", since_id='1087438169585434624', tweet_mode='extended').pages():
repliesFile = open("replies.txt", "a")
for tweet in page:
repliesFile.write(tweet.in_reply_to_status_id_str + "\n")
repliesFile.write(tweet.user.screen_name + "\n")
repliesFile.write(tweet.id_str + "\n")
repliesFile.write(tweet.full_text.encode("utf-8") + "\n")
repliesFile.write("\n--==--\n")
repliesFile.flush()
repliesFile.close()
time.sleep(300)
基本分析
分析文本语料库本身自成一科,我没有足够的知识或时间深入研究。但我想强调一些重要的问题。
编程是一个人类领域
763条推文中有131条谈到了其他人。占总比的17.1%。
他们谈到了人类,团队,同事,朋友,同事。
下面是一些例子:
@tomjadams
软件是一个团队项目。
@mrdowden
生活中最重要的事情(也是你能时刻控制的事情)就是你如何对待别人。
@originalJonLowe
在求知的过程中保持乐于助人与善良。
与其他开发建立良好的关系,因为终有一天你会成为团队的一员。
注重团队合作,不要逞个人英雄主义,因为知识原本就应该分享。
@ccmccomb
永远别忘了在计算机领域保持同情心。
编程是一件持续学习的事情
13个回复明确说“永远不要停止学习”。
763条推文中有82条谈到了学习或练习的方法。占总比的10.7%。
下面是一些例子:
@iam_js_
学习编程没有捷径,唯有练习、练习、再练习。
@curtisko
你有责任持续学习和发展职业生涯。
@hedgeb
即使你只是帮助手册中的一页,也可以指导别人并帮助他们学习编码。
@howbazaar
书山有路勤为径,学海无涯苦作舟。
大量练习。
读书,看博客。
永远不可能速成。
编程可能令人生畏
许多回复都很好地反映了这一点。需要学习的东西很多,你的知识远远不够。看看这个领域的专家可能会让你胆怯。
27个回复谈到了错误与失败,29个回复用到了恐惧、担心或害怕等词语。
@jitterted
不要跟别人比,跟你自己的过去比。
@greberger
不要害怕说你不知道。
不要害怕向别人求助。
我们(曾经)都有冒名顶替综合症。
@ben_deane
每个人都会犯错。
诚实地为自己的错误承担责任,不要感到羞耻,不要在犯错误时把责任推给别人。
@FiddlersCode
技术转瞬即逝,但关系永久长存。
多多了解你的同事和你自己。
有勇气说出自己遇到的困难。
勇敢地向他人求助,不要害怕别人把你当傻瓜。
编程不仅仅是最新的技术
闪闪发亮的新代码库、新语言和新框架非常酷。但正如许多回复所显示的那样,基本知识更为重要。
34篇回复直接谈到了技术、算法与关注全局。
@bjorn_fahller
语言和工具来也匆匆,去也匆匆。
学会掌握不同语言、库与范式中的模式与逻辑。
了解不同技术的优缺点,根据具体的问题明智地选择技术。
@aras_p
找到你感兴趣的编程领域,并长期从事。
日积月累非常重要:“我把屏幕变红了!现在我可以让它渐变了!”,“我移动了页面上的按钮!”,如此这般一点点积累。
语言、框架、库、“技堆栈”并不重要(如果有人说这些很重要,请无视)。
@rickschott
这个世界需要解决问题的人,而不是只会死记硬背算法的人。
编程要求你付出得太多
个人健康也是一个常见的讨论点。最重要的健康行为莫过于睡眠与饮食。
33个回复谈到了睡眠、饮食、个人健康和工作时间。
@sehurlburt
保证充足的睡眠,健康的饮食,保证身体健康。花费的时间越多不代表工作做得越好,有时甚至不代表可以完成工作。
事业不能以健康为代价。
健康快乐最重要,不必过于强求。
@caffodian
照顾好自己的身体。
编程技术固然重要,但是不能握鼠标握到手发麻,不要常坐不起让自己腰酸背痛,经常看看窗外,……。
@ArvidGerstmann
过犹不及。趁着年轻多享受生活。24岁的人看上去像44岂不令人叹息?
@ma_lindstedt
每周工作100小时并不意味着你很专注。
照顾好自己的身体,敞开胸怀,多多与经理交谈。
尽情地享受业余时间,才能更出色地完成工作。
爱好+朋友与良好的职业道德并不互相排斥。
编程,其他有趣的回复
上面的回复都有共同的主题,但是下面这些无法进行具体地分类,但值得一提。
30个回复提到了测试
@brianokken
学会问下列问题:
怎样才能知道这样做可行?
怎样才能自动化?
尽快学会利用自动化测试,这可以为你节省大量时间。
18个回复谈到了版本控制
@UndefinedBehav
使用版本控制系统。
如果有人早点告诉我的话,我会欣喜若狂。
14个回复提到了调试
@AliBeeGfx
编码通常与不确定性原则相反。
保证确定性的唯一方法是通过调试仔细观察!
鸣谢
像这样的推文非常罕见。如此多的人愿意拿出宝贵的时间来回复出乎了我的预料。
感谢各位的回复、转发与点赞!我希望这条推文能激发你的灵感,我也希望这篇博文对你有所帮助。
原文:http://olafurw.com/2019-01-27-programmer-advice/
作者:Ólafur Waage,瑞士Ubisoft Massive公司的程序员,擅长 C++。
本文为 CSDN 翻译,如需转载,请注明来源出处。
热 文 推 荐
☞ 微信下架今日头条小程序;中国工程师疑因窃取苹果机密被捕;12306回应“无票”质疑 | 极客头条
☞ 绑定1亿用户,15分钟众筹完毕,BitTorrent能否重生
☞ Gartner预测2019年全球IT支出将达到3.8万亿美元
print_r('点个好看吧!');
var_dump('点个好看吧!');
NSLog(@"点个好看吧!");
System.out.println("点个好看吧!");
console.log("点个好看吧!");
print("点个好看吧!");
printf("点个好看吧!");
cout << "点个好看吧!" << endl;
Console.WriteLine("点个好看吧!");
fmt.Println("点个好看吧!");
Response.Write("点个好看吧!");
alert("点个好看吧!")
echo "点个好看吧!"