如何学习一门新语言/技术?

ChrisAK 2011-10-26 08:53:01
加精
按说我应该已经过了问这个问题的时候了,但最近越来越觉得这确实是个问题.自我在电脑上敲下第一个helloworld vb6程序以来到现在已经7年多了.7年多的时间,我接触了不少的语言.也曾经觉得会很多语言是多么多么的牛b而抱着
有限的几个参考同时死磕几门语言.随着经验的增长,开始觉得语言虽多但都是那么回事,核心还是要靠算法和设计.于是这方面的兴致也慢慢淡了下来.

不过,我仍然觉得定期学习一门新的语言对于一个程序员是很有必要的(受the pragmatic programer的影响).但是近两年觉得学新语言越来越"难"了.为什么难呢?以我近两年接触的几门语言为例,它们是perl ruby 和 tcl.

刚拿到这几门语言的时候通过翻相关的资料,弄清楚控制逻辑的编写方法,如果有尚未接触的概念,学习之.例如ruby的block对于惯用c系语言的我就是个陌生的概念.这样在很短的时间内,借助查文档,我就可以阅读并理解该门语言所编写的代码了.

接下来就是"难"的部分了;熟悉一个东西的方法莫过经常和它打交道了.常用它们写程序是最好的学习方法.但问题就在这儿.刚接触的东西,对库之类的都不熟,于是用新学的语言得翻着文档开着搜索引擎做.有时候一时找不到合适的方法还得和在文档中死啃半天.用原先顺手的语言半小时解决的问题改用新语言可能1小时还在弄.于是在大多数情况下,特别是工作中.还是捡起熟悉的语言开干了.

时间一长,学过的东西老不用.自然会慢慢淡忘.于是才啃了perl不到两个月的我突然想捡起来用的时候却不得不再去翻那些语法资料.因为刚打开编辑器想敲键盘就冒出了一大堆问题:"hash表是怎么写的来着?" "数组是@开头还是#?"

同样的问题还可以推广开来,如何学习一门新的技术?以正则表达式为例,刚开始接触RegExp的时候,我才学写了不到一年的代码.那些表达式在我看来如同天书一般,于是没有学.之后再接触正则的时候我已经能自行写出同等功能的函数了.写一段抽取HTML内容的代码可能花费我15分钟至半小时.而查着文档写同样功能的正则包括中间因为不熟而做的的各种测试则可能会花上我一个小时以上.如此循环,虽然写那些解析代码让我在字符串解析的算法上获益匪浅,但至今我还是正则白痴一个.

有没有摆脱这种工具使用惯性的方法呢?欢迎各抒己见.
...全文
3807 206 打赏 收藏 转发到动态 举报
写回复
用AI写文章
206 条回复
切换为时间正序
请发表友善的回复…
发表回复
tx183584 2011-11-01
  • 打赏
  • 举报
回复
学习了..........
yh3301 2011-11-01
  • 打赏
  • 举报
回复
要巩固的话,只有把新学的语言运用到实际操作中,用它去跑个东西出来~~~

程序这东西最终还得归结于实践~
bcw4081 2011-11-01
  • 打赏
  • 举报
回复
我是新手,很想学习些知识,谢谢提供参考
小悲观世界 2011-11-01
  • 打赏
  • 举报
回复
多看书,多练习。
yungmode 2011-11-01
  • 打赏
  • 举报
回复
小技巧,你懂的
wang787764468 2011-11-01
  • 打赏
  • 举报
回复
啥都不懂看看。。
mollyjh 2011-10-31
  • 打赏
  • 举报
回复
关键是看自己的发展方向,如果为了学而学,就不划算了。
追寻梦中人 2011-10-31
  • 打赏
  • 举报
回复
现在还没定期学习一门语言,头大,,,
asan 2011-10-31
  • 打赏
  • 举报
回复
需要的时候学
edverd 2011-10-31
  • 打赏
  • 举报
回复
其实现应该精通一门语言,然后学习什么都是小菜了
足球中国 2011-10-31
  • 打赏
  • 举报
回复
学好gc万法皆是空。
从最难的一门语言。
语言也无所谓难。只是记忆的东西和配置的东西各有区别。
记忆和配置需要按照他的要求来。
对于习惯了c#的转其他平台真的很难。
c# vs2008就是傻瓜式的。
wabfr 2011-10-31
  • 打赏
  • 举报
回复
大家都面临相同的问题
山东蓝鸟贵薪 2011-10-31
  • 打赏
  • 举报
回复
软硬件都搞呀,最好是能专一门呀
dzysdy 2011-10-31
  • 打赏
  • 举报
回复
就想看看我有几个三角
大眼的小眼 2011-10-31
  • 打赏
  • 举报
回复
我感觉我一门学的都很难,学那么多,就会死机......
goto2020 2011-10-31
  • 打赏
  • 举报
回复
学习学习
q193285573 2011-10-31
  • 打赏
  • 举报
回复
你抠的这些都是可以找民工来写的
forster 2011-10-31
  • 打赏
  • 举报
回复
学新东西靠天赋,抠老东西靠耐心
mbugaifc 2011-10-31
  • 打赏
  • 举报
回复
[Quote=引用 10 楼 chrisak 的回复:]
引用 2 楼 sp1234 的回复:

你抠的这些都是可以找民工来写的。如果你需要练习一下小技巧,不耻下问就行了。问题是你有没有做过逻辑设计、业务分析、架构设计,并且把别人7年才能精通的许多东西用一分钟讲透彻。如果不是,那么你这7年也就不值7年,弄不好我看也就值2~3年。
7年前我就一个初中毕业进大专两年多年的小P孩,我就没指望过那几年的编
码能给自己带来什么"经验".学编程纯属于兴趣,我……
[/Quote]

彼此交换意见、探讨学习
xingxiangyang 2011-10-31
  • 打赏
  • 举报
回复
我有C语言基础,现场想学习C#语言,好搞嘛?谢谢给位大侠的指导!
加载更多回复(186)

110,545

社区成员

发帖
与我相关
我的任务
社区描述
.NET技术 C#
社区管理员
  • C#
  • Web++
  • by_封爱
加入社区
  • 近7日
  • 近30日
  • 至今
社区公告

让您成为最强悍的C#开发者

试试用AI创作助手写篇文章吧