零基础应该选择学习java、php、前端,还是python?

【零基础应该选择学习java、php、前端,还是python?】
为了增加说服力 。先报一下自己的经历 。
写过5年Java 。3年Python 。3年C#和两年前端 。现在已经完全脱离前端 。虽然也是个普通码农 。但是相信我的经历也能给到一些帮助 。
其实我想推荐C#的 。但是鉴于当前C#的就业环境就业数量都还比不上其他几位 。包括培训也没有其他几位的选择多 。所以退而求其次选择Java 。毕竟对于一个新人来说 。找到工作才是最要紧的 。而这些语言里面论工作岗位的数量 。Java是毫无疑问的大哥 。对于打算进入一个行业的人来说 。最难的就是这个0到1的过程 。没有这个过程后面的1到n的裂变也无从说起 。之所以科班出身的朋友相对轻松 。就是因为在大学毕业的时候 。他们通过大学所学完成了这0到1的过程 。但后面的经验积累 。技术增进 。对于大部分人而言都是一样的 。只要自己努力了 。不要好高骛远 。脚踏实地的学习 。你必然有机会做得比科班出生的好 。
接下来 。让我们一起看看我们如何循序渐进的学习 。
1. 了解Java运行环境的安装 。知道运行环境的基本概念 。最重要的几个设置比如classpath之类的 。知道如何使用IDE 。熟练掌握下IDE的各个基本功能 。对于个人推荐IntelliJ 。几乎无可争议的Java最好的IDE 。不要再去用eclipse了 。更不要相信那些让你命令行或者自己用vim打一个IDE的说法 。这种对于新手而言 。看来很酷 。但是最可能的是兴趣还没有培养起来就放弃了 。因为挫败感太强烈 。
2. 了解Java基本知识 。包括基本数据类型(int 。string等等) 。数据结构(list 。map等等) 。输入输出语法(input stream和output stream以及reader和writer) 。数据库连接(JDBC) 。网络编程(HttpClient等等)以及基本的面向对象的概念(多态 。重载等等) 。掌握了这些东西基本上算入门了Java 。推荐的读物是《thinking in Java》 。我阅读的时候是基于JDK5的 。不知道是否有更新的 。虽然现在已经JDK14了都 。但是之前的那个版本已经涵盖了上述这些核心的知识 。此书网上有 。如果有需要也可以联系老白 。
3. 掌握多线程 。各种thread 。runnable 。synchronized关键字 。votile关键字都是怎么用的 。背后原理是什么 。以及一些JDK自带的支持多线程的结构比如Concurrency Hashmap 是如何实现的 。通过IntelliJ 都能很快的看到源码实现 。
完成前三步就可以开始找工作之旅了
接下来的内容 。随着工作经历的见长 。会发现越来越需要 。也越来越重要 。直接决定了你的薪水 。
4. 是时候该回头看看数据结构和算法了 。掌握尽可能多的数据结构 。明白各种不同实现的原理和差异 。这些都可以通过直接看源码达到 。搞明白什么是空间复杂度什么是时间复杂度 。如何计算 。这也为我们之后进入大厂做准备 。现在的大厂面试几乎都需要数据结构和算法 。
5. 学习设计模式 。这将帮助你写出简洁可维护性强的代码 。
到此已经完成了一次进阶了 。理论上已经可以独立完成项目并且没有和科班的有明显区别 。
6. 经验积累 。以及思考 。接下来的这步 。要迈的是一大坎 。可以去学习学习经典的框架比如spring 。mybatis(别学hibernate了 。基本已被淘汰) 。了解这些框架设计背后的思想光芒 。以及很多项目是如何去结合的 。以及不同框架又是如何选型的 。学习各个通用的开源工具 。了解他们如何相互作用 。在什么场景下使用最佳等等 。这些思考都将帮你向一个高级程序员方向发展 。
到了这里 。已经超过很多普通程序员了 。即使是一些科班出身的 。
7. 架构学习 。将前面所有的融会贯通 。
至此 。打怪成功 。
未来的世界 。必然是电子的世界 。编程能让我们成为这个世界建设的一分子 。希望楼主可以加入到这个队伍中来 。也希望楼主成为一个优秀的工程师!
如有疑问 。欢迎私信老白
老白将不时推出C#和Java学习内容 。欢迎关注
其他观点:
回答的多数就是自己学过的 。或者就是给别人建议的 。这个问题我算是比较了解的 。我自己就是做培训机构的 。所以对java php 前端爬虫这种也还算了解 。
零基础学习这些本质上都可以 。但是你学it肯定是打算从事这块的工作 。从事这块的工作就不得不考虑职业发展和薪资待遇问题 。
我以深圳举例 。不要去谈什么bat华为这些 。中国写代码的数百万人 。大厂只是少数 。所以我给大多数人的一个薪资参考标准 。

推荐阅读