学编程,到底是从 C 开始好,还是 Python, PHP 开始好?

2015 年 10 月 3 日
 ru20150601

一开始自学 C ,看 KR ,一直死啃看到 Structure 那里,因为之前看过另一本《 c 语言解析》,所以都没什么大问题。(但是那个 quicksort 排序算法跳过了,自己掰着指头演示了一下,能工作,但是没仔细研究原理,因为觉得正在学语言,不想耗费精力研究算法)。偶尔网上看到人讨论,说入门不要看 KR ,太晦涩,会走太多弯路。于是现在很犹豫是不是该改成 C Primer Plus 来入门。

另一个问题,好多人说学会了 C 看其他的就很简单了,大家说说是这样的吗?到底是先看 C 然后再看其他的快,还是先学其他的,最后来研究 C 呢?我的目标是学会 C , python , php ,数据库。


补充一下,也看了很多国外的讨论,最使我震动的是这样一段:
“ I think not, be careful to jump on the K&R bandwagon. K&R does not address good program design nor good programming practice, mainly because it was originally written before anyone knew what good programming practice was. It does not mention which parts of the C language that are superfluous or even dangerous. The book is correctly listed as a reference manual, it should not be used for teaching/learning modern programming.”

14325 次点击
所在节点    程序员
102 条回复
adrianzhang
2015 年 10 月 4 日
@zog 很好的材料,多谢!
asahi
2015 年 10 月 4 日
至少我是不建议学 c++入门, c 语言本身语法特性不是很多,抽象也比较少,但其中指针的概念会让你在学习其他语言的时候受益匪浅, python 也是极好的,语法很简单,理解起来也很容易。一点拙见,欢迎来喷
ityike
2015 年 10 月 4 日
PHP 是第一好的语言, golang 是第二好的语言。。。。你们别喷我
ophunter
2015 年 10 月 4 日
学 C 啊,然后你就会觉得学什么都好了
Robling
2015 年 10 月 4 日
C#吧
语法特性特别多,学完了再接触其他语言会有“啊,我见过”的感觉。
pythoner
2015 年 10 月 4 日
看完这个帖之后,楼主需要再发一贴,标题我都给你想好了:
《学编程,到底是从 C 开始好,还是 Python , PHP , C++, C#, golang , javascript , ruby , haskell , lisp , java , basic , VB 开始好?》
dqh3000
2015 年 10 月 4 日
我觉得看以后想干嘛吧

学来玩的话, javascript 就挺好, javascript 万能,任何可以用 javascript 写的程序最终都会用 javascript 写

……当然 PHP 是世界第一的语言这个无法改变
hienchu
2015 年 10 月 4 日
C 语言好就好在能让你深刻理解机器真正的运行方式,一旦了解了这一点,其他语言都不是问题。
Neveroldmilk
2015 年 10 月 4 日
有超强毅力和远大目标的,可以从 C 开始,但是头几年肯定不少碰壁或者比较迷茫,坚持 3 到 5 年就能学有所成。
snailsir
2015 年 10 月 4 日
只学过 c ,现在在做 PHP
ryd994
2015 年 10 月 4 日
hbkdsm
2015 年 10 月 4 日
@ryd994 你是对的

近年来 MIT 入门课确实从 Scheme 换成 Python 了,不仅如此, Python 在其它美国高校也是风头正劲!

http://cacm.acm.org/blogs/blog-cacm/176450-python-is-now-the-most-popular-introductory-teaching-language-at-top-us-universities/fulltext

这篇报道说, Python 现在是美国顶级大学最流行的入门级教学语言

2014 年依然使用 Scheme 做入门教学的有 Brown, Yale, U Minnesota, Northwestern, U Chicago
kran
2015 年 10 月 4 日
第一门学 c 一般不会知道做什么,建议学个和 c 紧密的,比如 lua😃
ch3rub1m
2015 年 10 月 4 日
建议学 C(非 C++,这是两门完全不同的语言), Python 有太多可替代语言,如 php 、 ruby 、 lua ,但是 c 在 unix 编程方面无可取代,大部分语言的编译器 /解释器都是 c 写成的,你以后的工作可以说 90%跟 c 没什么关系,但是学了 c 有助于你理解底层的东西。我认为编程是一项很难的工作,偏激点说,我认为一点不懂 c 的程序员是不合格的。
wendzhue
2015 年 10 月 4 日
当然是建议先学 Python 等脚本语言,当你差不多啃完一本 Python 语法书后,可以继续 Python 同时开始学 C 。
iyangyuan
2015 年 10 月 5 日
vb
yang2yang
2015 年 10 月 5 日
不管学什么,直接学比较好
iau
2015 年 10 月 5 日
楼主既然已经看到 struct 了, C 语言基本快看完了,怎么能半途而废呢。个人认为学 C 主要是学指针,底层实现的原理。如果对两者掌握透彻了,对学其他的语言很有帮助的。对于 C 语言的文件操作,各种库函数等只要了解大概就可以,不需要深究。
huage
2015 年 10 月 6 日
楼主多少岁了?时间宝贵啊!

我虽然不太懂技术,但我在带团队,我的观念是面向问题的编程,老板客户要的是解决问题, who care what the fuck you are using?!
ru20150601
2015 年 10 月 7 日
@iau
@huage
看了几位的回复,已经明白方向了,非常感谢。

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

https://study.congcong.us/t/225462

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

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

© 2021 V2EX