刚毕业的话主要学习目标是提升深度和提升广度哪个更主要?

坚持_乐观 2020-01-17 04:05:48
情况1:刚毕业在一个做外包的小公司里头,公司接到什么活我就用什么语言,一般一个项目半年左右,实习的时候做过java,做过敏捷开发,现在在做c#,培训学的是java,总不用感觉生疏了,想做java公司给的理由是什么多做一些,会得多。
情况2:有一个亲戚,再大厂,做c++,前段时间跟他聊天,他跟我说,只有会得越深才越之前,会得越多,不深也没有用。

感觉很懵,到底刚毕业应该更注重哪方面发展呢?自学应该注意什么呢?请各位大佬指教
...全文
512 点赞 收藏 25
写回复
25 条回复
切换为时间正序
请发表友善的回复…
发表回复
Nonoas 2020-03-07
引用 26 楼 hao先森的回复:
各位大佬,深入学主要是怎么学,详细掌握一门语言吗
看聊天记录,上面
回复
hao难懂 2020-03-03
各位大佬,深入学主要是怎么学,详细掌握一门语言吗
回复
郑为中 2020-02-15
感觉都重要,因为你也不知道你会做什么
回复
lovehewenyu 2020-01-22
1.项目优先法则。 项目用的专注的学,这样理论+实践可以快速提高技术水平。只学不用,这样的技术都会忘记。强调学以致用。 2.趋势优先法则 技术的广阔天空,永远都是学不完。但是你可以找准几点发力。比如你想进的公司需要什么技术,比如你看中薪资的岗位需要什么的技术。 有了明确的目标,你就会更快的学习到知识的精髓。
回复
ba_wang_mao 2020-01-21
[b]切记!计算机的深度并不是你多会几门计算机语言那么简单,计算机的深度是计算机语言之外的知识[,是你对《算法和数据结构》掌握的是否牢固,是你对操作系统知识理解的是否深刻/b]
回复
ba_wang_mao 2020-01-21
坚持_乐观兄弟:
你的基础并不好,可以慢慢来。

一、首先解决吃饭问题
公司要用什么语言编程,你就先学【好】什么语言,毕竟你要吃饭。
还有有可能公司这段时间要你用C#语言编程,过一段时间让你用JAVA语言编程,这些都不是问题,你按照公司的要求学就是了。
切记!计算机的深度并不是你多会几门计算机语言那么简单,计算机的深度是计算机语言之外的知识
二、你要抓住流行大的趋势以及自己公司的实际需求来学习计算机语言
现在的流行趋势是移动终端,因此建议你学习好JAVA语言,然后再学习Android系统。

三、要想进一步提高自己的能力,C/C++语言必须学习,否则光会JAVA语言无法提高深度。

四、学习完C/C++语言后,一定要学习《算法和数据结构》这本书,这是成为程序员高手必须要闯过的关口
没有学习过C/C++语言的看这本书有点痛苦,因为JAVA语言没有指针概念。
数据结构中的算法你要熟练的运用到平时的编程中。例如:队列发送报文、环形缓冲区解析报文
推荐非常容易自学的教程:
大话数据结构
图解数据结构
五、学习操作系统方面的知识
学习过C/C++和《算法和数据结构》的知识后,应该学习操作系统方面的知识。
1、如果你没有8086/8088汇编语言的基础,看这方面的书有点累。
2、如果你没有计算机组成原理的基础,看这方面的书有点累。
3、操作系统分为PC机方面的操作系统和单片机上的实时操作系统。
(1)、现在PC机上的操作系统教程一般讲解UNIX操作系统的构成,以及操作系统如何工作的。
PC机上的操作系统学懂就行,知道大概就行,因为这门课程无法实践,没有源代码,你只需要把握宏观概念即可。
(2)、单片机上的实时操作系统
单片机上的实时操作系统全部提供了源代码,源代码都不长,不超过1万行代码。著名的有:
UCOSII --- 提供源代码,可以免费学习,用于产品要收费,网上有特别多的学习教程。
FreeRTOS---提供源代码,可以免费学习,免费用于产品,网上有特别多的学习教程。
六、编译原理
主要讲解了编译器是如何工作的,打个比方Visual Studio 是如何将你编写的C语言程序编译成机器码的。
编译原理是计算机算法的最高境界,主要讲解了如下知识:
词法分析 ---打个比方Visual Studio 编译器是如何识别你编写的C语言程序的每个单词。
句法分析 ---打个比方Visual Studio 编译器是如何识别你编写的C语言程序的每行语句。
等等

七、数据库
建议学习MySQL,原因如下:
1、免费
2、数据库容量大,轻松支持几十亿条记录。

八、计算机网络
移动互联网时代不懂网络寸步难行呀!


总之:多做题,多动手,多实践。尤其是《算法和数据结构》中的每一个算法你要反复在电脑上编程,达到熟练。

回复
坚持_乐观 2020-01-21
非常感谢各位大佬的指导
回复
坚持_乐观 2020-01-21
引用 19 楼 ba_wang_mao 的回复:
[b]切记!计算机的深度并不是你多会几门计算机语言那么简单,计算机的深度是计算机语言之外的知识[,是你对《算法和数据结构》掌握的是否牢固,是你对操作系统知识理解的是否深刻/b]
谢谢。我已经对以后怎么学习有一个大概的轮廓了,谢谢
回复
xiguayihao 2020-01-21
回复
爱喝咖啡 2020-01-20
基础很重要一直都需要的! 前期可以发展一定的广度,到一定时候就必须要深度!比如说工作三年左右必须要有一定深度!
回复
坚持_乐观 2020-01-20
引用 10 楼 maradona1984 的回复:
精深一门,广度这东西会因为你深入了解一门之后快速展开,因为思维方式的层次不一样,会让你更容易触类旁通
我的专业 基础并不好,我是应该去学一些数据结构或者汇编等等呢,还是一些语言呢?
回复
坚持_乐观 2020-01-20
引用 11 楼 JavaPorter 的回复:
往深了学吧,首先你要具备公司欣赏的某方面的能力 在公司欣赏的前提下,你会获得更多的资源和人脉,你再去往广度上学习,开拓你的业务范围 你就能在具备一定实力的基础上往公司的更高层冲上去
好,谢谢啦。我现在公司总换各种语言让我去做,我是不是应该去自学一个语言,比如java,去学的深一些
回复
ba_wang_mao 2020-01-19
引用 12 楼 toward_south 的回复:
刚开始我是觉得要往深度走,用我leader说,什么都懂一点就是什么都不懂,提高技术深度才是我当前最重要的,真正会某一种语言,其他的语言也很快上手,还有建议我把基础打牢,数据结构,计算机网络,操作系统,计算机组成原理,这些无聊多翻翻。最后说要学会做规划,这个规划按年来算的,给你几年,你能不能成为某一方面的专家。我很佩服我的leader


你说的很正确。
其实你只要精通一门计算机语言就够了,其它的计算机语言在工作中需要时再学习,不要把过多的精力花费在学习计算机语言上。

我认为,计算机语言应该至少精通二门:
(1)、8086/8088汇编语言
如果你不懂这门语言,往深度学习的时候会遇到很多障碍。
(2)、C++
面向过程+面向对象混合语言
当然如果你精通C++语言,想转到JAVA语言可以说是轻而易举,花不了多少天就可以上手。C#和JAVA语言无非比C++语言多了个线程而已。


回复
toward_south 2020-01-19
刚开始我是觉得要往深度走,用我leader说,什么都懂一点就是什么都不懂,提高技术深度才是我当前最重要的,真正会某一种语言,其他的语言也很快上手,还有建议我把基础打牢,数据结构,计算机网络,操作系统,计算机组成原理,这些无聊多翻翻。最后说要学会做规划,这个规划按年来算的,给你几年,你能不能成为某一方面的专家。我很佩服我的leader
回复
JavaPorter 2020-01-19
往深了学吧,首先你要具备公司欣赏的某方面的能力 在公司欣赏的前提下,你会获得更多的资源和人脉,你再去往广度上学习,开拓你的业务范围 你就能在具备一定实力的基础上往公司的更高层冲上去
回复
maradona1984 2020-01-19
精深一门,广度这东西会因为你深入了解一门之后快速展开,因为思维方式的层次不一样,会让你更容易触类旁通
回复
坚持_乐观 2020-01-19
引用 6 楼 ba_wang_mao 的回复:
注: 不要把C语言、C#语言混为一谈。 (1)、C语言可以编写操作系统,可以操控底层硬件。 (2)、C#实际上就是微软为对抗JAVA语言,在WINDOWS平台上搞了支持C语言语法以及拥有图形界面的类似JAVA。 它只能在安装了.NET的电脑上运行,如果这台电脑没有安装.NET,你用C#编写出来的程序是没有办法运行的。 说白了,C#就是微软公司帮你把很多算法以及驱动都集成到了.NET中,程序员不要问为什么,也不需要知道它们是怎么工作的,你只管会调用API即可,其它的你可以一概不知。 微软推出C#是因为看到JAVA语言大获成功,而 Visual Studio C/C++ 语言也太难入门啦! Visual Studio C/C++ 语言需要大概3年时间,也正是因此,微软推出C#,你只管会调用API即可,其它的你可以一概不知。
我是工作了之后学的C#,现在C#编写一些管理系统好像没什么前景呢。
回复
坚持_乐观 2020-01-19
引用 5 楼 ba_wang_mao 的回复:
二十年的老工控从业人员的建议如下: 如果你仅仅学习了JAVA语言,对其它知识不知道的话,建议往广度上学,不要往深度上学。因为往深度上学需要很强的基础。 向深度上学需要如下基础: (1)、C语言 ---注:JAVA只适合编写网页,WEB方面的东东,搞底层的话,它不行。 (2)、汇编语言知识 --- 涉及到CPU、堆栈等概念。 (一)、向深度方向钻研 1、深度方向钻研无非就是以下几门课程: 《数据结构》、《操作系统》、《编译原理》、《数据库》、《网络》 其中《数据结构》是钻研的基础,没有《数据结构》的知识,你想成为一名有实力的程序员可以说是痴心妄想。 数据结构包括以下内容: (1)、向量 (2)、数组 (3)、线性表 (4)、堆栈 (5)、队列 (6)、链表 (7)、树,二叉树 (8)、图(有向图、无向图、最短路径) (9)、内排序 (10)、外排序 最好的自学教程: ( 1)、大话数据结构 (2)、图解数据结构:使用JAVA 2、学习完《数据结构》并能熟练将《数据结构》中讲解的知识运用到现实编程中,你可以开始学习《操作系统》方面的知识。 《操作系统》分为PC机上的操作系统以及单片机上的 《UCOSII 》、《UCOSIII 》 、 《FreeRTOS 》。 学习操作系统还要有计算机专业知识,如果 (1)、PC机上的操作系统只需要找一本计算机专业的uNIX操作系统原理学习个大概即可。 (2)、单片机上的 《UCOSII 》、《UCOSIII 》 、《FreeRTOS 》三个操作系统都提供了源代码,源代码长度不超过1万行。 (3)、买个野火开发板、正点原子开发板或安富莱开发板(大概500元),你就可以使劲的学习吧!
!!!我才看到,这么好,谢谢
回复
ba_wang_mao 2020-01-17
正是因为JAVA语言和C#语言都微软公司和SUN公司以及其它千千万万的公司写的类不断叠加,程序员你只管会调用API即可,其它的你可以一概不知,所以从JAVA语言推出后,大家都把程序员称之为码农,因为你只会机械的调用API组装代码,不知道它来自哪里,怎么来的,长的什么样。
回复
ba_wang_mao 2020-01-17
注:
不要把C语言、C#语言混为一谈。

(1)、C语言可以编写操作系统,可以操控底层硬件。
(2)、C#实际上就是微软为对抗JAVA语言,在WINDOWS平台上搞了支持C语言语法以及拥有图形界面的类似JAVA。
它只能在安装了.NET的电脑上运行,如果这台电脑没有安装.NET,你用C#编写出来的程序是没有办法运行的。

说白了,C#就是微软公司帮你把很多算法以及驱动都集成到了.NET中,程序员不要问为什么,也不需要知道它们是怎么工作的,你只管会调用API即可,其它的你可以一概不知。

微软推出C#是因为看到JAVA语言大获成功,而 Visual Studio C/C++ 语言也太难入门啦! Visual Studio C/C++ 语言需要大概3年时间,也正是因此,微软推出C#,你只管会调用API即可,其它的你可以一概不知。
回复
相关推荐
发帖
非技术区
创建于2007-09-28

2.3w+

社区成员

Java 非技术区
申请成为版主
帖子事件
创建了帖子
2020-01-17 04:05
社区公告
暂无公告