本人现在大二狗,计算机专业各位大佬觉得现在我应该专攻什么语言,go,Java,Python还是什么?
本人10年开发培训经验,期间经历了Java,Android,H5,大数据,PHP等多个不同的方向的开发,也做过软件培训公司的金牌讲师,很有兴趣回答你这个问题。
其实这么跟你说吧,无论是Java、Go还是Python,这些都属于”术“,并非”道“。那么”术“与”道“的区别在哪里呢?
”术“是技术,你技术再厉害也只是一个单个的技术;而”道“则是思想,一旦”道“研究透了,则所有的”术“都不在话下。所以对于大一大二这样并没有急切面临就业需求的学生来说,其实更多的精力是要放在编程思想的学习上。
大学里面的数据结构、体系结构、操作系统、软件工程、编译原理等原理性的东西要多花时间去研究,去琢磨。如果有时间有精力,最后再去数学系选修几门数学课程,尤其是算法类的课程。
你把上面的这些课程研究透了,才能保证你无所不能无所不会,以后无论你从事哪个方向的开发,都是无往而不利。
就好比你要学武术,你可以学长拳、洪拳、少林拳、罗汉拳、棍法、刀法、剑术等,但是这些都是一个一个的”术“;如果你机缘巧合之下,掉入山崖,得到一本九阴九阳神功大法,这本书告诉你的是如何修炼自己的内功,并不是告诉你一招一式该怎么练。
但是最后你应该知道,练好了九阴九阳,可以秒杀世界上那些无敌神拳、天下第一刀、沧州第一棍啥的。
回到这个问题上来,无论是Java、Go、Python,还是C、C++、C#,都是具体的编程语言而已,他们是遵从于编程思想的。所以一旦你的思想通了,再用这些编程语言就会一法通而百法通。
我的建议就是好好学习算法编程思想这种课,然后选择其中比较经典的一个编程语言作为具体的实现手段,比如用Java实现某个算法,这就够了。你现在还没有到毕业的阶段,没必要Java也搞,Python也学,贪多而嚼不烂,以学校的学习环境和情况,往往哪个都搞不好。
其实搞好一个算法,再精通一个Java,足以让你找到好的工作。不要听别人瞎扯淡,什么区块链现在特别火,赶紧搞Go吧;人工智能是未来的趋势,赶紧弄Python吧。有些东西就是天上飞的猪,站在了风口上就被吹上了去,等风口一过,那个猪就会死的很难看。
自己没事就打开招聘网站,看看招聘Go的有多少,招聘人工智能的什么要求,你符合吗?你觉得搞得了吗?
所以专科本科阶段,尤其非名校的学生,还是踏踏实实,别那么好高骛远,把算法+底层+Java这样的东西搞好了,你的就业绝对不会愁!
等你考了研究生,这时候可以捣鼓一下人工智能啊,区块链啊啥的。
以上是我的个人见解,若有不同见解,欢迎留言讨论!
我从事开发培训10年,擅长Java,Android,H5,大数据,PHP等多个不同的技术方向。后续我会写一系列关于互联网技术方面的文章,感兴趣的朋友可以关注我。另外如果你有Java,Android,H5等开发方面,或者是求职方面的问题,也可以在评论区留言,或者私信我,相信一定会让你有所收获!
我不太理解,为啥要专攻哪个语言???
你以为计算机技术就是学语言?
感觉现在中国计算机行业被各种小学生和培训班带偏了!
计算机行业的核心根本不是任何编程语言!!!语言在计算机技术中的重心最多10%!
你只有在培训班才能看到“java速成培训班”,“python速成培训班”,但世界上任何一个大学都不会有“java专业”,“c语言专业”这样的专业。
你可以看看大学计算机相关专业,比如“软件工程”,“网络工程”,“信息安全与技术”,“计算机科学与技术”,就知道你专攻的应该是啥了吧? 计算机专业不是学编程语言!!!
数据结构,算法,编译原理这些才是计算机的核心技术,才是你应该化大量时间去学习的。
如果掌握了编译原理,数据结构,算法以后,不管啥语言对你来说都无非是具体语法的区别而已。
不同语言对于你来说只有熟练度的区别,根本不需要,也不存在什么传攻某个语言的概念。
在掌握了基本的编译原理,数据结构,算法之后, 你的主攻方向也不能是任何语言,而是某个具体实现。
比如你喜欢网络,那就花时间好好学习《TCP/IP》
如果你喜欢游戏,人像识别,虚拟现实,那就应该主要学习《计算机图形学》
除此之外,主攻的方向还有
数据库
机器学习
数据分析
等等,这些定西才是计算技术的核心,才是你应该专攻的,绝对不是任何一门语言!
作为计算机专业的毕业生,最起码应该做到不论哪个语言,看着语言的官方文档,就可以使用这种语言编程,根本不需要专门去学习。
无非是某个语言用的久了,熟练度会很高,解决bug速度会很快而已。
语言在计算机计算中是一个工具,只有熟练度的区别,而根本不存在会不会的问题。
计算机专业的学生,没有必要在意语言的熟练度,学习计算机技术才是关键。熟练度可以在工作后再提高,进了某个项目组后,随着工作,熟练度自然就提高了。
作为一名工作了十多年的大龄 Java 程序员,当然还是会建议学习 Java 了,不过在此之前还要把程序员的“内功”学习好。
第一类的内功:计算机专业所有的专业课程,包括计算机组成原理、操作系统、计算机网络、数据结构与算法、离散数学等等。
如果你选择了 Java,那么还有一层内功需要修炼
- JVM:需要了解 Java 的内存模型、内存管理、堆和栈、垃圾回收、类加载机制;学习 JVM 各种参数及调优方法;会用一些调优的工具,当程序出现问题时知道如何跟踪和定位;
- 多线程和并发:了解多线程、锁机制,知道什么是线程池、线程池的执行流程,如何定义线程池中的核心线程数、最大线程数、队列大小等等;
- Java 常用类:String、集合、IO 等等,这些都需要关注到源码级,例如集合中的 HashMap,甚至需要了解不同 JDK 版本的实现方式有什么不同,也可以学习一下 Java 常用的工具库;
- 其他的 Java 基础:反射、序列化、泛型、异常、Annotation 等等。
其实到了这一层,已经可以应付大多数的校招面试了,当然如果你能继续学习 Java 的常用框架和中间件,那毕业之后进入大厂的机会就会更大了。
- 关系型数据库:SQL 语法、如何进行 SQL 优化;索引的使用及原理,数据库事务及事务级别等等;
- 非关系型数据库:Redis 的使用,数据结构及使用场景;
- 消息队列:Kafka、RabbitMQ 这些可以了解一下,关注使用场景(为什么要用);
- 开发框架:Spring 全家桶中的很多框架都值得学习,比如 Spring 、Spring MVC、Spring Boot;用到数据库的话,ORM 框架肯定也是离不开的,比如 Mybatis、Srping Data JPA;还有负载均衡、单元测试、持续集成、虚拟化、DevOps、容器...其实框架的东西说起来就太多了,精力有限的话,先在精力方法基础知识的学习上。
作者:会点代码的大叔 ,一个写代码的架构师,专注程序员的学习和成长,关注并私信我数字“1”,送你一份程序员大礼包。
看对什么感兴趣,做互联网就java,c#。做系统底层开发就c/c++。 做大数据,人工智能等就python,golang。 但是不管那个方向我觉得都得学学c语言,这个太重要的基础了!
大二?攻数据结构吧,顺带用C语言把里面的题目都实现了,确保运行成功,再踏实学习其他计算机专业的理论基础,项目实践也要一点,但不能为了经验而积累经验,你刷数据结构的过程也是在积累经验,多年以后你会为自己的付出感到欣慰。否则,只注重追求流行语言,表面上懂个很多,忽略了基本功,毕业的水平跟非科班从培训机构出来的差不多,往后够呛。
世界编程语言排行榜上,排名第一的是JAVA,虽然不能说明这门编程语言的好坏,但是反映了这门编程语言的热门程度,也说明了市场对这门语言的需求程度会比其他语言高,如果你学好了这门语言,毕业以后会比其他语言更容易找到工作,有更多的选择机会,或者获得更好的劳动报酬。
但是学习一种东西也需要结合自己的喜好进行,选择自己喜欢的才能够变被动学习为主动学习,不会产生厌烦厌倦心理,才能够事半功倍,提高学习效率。
当然,作为一个成年人,考虑问题也要全面考虑,不能说三天打鱼两天晒网,学习也是一样,一旦做了选择,就要付出自己全部的努力,要有不达目的不罢休的气势。
以前听过一句话:基础不牢,地动山摇。学习也是一样,无论学习什么,都要先打好基础,只有基础扎实,才能触类旁通,学有所成。
最后,祝你成功。
编程语言
建议学c#和python, C#能够兼顾C语言和C++,python能够掌握快速开发语言。如果时间紧,可以主攻一个,掌握到基本的编程思维,数据结构的练习能独立写,记住独立。
Java、Python、Go 哪个更适合学习和公关呢?关于这个问题,我来说说自己的一点看法:
Java
编译语言,目前的大型网站都是拿java写的,比如淘宝、京东等。主要特点是稳定,开源性好,具有自己的一套编写规范,开发效率适中,目前最主流的语言。
作为编程语言中的大腕。具有最大的知名度和用户群。 Java开发人员需求量大,这个是根据统计得出的。JAVA在很多语言当中,是需求量最大的;
Go
编程界的小鲜肉。高并发能力无人能及。即具有像Python一样的简洁代码、开发速度,又具有C语言一样的执行效率,优势突出。
Go语言语法简单,包含了类C语法。因为Go语言容易学习,所以一个普通的大学生花几个星期就能写出来可以上手的、高性能的应用。在国内大家都追求快,这也是为什么国内Go流行的原因之一。
Python
Python最大的特点就是简单易学,对新手十分友好,而且Python在运维类脚本工具开发和爬虫等领域应用十分广泛,像这两年比较火的AI和NLP等,很多也是基于Python的。但是这个不是什么坏事,入门来说,从简入难,或者从难入简,都是很好的选择。
python就业方向:web开发、应用开发、大数据、数据挖掘、科学计算、机器学习、人工智能、运维、自然语言处理等等等。
最后,我想说编程语言没有最好,只有最合适,每一门语言都各有千秋,找到最合适自己的才是最好的。
如有不同观点,欢迎发表评论。如果喜欢我的回答,欢迎“点赞、分享”。