我就是看不惯那个强制缩进.
老子爱用tab就tab,爱用空格就空格.
你Y都给print加括号了, 函数体和循环体为什么还要靠体位来判断?
还有啊, 脚本就是脚本, 用脚本语言学习数据结构和算法? 这就跟要抽烟放着现成的火柴打火机不用非要整一套大功率激光发射器来点一样蛋疼.
Python不是说不能做复杂的计算和算法处理, 但这不是它的强项, 它的强项就是"胶水"功能.
连C#,http://VB.NET这种号称"语言"的写出来的排序算法效率都及不上它们数组内置算法高效. 拿Python来做不是搞笑么? 当然,你也可以调用高效的运算库, 可那个跟你自己写出来的有一毛钱关系么?
我实在想象不出数据结构这种课程不用C或者功能相当的语言的理由.
另外, 还有一个很大的原因就在于, 选择一种强类型语言作为入门, 可以让你从一开始就建立起数据类型差异的思想. 即使以后在用到脚本语言等其他弱类型语言时, 你也会记得在内心里提醒自己.
如果按照相反的过程来学习, 你甚至都不知道不同类型变量直接赋值可以导致错误. 因为从来就没有这个概念.
===============
后来在@Xi Yang 的回复中貌似有点理念不同。
一开始我主要是对你回复中这段话而回复的:
“非专业的学这种玩意,简直是日狗。
============
补充:“非专业”指非计算机与信息、电子、电气、控制大类专业。“
我的回复是: 你要说文科也就算了, 电子,自控这种还是学点C的好. 真以为逻辑控制电路还都是靠元件搭出来的年代么?
你回复我说:C语言应当是嵌入式相关行业的专业课。
这已经开始有点让我摸不着头脑你到底要表达什么了,后面是更多自相矛盾的说法:
你的观点差不多就是C很难学,比如:C的使用难度巨大,因为语言设计得面对机器简单,意味着大量的工作要由你亲自完成,比如所有权管理、资源分配。这意味着需要和业务逻辑去争夺注意力资源,而初学者本来注意力资源就非常有限。
然后又把C语言和其他语言搞混了:你要是说函数式语言,比如Haskell,编程过程和做数学题区别不大,还沾点边。对C这么讲,只能说明你既不懂编程,也不懂数学。
从语气上判断你貌似要用这句话来反驳我说的“C是面向过编程的语言”这句话,然而我不知道你说的和我这句有任何关系。
针对后面我说Python没有指针,很不适合学数据结构,你回我说: 一个非信电类的专业,要知道毛的“基础的一些东西”。别人需要的事情,基本上就是做个仿真,或者算个统计系数,用结果画几个图而已。这些东西用Python、Matlab、R都能做得很好。
真的,这彻底把我搞糊涂了, 主帖不是在说高中生么,我的观点一直是在针对题主说的入门语言和学习数据结构这两块呀。所以在给你的回复中我也是一直围绕这这两点在说的。
嗯,说到这里我觉得有点明白是真么回事了, 你应该是根本没有看清楚题主的话,自己脑补成大学计算机编程学习或者什么就业类的编程学习了。