我从来没有真正有任何编程经验,我的叔叔告诉我,如果我想开始编程,请到这个网站寻求陌生人的帮助.我知道几种语言的名字,但我根本不知道任何事情.我十四岁,如果有任何意义,我可以快速打字.我的一个叔叔想让我学习c#.所以我的问题是,c#是一个好的开始,如果没有,哪里是一个好的开始,我该如何学习呢?
您可能希望了解最新版的Head First C#.它特别适合新手 - 它专注于"有趣"的例子而不是商业导向的例子.我个人并不喜欢这种学习方式,但它显然适合很多其他人.
请确保您购买的是最新版本(包括.NET 4)或上一版本的最新版本:早期版本有很多错误,但这些错误随着时间的推移而得到纠正.
C#是一个很好的语言.
这是一本很好的免费电子书,可以帮助您入门.它不仅讨论了编程语言,还讨论了程序员的意义以及如何专业地处理它.
正如Jon在他的回答中所说- Head First C#也是一本很好的第一本书(正如他们所有的其他书籍一样,例如Head First HTML).
你可以免费获得Visual Studio速成编程环境(与语法高亮和智能感知,编译器,调试器和更多的编辑)在这里 -只是一定要选择C#版本.
C#是一个好的开始,但你可能会发现编写网站更有趣.这很容易,每个人都可以看到你做的很酷的事情,而且你已经有了开始这样做的工具 - 只需要一个文本编辑器和一个Web浏览器.HTML和Javascript也比C#更简单,更简单,但功能不强.
http://www.w3schools.com/是一个很好的起点.
在我看来,学习编程或学习新编程语言时有一个关键工具.该工具是"您真正有兴趣解决的问题".
它可能是您感兴趣的游戏,也可能是桌面或基于网络的工具,它实际上可以帮助您在学校或生活中获得某些东西.
如果你有一个真正想要解决的问题,总会有免费工具,教程和在线极客来帮助你学习如何解决它.
在不解决实际问题的情况下学习编程就像学习用锤子,钉子和短木头建造房屋一样.你可以学习锤子的基本机制,但是在你不得不面对在尝试构建有用的东西时遇到的问题之前,你永远不会成为木匠.
之后,我认为C#是一门学习编程的通用语言.并且有一些非常棒的免费工具可用.
我同意那位用几种语言进行实验的海报.用不同的工具解决同样的问题可以让这些工具的不同范例真正大开眼界.
如果你的一个叔叔想要你学习C#,他可能会在几年后将你视为他的员工.所以直接问他是否是他的计划并说服他帮助你.
如果你的叔叔不知道编程,只是放弃了这个C#建议,因为他听到了某个地方的这个词,他可能会对你做出非常不好的帮助.
如果我是你,我会自由选择我想要的东西,我当然不会选择C#,因为它将你与专有的操作系统联系在一起(Mono是一个笑话,承认它).
我的选择可能是Python,因为它几乎可以在任何平台上运行.你有两个非常有价值的初学者教程,从非常不同的方面接近教学编程,所以你可以选择最适合你的教程:官方的Python教程和Zed Shaw的学习Python的艰难之路(不要害怕可怕的标题,这本书对初学者来说非常有价值).
编辑:
阅读评论后,我想补充几点.
有多少C#程序员编写代码以获得乐趣?大多数使用微软技术的程序员都是专业的 - 这是他们的工作,他们是为了赚钱,他们中的大多数人都没有勇气承认他们的工作有时很无聊(即使是这样),因为这样的说法是针对公司政策进入他们(咳嗽!)免费编程工具提供的基础设施周围的文化.
仅仅几年之后,那些对节目或多或少认真进行编程的用户群体就已经爆发了.在那些日子里,有sourceforge--与程序员有关的单个怪物.今天有launchpad,bitbucket,github(最近超过1000000个存储库,其中大多数是由免费许可证管理的小型个人宠物项目).有多少项目正在使用C#?
今天的编程比以往任何时候都更多地重用或"窃取"(在正常意义上)代码.C#项目群,小型通用图书馆在哪里?虽然一些编写专有软件的程序员对新手不是很有帮助(因为他们认为这是咨询,他们可以做钱),而一些编写自由软件的程序员也不是很有帮助(因为他们缺乏社交技能) ,代码更重要.你不是只通过阅读书籍来学习编程,而是通过学习工作代码来学习.而自由软件生态系统提供了更多的代码来研究.
一般来说,进入编程的人有两种选择:
避免使用专有资料,可以获得大量免费软件的风险被称为"匿名互联网精英"
忽视专有vs免费圣战可能会感觉到专有软件确实意味着什么以及它如何破坏一个好意图,就像这个人
编程有很多,但它可以分解为几个关键元素:
理论
手艺
方言
理论只需要大量的学习.书籍,课程,反复试验,研究等
工艺带来经验.
这就留下了方言......或者更确切地说是你想要流利的特定语言.
要回答这个问题,需要列出一长串您想要做的事情.如果你真的没有任何特定的方向,你的'叔叔想要你学习它'可能是一个很好的理由.
我会说一些诸如C#,Python,Ruby之类的热门语言。我这样说的原因是,我认为喜欢某种语言有点像开发味蕾。我知道许多人仅仅因为大括号和语法糖而讨厌编码。我唯一想救你的是避免被语法吓倒并扔掉