我从哪里去 – 关于编程?

我好像是在一个永无休止的Linux环境中,不pipe是不是Windows。 Web编程或系统编程。 Python或PHP。

我自学自编。 但似乎我一直在为要走哪条路而感到t t不安。 不幸的是,通常看起来很好的原因是被追踪。 你知道整个开源或专有的东西。 最近我决定在一年之后,Linux并没有为我削减它,这主要是因为我想看Channel 9等的video,以及Linux的笨拙。 所以这就引导我说:“我应该学习ASP.NET,因为我更加认同Windows是一个”必要的“邪恶。

我希望这是有道理的。 我之所以selectWeb开发作为学习编程的一个课程,是因为我实际上有一个任务来实现,而不是漫无目的地阅读参考书等。

有没有人有任何build议,他们可能已经做了保持专注,而不是每个切线或想法的铅。

你只会有一段时间的第一语言。 选择你感兴趣的任何方向,并按照它。 介绍“喝流水”的经验是没有办法的。

保持早期的项目简单,有形。 建立有用的东西,动机将在那里。

网络/桌面/移动/等,这一切都很好。 找到一个可以让你在不使用代码的时候考虑代码,并且知道你的方向是正确的。

我之所以选择Web开发作为学习编程的一个课程,是因为我实际上有一个任务来实现,而不是漫无目的地阅读参考书等。

这正是要遵循的过程。 我认为我们大多数人都以相同的方式进行编程。 找到一个问题,并找出适合的技术解决方案。 继续寻找你感兴趣的问题,你会发现你自己的答案(这可能不同于我自己的答案)这个问题。

实用程序员的建议之一是每年学习一门新的语言。 可能每次都是完全不同的(见Martin Fowler对这个问题的看法 )。

回到你的具体情况,你选择了编程的方式,因为你喜欢它(我希望:-)); 如果您对当前环境不满意,请去改变它。

不要太担心你要走的方向,只要确保:

a)你正在享受它,并且正在理解你在做什么。 例如,您不必首先理解像多态这样的概念,但是您应该了解您正在做什么的基本知识。 在一段时间之后,你是不是可以把你的思想包装在Python中的元组和词典中? 那么这可能不适合你。 当然,这是一个非常低级的例子,如果你没有得到字典,那么总体上有一个问题:-)

b)你正在处理你想要解决的事情,不仅仅是因为你认为你需要学习这些东西。 你使用了“Windows是一个必要的邪恶”这个短语,不,它不是。 许多公司(大和小)不使用.NET平台进行开发。 你的Linux方法很有趣,因为你无法实现你想要的东西,而你的结果是“笨拙”,看起来有些尴尬。

无论哪种方式,这不是关于Linux与Windows,但我希望有帮助。 顺其自然,只要你喜欢和学习,就不用担心你要走什么路。 🙂

我发现我的一些初级同事(至少那些对CS很有激情的人)也提出类似的问题(有时候我也会问这个问题,尽管我现在已经有12年多的时间了)。 我给他们的一个建议(也是我自己),帮助了我,

  • 专注于已经分配给你的工作。 作为这个任务的一部分,确保你不仅仅是“完成工作”,还要确保你理解背后的基本原则。 如果你想成为一名优秀的程序员,你需要了解“如何工作”的基本原则。 使用API​​来进行矩阵乘法是很容易的,但是如果你不知道什么是矩阵乘法以及如何用手来完成,那么实际上你已经失败了。 所以在你选择的网络编程领域,确保你超越表面。 当你点击那个按钮时,理解你背后真正发生的事情。

  • 作为“做这份工作”的一部分,你通常可以找出你感兴趣的领域。 如果你对事情的实施更有热情,并继续搞清楚,那么你就是IMO,是一个系统工程师。 如果你更热衷于找出所有新工具和新特性,而且似乎热衷于把所有东西放在一起来创造更新和更酷的输出,那么你就是一个应用程序员。 两者都是以自己的方式有趣的领域,并作为人们上面提出的建议,意识到你喜欢什么,看看你是否可以坚持下去。

  • 我喜欢上面的建议之一。 如果你仍然困惑,试试这个“旋转”的东西。 在每个领域/领域都有很多的范围,所以要保持旋转(但是要给出每个轮换的时间),直到找到你喜欢的东西。

祝一切顺利。

🙂

感谢您的深思

无论如何,这似乎是为我学习编程的另一个分心。 我花了更多的时间追赶升级包等明显的修复。 大部分情况已经在发挥作用,似乎没有太多的意义,花时间重新创造轮子可言。 相信我,陪审团对于追究Linux作为一个可用桌面的真正替代品的梦想是否合理还是没有道理的。 现在请记住,前Windows用户将永远不得不比较他们的经验与Linux之前,他们以前能够尝试Windows之前工作。

只是我的两分钱

这是一个流氓企业。 科技流失使每个人都忙碌起来,希望在自己的技术上出类拔萃的员工可以在新技术的海洋中不断忙碌。 但是,最终所有这些技术在某种程度上遵循相同的模式和实践。 成为基础知识的专家将在这个行业中发挥职业生涯很长的路要走。 Pragamatic Programmer是一个经典的方向来源。

另外,你可以或者应该做什么(Windows与Linux)可能很大程度上取决于地理。 我遵循我所在地区的就业市场。 花点时间找出企业正在寻找什么,承包商在做什么,并根据这些信息选择要学习的技术。 用户组,会议和代码阵营也是一个很好的来源。

如果真正的问题是你自己建立你的第一个网络应用程序,并找到你在第9频道看到更令人信服,那么也许你应该按照你的直觉! 顺便说一下,我想你会发现到处都是“笨拙”,不妨习惯吧。

真的,所有你需要做的是确保你采取婴儿的步骤,并正在做你正在享受的东西。

我开始在一个小游戏的视觉基础编程。 不是最好的语言,但这是我当时的一个很好的起点。 我的观点是,你不需要从一开始就选择最好的语言/操作系统/任何东西,只是迭代。 这是编程方式。

顺便说一下,只是因为你使用Windows作为你的操作系统并不意味着你必须做所有的.NET我使用Windows,然后有一个服务器,我所有的网络托管,我SSH进入。

我自己也有同样的问题。 我感到无聊的只是在PHP中,并希望能够做更多。 我最终决定了C#,因为它不仅完成了“必要的恶意”论证,而且允许我在MS领域做任何我想做的事情,并且是对另一种语言(Java)最接近的语法。

考虑到所有这些不同类型的项目,这让我开始选择这个方向。 这两种语言都可以用于Web开发,移动设备和桌面应用程序。