学习编程的建议

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

对于这种情况,大家有什么建议吗?我该怎么做?
9508 次点击
所在节点    问与答
59 条回复
chloerei
2011-03-18 13:33:02 +08:00
@momo5269 首先抱歉打错了名称,iOS是Objective-C

重看了一次帖子,既然python你已经”看了几章“了,就继续吧。python的书也多。
chloerei
2011-03-18 13:42:25 +08:00
@momo5269 Python对你的好处是这样

一是胶水语言,什么方面都可以沾上。很多库都有python的接口,比如gnome的gtk库是用C写的,但是它提供了python接口,提倡小应用用python这样的语言写而不是用C。

二是跨平台,虽然跨到手机难点。这样不会捆绑在某个公司的私有技术。

三是书多,数据结构和算法什么的也有python描述的书。

学python的话,你会知道写一个程序是怎么用的,逐渐会知道写一个应用其实很多时候是调用别的库提供的接口。然后你发现你找到了自己想要写的东西,但是用python写在部署的时候会有麻烦(比如用户不愿意在手机安装一个python),你就开始研究该平台本地的语言。在你开发的过程中发现有个部分特别慢,你就开始研究底层,开始混合语言编程,这个时候你会逛逛 v2ex,回答别人”怎么学习编程“的问题……
chloerei
2011-03-18 13:43:29 +08:00
你会知道写一个程序是怎么用的 => 你会知道写一个程序是怎么样的
momo5269
2011-03-18 13:49:10 +08:00
@chloerei 谢谢了!那我就继续学python吧!虽然还没学多少呢....入门书籍《Python基础教程:第2版》就可以了吧?我有很多电子书但是看不下去,这也是没学下去的原因之一。
BB9z
2011-03-18 14:00:40 +08:00
好热闹。
@momo5269 补一本数据结构的《数据结构与算法分析 —— C语言描述》Mark A Weiss的,C描述好处就是比较纯粹,没有像C++,Java那么多“包装”的讨论。
“基础知识与深入的语言:编码的奥秘→深入理解计算机系统→计算机程序的构造和解释→Lisp语言”——这个路子我认为可能有问题,但不好说……

“不知道信谁的”,“但是刚看了几章,又听见别人说学xx才好”—— 这个能理解,其实他们说得都对,但这是在特定情况下的,单看表面矛盾的言论实在太多了。现实中很多问题没有对错、好坏之分,只有在特定情形下合不合适。开发中也一样,要处理很多折中问题。
需要自己作选择,并承担起一切后果。而且现实中最终能不能成,也要靠运气。

像Joel,37signals的经验是不能直接照搬的,东西方环境有差异。巨大的成功离不开时代背景,决策时不要被少数成功的光环所迷惑,总体的情况才是可信的。

居然说了这么多空话……
chloerei
2011-03-18 14:02:00 +08:00
@momo5269 这本书我没看过,看其他pythoner意见了: )。挑书可以相信直觉,翻翻目录看充不充实,看看作者的文字合不合胃口。有人喜欢严肃的书,我就喜欢语言比较轻松的书。挑好了就一本看到底不要三心两意,当然,发觉自己真的被坑了就上豆瓣打个一星。

别看这本:《dive into python》,专门用苦涩的语法晒优越。
Aragon
2011-03-18 14:05:23 +08:00
@momo5269 电子书能不看还是不看为好,阅读,特别是学习,最好还是纸质书。如果偏要看电子书,那么最好用Kindle或者iPod Touch这类设备看。

我自己就是个用电脑看电子书看到后来成看网页的过来人。后来还是购买实体书看,觉得踏实。
bigzhu
2011-03-18 14:09:04 +08:00
用 python 是对的.适合初学者,但是也可以学的很深.
不要死看书,自己写些小程序和脚本.
momo5269
2011-03-18 14:11:59 +08:00
@BB9z 谢谢!原书绝版了....淘宝商城的可信吗?
@Aragon 我觉得也是实体书踏实,看屏幕时间长了就浮躁......
xsmile
2011-03-18 14:12:23 +08:00
关键要动手,在实践中自然就会发掘和学习到深层次的东西。语言什么的,真的要看你的工作性质了...
Sean
2011-03-18 14:13:00 +08:00
我觉得学习编程从选择哪门语言开始入手,不是好的开端。
学习编程是为了让计算机按照我们要求去运行,那么我们的要求就不能异想天开,要在计算机能力范围内的,所以要了解计算机的"能力"。
明确自己的要求,"为了学习编程",找到与自己要求相近的一些应用。了解这些应用都是使用什么语言开发的?如果开发的?这些语言比较的话各有哪些优缺点?
然后,选择一眼就相中的那个语言,去边学习边实现自己的相法。
选择语言的时候,只要你相中,就觉得舒服就可以了。与选女朋友一样,不需要说出来一、二、三点理由的。我就是喜欢,怎么样着吧。有人觉得python优雅、有人觉得丑陋。只要你喜欢就行了!
momo5269
2011-03-18 14:13:30 +08:00
@BB9z 那只是个大概路子,其中很多东西还是需要从电子书和百科维基里参考的。
@bigzhu 谢谢!
chloerei
2011-03-18 14:16:55 +08:00
@Sean 表扬一下我这个Rubyer去给别人推荐Python吧~
momo5269
2011-03-18 14:19:54 +08:00
@xsmile 我现在是眼高手低.......虽然知道行动很重要,但很害怕走错了路...因为之前犯过类似的错误
@Sean 我是接触的多了才很迷茫的,我想找一个适合无基础新手的语言,之后学其他的就不会很难了.......选择语言是为了开始,之后还是要接触学习许多其他语言的。我接触的应用或者游戏用什么语言的都有,接近自己想法的不知道是什么编的......倒是知道一个是Delphi的。
Aragon
2011-03-18 14:25:40 +08:00
@momo5269 对于选择语言的问题,楼主看看这个,可能有点启发http://www.cnblogs.com/bitfan/archive/2011/03/13/1982744.html
momo5269
2011-03-18 14:35:24 +08:00
@Aragon 谢谢,看来就是Python了。我因为高中离校,所以数学不行,我有本教我老师上大学计算机系时的Pasca程序设计(第二版)l,却看不懂稍微深一点的问题(涉及到线性代数与图论)......
ray58750034
2011-03-18 14:42:28 +08:00
Java适合初学,因为严谨。 学Java有两个结局, 一是有了编程思想, 以后改任何语言都可以; 二是没学到编程思想, 以后只要按部就班还是可以写简单的程序。 学Java基本上不会出现彻底不会编程的人。
Python适合已经有程序思想的人, 它比Java更像编程语言,说白了,用好Python要天赋。

Java设计的目的就是为了批量学习、批量生产。 而Python Ruby 这类很动态的语言是由一群很有个性的人组织起来的,所以要想加入他们,就必须先接受他们的思想,不然很难有进展。

然后语言的诞生都是有其应用目的的,可以从自身需求出发,找到适合自己的。 如果是以编程入门为主,Java挺好的, 尤其是Java的设计一直很规矩,日后转其他语言都用的上。
spark
2011-03-18 16:33:47 +08:00
纯WEB而言,php和python哪个更适合入门?
chone
2011-03-18 16:51:38 +08:00
python好,容易上手却又强大。
如果觉得python直接上有点难,不妨先学学html先建立一个认识。
c不太推荐
xsmile
2011-03-18 17:12:09 +08:00
@ray58750034说的非常好,非要选个语言的话,就选择java吧。掌握了java,其他语言不在话下。

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

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

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

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

© 2021 V2EX