帮助开始编程?

时间:2008-10-05 16:19:05

标签: c#

学习计算机编程最简单的方法是什么?

有人可以推荐一些有用的书吗?

13 个答案:

答案 0 :(得分:4)

我不确定你的情况是什么,但我可以让你知道我的背景以及我是如何进入它的(过去的历史像15或16年)。

当我在Jr.High时,我在圣诞节期间获得了一年的Mac Plus。它来自一些工程师,他有一些很酷的程序:HyperCard和Basic是我的最爱。您可以将HyperCard想象成一种类似网络前的网络编程环境。您可以像带有图形的幻灯片一样绘制lil power point,然后编写脚本。所以我点了点击冒险并得到了一些俗气的动画。然后我基本编写了一个基于文本的侏罗纪公园游戏。这一切都不是非常复杂,但它让我涉足编程并帮助我学习基本的if-then结构。

在高中时,我为TI-82图形计算器制作了程序。没什么好看的,我不是那些做俄罗斯方块克隆或其他任何东西的人之一,但我做了一些程序来帮助我完成数学课程。

我在高中毕业后的第一份工作是AT& T Wireless的客户服务。当我在那里时,我总是试图在Excel中制作一些很酷的东西向人们炫耀,这样我就可以得到一些关注,然后下车那些该死的手机。我在Excel中首先引起注意的是一个供应订购系统,它使用位于网络共享上的Excel电子表格作为数据库(哈哈,我讨厌人们现在这样做)。我在VBA中编写了全部内容,并在Excel程序中创建了win表单,使程序看起来更像真实的程序。它甚至有一些俗气的加密,以防止任何人绕过我的表格,只是摆弄Excel数据本身。

这导致其中一位主管让我访问本地Cold Fusion网络服务器和数据库之一,以便我可以将我的Excel应用程序移植到网络上。我讨厌HTML。绝对讨厌它。我强迫自己玩它并完成项目。赢得了夏威夷之旅。

最后我离开了AT& T因为我不去任何地方(我被提升为内部技术支持但是在那里待了四年之后还不够)。我在一家超级小公司找到了一份网络开发人员的工作,获得了微薄的报酬(如28k或其他东西)。在那里,我开始学习C#(我在雄心壮志的时刻买了Deitel& Deitel C#书)。我之所以选择C#,是因为我天真地认为它只是C ++的下一个版本,因为我看到了很多工作。在这家小公司工作几个月之后,我在一家拥有近千名员工的公司找到了一个C#gig,其余的就像他们所说的那样。

(哦,是的,在那里的某个地方,我还在当地社区大学学习了C ++课程)

在我的职业生涯中,我一直在继续这种自我驱动学习的模式,这让我在做的事情上取得了很大的成功。我现在正在进入更多以计算机科学为导向的学习,我的职业生涯正在改变以反映这一点。只需要深入了解并通过做你喜欢的项目来学习,你的职业生涯将永远在上升。

答案 1 :(得分:3)

Learn to program

我已经编程了20多年,发现这本书真的很有趣。

答案 2 :(得分:3)

我写过一本直接面向新程序员的书。我写这篇文章是为了帮助你开始时的一切。在销售了大量的副本之后,还没有一个糟糕的评论。

PureBasic

PureBasic - 计算机编程初学者指南。

  • 300多页
  • 易于阅读和遵循布局
  • 包含许多图解释 更详细的主题
  • 所有核心的完整参考 语言特色
  • 有关如何使用本机的帮助 帮助文件,IDE和可视设计器
  • 编写优秀代码的指南
  • 创建图形用户的教程 接口
  • 2D&的示例和解释3D 图形和动画
  • 专门讨论的整个部分 简化高级主题
  • 包含互联网的大型附录 链接和有用的图表
  • 完整的计算机科学词汇表 教育新程序员
  • 所有编程代码示例都可以 下载

您可以在此处找到可下载的副本:

http://www.purebasic.fr/english/viewtopic.php?t=37059

编辑:本书现已根据创作公共许可证发布,现在可以免费下载。

答案 3 :(得分:2)

这是我能想到的第一件事:Link

答案 4 :(得分:2)

我开始学习编程的方法是找到一个简单的程序并将其改为稍微不同的东西。只是试验一下......如果你打破它,撤消你的改变,找出他们为什么破坏它。

答案 5 :(得分:1)

在我看来,为了学习计算机编程,你不应该真正学习计算机编程。尝试找到您想要完成的小项目,然后了解完成该项目所需的内容(语言,技术等)。

如果您已经了解该区域(例如“我想学习C编程”),那就更好了,在该区域选择一个项目并尝试学习完成项目所需的一切。

这是因为计算机编程领域非常大(你可以从网络应用程序到鼠标驱动程序做很多事情),你可能不想浪费你的时间学习一些你不会使用的东西。

答案 6 :(得分:1)

我推荐Chris Pine的“学习编程”作为一本好书。本书使用Ruby并扩展了Chris Pine的免费在线教程。您可以在http://pine.fm/LearnToProgram/找到该教程以及该书的更多信息。

通过“学习编程”工作(*)之后解决小谜题可能比阅读其他书籍更有帮助。大多数关于编程语言的书都遵循相同的结构(即以“Hello World!”开头 - 程序,然后介绍条件和循环,然后引入面向对象的编程和错误处理)。很快就会对那些书籍中人为的示例程序进行研究。

相反,选择一门你想要学习的语言(或坚持使用Ruby),在线找到一个好的参考,并弄清楚如何使用该语言编写“学习编程”的一些例子。之后尝试解决像Sudoku这样的小谜题或该语言中的n-Queens问题,或者实现一些着名的算法(例如QuicksortDijkstra's Algorithm)。你可以找到更多的谜题,例如在RubyQuiz。在您尝试用一种语言解决谜题后,尝试用另一种语言再次解决它们或学会用您喜欢的语言编写图形用户界面。


(*)不要只是阅读示例程序。确保在自己的计算机中键入它们并尝试对示例进行小的更改。这样就可以更容易理解编程语言的工作原理。

答案 7 :(得分:1)

试试Python。下载 ActivePython 并使用“如何像计算机科学家一样思考”,这是一本免费的电子书,可以为初学者解释一切。众所周知,Python具有易于阅读的语法。

另外,转到Try Ruby,它将向您介绍如何使用Ruby中的一些基本功能,而无需任何知识。

答案 8 :(得分:0)

阅读“C编程:现代方法”,由K. N. King (或类似的书),并在编程环境中进行。

我甚至不再用C语言编程,但是到目前为止我仍然使用的编程的所有基本概念我都知道这本书。

答案 9 :(得分:0)

想到了几种不同的方式。一个是你真正喜欢的应用程序,看看你是否可以创建这些功能的子集。它可能看起来很多,但它会集中在寻找资源,甚至可能是一些关于如何完成某些事情的简单参考。通过本练习,您将获得在进步过程中需要进一步理解和发展的词汇和概念。

创建批处理命令/实用程序/宏的另一种方法,它将自动化系统上的功能。这将向您介绍变量,命令,逻辑等的概念。您可以从中汲取大量示例。这种方法可能会给您带来更直接的满足感,因为难度范围或难度将更加有限,您将更快地产生结果。

最后,您可以从一些讨论网络,计算机,脚本和编程的书籍开始,这些书籍面向普通读者。 The Cookoo's Egg by Clifford Stole是一本非常吸引人的书,可以带来更深层次的兴趣。它是一个很好的入门者,可以介绍许多不同的概念,这些概念对于理解系统至关重要,直到今天仍然如此。

答案 10 :(得分:0)

首先,选择一个您有其他人设定期望的项目。找一个需要程序来做一些简单任务的同事,家人或朋友。通过这种方式,您无法轻松获得良好的旧“侧面项目萧条”,并且永远不会在开发周期中经历关键的最后10%。

到达用户发现错误并遇到可用性问题的地方非常重要。在此之前的一切都可以被视为绒毛,因为您的唯一目标是满足自己,而不是您的编程工作的主要消费者。一旦你真正开始学习东西,就必须开始处理可用性问题和可维护性。

其次,阅读实用程序员和神话人月。这些书都可以由非程序员学习,并帮助教你如何学习而不是学习什么。始终关注良好实践,而不是特定的语言语法或框架。一种语言的“if”条件就像另一种语言一样,但学习如何负责任地和有效地开发程序是让你成为优秀程序员的原因。

答案 11 :(得分:0)

实用程序员系列在我看来,对于各种主题的初学者都有很好的入门书籍。您可能需要查看Learn to Program Using Ruby

答案 12 :(得分:0)