Python这么简单还用学吗?

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

[[208844]]

有位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获取授权】

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

责任编辑:武晓燕 来源: 51CTO专栏
相关推荐

2021-04-19 05:42:51

Mmap文件系统

2022-01-27 14:12:49

Python游戏脚本

2021-12-30 10:55:54

Python游戏脚本

2022-06-06 08:31:05

Base64编码Base58

2023-11-01 14:49:07

2015-04-23 10:51:13

iOSpython

2015-04-23 09:29:05

iOSpython

2021-05-24 10:50:10

Git命令Linux

2017-11-28 15:29:04

iPhone X网页适配

2019-05-23 10:47:35

Python编程语言程序员

2022-10-30 17:32:25

设计模式单例模式

2015-07-30 09:42:35

云计算云服务iBM

2022-11-11 09:41:04

连接池微服务数据库

2021-01-07 16:33:17

Python开发编程

2014-10-08 15:00:50

SUSE操作系统云计算

2015-06-11 10:57:10

2019-03-15 10:55:12

通信系统手机

2023-09-22 08:00:00

分布式锁Redis

2020-06-16 10:57:20

搭建

2020-11-27 10:34:01

HTTPHTTPS模型
点赞
收藏

51CTO技术栈公众号