Programming languages I';我变得无精打采,忧心忡忡;我会失去激情的

Programming languages I';我变得无精打采,忧心忡忡;我会失去激情的,programming-languages,Programming Languages,所以,我几乎100%自学了编程(除了在我自学了C之后的一门C课程)。这意味着,为了让自己继续编程,我必须不断地在网上寻找资料(即教程)(我很穷)。不幸的是,我发现自己陷入了一种困境,我了解编程的基础知识(理论上,我能够掌握一种新语言,并且能够很舒服地解决一些Project Euler问题,这一点从我在这里花费的时间可以明显看出),但我无法深入到这一点,比如GUI编程或web接口 我不知道是不是只有我一个人,但就互联网上的教程的难度而言,似乎存在着很大的分歧。我所能找到的,要么是极其容易,要么是极

所以,我几乎100%自学了编程(除了在我自学了C之后的一门C课程)。这意味着,为了让自己继续编程,我必须不断地在网上寻找资料(即教程)(我很穷)。不幸的是,我发现自己陷入了一种困境,我了解编程的基础知识(理论上,我能够掌握一种新语言,并且能够很舒服地解决一些Project Euler问题,这一点从我在这里花费的时间可以明显看出),但我无法深入到这一点,比如GUI编程或web接口

我不知道是不是只有我一个人,但就互联网上的教程的难度而言,似乎存在着很大的分歧。我所能找到的,要么是极其容易,要么是极其困难。没有中级教程吗?比如说,好吧,你以前见过,这里有一些代码,但我们会解释发生了什么。但我离题了

考虑到我在编程方面缺乏打破实用性差距的能力,我发现自己停滞不前。我只能用这么多语言自学前六道欧拉题。在我的激情熄灭之前,我需要找到一些东西,某种项目。我很担心。我知道这是一个非常广泛的问题,但是。。。有人能帮我吗?给我指个方向?

你需要开始做事情了。你可以从小事做起,但要找到一个你可以贡献的项目,或者你想自己做的项目


如果你想不出什么“有用”的东西,那就开始编写简单的游戏:俄罗斯方块克隆、自上而下的射击游戏等等。它不一定要有AAA级的图形,但即使是像俄罗斯方块这样的简单游戏,也会教你很多关于更复杂的程序结构、用户界面之类的东西。但与此同时,没有什么比你完全陷入困境更复杂的了。

我可能会提供一些建议,因为它们在过去对我有用,在同样的情况下:

1) 参与开源项目

学习编程的最佳方法之一是阅读/审阅/重构其他程序员创建的代码。在以后的工作中,您将学习新的技巧,以及格式化代码的良好样式指南,并开始对一堆包有很好的理解,您可以将这些包放在一起创建解决方案

2) (如果你还没有)找一份程序员的工作

在编程方面,我所拥有的最伟大的学习经验是当我需要扩展我的技能来解决特定问题时。当你开始工作时,你会遇到一个问题,这个问题超出了你的技能范围,然后通过实验、在线寻找现有解决方案、参考文档、询问有经验的同事等来创建解决方案,这非常棒。这几乎就像一个行业学徒——你边走边学,迟早你可以自主处理95%的解决方案


有一件事我在各种博客和论坛上多次看到,那就是试图熟练掌握各种语言几乎是不可能的挑战——最好选择一种(或者两种),然后练习,练习,练习在很大程度上发展它的相关技能。

也许你应该开始为朋友或家人从事现实世界的项目

这将为你的努力提供积极的反馈,并在工作完成时给你一种“成就感”


伟大的编程理论都很好,但如果不引入某种“回报周期”,我可以理解你会变得多么沮丧。

激情不会那么容易消失。你可以加入大量的本地用户组/开发人员组,向他们学习(其中大多数是免费的),以解决一些你定义为中间问题的问题,找份工作无疑是最好的解决方案。你可以做戴夫·托马斯的编码卡塔。对于困难的问题,你可以做一些facebook难题(它们在第二级和更高级别上非常困难,很容易需要数小时到数天才能解决)

你需要开始和完成一个项目,这个项目大到足以迫使你学习不同的东西,但小到足以真正完成。以下是一些想法:

  • 喋喋不休的客户
  • RSS阅读器
  • 推特客户端

你可能想缩小你想学习的领域。网络上有很多资源,但大多数都针对特定的平台或技术。