【Python】Java程序员学习Python(一)— 为什么学习Python
现在是6月份,毕业快3年了,虽然不能说对Java掌握的程度达到了如火纯青的地步,但是依然感觉到了瓶颈期,Java用的多了,也到了随心所欲的地步了,所以学第二门语言的想法一直在我脑海里闪现,有想法了就要行动,可是并不像想象的那么简单,中间也经过很多波折
一、Java已经学透了吗,为什么再去学工作以外的语言
这个问题是我学习第二语言最大的一个障碍,说实话,我还是不能不心虚的说对Java已经掌握透彻了,我认为对Java的学习还有很长的一条路要走,而且Java是我的本职工作,学再多也不为过,可是现状是我现在的Java编程能力已经远远满足我现在的工作需求了,感觉不到一丝丝挑战性,这种情况持续久了换工作的想法都有了,当然这就是另一件事了,想多了也头疼,我就把学与不学的优点和缺点都列出来
要学第二语言
- 工作很快都能完成,现有的能力完全能满足现有的工作需求
- 喜欢学习,下班后能有很多时间(其实是个单身汪),早晨也能早起,距离公司近,路上不耽误,时间充沛
- 能拓展编程思路,或许会对现有编程有提高
- 或许会对以后工作有帮助
不要学第二语言
- 本职Java语言还不敢说完全掌握,有很多要学习的
- 工作中不需要第二语言,第二语言的用途不知道在哪
- 最怕耗时耗力最后什么都得不到
选择是最令人头疼的,后来我想明白了,越是艰难的选择说明两种选择的的后果或者说能带来的回报差异就越小,要是差异太大还就不用纠结了,而我倾向于学习尝试新的东西,那么就去学吧
二、第二语言选择什么
我感觉自己都快疯了,选择一个接着一个,决定了去学习,那么该去学哪种语言呢,我感觉现有的语言太多了,仿佛第一个决定让我面临了更大的选择,一开始我打算的是学习Android或者iOS编程,毕竟做出一个APP成就感还是挺高的,另外还有PHP、Go语言啥的,各种语言的优缺点网上争论的太多了,看到太多了已经无所适从,后来我坚定了几个原则。
原则如下:
- 学习第二语言不是为了转行
- 能提高现有工作的工作效率的优先
- 能对现有语言有帮助的优先
中间选择过程不再赘述,总之是很痛苦的过程,幸亏只有难产而没有流产,结果是选择了Python。
三、Python2还是Python3
学习Python2还是Python3又难倒我了,按我的性格是永远学习最新的知识,Python3是必选的,可是不小心瞥到了网上关于Python2和Python3的争论后又懵逼了,这都是什么鬼,能不能让我好好学习一下,少些选择多些开心呢,后来在网上看到有些建议挺好的,具体在哪看到的忘了,是这么说的:
- 如果工作中需要,那么用的什么就学什么
- 如果个人学习,就要学习最新的
我能觉得这说的很有道理,我就学习Python3了,因为符合我的一贯作风,永远学习最新的。
四、学习过程
这个后续会慢慢都写出来的,详见后续文章:http://www.cnblogs.com/yiwangzhibujian/,谢谢持续关注已往之不谏的博客。
五、谈一下学习的必要条件
说到学习,我得先假定你热爱学习,有颗上进的心,不然说啥都是白搭。
首先你得有充足的时间进行学习,可以是每天晚上的一个小时,也可以是坐地铁上的闲暇片刻,没有时间投入是没有收获的。
然后具备一定的英文阅读能力,以前我的想法可不是这样,总觉得英文大致差不多就行,因为总有一些热心人士会翻译出来,后来工作中需要经常接触一些新框架,需要看最新的文档,需要去GitHub上贡献的代码与人交流,去Stack Overflow查问题,等等,当然英文的能力也不是一天半天能提高的,这时候可以找一个翻译软件,看的多了,阅读能力就会慢慢提高。
具备能登录国外学术网站的能力,毕竟在国内一些原因你懂得,遇到问题可以去百度,我也是这么做的,当没有结果时,Google就必须要了,可以使用学术镜像:http://dir.scmor.com/google/,也可以使用特殊软件,推荐一个蓝灯,这样知识的道路上就没有了障碍。
当然能找到伴一块学习就最好了,成长的道路总是困难的。
已往之不谏,来者之可追
【Python】Java程序员学习Python(一)— 为什么学习Python的更多相关文章
- Python/Java程序员面试必备常用问题解析与答案
转自AI算法联盟,理解python技术问题,以及一些常见的java面试中经常遇到的问题,这些面试问题分为四类: 是什么(what) 如何做(how) 说区别/谈优势(difference) 实践操作( ...
- Java 程序员应在2019年学习的10条面向对象(OOP)设计原则
面向对象的设计原则 是 OOP 编程的核心,但是我看到大多数 Java 程序员都在追求诸如 Singleton 模式,Decorator 模式或 Observer 模式之类的设计模式,而对学习面向 ...
- 【分享】熟练的Java程序员应该掌握哪些技术?
Java程序员应该掌握哪些能力才能算是脱离菜鸟达到熟练的程度? 1.语法:Java程序员必须比较熟悉语法,在写代码的时候IDE的编辑器对某一行报错应该能够根据报错信息 知道是什么样的语法错误并且知道任 ...
- 【Java分享客栈】Java程序员为争一口气熬夜硬刚CSS实现掘金首页
前言 如果我做不了最厉害的Java工程师,那我就做Java工程师中最厉害的前端工程师. 前段时间,我默默给自己又喂了这碗心灵鸡汤-- 我不是很厉害的Java工程师,哪怕我已经工作八年,我依然觉得自己和 ...
- 【Python】Java程序员学习Python(五)— 函数的定义和使用
不想做一个待宰的羔羊!!!!要自己变得强大.... 函数的定义和使用放在最前边还是有原因的,现在语言趋于通用,基本类型基本都是那些,重点还是学习对象的使用方法,而最根本的还是方法的使用,因此优先介绍, ...
- 【Python】Java程序员学习Python(二)— 开发环境搭建
巧妇难为无米之炊,我最爱的还是鸡蛋羹,因为我和鸡蛋羹有段不能说的秘密. 不管学啥,都要有环境,对于程序员来说搭建个开发环境应该不是什么难题.按顺序一步步来就可以,我也只是记录我的安装过程,你也可以滴. ...
- 来自Java程序员的Python新手入门小结
欢迎访问我的GitHub https://github.com/zq2599/blog_demos 内容:所有原创文章分类汇总及配套源码,涉及Java.Docker.Kubernetes.DevOPS ...
- Java程序员的现代RPC指南(Windows版预编译好的Protoc支持C++,Java,Python三种最常用的语言,Thrift则支持几乎主流的各种语言)
Java程序员的现代RPC指南 1.前言 1.1 RPC框架简介 最早接触RPC还是初学Java时,直接用Socket API传东西好麻烦.于是发现了JDK直接支持的RMI,然后就用得不亦乐乎,各种大 ...
- 笨办法学python - 专业程序员的养成完整版PDF免费下载_百度云盘
笨办法学python - 专业程序员的养成完整版PDF免费下载_百度云盘 提取码:xaln 怎样阅读本书 由于本书结构独特,你必须在学习时遵守几条规则 录入所有代码,禁止复制粘贴 一字不差地录入代码 ...
- Java程序员学习之路
1. Java语言基础 谈到Java语 言基础学习的书籍,大家肯定会推荐Bruce Eckel的<Thinking in Java>.它是一本写的相当深刻的技术书籍,Java语言基础部分基 ...
随机推荐
- Linux文件目录管理
Linux文件目录管理 文件的路径 路径: . 表示当此层目录 .. 表示上一层目录 - 代表前一个工作目录 ~ 代表"目前用户身份"所在的文件夹 ~account 代表accou ...
- 【jQuery源码】tokenize方法
//得到由选择器生成的token对象的数组(下面的groups) //Sizzle的Token格式如下 :{value:'匹配到的字符串', type:'对应的Token类型', matches:'正 ...
- HUE配置文件hue.ini 的hbase模块详解(图文详解)(分HA集群和非HA集群)
不多说,直接上干货! 我的集群机器情况是 bigdatamaster(192.168.80.10).bigdataslave1(192.168.80.11)和bigdataslave2(192.168 ...
- Javac之glb与lub
5.1.10. Capture Conversion Let G name a generic type declaration (§8.1.2, §9.1.2) with n type parame ...
- Koa2实用入门
koa2已发布了一段时间,可以考虑入手,参见Node.js最新Web技术栈(2016年4月) 本文主要是koa 2的文档解读和runkoa介绍,让大家对koa 2有一个更简单直接的理解 一.依赖Nod ...
- Oracle存储过程中调用DBLink同义词出现错误:PLS-00201: 必须声明标识符
前几天编写一个存储过程,需要访问远程数据库的字段,于是建立一个dbLink并建了同义词: CREATE PUBLIC DATABASE LINK orcl@dbc CONNECT TO orcl ID ...
- 解决升级Nodepad++都会让插件失效
主要原因是Plugin Manager失效导致的,需要重新导入 导入一下PluginManager就可以了地址:https://github.com/bruderstein/nppPluginMana ...
- C# 进程优先级和线程优先级的方法
C# 设置进程优先级的方法 this.process1= Process.GetCurrentProcess(); process1.PriorityClass = ProcessPriorityCl ...
- [C#]简单离线注册码生成与验证
本文使用RSA非对称加密和Base64简单地实现离线注册码的生成与验证功能. 主要思路就是提供者持有密钥,通过RSA加密客户机标识或时间标识,再通过Base64加密成不太难看的注册码,然后分发给客户机 ...
- Job控制台(elastic job lite console)
elastic job lite console: 设计理念 1.本控制台和Elastic Job并无直接关系,是通过读取Elastic Job的注册中心数据展现作业状态,或更新注册中心数据修改全局配 ...