计算机专业和非专业的程序员有什么区别?

如题所述

第1个回答  2024-03-28
1.有内存概念,科班的人编程一般都知道自己在什么时候需要跟内存打交道,什么时候不需要,而非科班的人,大部分都是功能导向的,很多人不理解内存在计算机科学里面的重要地位,像python这样的语言,你其实大部分时候看不到内存,跟你打交道的是list呀,map呀这些数据结构,你在写code的时候一般都不会考虑他的内存情况。

2.不会被局限到框架中,大部分培训班出来的人,都是学了一门语言加框架,所以他一般就是背的这些东西,但是不理解,比如典型的web框架,尤其以前jsp时代,好多非科班的人,捧着一本厚厚的jsp书跟查字典一样学这个东西,非科班的人容易被某个框架局限住。而科班的人一上来就知道所谓框架不过是人家写好的code,你理解他在做什么就可以了。
3.对操作系统的理解,这一点上很容易看出科班跟非科班的差距,大部分非科班的人看到的都是程序呀,语言这一层面的,但是科班的人,如果操作系统学的不错的,他关注的其实是对机器的抽象,他知道我们要run一个程序,需要这么一些东西,包括进程怎么管,内存怎么管,io怎么管,网络怎么管,这样对于编程来说,你其实拿到的是什么,是一个进程管理器的句柄,一个内存管理器的句柄,一个io管理器的句柄,一个网络管理器的句柄,有这几个功能句柄,你就可以操作这个机器了。
4.再进一层是缓存,这个可能需要有工程经验的科班人士才会有的意识,实际上计算机体系结构,只有一个东西就是缓存,跟上层应用相关的cache最典型的就是python里面的迭代器。弄明白这个,很多架构上的事情你才会明白,比如数据库有一个cache,搜索引擎有cache,你做的所有的优化,基本上都是跟cache相关的。
5.抽象的意识,这个也需要写过很多实践的code才能明白,跟科班可能关系不是很大,跟悟性有关,有的人很笨,无论是不是科班,他就是悟不到这一块,有的人很聪明,无论是不是科班,只要他写过一些code,你点拨他一下,他自然而然就知道什么时候该做什么样子的抽象。
第2个回答  2024-06-07

软件编程入门的难易程度因人而异,主要取决于以下几个因素:

    个人兴趣:对编程有浓厚兴趣的人通常更容易入门。

    学习资源:现在网络上有大量的编程教程、在线课程和社区,这些资源可以帮助初学者快速入门。

    学习能力:具备良好的逻辑思维能力和解决问题的能力对学习编程很有帮助。

    时间投入:编程需要时间和实践来掌握,持续的学习和编码练习是提高技能的关键。

    基础知识:对计算机基础知识有一定的了解可以更容易理解编程概念。

    计算机专业的程序员与非专业程序员之间存在一些区别,但这些区别并不是绝对的,因为编程技能很大程度上取决于个人的努力和经验:

    教育背景:计算机专业的程序员通常拥有计算机科学或相关领域的学位,他们可能接受了更系统的计算机理论教育。

    理论基础:计算机专业的程序员可能对算法、数据结构、操作系统、计算机网络等有更深入的理解。

    专业课程:计算机专业的课程可能包括软件工程、数据库系统、人工智能等,这些课程为专业程序员提供了更全面的视角。

    实践经验:非专业程序员可能通过自学和项目实践积累经验,他们的技能可能更侧重于实际应用。