首页
学习
活动
专区
圈层
工具
发布
首页
学习
活动
专区
圈层
工具
MCP广场
社区首页 >问答首页 >回溯我的“教育”

回溯我的“教育”
EN

Software Engineering用户
提问于 2011-11-08 01:32:59
回答 4查看 1.7K关注 0票数 13

不久前,我决定开始编程。我真的,只是跳到了一种语言(Perl),并从那里走了。令我遗憾的是,我跳了进去:

我没有学习基本知识(如果你把它们称为基本知识的话)。

我没学过计算机科学。

我相信,这个问题阻碍了我真正的潜力。我应该在哪里“重新启动”?有我应该读的书、文章等吗?有经验的程序员应该知道什么主题吗?你的建议是什么?

EN

回答 4

Software Engineering用户

回答已采纳

发布于 2011-11-08 02:04:24

我会这么做:

路径A:半典型方法

  1. 学习一种具有更规范语法的语言,如Java、C#或Python。Perl是一种非常有用的工具,但它在允许您做事方面也是非常自由的。我列出的其他语言就更少了。
  2. 用该语言获取一本关于数据结构的书。
  3. 用这种语言写一本关于算法的书。
  4. 获得完整和有效的Java/C#/任何Python版本。

路径B:乔尔·斯波斯基的启蒙之路(或死亡,请选择)

  1. 拿到“密码”一书
  2. 得到K&R的“C语言”
  3. 计算机程序设计的结构和解释

就该方法而言,方法1将以更规范的方式教您编程。计算机科学的概念在某种程度上(相信我,还没有复杂的理论),并为你提供了一种更好的语言,用于与其他人一起进行项目工作,并做出更大的应用。

方法2是更硬的,它更多的是一种基础方法,“代码”解释基础,K&R引入机器级的东西,而SICP引入更高层次的概念。这是一条更难但更专注的道路。

在任何一种情况下,给自己时间。罗马不是一天建成的,编程技巧也不是,即使你是个天才。彼得·诺维格10年来的编程是我通常指给人们看的一篇文章。

增编:

就可用的免费内容而言: Python (如下面所列)是一个好的开始,从那里开始,如何像计算机科学家那样思考是一个合理的延续。

有很多关于算法的资源,老实说,您很可能可以在没有问题的情况下切换步骤3和4。记住,这是数学真正开始出现的地方,所以当你到达这个阶段时,千万不要害怕寻求帮助。这似乎是一个合理的自由导轨

虽然代码就像Pythonista看起来非常可靠,但实际上并没有一个与代码完整相对应的内聚自由。最重要的是,一旦掌握了基础知识,就可以集中精力使代码可读性。这并不是“必要的”,因为你的所有代码语法都是正确的,但是一旦你超越了小程序,或者在长时间内做一些事情,它会让你的生活变得容易得多。

您可能会发现,我主要关注Python,因为在这三个方面中,找到编写得很好的免费内容是最容易的。我认为Oracle编写的Java教程很好,但它们有点枯燥,对初学者来说不是很好。C#也处于类似的情况,尽管两者都没有文档支持。

另外,你的第一个CS笑话/双关语:你想要“重构”你的教育,而不是倒退。

票数 21
EN

Software Engineering用户

发布于 2011-11-08 02:21:29

我想说的是,瞄准用艰苦的方法学习Python,这是一个很好的方法。从那里出发,你需要足够长的时间去寻找其他的资源。

在我看来,在另一个答案中提到的“路径B”在现阶段是不合适的。

票数 4
EN

Software Engineering用户

发布于 2011-11-08 20:20:47

嗯,我一开始是出于同样的原因,因为我在硬件方面有一些知识,并且对编程很感兴趣。我喜欢学新东西。

我从DOS批处理文件开始,然后是QuickBasic,然后是Visual、VBA、MASM,在获得第一份工作之前访问数据库工作。对我来说,这是最好的道路,从简单开始,然后再从那里开始。

我会说,决定什么是你最喜欢的编程,并遵循这条路线,脚本,网页开发,windows编程,等等。如果你不知道,那就开始使用一些语言来看看你喜欢什么。不过,你需要时间。要用5年左右的时间才能真正掌握像Java或C++、IMHO这样的语言。

作为一种帮助学习web开发的语言,JavaScript无疑是很流行的,但是这是IMHO。假设您将了解或学习HTML/CSS。我确实低估了javascript,尽管我从2001年起就使用了它。我对CSS也做了同样的事情,并不认为这很重要。我也改变了我对此的看法。

当我试图确定一个趋势时,我会转到http://www.indeed.com并点击页面左上角的趋势链接。然后,我输入了一些关键字,比如PHP和Python,看看哪些是被记录在互联网上的实际工作岗位上。

不过,这是从职业角度出发的,而且是基于给客户(雇主)带来最大价值的因素。不仅仅是从学习的角度。

票数 1
EN
页面原文内容由Software Engineering提供。腾讯云小微IT领域专用引擎提供翻译支持
原文链接:

https://softwareengineering.stackexchange.com/questions/118391

复制
相关文章

相似问题

领券
问题归档专栏文章快讯文章归档关键词归档开发者手册归档开发者手册 Section 归档