【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/,也可以使用特殊软件,推荐一个蓝灯,这样知识的道路上就没有了障碍。

  当然能找到伴一块学习就最好了,成长的道路总是困难的。

  已往之不谏,来者之可追

时间: 2024-10-12 14:41:01

【Python】Java程序员学习Python(一)—为什么学习Python的相关文章

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

转自AI算法联盟,理解python技术问题,以及一些常见的java面试中经常遇到的问题,这些面试问题分为四类: 是什么(what) 如何做(how) 说区别/谈优势(difference) 实践操作(practice) 1. 什么是Python? Python是一种编程语言,它有对象.模块.线程.异常处理和自动内存管理.可以加入与其他语言的对比.下面是回答这一问题的几个关键点: a. Python是一种解释型语言,python代码在运行之前不需要编译. b. Python是动态类型语言,在声明变

JAVA程序员养成计划之JVM学习笔记(2)-垃圾收集管理

本文对JVM垃圾收集进行说明,包括三种不同算法(标记复制.标记清除.标记整理),以及七种不同的垃圾收集器(Serial,ParNew,Serial Scavenge, CMS, Serial Old, Parallel Old, G1) 持续更新中- - 1. 垃圾回收相关概念 1.1. 垃圾回收对象 说到垃圾收集,首先得确定哪些是可回收的对象,这里涉及到java的四种引用方式,即强.软.弱.虚四类引用. 强引用:即普遍存在的对对象的引用,如指向通过new创建的对象 软引用:即程序运行非必须的对

JAVA程序员养成计划之JVM学习笔记(3)-JVM性能监控

本文对JVM的性能监控方法做整理. 持续更新中- - 1. JDK命令行工具 1.1. jps:虚拟机进程状况工具 JVM Process Status Tool, 显示系统内所有的HotSpot虚拟机进程,用于查看当前在jvm中运行的程序,包括虚拟机执行主类的名称以及进程ID. 1.2. jstat:虚拟机统计信息监视工具 JVM Statistics Monitoring Tool, 用于收集Hotspot虚拟机各方面的运行数据,包括类装载.内存.垃圾收集.JIT编译等运行数据. 1.3.

Java程序员,这些开源工具必须要学会

前言 本文主要介绍Java程序员应该在2018年学习的一些基本和高级工具.如果你是一位经验丰富的Java开发人员,拥有5到10年的经验,你可能对这些工具很熟悉,但如果不是,现在就是是开始学习这些工具的好时机. Java世界中存在许多工具,从Eclipse,NetBeans和IntelliJ IDEA等著名的IDE开始到Java开发人员应该知道的JVM分析和监视工具,如JConsole,VisualVM,Eclipse Memory Analyzer等. 尽管如此,在本文中,我将重点介绍适用于各种

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

巧妇难为无米之炊,我最爱的还是鸡蛋羹,因为我和鸡蛋羹有段不能说的秘密. 不管学啥,都要有环境,对于程序员来说搭建个开发环境应该不是什么难题.按顺序一步步来就可以,我也只是记录我的安装过程,你也可以滴. 一.准备Java环境 我已经说过了,其实我是一个Java程序员,所以学习过程中会有很多Java相关的内容和对比.先介绍下我的基本情况 jdk1.8 eclipse即可,版本最新的 怎么安装java,配置环境变量什么的,我都不会再说了,我这不是小白教程,我相信具备一定的能力. 二.准备Python环

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

不想做一个待宰的羔羊!!!!要自己变得强大.... 函数的定义和使用放在最前边还是有原因的,现在语言趋于通用,基本类型基本都是那些,重点还是学习对象的使用方法,而最根本的还是方法的使用,因此优先介绍,方法的目的还是重用和封装 一.方法的定义 方法的定义使用关键词def来定义,定义格式如下: def 方法名(参数定义): 方法体 方法名:方法名的规范同变量名规范一样 参数定义:比较复杂,后面会进行讲解 冒号:这个类似于Java的{},必不可少 方法体:方法实现的功能在此定义即可 简单的例子: #定

[转] Java程序员学C#基本语法两个小时搞定(对比学习)

Java程序员学C#基本语法两个小时搞定(对比学习) 对于学习一门新的语言,关键是学习新语言和以前掌握的语言的区别,但是也不要让以前语言的东西,固定了自己的思维模式,多看一下新的语言的编程思想. 1.引包 using System;java用import2.构造函数和java语法相同3.析构函数  变量和类的对象都有生命周期,生命周期结束,这些变量和对象就要被撤销.  类的对象被撤销时,将自动调用析构函数.一些善后工作可放在析构函数中完成.  析构函数的名字为~类名,无返回类型,也无参数.Per

《Java程序员面试宝典》学习笔记(基本语法部分)

这是我学习欧立奇<Java程序员面试宝典>第三版的笔记.这篇是基本语法部分. ClassLoader主要对类的请求提供服务,当JVM需要某类时,它根据名称向ClassLoader要求这个类,然后由ClassLoader返回这个类的class对象. 在Java中,字符只以一种形式存在,那就是Unicode.在JVM内部一切都由Unicode表示,而输出到外部后(JVM和OS的交界处就是各种输入/输出流)转换为其他形式的编码. Java用了中间缓存变量的机制,所以,j=j++可换成如下写法: te

写给自己的Java程序员学习路线图

如下是我做开发这几年经常使用一些技术和工具,当然这些技术也都是需要加强的(有些是我一直使用的,不过不深入,有些内部的原理等等不是很清楚) 前端部分: 1)HTML:网页的核心语言,构成网页的基础 2)CSS:使网页更加丰富多彩灿烂的利器 3)JavaScript:使网页动起来的根本,加强了网页和用户之间的交互 4)HTML DOM:换一种更加形象化的角度来看待网页,让我们更加方便的控制网页 5)HTML BOM:与浏览器交互不可或缺的工具 6)JavaScript库,主要是:jQuery及其插件

Java程序员学习一天半C++的感想

大学期间,学了一学期的C语言,当然包括学习数据结构时,用的也是C语言.当时刚刚接触计算机,对于编程更是一无所知.上课学习学习,偶尔会照着书上敲一下代码.大二下学期,就丢掉了不用了.最近由于工作的需要,要使用Java Native Interface,所以就学习了1天半的C++,对C++有了一点点的了解,写一下自己的理解. 一天半时间,也学不多少东西,我主要就搞明白了下面几个问题: 1)指针 这么多年了,还记得在C语言时,最难以理解的,应该属于指针了.还记得谭浩强的那本C语言书(书名是啥,真的忘了