请问各位计算机专业的同胞们,上本科的时候,你们的编程语言课本是全部讲完吗?
查看10个回答
10人回答

小石头本科是计算机软件专业,下面与大家分享一下自己对编程语言学习的经历和一些看法:

上学时,系里安排的必修语言是 Pascal,之后相关的 数据结构,编译原理,等 基础专业课 都是 Pascal 版本的。不过,隔壁计算机硬件专业 和 分校区的软件学院的必修语言却都是 C 语言。为什么这样呢?据说是因为:我们学校的软件专业更接近数学系的应用数学专业(复变函数,离散数学 等, 这些课就是同一个老师教的),所以更注重计算机和数学理论。而当,时计算机论文中描述算法的官方语言就是 Algol,于是作为 Algol 嫡传的 Pascal 自然就成了 系里 教学语言的首选。另外,还据说,当时和国外交流的大学(具体哪个大学记不起了)也是 用的 Pascal 为教学语言的。

言归正传,当时,作为学校排名第三的一流专业,我们 Pascal 授课老师 还是非常有水平也非常敬业的,同时,系里安排的课时 也非常充足。我印象中是 完全讲完了,刚才又翻了一下当时的教材,根据勾画的痕迹,可以确认这一点。

虽然学 Pascal 对于搞计算机理论很有 用,但对于实际工作 帮助不大,为了有个饭碗,当时又选修了 C 语言,谭浩强的那本!这次讲的就粗糙多了,讲完不可能的,记忆中全是靠自学的!

因为,选 C 语言 后悔了,之后的 C/C++ 和 Java 我都是 自学的!人生无常,本以为 可以 靠它们吃饭了,结果 找到的是 却是 C# 的工作,好在就是 C语法 包装下的 Java,我几乎一个星期就上手了。

小石头觉得:

1. 只需要第一门 编程语言好好学,之后的 完全没有必要选修,靠自己就行了;

2. 虽然说计算机语言是相通的,第一门语言选啥都可以,但是 还是建议 选择 C 语言,因为:

  • C 语言 在深度嵌入式开发中依然是主力;
  • 面向对象 很好 在 面向过程 语言上 嫁接,首先要将后者精通;
  • Java, C/C++, JavaScript,... 都是 C 语法的;
  • 还有,就是:学 操作系统 和 计算机原理 的 时候,需要 C 语言,所以任何时候 C 都是需要学的;

3. 语言是拿来用的,学是学不会的必须做项目;保守估计 第一门语言 10w 行 入门,100w行精通,所以 建议 大二之后 寒暑假 多做兼职;

4. 实际工作中,更多的是学习 类库、框架、设计模式 等,以提高自己的 概念设计、逻辑设计、物理设计 等水平为目的,编码实现和debug 反而不是 最重要的! 还有一类工作,是维护代码,这时候 代码重构 就有用了!

5. 不建议计算机系刚刚毕业就立马做算法,除非你选第二专业是应用数学或者你数学有特长,之后如果想转,除了 学数学知识(如:实变,概率,统计 等)和 相关语言(如:Python,Matlab, R 等)外,建议可以学习一下 Lisp(scheme)和 Haskell 这两冷门语言,这对于你的语言观会改变巨大!

6. 最终,计算机语言的学习是分职业,

  • 嵌入式:C 语言 + 汇编,gcc 是小汇编;
  • Window:C#;
  • 苹果:ObjectC, swift;
  • Android:Java;
  • 网络:JavaScript(TypeScript) + Java(PHP);
  • CS:Python;
  • 游戏:C/C++, C#,Lua;

... ...

有人说:人的一生就是用职业编造囚禁自己的牢笼,诚然!

(以上仅仅 小石头一家之言,大家谨慎采纳!)

2020年5月3日 04:01
查看更多评论