我从来没有真正的编程经验,我的叔叔告诉我,如果我想开始编程,到这个网站寻求完全陌生的人的帮助。我知道几种语言的名字,但我一点都不知道。我14岁了,如果这算什么的话,我可以打字很快。我的一个叔叔想让我学C。所以我的问题是,C是一个好的开始的地方吗?如果不是的话,哪里是一个好的开始的地方,我该如何学习?
- 我快50了,打字不快。不要太在意打字速度。编程就是思考。
- 为什么不把以前不同的人问同样问题的所有其他问题都看一遍呢?其中有很多:stackoverflow.com/…
- 有时快速输入"上帝的礼物",会让你编写愚蠢的算法…P
- 如果有两个程序员——他们都有很好的分析技能——我会雇佣一个打字速度很快的程序员:D。
- 从最好的开发人员那里得到16张选票,这是你编程生涯的一个好开端。
- 语言本身并不那么重要。学习编程的基础知识是很重要的。这在所有流行语言中都是可能的。
- 我自学编程,从谷歌开始。一切都在那里,搜索"C教程",然后继续前进。
- 我13岁的时候教自己如何用Python编程。现在我15岁了,我对C语言和其他一些语言有些熟悉,我觉得我对Ironpython和Python非常精通。现在,我正在使用谷歌的Go语言,这非常有趣。你看,当你像我这样十几岁的时候(我15岁),你没有义务去做或学习任何具体的事情,因为你没有工作,你也不必赚钱。从C语言开始是一个好主意,并且可以自由地探索其他语言,如Python、PHP、Ruby、Java。关键是,你这么小的时候很容易学。
- 你已经走得更远了,然后你意识到。
你可能想看看最新版本的head first c。它特别适合新来者——它专注于"有趣"的例子,而不是面向业务的例子。我个人并不喜欢这种学习方式,但它显然适合很多其他人。
但是,请确保您购买了最新版本(包括.NET 4)或最新版本的早期版本:早期版本有相当多的错误,但随着时间的推移,这些错误已得到纠正。
- 我11岁左右的时候就开始学习head-first HTML。我绝对推荐给初学者,可能只是因为它很容易,而且对初学者很友好。
- 我不建议通过推荐.NET tarpit让新来的人陷入微软的资金困境。
- @罗伯:钱坑?Visual Studio是一个优秀的IDE,各种vs Express版本都是免费的,一个十几岁的孩子的叔叔建议C可能已经使用了Windows。花了多少钱?(好吧,除了这里推荐的书外!)
- .NET并不像许多语言那样拥有强大的免费工具文化。尽管VS2010 Express可能是免费的,但许多特性、插件和外部(如profilers&static analysis tools)并不是免费的。
- @mquander:nprof(.net sampling/statistical profiler)。CLR探查器(.NET内存探查器)。xna frpm(xbox 360内存分析器,用于xna游戏)。我肯定还有其他的,但我已经使用了前两个,第三个和XNA捆绑在一起。
- 我确实是先通过了头部检查才开始…对于初学者来说这是个很好的开始…
- @布莱恩S——你从免费版毕业后,每个人都告诉你要做的第一件事是什么?购买完整的vs包。有多少次你被告知你不能在"那个版本的xxx"上做些什么,所以你需要升级到"那个",但是"这个"不能在"那个"上工作,所以你需要多个副本来实现向后兼容性,或者你需要购买升级来使用"那个"功能,或者"其他东西"不能在Windows上运行。我的观点是,总是有压力去买东西,即使你不必买,但你可能不得不买。
- @Rob:我构建了支持大规模硬件部署的企业级工具,我可以很好地使用免费版本的Visual C。如果你认为大多数人可能不得不购买一个版本的Visual Studio,你需要远离Kool Aid。
- @Rob:假设开源社区提供了可比的东西,这是很好也很花哨的假设,但事实并非如此。没有一个开源开发工具可以接近vs.的质量、大小和功能,而且尽管Linux在兼容性方面取得了长足的进步,但在它可以运行的应用程序范围内,它与Windows并不是任何一个接近的地方。它可以运行这些应用程序的一系列计算机。另外,开源部分与Linux为支持高端图形硬件所做的努力(例如)相冲突,这需要专有的驱动程序,这些驱动程序可能在您的系统上工作,也可能不在您的系统上工作。
- @杰森-我没有这么说,但作为一个拥有vs(但没有使用它)的人,我怀疑你的部署有多大。
- @Rcix-Windows编码人员需要一个类似于Vs的产品来跟踪Windows编程中数万个对象。*NIX/BSD用户不需要所有这些就可以完成相同的工作。和您的示例一样,驱动程序需要由制造商提供。这不是开源的错。开源不需要免费的驱动程序。他们只需要一个接口。
- 你在说什么"成千上万的Windows编程对象"?我可以用C在免费版本的vs上进行Windows编程。显然,开源也不需要一个坚实的、相当完善的、功能强大的工具集来开发应用程序,因为我在操作系统方面看不到这样的工具集。
- @罗伯:你不使用这个产品,那你是谁在质疑我的日常经验呢?
C是一种很好的语言。
这是一本很好的免费电子书。它不仅讨论了编程语言,而且还讨论了作为一个程序员意味着什么,以及如何专业地处理它。
正如乔恩在他的回答中所说的,head first c也是一本很棒的第一本书(和其他所有书籍一样,如head first html)。
您可以在这里免费获得Visual Studio Express编程环境(具有语法突出显示和IntelliSense的编辑器、编译器、调试器等),只需确保选择C版本即可。
- 哇,微软的免费工具。那么操作系统本身呢,一个14岁的孩子也可以免费得到他们的操作系统吗?
- 对。大多数14岁的孩子都有免费的版本。海盗湾
- 有多少14岁的孩子运行Linux(编辑:那还没有程序)?什么编程叔叔向Mac用户推荐他们学习如何编写任何.NET?考虑到这次行动,我怀疑他已经有了各种各样的窗户。更不用说在市场份额上下注了。
- 如果你是一名学生,你可以通过DreamSpark免费获得Visual Studio专业版。
- @绝地武士:一个十四岁的孩子能得到一台像样的笔记本电脑或台式电脑吗?如果答案是肯定的,那么你的答案也是肯定的。
- 绝地武士:大多数电脑都有"免费"版本的Windows。
- @布莱恩:我……我还是双引导Ubuntu和Windows7。
- @从我12岁起,我就一直在运行一个定制的Linux安装(带有一些主要升级的LFS)。两年后,我仍然使用它(作为第二个选项,但我通常使用win 8.1)用于gcc
- 有些用户在GitHub中上传了著名的C编程书籍pdf,下载合法吗?
C是一个不错的开始,但你可能会发现写网站更有趣。这很容易,每个人都能看到你做的很酷的事情,而且你已经有了开始做这件事的工具——仅仅是一个文本编辑器和一个网络浏览器。HTML和JavaScript也比C简单得多,也更简单,而且功能更强大。
http://www.w3schools.com/是一个很好的起点。
- +这正是我应该给出的建议。我还会提到一些"24小时学习X"的书。我知道很多人讨厌这些书,但我确实对编程感兴趣,通过阅读一本关于ASP.NET的书,我学到了很多东西。
- +1同上。我大概在11点半左右开始学习HTML,这证明它是一种很好的入门语言。然而,直到现在我才进入JS。不是很复杂,但它是一种完整的编程语言,您必须了解HTML和CSS才能开始使用它。所以你可能不想马上从JS开始。
- HTML/CSS/JS/Server+SQL堆栈最酷的一点是(除了它是即时满足的,编写代码并点击F5),它所有的东西都建立在所有其他东西的基础上,它开始时很简单,并且在你真正涉足大量不同的技术之前变得更加复杂。在我看来,对于新手来说,这是一个完美的编程过程。
- HTML和CSS不是编程语言。
- 你说什么?
- 为编程语言推荐HTML和CSS是不适当的。
- 我强烈反对。了解它们对于在网络上编程是必要的,并且学习如何用它们做有用的事情将教给初学者需要培养的、有条理的、解决问题的思维过程。我注意到,我从来没有建议海报只写HTML和CSS;事实上,我的意思正好相反,在我的帖子中提到了javascript,在我的评论中提到了服务器端编程。另外,海报想要学习编程,而不是学习编程语言。
- 另外,海报想要学习编程,而不是学习编程语言<-我的大脑刚刚引爆了导火索。
- 区别:SICP很好地教人们编程,即使它不花很多时间教计划的细节。另外:如果有人不知道基本代数,或者不知道布尔逻辑,我会告诉他们为了学习编程而学习,尽管这也不是编程语言。编写实现目标的HTML和CSS涉及到一种思想方法,这种方法在非程序员中并不常见,必须学会编程。
- 无论如何,我认为这个论点很愚蠢,因为我主要把HTML和CSS看作是编写javascript uis的好DSL,而javascript是一种很好的语言。我的建议基本上就是这样处理。
- @你不是唯一一个推荐这些的人,但你的观点是错误的。HTML/CSS是与编程或逻辑几乎没有共同点的标记语言。他们甚至不能加减,循环等等。这是坏建议。
- @mkunader,好吧,回答你的愚蠢问题,把HTML/CSS的简单性和强大性与C进行比较。更简单和直接的"完全取决于你想要构建什么。
- 幸运的是,一个刚开始的程序员想要构建的通常是一个简单的界面,它可以在几十到一百行中完成一些很酷的工作,为此,我认为HTML/CSS/JS只是一个较短和简单的路径。我喜欢C,但我不认为通过丰富的工具和代码生成生成生成的带有UI的大型、冗长的语言最适合学习者。
- 我对这个建议的问题是你必须学习一个相当大的堆栈才能把事情做得很好。不是学习一种语言,而是建议至少学习3种语言,而不是在服务器端做任何事情。然后,让它在多个浏览器上工作会有困难,等等。HTML让很多事情变得容易-但是一旦你偏离了容易的地方,就很难从我的经验中得到正确的答案。
在我看来,在学习编程或学习新的编程语言时,有一个关键的工具。这个工具是"一个你真正有兴趣解决的问题"。
这可能是一个你对写作感兴趣的游戏,或者是一个桌面或基于网络的工具,可以帮助你在学校或生活中获得一些东西。
如果你有一个真正想要解决的问题,总会有免费的工具、教程和在线极客来帮助你学习如何解决它。
学习编程而不解决实际问题就像学习用锤子、钉子和一小块木头建造房子。你可以学习锤子的基本力学,但是你永远也不会成为一个木匠,除非你必须面对你在建造有用的东西时遇到的问题。
之后,我认为C是学习编程的一种很好的通用语言。还有一些非常棒的免费工具。
我同意用几种语言做实验的海报。用不同的工具解决同一个问题可以让人大开眼界地了解这些工具的不同范例。
- +1用于解决问题。写程序就是为了这个。使虚拟赛车在转弯或旋转时保持抓地力。创建一个虚拟测试环境,这样你的国防承包公司就不必花费数百万美元在一个不起作用的坦克上。在一个分布式网络中,将数以百万计的蛋白质簇折叠起来,以找到解决全球健康问题的方法。这些是程序员为令人兴奋的问题找到解决方案的结果。(当然,在你了解"你好世界"之前,不要试图写"折叠@家"。)
如果你的一个叔叔想让你学C,他可能会在几年后把你当成他的雇员。所以直接问他这是不是他的计划,说服他帮助你。
如果你叔叔对编程一无所知,只是因为他在某个地方听到了这个词而放弃了这个C建议,那么他可能会给你一个非常坏的帮助。
如果我是你,我可以自由选择我想要的,我当然不会选择C,因为它把你和一个专有的操作系统联系在一起(Mono是个笑话,承认吧)。
我的选择可能是Python,因为它几乎在任何平台上运行。对于初学者来说,你有两个非常有价值的教程,从非常不同的角度来教授编程,所以你可以选择最适合你的教程:官方的Python教程和Zed Shaw的"硬学Python"(不要害怕可怕的标题,这本书对初学者来说非常有价值)。
编辑:
看完评论后,我想再加几点。
有多少C程序员为了好玩而编写代码?大多数使用微软技术的程序员都是专业的——这是他们的工作,他们是为了钱而做的,他们中的大多数人没有勇气承认他们的工作有时很无聊(即使是这样),因为这种说法是对公司政策的反对,这种政策滑入了他们提供的基础设施周围的文化中(咳嗽!)免费编程工具。
仅仅在几年之内,那些或多或少认真地进行编程的用户群体就真的爆发了。早在那时,就有sourceforge——一个完全与程序员相关的怪物。现在有LaunchPad、BitBucket、GitHub(最近超过了1000000个存储库,其中大部分是由免费许可管理的小型个人宠物项目)。其中有多少项目正在使用C?
今天的编程比以往任何时候都更注重重用或"窃取"(从好的意义上说)代码。成群结队的C项目、小型通用图书馆在哪里?虽然有些编写专有软件的程序员对新手没有太大帮助(因为他们把它看作是咨询,他们可以为钱而做),而有些编写免费软件的程序员也没有太大帮助(因为他们缺乏社交技能),但代码更为重要。你不只是通过阅读书籍来学习编程,而是通过学习工作代码来学习编程。自由软件生态系统提供了更多的代码来研究。
一般来说,参与编程的人有两个选择:
- 避免使用专有资料,接触大量免费软件,冒着被称为"匿名互联网精英"的风险。
- 忽视专有与自由圣战,冒险去感受专有软件的真正含义,以及它如何破坏一个好的意图,就像这个家伙
- 我认为这是非常好的建议。
- +我也建议,如上所述。
- -1;"micro$oft"不是一个邪恶的独裁政权,它致力于通过伟大的编程语言来破坏世界。如果这个家伙对编程C不熟悉,是个不错的选择,那么他可以稍后决定是否需要开源软件。
- 理想主义是好的,但最终,如果你想让不懂编程的人("普通人")使用你的程序,你就得去"邪恶的专有操作系统"。而且,除非你已经是一个开源的极客,否则你可能不会选择比另一种好语言更多的Python。
- 最后,C是一种语言规范;微软恰好现在拥有它的唯一良好实现)。如果你想让人们"自由选择",那么你可以使用Mono或其他一些C实现,使其成为可行的替代方案。
- @根据美国司法部和欧盟的说法,微软就是这样,但他对其他人使用他的程序只字不提,只是他想学习如何编程,没有什么比微软改变、购买这个世界更能扼杀人的了。
- @RCIX——你忘了微软通过标准机构推动了它们的实施,我质疑专利到底是如何阻碍了一切,但当你有一个更优越的、完整的NIX/BSD系统可供使用时,没有理由使用Mono。Mono是一个异常值。
- @罗布:我在很多方面都是实用主义者。做一个"开源"的人可能会很高兴!!!!1!1!!!!1!用micro$oft打倒!!!!111!1!"如果没有有意地将自己与大多数使用计算机的世界隔离开来,你就无法做到这一点。操作系统没有说明他想为Windows开发,但这是一个合理的赌注。另外,如果*nix/bsd"非常优秀",那么为什么每个人都不使用它呢?
- @很多程序员都在使用它。大多数最优秀的程序员,不管你喜欢什么度量标准,都可能在使用它。如果把os x算作x*nix,那是绝大多数。要支持的轶事证据:news.ycombinator.com/item?ID=687267
- @在桌面之外,Windows是一个次要的播放器。Windows是专为业余爱好者设计的,而不是程序员。
- 快把这个天真的14岁男孩从邪恶的、可怕的大公司地狱的魔掌中拯救出来,他一心想给我们的孩子洗脑,把他们变成下一代愚蠢的公司克隆人;)除此之外,python作为一种学习语言是一个很好的建议,但C也是如此。
- @阿什:是的,我推荐Python作为一种入门语言。学习起来很容易,对于一个新的程序员来说,通过写、编译、测试、修复、重新编译等过程可能会很沮丧。与其他一些程序相比,C易于快速编译,但它仍然是一个难题。
- @mquander:在过去的一周里,我一直在使用两台Ubuntu机器和一台MacOSX进行开发。但你猜怎么着?该应用程序的目标是Windows。仅仅因为程序员使用*nix,并不意味着这就是目标平台。
- @罗伯:我没意识到"业余"的定义变成了"为了工作而领工资"。我以为这就是"专业"的定义。熟练的程序员可以使用任何可用的工具来完成工作。一位匿名的互联网精英抱怨封闭源代码是邪恶的,没有人应该使用它。
- @mquander:这取决于这家伙的目标受众。如果他计划为其他普通人编写应用程序,那么你需要为Windows编写应用程序。如果你瞄准的是极客群体,那么尼克斯或Mac就可以了;如果他只是在玩弄编程,我还是会推荐Windows+免费的C Express vs;因为它纯粹的流畅性和易用性。
- @布莱恩S-你被我对RCIX的反应搞糊涂了。他的观点是每个人都应该使用Windows编程,因为每个人都使用Windows。我的观点是Windows在桌面上经常使用,因为它是为业余爱好者设计的。如果需要为Windows编程,最好的平台是Windows。我的另一个观点是,如果你想学习如何编程以及计算机和软件是如何工作的,最好的平台是开源的ala*nix/bsd,避免不断变化、关闭和隐藏、按量付费、点击解决、为你做微软的世界。
- @绝地武士:编码员:那么现在你是说你必须为了好玩而编码才能成为一名程序员?顺便说一句:我用C编码是为了好玩。@罗布:如果你想真正了解计算机和软件是如何工作的,就要避免"RTFM社区,低文档,不断变化,总是有一些东西被破坏"的开源世界。我也可以像你一样叫东西的名字:P。而且,当许多专业人士使用它时,很难相信"windows是专为业余爱好者设计的"。
- @绝地武士:你把这个职业变成了一场泥泞的战争,对谁是更好的"程序员"是一种伤害。浏览这个网站,你会看到许多C程序员愿意免费提供帮助,在有趣的项目上工作,并认真工作。你的错误信息是令人失望的,如果你只是看看(我非常怀疑你做了些什么),你会看到大量的博客和程序员致力于机器人编程与C,游戏编程使用XNA游戏工作室(再次,完全免费),家庭自动化等。你的无知令人震惊。
- @绝地武士:"冒着被视为"匿名互联网精英"的风险"?我要说的是,你已经完全跨入了"傲慢,与权力斗争,不管他们是否有好的产品"的领域。
- 为了好玩而痛打女士?我今年14岁,不得不说,C能快速轻松地完成任务。看看我的加密项目密码灯,我从头开始写,不到一个月。运行一次,你就会看到C可以做什么。顺便说一句:"only-ms"的东西也是错误的(现在),编译器现在是开源的。听说过罗斯林计划吗??
编程有很多内容,但它可能被分解为几个关键元素:
理论需要大量的学习。书籍、课程、试错、研究等。
手艺有经验。
这就剩下了方言……或者更确切地说,是你想流利使用的特定语言。
要回答这个问题,需要列出一长串你打算做什么。如果你真的没有什么特别的方向可以进入,你的"叔叔想要你学习它"也许是一个很好的理由。
我想说,我可以使用一些热门语言,比如C、Python、Ruby。我这么说的原因是,我认为喜欢一种语言有点像发展味蕾。我认识许多人,他们厌恶编码仅仅是因为大括号和语法糖。我想救你的就是不要被语法所吓倒,把它扔掉。
我相信C是一个很好的起点。你对14岁的编程真的很感兴趣。
我建议拿起一本C书读一读。当你遇到这些例子时,请遵循它们。
我最喜欢的C书之一是安德鲁·特罗尔森写的:Pro C with.NET 4.0是他的最新一本书。:)
http://apress.com/book/view/1430225491
- 安德鲁的好书,不太确定它们是否适合初学者。
- 我想,如果我第一次被交到1752页的书上,作为编程的入门,我会吓跑的。
- (我想我没有认真考虑过这个问题。
- 这本特洛尔森的书是我对C的介绍,我坐下来读了两周的《一个圣殿》,读了前750页。不过,这不是我对编程的介绍!
C绝对是一个很好的起点,原因之一是:
C是一种适当的语言,它几乎会迫使你知道作为一个程序员你在做什么。我从PHP开始我的编程生涯,这门语言太松散了,你几乎不能搞砸。你可以做一些很酷的网站,但在被雇佣去做一些需要更强大语言的事情之前,你永远不知道它们有多可怕。那时,某些从未在PHP中使用过的术语和数据类型将越界。回顾过去,现在我了解了许多编程语言,从PHP开始编程是一种非常糟糕的方式,至少在我看来。我不敢相信我在这个领域有一份工作,知道我从哪里开始。Java也是一个开始的好地方。任何严格的编译语言,真的。当您从严格的编译语言了解基础时,像PHP这样松散的基础很容易添加到您的知识库中。
当然,你可能想考虑一下你要为什么计划。如果你想做网络工作,C是一个很好的基础,但怀疑你会把它用于网络工作,除非你正在做一些非常深入的工作。目标C用于iphone和ipad的开发,所以你不能错误地学习它。
Java对Web很好,现在是一个移动平台,所以它绝对是一个很好的投资。Java的原理将帮助您编写更好的Web代码,并且如果您希望以后分支到C,则可以形成良好的基础。我想反之亦然。
PHP非常容易学习,如果您想进入Web开发,它将非常好地为您服务。如果你走这条路的话,你应该了解HTML,CSS,并且至少熟悉数据库的mysql。仅供参考,PHP开发人员在编程领域一文不值,所以不要指望发财,除非你想自己经营自己的网络公司,自己做这个网站。
在任何情况下,MVC(模型-视图-控制器)都是一个重要的东西。当您的代码结构良好时,为您自己和任何其他可能需要从您离开的地方获取信息的人维护代码是非常容易的。
玩得高兴。
- 我相信当你说"Java"时,你的意思是"JavaScript"?这两个完全不一样。
- 埃利奥特:不,Java也适合这个描述,IMO。Java也是一个更好的C(反之亦然)的基础。
- 我的意思是Java。许多站点都有Java引擎,所有Android和黑莓设备都运行Java,或者一些变体。Javascript也是一个很好的学习工具,但我认为它不是一种独立的语言,因为我几乎完全是一个网络和移动程序员。如果您想学习用于Web目的的javascript,请确保您也学习了jquery。这将大大缩短您的生产时间。
- 如果你的意思是"松散的"动态打字,那么我不得不不同意。javascript、python、ruby都是开始编程的好方法。由于其他各种原因,PHP特别不好。哦,MVC对于那些还没有开始编程的人来说太先进了,所以这不应该是他目前的担心。
- 我的意思是,PHP原谅了你草率的编码。您不必用Java中的方式声明变量或它们的数据类型,例如,如果没有这样做,则什么都不编译。MVC可能是高级的,但是仍然可以阅读它,看看事情的发展方向。如果你下载了一些开源软件,比如Joomla,并对其进行反向工程,你可能会看到你的代码正在以产生更多灵感和信心的方式移动。我从记事本开始,制作简单的HTML页面,然后反向工程phpbb,然后就起飞了。我为提高我的动力和技能所做的最好的举动
要复制我在这里发布的文章:https://stackoverflow.com/questions/3430705/3432079 3432079有两件事需要处理:
学术知识:
- 了解理论-掌握编程理论、语言设计理论、所用架构背后的理论
- 知道数学-所有的编程最终归结为数学-知道谓词逻辑,三角,向量,几何,(基本)集理论,图表,基本矩阵理论,一点数值分析也不会伤害-以及复杂性理论
- 了解你的语言-找本书,读它,做笔记以备参考。对于C http://www.amazon.com/pro-2010-net-platform-fifth/dp/1430225491/ref=sr 1ie=utf8&s=books&qid=1281215548&sr=8-1很好。然后阅读博客和视频,学习使用Redgate Reflector和msdn帮助
- 了解您的工具-对于C这意味着Visual Studio 2010-http://blogs.msdn.com/b/saraford/archive/2010/06/17/video-101-visual-studio-tips-in-55-minutes.aspx是一种很好的学习方式。还有一个不错的重构器-Resharper是我最喜欢的,但还有其他的。
- 了解你的生态系统——了解外面有哪些图书馆,学习如何使用其中一个或两个最好的图书馆。
技能:
- 知道如何定义一个项目——无论你是一个多么优秀的程序员,如果你构建了错误的东西,你都会失败。
- 知道如何设计-学习面向对象设计的理论-这四人组合的软件模式是经典的,每个编码人员都应该知道它们。
- 知道如何记录代码-这对于持久的代码和团队的良好工作至关重要。写下来,记录下来,测试它=>重新启动它
- 知道如何在团队中工作-努力工作,表现好,沟通好。
- 了解要使用的工具-尽可能多地了解各种类型的语言、实际语言、技术、库等,以便了解在什么情况下使用哪种工具
- 知道如何学习-从你周围的人,从网络,从文档,最重要的是从你自己的错误。
我相信其他人可以添加到这些列表中;)
没有最好的方法,但从这里开始:
速成版
它们是免费的,你有很多选择。
这是你对编程做出承诺的一项资产。从对工作环境的敏锐了解开始通常是有利的。问一些基本问题,比如哪些工具已经可以用来完成日常任务?尽可能多地和他们一起玩;当他们行为异常时,问他们为什么?试着在网上找到解决办法。以后,也许你会想在某个时间享受基本的HTML;在C-Sharp或任何其他编程语言中四处走动;因为最后你自己会发现程序员和编程语言之间的联系。
希望它有帮助
我在半个多年前开始C++编程时,有了一个很好的编程开始。我自己也大约十三岁。C很像C++(虽然有不同之处),所以从经验来看,我会说是的,这是一个好的语言。
至于参考书,只要在你当地的书店里买几本书,然后开始用你的方式浏览它们。我就是这么做的。如果你想从C++开始,我确信有一个很好的参考名为"傻瓜"的C++。这就是我开始的地方。
- 我一定不同意。除了语法之外,C语言在各个方面都与C++有很大的不同。此外,我从不推荐C++初学者。
- 我只是根据我的个人经验说,这对我来说是个好的开端。
- 我同意菲尔的看法。与Java相比,C语言与Java有更多的共同点,C++对于第一语言来说有点太宽了。
- C++和C语言一样,都不是程序语言。我也不会建议C++给任何新的编程人员。我建议Python学习概念,然后用C++学习语义。然后你可以学习如何使用包装纸和相互作用。
- @菲尔·吉尔摩:我希望我能对你的评论投两次反对票。对于大多数初学者,我强烈推荐不要使用C++。虽然C/++可以比C这样的东西做得更多(更快),但它开始变得指数*难以达到相同的结果。一旦你知道一般的编程概念,我建议使用C/++来获得一个深刻的基础,但是绝对不能启动。(*我太夸张了。略微)
无论你选择哪种语言(C没有错)。挑选一本好书或资源,这里提到一些。一旦你做到了这一点,一定要手工操作这些例子,然后在电脑上把它们具体化到你的瓜里。
这可能是非常明显的,但是你能用的例子越多,修改和制作你自己的,看看它们是如何工作的,你就越快学会语言。imho这是你真正开始学习和享受乐趣的方式,因为你可以开始看到事情发生,开始解决问题,并获得不只是阅读的问题的背景……
我不会选择纯粹的C,因为它不是完全免费的,完整的Visual Studio非常昂贵。看一下python,它在许多方面强制您正确地编程,同时忽略了编程(和;)中一些更烦人的方面。如果你选择学习python,有一个免费的网站,上面有关于如何制作简单的基于文本的游戏的教程。在开始我的当前项目之前,我用它来熟悉语言。
链接:http://pythonbook.coffeeeghost.net/book1/index.html
- C完全免费。有vs.net的商业版本,但是vs.net Express、SharpDevelop和MonoDevelop都是优秀的IDE,都是免费的。C的所有其他方面都是由微软免费提供的(编译器、库、框架、工具、在线帮助等),根据您的逻辑,Python也不是完全免费的,因为Ironpython与vs.net Enterprise集成。这并不意味着它不自由…
- 与C_一样,python也是一种语言规范。实现可以是非免费的,但我相信规范是免费的。Mono是C语言的免费实现。这也是一个笑话。微软对C语言的实现并不是自由的(就像自由一样)。它也不是跨平台的,将来可能工作不好。最流行的python实现(当人们说python时也提到了)是cpython,它是免费的(以两种方式)。我也相信Ironpython是免费的,尽管基本的clr不是(因为它是由微软制造的)。
- "微软对C语言的实现不是免费的(就像自由一样)。"微软的C编译器是免费的,但不是libre。但是,使用Microsoft的C编译器编译或使用Visual Studio编写的程序与任何Microsoft许可证都没有任何连接。我不在乎自己被禁止修改和发布自己的csc.exe版本。我仍然可以销售brianscashcowapp9000.exe。
- 很抱歉,我不是有意误导任何人。我之所以这么说,是因为我的密友在整个Visual Studio中使用了一年的C,当他离开时非常沮丧,因为他以前做不了太多他能做的事情,也对它的价格感到沮丧。
用十个手指打字的能力是有用的,因为你可以做越来越多的练习而不会使你的肌肉很快疲劳。我第一次用电脑,只是用右手食指打字,很快就累了---打字成了噩梦!
如果您有很多时间,可以按顺序开始学习以下主题:
从硬件和软件的角度看计算机体系结构。
C(Deitel的C书可能是一个不错的选择,因为它有更多的细节)。
根据Tiobe的说法,最常用的语言是C语言和Java语言,所以我几乎可以说你应该从那里开始,但是ESR有一些很好的理由推荐Python作为第一语言。
C是一个很好的起点。我建议您考虑一些很酷但不太复杂的东西,您可以使用其他人在本文中建议的一些参考书来构建它。计算器是有趣的开始程序建立(免责声明:我是一个数学极客)。
任何广泛使用的语言都是一个很好的起点。一旦你用一种语言完成了一些有用的项目,就更容易找到其他的,因为逻辑是相似的。
我建议根据你现在想做什么来选择。例如,假设你在学习的时候有兴趣做一些简单的游戏(比如青蛙或者1943年的时候,把范围缩小)。您可以使用解释语言(如python或ruby)快速制作二维游戏(两者都提供免费的游戏库)。也许你可以在Java或C上做更多的工作,并有空间成长为更高级的游戏功能。或者你可以在Objective-C和Cocoa中制作它们,这会限制你在Mac上开发,但也会打开在iPhone上发布游戏的可能性。
如果您想做业务或金融应用程序,您可以找到很多基于C语言、Visual Basic、Java、C和.NETFramework(而不是语言,但通常适用于企业软件)的支持。使用SQL与数据库进行交互也是一个好主意(在数据库中可能存储销售、客户名称或员工记录等业务数据)。
快速学习最重要的是你喜欢你正在进行的项目,并且非常感兴趣。如果你真的不想用一门语言做任何事情,学习它似乎是不可能的。另一方面,如果你很快开始从事感兴趣的项目,并且热衷于解决你为自己设置的问题,那么你可以在6个月内成为一名出色的程序员。此外,你只有14岁,所以你可以选择将你的生活和事业推向一个既能给你带来收入又能让你在工作中享受的方向。
好吧,主要问题是我还是没人问他。你到底想做什么?您想玩硬件(例如,有一些板连接到串行/并行/USB端口,有一些LED闪烁,有一些声音传出扬声器等)还是想开发有一个良好的用户界面连接到数据库甚至游戏的应用程序?
好吧,对于第一个,这将是装配(即ARM SOC)和C,这将需要您熟悉硬件编程。对于第2,我会说c++/java。我不建议只由一个操作系统支持的语言(如C)…
- 如果你想问运营商的问题,而且无论如何都要这样做,那么这些问题最好是作为评论而不是答案发布。