现在是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的更多相关文章

  1. Python/Java程序员面试必备常用问题解析与答案

    转自AI算法联盟,理解python技术问题,以及一些常见的java面试中经常遇到的问题,这些面试问题分为四类: 是什么(what) 如何做(how) 说区别/谈优势(difference) 实践操作( ...

  2. Java 程序员应在2019年学习的10条面向对象(OOP)设计原则

    面向对象的设计原则 是 OOP 编程的核心,但是我看到大多数 Java 程序员都在追求诸如 Singleton 模式,Decorator 模式或 O​​bserver 模式之类的设计模式,而对学习面向 ...

  3. 【分享】熟练的Java程序员应该掌握哪些技术?

    Java程序员应该掌握哪些能力才能算是脱离菜鸟达到熟练的程度? 1.语法:Java程序员必须比较熟悉语法,在写代码的时候IDE的编辑器对某一行报错应该能够根据报错信息 知道是什么样的语法错误并且知道任 ...

  4. 【Java分享客栈】Java程序员为争一口气熬夜硬刚CSS实现掘金首页

    前言 如果我做不了最厉害的Java工程师,那我就做Java工程师中最厉害的前端工程师. 前段时间,我默默给自己又喂了这碗心灵鸡汤-- 我不是很厉害的Java工程师,哪怕我已经工作八年,我依然觉得自己和 ...

  5. 【Python】Java程序员学习Python(五)— 函数的定义和使用

    不想做一个待宰的羔羊!!!!要自己变得强大.... 函数的定义和使用放在最前边还是有原因的,现在语言趋于通用,基本类型基本都是那些,重点还是学习对象的使用方法,而最根本的还是方法的使用,因此优先介绍, ...

  6. 【Python】Java程序员学习Python(二)— 开发环境搭建

    巧妇难为无米之炊,我最爱的还是鸡蛋羹,因为我和鸡蛋羹有段不能说的秘密. 不管学啥,都要有环境,对于程序员来说搭建个开发环境应该不是什么难题.按顺序一步步来就可以,我也只是记录我的安装过程,你也可以滴. ...

  7. 来自Java程序员的Python新手入门小结

    欢迎访问我的GitHub https://github.com/zq2599/blog_demos 内容:所有原创文章分类汇总及配套源码,涉及Java.Docker.Kubernetes.DevOPS ...

  8. Java程序员的现代RPC指南(Windows版预编译好的Protoc支持C++,Java,Python三种最常用的语言,Thrift则支持几乎主流的各种语言)

    Java程序员的现代RPC指南 1.前言 1.1 RPC框架简介 最早接触RPC还是初学Java时,直接用Socket API传东西好麻烦.于是发现了JDK直接支持的RMI,然后就用得不亦乐乎,各种大 ...

  9. 笨办法学python - 专业程序员的养成完整版PDF免费下载_百度云盘

    笨办法学python - 专业程序员的养成完整版PDF免费下载_百度云盘 提取码:xaln  怎样阅读本书 由于本书结构独特,你必须在学习时遵守几条规则 录入所有代码,禁止复制粘贴 一字不差地录入代码 ...

  10. Java程序员学习之路

    1. Java语言基础 谈到Java语 言基础学习的书籍,大家肯定会推荐Bruce Eckel的<Thinking in Java>.它是一本写的相当深刻的技术书籍,Java语言基础部分基 ...

随机推荐

  1. Netty核心概念(4)之Bootstrap

    1.前言 第三节介绍了Netty的一些基本概念,此节介绍Netty的第一个概念Bootstrap——启动类.Netty中服务端和客户端的启动类是不一样的,这个不要搞错了,类都在bootstrap包下. ...

  2. xml常用的error-page

    <error-page> <error-code>404</error-code> <location>/WEB-INF/jsp/errors/erro ...

  3. Javac语法糖之EnumSwitch

    在Switch中可以使用的类型有枚举.字符串类型与整形int类型,下面来具体看这几个类型. 1.switch为枚举类型 枚举类: enum Fruit { APPLE,ORINGE } 调用javac ...

  4. Phoenix 4.8

    From v4.8.0 onwards, user can enable to map it’s schema to the namespace so that any table created w ...

  5. maven tomcat插件上传项目到tomcat服务器报错SEVERE: One or more listeners failed to start.

    以前觉了maven依赖设置很简单,就是将手动导入jar包转化为自动下载导入 但发现的一个问题, 在使用maven插件tomcat打包上传工具时 tomcat-maven-plugin <buil ...

  6. mysql 导出数据到csv文件的命令

    1.导出本地数据库数据到本地文件 mysql -A service_db -h your_host -utest -ptest mysql> select * from t_apps where ...

  7. Java接口调用工具类

    package com.qiyuan.util; import java.io.BufferedReader; import java.io.IOException; import java.io.I ...

  8. centos 6.5安装docker

    安装linux,需要系统内核为3.x以上,如果centos版本为7以下,先升级系统内核 1.关闭selinux setenforce 0 sed -i '/^SELINUX=/c\SELINUX=di ...

  9. Head First Python学习笔记2——文件与异常

    文件处理 1.用open()就可以打开文件,但是请注意:文件里有中文请设置编码,如 :open("filepath","r",encoding="ut ...

  10. HTML杂项和HTML废弃标签

    一.HTML杂项 1.HTML注释  <!-- 里边放要注释的文字 --> 1)html的注释是为了方便后期的维护,方便后期更改时能够快速的定位到所需更改的部分 2)html的注释在页面的 ...