现在是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. javascript数据基本类型和引用类型区别详解

    JavaScript基本数据类型: js基本数据类型包括:undefined,null,number,boolean,string.基本数据类型是按值访问的,就是说我们可以操作保存在变量中的实际的值. ...

  2. HDFS DATANODE 磁盘容量的最小值

    HDFS的DATANODE的剩余空间具体要到多大?关于这个问题,下面记录下对这个问题的调查 昨天,讨论群里面给出了一个异常: op@odbtest bin]$ hadoop fs -put ../tm ...

  3. svn新增文件时自动给文件设置强制只读属性needs-lock

    1.从SVN客户端的“设置”->常规设置-> Subversion->Subversion 配置文件-> 编辑按钮 -> 打开配置文件 2.找到[miscellany], ...

  4. 给访问私有变量添加access method

    class TestAccessPrivateVar{ private int a = 1; class MyInner{ /* synthetic final TestAccessPrivateVa ...

  5. GRU

    GRU模型(比LSTM减少了计算量) LSTM的模型,LSTM的重复网络模块的结构很复杂,它实现了三个门计算,即遗忘门.输入门和输出门. 而GRU模型如下,它只有两个门了,分别为更新门和重置门,即图中 ...

  6. 几句话说说跨IDC分布式数据库Calvin

    CalvinFS拿了FAST 15最佳论文:找到了失联十三年的小伙伴:年终/年初整理资料,发现做团委工作的 King 师兄对Calvin有兴趣:最近其他团队对分布式事务和存储问题/兴趣较多……几件事激 ...

  7. 在Ubuntu16.04上使用Autofs

    在Solaris上,autofs是默认安装的,可以通过/net/<NFS server>很方便地访问远程的共享目录.但在Linux上(例如Fedora或者Ubuntu),使用autofs则 ...

  8. Nodejs学习笔记(十)—与MongoDB的交互(mongodb/node-mongodb-native)、MongoDB入门

    简介 MongoDB 开源,高性能的NoSQL数据库:支持索引.集群.复制和故障转移.各种语言的驱动程序:高伸缩性: NoSQL毕竟还处于发展阶段,也有说它的各种问题的:http://coolshel ...

  9. URL编码分析与乱码解决方案

    一.问题的由来 URL就是网址,只要上网,就一定会用到. 一般来说,URL只能使用英文字母.阿拉伯数字和某些标点符号,不能使用其他文字和符号.比如,世界上有英文字母的网址"http://ww ...

  10. linux 权限详解

    转载自博客园: http://www.cnblogs.com/123-/p/4189072.html 用户组 在linux中的每个用户必须属于一个组,不能独立于组外.在linux中每个文件有所有者.所 ...