我一直在编程,非专业23年,发现我有点陷入困境。我找到了一个我喜欢的工具,并且年复一年地保持这种状态。不幸的是,这意味着我在编程中落后于时代。
我本身并没有直接计划专业编程,但是,能够开发客户端(以及最近转向云的愿望)应用程序以供我的客户使用,以及我自己在我的日常工作(硬件,网络和互联网支持服务)。
不幸的是,我发现我很难理解最近的概念,因为我被困在80年代和90年代的编程风格中,我发现自己很难理解概念。
我正在寻找的是在线和印刷材料的建议,提供真正的“概念介绍”和(单独的材料)技术用于现代编程概念及其在Java和C#中的使用(所有这三个我只有最小的接触)。
我最有责任。
- 更新 - 我只想非常感谢所有对此问题做出回复或评论的人。
由于你的建议,我找到了一些很棒的资源,并恢复了我对编程的热情。前进的道路不再是艰难的挣扎,而且在过去一年左右的第一次,隧道尽头的灯光看起来并不像迎面而来的卡车。
答案 0 :(得分:13)
阅读开发者博客。尽量在您的Feed阅读器中保留相当数量的资源,并每天(或左右)进行阅读。拿起你喜欢的东西。
大多数程序员都会写下他们的意见,他们的观点,等等。你可以通过阅读别人做的事情来学习A LOT,过滤你喜欢的东西,或者发现你感兴趣的东西,以及你不喜欢的东西。书籍很有帮助,但是,有23年的经验,只是想要更新...我推荐博客......
我读过一些博客:
Stackoverflow也是一个很好的资源。不仅可以找到问题的答案,还可以阅读其他问题的答案。说真的,我发现自己最近引用了stackoverflow的一些答案......或者应用了我在这里看过的东西。
值得一提的是,与当前趋势(如TDD或面向方面编程)保持同步就像是与世界本身保持同步。你早上起来,阅读报纸,可能只是标题,然后是特定的东西,大约5或10分钟。然后你会阅读你觉得有趣的文章,但你会对最重要的事情有所了解。这是相同的,但那些博客(以及其他一些博客)是编程世界的报纸。
答案 1 :(得分:11)
答案 2 :(得分:4)
我很多“新”概念实际上并不新鲜。例如,大多数“现代”语言特征源自早期的功能语言。 像TDD和敏捷这样的技术只是已经做了很长时间的事情的编纂,可能不是主流。它们本身也难以理解。
我怀疑你最大的障碍是术语。你可能习惯于听流行语,但当你看到它们的含义时,你会发现它们是用其他流行语来解释的。
我的建议是坚持下去。找回您可以与之相关的术语解释的方式,然后再进行工作。一旦你用一些概念完成了这些,你就会对解决更多问题感到更自信,并且更好地了解你真正想要关注的事情。
对于语言相关的事情,这可能更容易,因为你可以回到,例如,Lisp,并找到根据60年代及以前熟悉的概念解释的概念! (当然你也可以找到更近期的报道)。
对于设计和过程相关的主题,只需在维基百科上阅读他们的历史就可以给你一些线索。
让你的注意力保持在足够小的范围内,不要让人不知所措,但要足够广泛,以便考虑到工具或技术所处的生态系统。
答案 3 :(得分:4)
您需要一些替代方法来处理这些主题。我发现“Heads on ...”系列既有趣又有技术上的声音。
了解Java上的Heads:http://oreilly.com/catalog/9780596009205
答案 4 :(得分:2)
如果您只想跟上时间,那么您应该阅读开发者博客。我不打算给你定期的博客列表,因为我认为依靠4-7位博主来获取你的所有信息都不是一个好主意。
早些时候,我曾经在Google阅读器中汇集所有博客,我的阅读列表增加到400多个博客。这绝对不会有所帮助。
最好访问codebix.com,dzone.com等网站,以获取最新文章,并在社区选择最佳文章方面提供一些帮助;)。
答案 5 :(得分:2)
就个人而言,我从观看谷歌发布的讲座和技术讲座中学到了很多东西。他们有很多关于软件工程的内容。观看视频显然是一种与阅读完全不同的学习体验,但大多数人都非常聪明并且都是才华横溢的演讲者。
答案 6 :(得分:1)
听起来你的编程逻辑技巧很好。在我看来,更新你的技能的最好方法是拿起一份C#(Express是免费的) - 或者java(我是.net的家伙)并转换你的一个旧应用程序,然后你会找到现实世界的问题,并能够使用“现代”方法解决它们(在SO的帮助下)。
祝你好运。答案 7 :(得分:1)