学习编程的建议

2011-03-18 06:23:29 +08:00
 momo5269
我想要自学编程,虽然资料很多,却总担心不够——因为我高中就离开学校了。虽然看了很多给新手的建议和入门指导,但是心里总是没底。我快要埋没在太过丰富的信息里了。教程也很多,语言选择也很多。当初听到的大人们的建议都是要从C开始,而很多朋友说直接从Java、C++、C#等OO语言学起,我都迷糊了,实在是难以分辨那个才是对的。由于周围会的人多,了解一些东西,这反倒成为了我学习的障碍.......

对于这种情况,大家有什么建议吗?我该怎么做?
9506 次点击
所在节点    问与答
59 条回复
Livid
2011-03-18 06:34:33 +08:00
先从 Python 开始吧。

非常适合初学者的语言。
BB9z
2011-03-18 10:38:37 +08:00
不太严格地点一下。
可以这样划出三层:机器,语言,思想。
编程的直接目的是用程序语言操纵机器,根本目的其实是解决*人*的问题,机器和语言其实都是工具,至于上层思想——殊途同归。
不同的语言有它们所适用的领域,我建议你有两种方案:
1. just 选一个*你自己*喜欢的语言
2. 决定好你将来的发展方向,然后选择语言
有可能的话了解下相关语言的发展史,对选择语言应该有帮助。
xiluo
2011-03-18 10:52:45 +08:00
想更了解计算机,选C
想更快写出一些项目,Web或桌面之类的应用,选Python或Java
--拙见。
TheOnly92
2011-03-18 10:56:07 +08:00
首先想想你到底要编些什么程序,再选择比较简单的语言入门。掌握好之后,要选择其他语言也行,继续保留也行。如果是 Windows 的话 Basic 入门也可以,其他系统 C 比较好吧,对基础来说。最重要的是,你必须知道自己究竟要写些什么,然后一直朝着那个方向前进,慢慢学习。
xiaojay
2011-03-18 11:11:35 +08:00
python +1
无所不能的python啊
dreamer
2011-03-18 11:19:40 +08:00
建议你学习编程的时候顺便看一下《Unix 编程艺术》这本书。

这篇文章也值得一看:http://coolshell.cn/articles/2439.html

个人觉得了解一下 Hacker culture 会增加你对编程的激情。最近我对 hacker 文化很着迷。
momo5269
2011-03-18 11:39:16 +08:00
@BB9z 我是这样想的,基础知识与深入的语言:编码的奥秘→深入理解计算机系统→计算机程序的构造和解释→Lisp语言。这是针对你说的第一点。

而第二点,这才是我的难点........我不清楚发展方向,也不清楚那些语言适合新手学习,因为说这种语言好,那种语言好的太多了,不知道信谁的...Python我之前就开始学,但是刚看了几章,又听见别人说学xx才好...................我一开始是准备做点桌面应用、独立游戏的方向去想的。
levn
2011-03-18 11:54:04 +08:00
roamlog
2011-03-18 12:01:52 +08:00
@momo5269 先确定自己想做什么, 再决定去学什么语言吧?
momo5269
2011-03-18 12:13:42 +08:00
谢谢大家,我是准备做一些小的应用和独立游戏,之后就是用于工作。那么,我学Python就可以了,对吗?
liuxurong
2011-03-18 12:29:37 +08:00
英语好不好?英语好倒是上手很快
sqbing
2011-03-18 12:58:41 +08:00
@momo5269 我觉得python虽然上手快,功能强,但是还是应该从c开始,倒不是因为真的用c来干嘛,c里很多处理问题的方法放到别的地方一样实用
算法也适当了解一些,配合你学习的语言
momo5269
2011-03-18 13:09:44 +08:00
@liuxurong 就是英语不好,所以才很迷惑
thewei
2011-03-18 13:11:08 +08:00
@momo5269 C语言与数据结构应该先学习一下,对编程的思维有影响。
chloerei
2011-03-18 13:16:36 +08:00
@momo5269 小的应用和独立游戏对应什么平台?直接找对应平台的的API的原生语言。比如iphone是ObjectC(我猜的,不懂iOS),用python写应用和游戏可能遇到怎么部署的问题。

推荐C,Lisp,算法,计算机系统,编译原理那些什么的是向着计算科学方向去的,我倒觉得这些深层的不如自己觉得需要时候再补,应该直接往目标去。
momo5269
2011-03-18 13:16:49 +08:00
@thewei 这是我想要买实体书的书目:《软件随想录:程序员部落酋长Joel谈软件》《Python基础教程:第2版》《C程序设计语言(第2版·新版)》《C程序设计语言(第2版·新版)习题解答》如何?
momo5269
2011-03-18 13:20:11 +08:00
@chloerei 那是第二部分,我的想法是这样的:
①————————————————————入门语言与基础
② ———————————7楼的内容
③—————— 更深入
因为我不知道该如何构建学习框架,能给出什么建议吗?
chloerei
2011-03-18 13:21:09 +08:00
@momo5269 软件随想录 是博客吹水合集,好看。C程序设计语言 和习题,我觉得看完也不知道怎么写一个应用和游戏。
Mianco
2011-03-18 13:30:33 +08:00
要不从html/css/javascript学起,上手快,学完就能做东西。
momo5269
2011-03-18 13:31:36 +08:00
@chloerei 实际这是一个折中的办法,因为既然Python适合新手,C不得不学,那么都要就好了。先学Python,然后学C,C我是在高中NOIP小组学过一丁点点。

7楼的只是用来到一定程度之后填补知识空缺的,是一个朋友给我的建议,不过“计算机程序的构造和解释→Lisp语言”是我自己加的。

这是一个专为移动设备优化的页面(即为了让你能够在 Google 搜索结果里秒开这个页面),如果你希望参与 V2EX 社区的讨论,你可以继续到 V2EX 上打开本讨论主题的完整版本。

https://www.v2ex.com/t/9962

V2EX 是创意工作者们的社区,是一个分享自己正在做的有趣事物、交流想法,可以遇见新朋友甚至新机会的地方。

V2EX is a community of developers, designers and creative people.

© 2021 V2EX