中国领先的IT技术网站
|
|
创建专栏

Python这么简单还用学吗?

每个高级语言都支持多线程编程, Python也不例外,可以轻松地创建线程,线程之间也有同步和互斥, 也使用ThreadLocal来保存每个线程独有的数据, 名称都和Java一样。

作者:刘欣|2017-11-06 16:32

Tech Neo技术沙龙 | 11月25号,九州云/ZStack与您一起探讨云时代网络边界管理实践


有位C++的大神在讲课时提到了Python, 听课的同学问道: 我是不是需要学习一下Python?

大神说:“Python 这么简单还用学吗? ”

在大神的眼中, 像Python这样简单的语言, 看半天就应该能上手编程了, 根本不用战战兢兢地抱着一本大厚书去啃。

大神是有资格这么说,毕竟C++是一门非常复杂的语言, 这么复杂的都能搞定, 其他的自然不在话下。

从纯语言的角度来看,这么说完全是没有问题的,我相信很多人,如果你学会了一门编程语言,开始学第二门的时候,都会有类似的感觉。

比如你学会了Java, 然后开始看Python, 会发现有很多相似之处。

例如: 编程中最常用的一些数据结构非常相像:

流程控制语句也很像,无非都是if...else , for , while 等等。

面向对象的编程都要有类和对象,成员变量,成员方法,都要有封装、继承、多态。

文件IO也是如此,无非就是打开一个文件,定位到某个地方进行读写操作,关闭文件。

每个高级语言都支持多线程编程, Python也不例外,可以轻松地创建线程,线程之间也有同步和互斥, 也使用ThreadLocal来保存每个线程独有的数据, 名称都和Java一样。

网络编程无非就是Socket, XML解析就是DOM和SAX, 邮件发送使用SMTP, POP3......

所以有了一门语言相对复杂的语言做基础(如Java), 再去学习Python, 确实非常容易。 半天时间就能把Python看个差不多,然后直接就可以写程序了, 在写的过程中如果哪个地方不清楚了, API接口名称忘记了(尤其是那些细微差别的地方),去翻参考书、去网上搜,很快搞定。

刚开始编程的时候比较慢, 等你熟练了以后,会越来越快。

一门高级语言的基础概念其实就那么多:数据类型、集合、流程控制、面向对象、文件、Socket、XML、JSON 等, 你从某一门语言中学会了,切换到另外一门,所要变换的无非就是基本的语法、API接口、惯用法和最佳实践。

可能有人要说了,这些都是基础的东西,只能让我写点小程序,做不了什么大事啊。

没错,这些东西都是基础,想做出有用的程序,还必须得学会使用类库和框架。但是不同类库和框架所依赖的基础知识和概念也是相通的。

就拿Web编程来说,必须要掌握几个基础知识是一样的:HTTP协议,HTML, Javascript, CSS,SQL。 然后不同语言,不同框架要解决的问题也是一样的:

URL 和 代码的映射

数据的验证、转换和绑定

Web安全

数据库的访问, O/R Mapping

用什么技术来生成Web页面?

如何把对象变成XML或者JSON字符串?

通过一门语言,把这些基本原理掌握了,换到另外一个语言和框架,真的不难 。

如果再向上走,进入设计层面,把业务需求抽象成各种概念,设计高内聚、低耦合的模块,那和具体的语言关联度就更小了。

回到文章最初的话题,我其实想表达的是:不用着急去追逐那些热门的编程语言,只要把一门语言学精了,把一些基础概念和基础知识掌握了,再去学别的,真的不难, 就是一个知不知道,熟不熟练的问题。

特别要注意一些无良的机构,挂羊头卖狗肉,什么火热就培训什么,人工智能, VR, 物联网,云计算, 吸引人交钱入坑,真的开始学了发现只是学习一下Python而已。

【本文为51CTO专栏作者“刘欣”的原创稿件,转载请通过作者微信公众号coderising获取授权】

戳这里,看该作者更多好文

【编辑推荐】

  1. 简单易懂的保护社交信息安全的办法
  2. 张晓龙:智能制造之路的探索|V课堂第88期
  3. 外媒速递:Linux平台上七大最强开源终端模拟器综述
  4. 互联网分层架构,为啥要前后端分离?
  5. 掌握地球?智能机器带来的真正风险
【责任编辑:武晓燕 TEL:(010)68476606】

点赞 0
分享:
大家都在看
猜你喜欢

热门职位+更多

× CTO训练营(深圳站)