计算机专业基础有哪些?
我是做C++的,就以C++来说吧 编程语言只是工具,不同语言的程序员通过努力学习也能实现跨语言通信和编程。 但是不同的编程语言有各自的优缺点,C擅长做系统编程、低层通讯,C++适合各种编程、高并发访问、多线程等,C#适用于winform、WPF以及Blazor这样的UI开发,Javascript则更适合前端HTML、CSS、Javascipt以及Ajax。
但是,无论什么语言,都包含两部分,一部分是语法,另一部分是数据结构与算法。 如果只掌握语法而不了解数据结构和算法的话,那就是一个拿着刀斧却不会使的屠夫。而如果你只会数据结构和算法而不熟悉语法,那你就是个手不能拎重物的文盲。 所以,我推荐学习从《算法导论》《计算几何》这样的书籍开始学习计算机专业知识(计算机专业的同学也可以从《数据结构》《操作系统》《计算机网络》《编译原理》这样的课程来学习)。
虽然这些书上或者课程中都会涉及很多算法,但它们都不会深入讲解具体某个算法如何实现的。而如果想要了解具体的算法是如何实现的,就需要看一些源码了,比如Linux Kernel、Android的OpenGL ES、Qt之类的开源项目都可以作为源码来研究和学习。