我决定学习编程。我已经读了几天,所以我会在阅读一些文章时从C ++开始。我对循环,数组,程序逻辑和对象有所了解,我需要有人来帮助我解决我的第一个项目时遇到的一些小问题。
所以这是一个问题-我在哪里可以找到这样的人?我没有任何编程的朋友。
编辑:2年后,我仍在寻找导师。我没有积极地编写代码,只是再次开始三个月。我致力于Cocos2d的Objective-C和iOS编程以及游戏编程。如果您想成为我的导师,请给我留言或发表评论。
我决定学习编程。我已经读了几天,所以我会在阅读一些文章时从C ++开始。我对循环,数组,程序逻辑和对象有所了解,我需要有人来帮助我解决我的第一个项目时遇到的一些小问题。
所以这是一个问题-我在哪里可以找到这样的人?我没有任何编程的朋友。
编辑:2年后,我仍在寻找导师。我没有积极地编写代码,只是再次开始三个月。我致力于Cocos2d的Objective-C和iOS编程以及游戏编程。如果您想成为我的导师,请给我留言或发表评论。
Answers:
加入开源项目无疑是入门的一种方法。但是,多年来我一直在使用开源软件,坦率地说,几乎所有此类项目的质量通常都在厕所里。如果您完全从他们那里学习编程和设计技能,那么您可能会选拔一些非常贫穷的人和那些优秀的人,而无从分辨它们之间的区别。
您想学习什么编程?答案将决定您应该寻找什么以及在哪里。下面是一些常见的答案,我就如何追求他们的专业意见(请记住,这是刚认为,虽然恕我直言,准确):
然后,您实际上就不需要导师了,而C ++是一个很差的起点。我喜欢C ++,这是我进行常规编程的首选,但是请改用另一种语言。我建议使用Python;它的学习曲线比C ++柔和得多,并且与某些语言(没有提及任何名称,今天我没有穿石棉内衣)不同,您仍然会学到一些有用的技巧,以备日后进一步使用。如果您决定继续沿用这条路线,那么很多概念都可以直接转换为C ++。
一个开源项目可能已经足够了。选择一个您喜欢的程序,但发现了一些问题或烦恼,并向运行该程序的人提供帮助。大多数开源项目都是开放供稿的,这通常就是为什么它们首先是开源的原因。
然而,在这种情况下,也不会尝试C ++作为你的第一个编程语言。掌握基础知识并不难,但是C ++足够底层,您可以在程序中遇到一些严重且很难发现的错误。除非您已经知道自己喜欢编程,或者您像众所周知的牛一样固执,或者已经找到可以将您指向正确方向的导师,否则您将失去在该领域的任何萌芽兴趣。参见上面关于Python的答案,它更适合于此。
(我不认为OP属于此类,我将其提供给以后的读者。)
您对掌握程序设计和实施所需的时间有任何想法吗?提示,以年为单位。如果您既聪明又非常幸运,那么经过几个月的学习,您也许可以提出一个像样的设计,但是任何有一点工作经验的人(包括您在内,后来都需要这样做)都会希望您永远不会出生-我是凭经验说的。:-)除非这个想法如此秘密,以至于在完成之前没人知道它,否则就不要打扰。雇用一位经验丰富的程序员为您做这件事,或者如果您买不起,但仍然想让程序变得非常糟糕,请与一个人合作–您处理业务方面,然后由他处理编程部分。大多数优秀的开发人员都更喜欢编程,因此这种报价对他们而言是值得的。
然后,您将走上正确的道路。:-)无论是业余爱好,还是以后可能会成为职业,如果您拥有一种使自己无限魅力的个性,那么您最好的办法就是将自己沉浸在其中。在这种情况下,C ++和其他语言一样好,并且导师肯定会有所帮助(而且不仅会发展您的技能,而且如果没有朋友分享您的热情,它会变得孤独)。
在真正的良师益友中,通常在任何时候都有十几名大三学生在闲逛。因此,“寻找”合适的导师仅仅是开始,与指导他人相比,导师对您的吸引力/回报也要高得多。
因此,第一步是加入您可能会遇到好的导师的社区。
第二步是成为一名有价值的导师。我个人希望在受训者中寻找的一些东西是:
我愿意通过以下方式对他/她所指导的项目/社区有价值:
加入一个开源项目。您也不必为它们编程。大多数项目都希望有人帮助您进行文档编制。您可以查看代码并提出问题。当您感到不舒服时,就可以开始为他们编写代码了。
您对导师有什么期望?开源项目或本地用户组的建议旨在更多地涉及联网,并找到距离您想要的人仅几步之遥的人,以便他们可以以某种方式帮助您。将其视为尝试向Jamie Oliver或Gordon Ramsay学习烹饪的方法,最终可能会非常有趣且有用。
根据您的期望,找到导师可能很容易,也可能很难。如果您期望有人能读懂您的想法,并一步一步地告诉您在一年或更短的时间内变得很棒的秘密,那可能是不现实的。同时,如果您想找到一个可以做得比您更好的人,那么可能做起来并不难。因此,首先要弄清楚您的期望是什么。
其次,既然您知道想要什么,就必须找到它。这可能很难,因为并不是像在加拿大和美国一样,有很多地方专门展示开发人员使用他们的技能,这就是为什么我会想到这个建议。 导师网可能是一个程序的示例,尽管我没有尝试过,但它可能仍然有效,我很久以前就对其进行了研究,但并不认为它适合我和我想要的。这里的另一个想法是您的朋友和家人对您在这里想要什么的了解程度如何?如果您提出要求,他们可能认识某个人或某个地方可以为您提供帮助。虽然这不是一个全面的答案,但您的要求有点含糊,因此希望您可以对此进行补充,然后在您提供所需的详细信息以及所需的方式后,我将进行后续跟踪。不是Burger King,但我们可以尝试采用这种方式。
C ++服务器端组件专家可能很难找到。附近有大专院校吗?那些人可能拥有一些技能,这些技能可能会转变为其他东西。找这位导师祝你好运。
您可能会查看本地Linux用户组(在这里可以找到列表),通常大多数参与者是程序员-至少是perl黑客。另外,如果您告诉他们您在这里找到编程指导者,他们会爱您的。
craigslist上的帖子可能值得一试,但是我不会打赌。
另外,如果您是德国人,我可以特别推荐几个地方。
既然您已经在Stack Exchange上注册,那么您已经可以使用许多非正式的指导者。您可以轻松地提出问题,或者让许多乐于助人的人审查您的代码。
在本地,如果您想进行面对面的指导或教学,不错的选择包括:
学习编程是一个雄心勃勃的事业(我想这个站点上的每个人都会同意)。但是,即使有导师,也很难从头开始学习。我认为您会发现,至少参加一些入门课程来为您打基础是最好的方法。
导师是个好主意,如果没有一个在我的第一份“真实”工作中提出问题的家伙,我将不会在15年后成为编码员,但实际上,一个人无法为了给您时间和指导,您需要成为一名成功的程序员。他或她自己可能会从事一份全职工作(或课程负担)。这并不是说您不应该找到一个或多个导师,只是您还需要其他东西。
诸如此类的网站,在线教程,书籍以及其他所有内容都是难题。教育是边界的组成部分。
这并不是要阻止您;相反,我认为设定现实的期望会给您带来更大的成功机会。
“我怎么找到编程神童?这就是我想要的。我只是想组建一支庞大的机器人大军来接管整个世界。我很聪明,我写了AI。我有钱,有影响力,我只是不介意处理那种令人讨厌的.NET或JVM的愚蠢……嗯……怎么……怎么!!该死!”
通常,我不会对此进行解释,但是我们在堆栈上。有些人喜欢它的字面意思。通过有用,您会找到一个(导师)。通过解决有经验的孩子(或-可能是-大脑-或(他)有钱)不想解决的问题,您会很有用。
解决蚱problems的那些问题。
还是不。这是信息时代。DIY我的朋友。希望像Stack这样的社区告诉您什么时候您变得愚蠢或明智,因为某些与代码相关的事情或一些我们不容易理解的事情,就像那个想要将您搞砸的投资者的阴谋诡计。
并分享您所知道的。一旦发现自己的想法,就参加一些集体活动。这不是1700年代的锻造。您的父母不必认识任何人(尽管当您不向自己学习知识并与行会分享时,当然每个人都会感激)。
您只需要确定自己有兴趣就可以。当它沉入水中时,它确实相当怪胎。这需要一段时间(我知道),但请相信我(如果仅在这个看似荒谬的观点上,我花了十年多的时间才意识到,是的,我是一个令人恐惧的程序员),所有这些真正重要的是您具有基本的才能水平,并且您确实感兴趣。如果您不是,请!@#$ off,找到您感兴趣的东西。
因为否则编程/脚本/编码是一个可怕的选择。但是我不想把它放在消极的,令人讨厌的观点上。如果您有兴趣,不必担心自己的表现如何。问问题。要求答案。像我这样忍受着总的long绕的汽油/冲洗袋。如果需要,您会到达那里。
你喜欢拼图吗?您喜欢随机的任意问题来解决吗?你喜欢角斗士电影吗?毫无疑问,前两点是吗?不要寻找导师。很好地学习一种语言,学习与入门语言水平不太相似的一种或两种其他语言,阅读一些书籍,并发表一些意见。乐于让他们挑战并偶尔更改它们,即使只是为了看看您是否完全不对。您可能会惊讶自己的直觉实际上并没有那么糟糕。要求人们出来问您一个错误的问题时会打您的脸,您可能会发现自己比大多数举起那个场合的人更了解自己。但大多数情况下,这是一个需要解决的问题。解决这个问题。