Python学习【111】:从 Python 看世界:为什么今天的软件越来越“傻瓜”?
Python学习
一、学前花絮
到今天为止,在python学习方面已经输出了100多篇文章,内容包括python的基础知识、高级知识等多个板块的内容。最近的几篇文章又提到了python连接数据库,并对各种数据库进行了介绍。突然想起来一个问题,我们学习python的初衷和最终目的是干什么?我想每个人可能都有不同的回答。毕竟每个人的专业背景不同,此外python语言的易用性,又屏蔽了学习壁垒,在很多年以前,程序员是一种高高在上的孤独的“动物”:每天熬夜编写代码、冥思苦想,然后表现出来的是与众不同。现在呢?似乎不一定是计算机相关专业的学python吧?如果有兴趣,有一些基本条件如个人pc,那么几乎小学生就可以学习Python。这到底是社会的进步还是程序员的悲哀?带着这个问题,我作为一个从业20余年的软件工程师,突然意识到,时代变了!是社会的进步让计算机语言走入“平常百姓家”。还是拿数据库的连接接口举例,很多年前,企业级的服务器是部署在unix上,你如果会用c语言编写oracle接口是很厉害的角色!而现在呢,为什么现在写个程序连接数据库,只要一行代码?而当年辉煌的Unix 曾经有 HP-UX、AIX、Solaris 好几个“兄弟”,如今大家几乎只说 Linux?答案其实很简单:计算机不是为了吓唬人而存在的,它是为了帮人解决问题。这也回答了最开始的提问,学习python的初衷和最终目的就是为了解决实际问题,而且让更多人都能参与其中。而 Python,就是这场“软件平民化”浪潮中最闪亮的代表。二、以Python的发展看待数据库的连接
2.1 从前的“高门槛”:专家专属的计算机世界
时间倒回 1990 年代。如果你想在公司里用程序读取数据库,事情可不简单:你的服务器可能是 IBM 的 AIX,也可能是 Sun 的 Solaris,或者是 HP 的 HP-UX。l它们都是 Unix,但彼此不兼容!在一个系统上编译的程序,换一台机器就跑不了。l数据库很可能是 Oracle,装在昂贵的大型机上。l要写程序访问它?先装几十 MB 的 Oracle 客户端,配一堆 .ora 配置文件,再用 C 语言调用几百行叫 “OCI” 的接口代码。l程序员必须精打细算,一个指针用错,整个系统就崩了。那时候,会操作数据库的人,基本等于“技术大拿”——普通人根本不敢碰。那时的信条是:“计算机很贵,人的时间不值钱。”2.2 Python 出现了:把复杂藏起来,把简单交给你
1991 年,荷兰程序员 Guido van Rossum 发布了 Python。他的目标很朴素:写代码应该像读英语一样自然。很容易比较出,c语言要实现这么简单的输出需要7行,而Python只需要1行即可!2.3硬件变强了:从“省着用”到“随便用”
为什么 Python 这种“奢侈”的语言能流行起来?因为硬件终于跟上了!过去,每一KB 内存都要精打细算,所以程序必须“瘦”;现在,内存多到用不完,软件就可以“胖一点”——用空间换易用性。于是,像 Python 这样“自动管理内存”“自带电池”的语言,反而成了主流。2.4 操作系统统一了:Linux 成了“普通话”
每个系统都有自己的命令、库、驱动。写个程序,得为每个平台单独编译。但 1991 年,Linus Torvalds 发布了 Linux —— 一个免费、开源、谁都能改的 Unix-like 系统。慢慢地,开发者发现:与其适配十个Unix,不如大家都用 Linux。今天,无论是手机(Android)、服务器(AWS/GCP)、超级计算机,还是你家的智能电视,底层十有八九是 Linux。Linux 成了操作系统的“普通话”,大大降低了开发成本。而 Python,从第一天起就深度拥抱 Linux。你在 Ubuntu 上写的代码,放到 CentOS 或 macOS 上,基本不用改。2.5 数据库也“变傻瓜”了:一行代码连上千万行数据
过去要连 Oracle?先装客户端,配网络,学 SQL*Plus,背 TNS 名字。要连 DB2?又是一套完全不同的 API。现在呢?以python连接mysql、postgresql、duckdb为例:不需要安装额外软件,不需要配置文件,pip install 就能用。l协议公开了(如 MySQL 协议被社区逆向并标准化)l驱动用 Python 写了(纯 Python 实现,跨平台)数据库不再是“神秘黑盒”,而是一个你可以随时调用的服务。2.6 终极趋势:软件越来越“隐形”
l你不用学“怎么用 Oracle”,只要知道“我要查销售数据”。l你不用管“这是 AIX 还是 Solaris”,因为到处都是 Linux。l你不用操心“内存会不会爆”,因为 Python 和现代电脑已经替你兜底。这就像电——你不会研究发电厂怎么工作,你只要会按开关。2.7 总结:Python 不只是一门语言,它是一种信念
Python 的成功,从来不只是因为语法简洁。它代表了一种以人为本的工程哲学:l从 OCI 复杂接口到 duckdb.sql("...") 一行搞定——这条路,就是计算机从“专家玩具”走向“大众工具”的路。而 Python,恰好站在了这条路的中央,微笑着说:三、小结
本文简单回顾了计算机特别是数据库接口、操作系统的发展历史,从python语言的易用性演变过程,看数据库接口的简单化。在当今这个时代,特别是大数据、人工智能的发展,编写程序已经不是某个专业的高配,而是如“旧时王谢堂前燕,飞入寻常百姓家”。你无论是什么专业,甚至你都不用上过高等学校,中小学生也可以用python编程了。所以我想: