Python 现在已经是两种非常相似的编程语言了_计算机辅助开发方法与什么python中的比较像(1)

请允许我提出一个思考代码的模型:基础设施代码和业务逻辑代码。基础设施代码是令人兴奋的、强大的代码,它公开了易于使用的接口来解决困难和棘手的问题,比如与浏览器对话(Flask)、与数据库对话(Django ORM、SQLAlchemy)、依赖注入框架(incant)、序列化( cattrs)或定义类(attrs、数据类)。业务逻辑代码是枯燥乏味的代码,可让你在日常工作中解决问题并完成工单, 基础设施代码的重点是启用和授权业务逻辑代码;业务逻辑代码为你的雇主、你的用户或任何使用你所写内容的人提供实际价值。基础架构代码是你正在使用的库,业务逻辑代码是你自己编写和部署的代码。

(请注意,与所有抽象一样,这种思考代码的方式是有漏洞的。你使用的库可能是其他库之间的一个简单层,因此具有业务逻辑代码的所有特征。如果你受雇于一个典型的软件公司 开发人员职位你的工作代码库几乎肯定会有你为该代码库编写的基础设施代码。即便如此,但这种思考软件的方式非常有用。)

基础设施代码通常不可能在内部完全进行类型提示;Python 类型系统目前还没有,而且可能永远也不会强大到足以支持像 cattrs 和 attrs 这样的库需要做的操作类型。 无类型 Python 的最大优势之一(也是让我首先接触 Python 的原因)是可用的基础结构代码可以提供非常友好和强大的 API。因此,非类型化 Python 过去一直是基础架构代码的绝佳选择;无类型的 Python 不太适合业务逻辑代码,这就是为什么从历史上看,软件开发人员很快就会抱怨维护用 Python 编写的大型系统,这是有理由的。

业务逻辑代码通常比基础设施代码简单得多,而且当今世界上有更多的代码;对于每个 SQLAlchemy 或 Django,可能有数百个(如果不是数百万个)代码库以简单的方式实际使用它。正因为如此,业务逻辑代码与类型化的 Python 非常匹配。使用类型化的 Python 为开发过程带来了很多好处,比如将整个类别的错误从运行时转移到类型检查时间、易于重构(这对于健康的代码库生命周期至关重要)、强大的编辑器支持(包括自动完成和稳健的列表引用,很好 代码导航)并减少对测试的需求(这会大大增加需要编写和维护的代码量)。

为了使这种结合有效,我们需要基础设施代码不在内部进行类型提示,而是在代码边界提供类型提示接口。这正是生态系统的发展方向,值得注意的例子是 SQLAlchemy 2.0 和新一代 Web 框架,如 FastAPI。此外,随着 Python 类型系统的成熟,它将使一类基础设施代码能够完全类型化,但我的直觉是,最有趣的部分仍将是非类型化的。

至于为什么这是一件好事:如果你知道一个(类型化或非类型化的 Python),那么你学习另一个相对容易(无论如何比学习一种完全不同的语言容易一个数量级),并学习它 将大大增强你作为软件开发人员的能力。

现在我们能否拥有一种同时擅长这两种语言?我不知道,但我真的不认为这会出现在像 Python 这样的语言中, 我对几种不同的语言都有些精通,所以让我们看一下它们的情况:

  • JavaScript 似乎也有与 TypeScript 的分裂情况,尽管我不知道相对于基础设施代码和业务逻辑代码的情况, 估计是一样的吧。
  • 我已经将近十年没有接触 Java 了,但我曾经非常精通它, 我使用的 Java 是彻头彻尾的业务逻辑语言,这很容易解释它在行业中的流行(因为行业中绝大多数工作都是为了编写业务逻辑代码)、所有主要库都有的糟糕接口,以及 恐怖的是我看过一次的 ORM 代码, 我认为 Java 实际上也是两种语言,但 Java 的基础设施很难使用, 这就是为什么如果一位开发人员告诉我他们用 Python 编写了一个 ORM,我会兴奋地想要分享笔记,但当时如果一个开发人员告诉我他们用 Java 编写了一个 ORM,我会看看 他们好像疯了一样。
  • 我认为 Rust 通过其强大的宏系统为基础设施代码提供了一种非常有趣的方法。,我对 Rust 的了解还不够多,无法自信地发表评论,但我想你可以将 Rust 宏视为 Rust 之上的一种不同的基础结构语言, 它输入(类型化)Rust 的方式对我来说特别优雅。

总之:类型化 Python 的加入对我们的社区来说是一件好事,而非类型化 Python 不会消失, 我们只需要根据需求正确的使用,并努力将它们有效地结合起来。

题外话

在这个大数据的时代,你要想走在潮流前端,就必须要学习前沿有用的知识。而今人工智能和数据分析爆发,python就是一颗冉冉升起的新星。

全球知名TIOBE编程语言社区发布了2023年最新的编程语言排行榜。我们一起来看看
在这里插入图片描述

口说无凭,请大家继续来看一下Python的招聘数据。

据职友集数据显示,分别来自50家招聘网站,与Python有关的招聘职位薪资待遇如下:

图片
图片

那么为什么各地对Python工程师需求这么大?工资给的这么高?因为Python程序员太少啦!很多高校并未开设Python课程,因此市场上Python开发人才供小于求。很多企业为了争夺有限的Python程序员,不得不给出极其丰厚的薪资待遇,现在初级Python开发工程师的起薪一般在10-20K!

目前来学的人群分为以下几类:

第一类:入行编程新手:大学刚毕业或者其他行业转岗,想从事编程开发的工作,目前认为Python比较火,想入行;Python简单易学,非常适合新手入门。

第二类:Linux系统运维人员:Linux运维以繁杂著称,对人员系统掌握知识的能力要求非常高,那么也就需要一个编程语言能解决自动化的问题,Python开发运维工作是首选,Python运维工资的薪资普遍比Linux运维人员的工资高。

第三类:做数据分析或者人工智能:不管是常见的大数据分析或者一般的金融分析、科学分析都比较大程度的应用了数据分析,人工智能的一些常见应用也使用了Python的一些技术。

第四类:在职程序员转Python开发:平常只关注div+css这些页面技术,很多时候其实需要与后端开发人员进行交互的,现在有很多Java程序在转到Python语言,他们都被Python代码的优美和开发效率所折服。

第五类:其他:一些工程师以前在做很多SEO优化的时候,苦于不会编程,一些程序上面的问题,得不到解决,只能做做简单的页面优化。现在学会Python之后,你和我一样都可以编写一些查询收录,排名,自动生成网络地图的程序,解决棘手的SEO问题。

当然,这里总结的只是常见的一些情况,关于职业和岗位。

Python的优点:

  • 易于学习:简单、易学、对新手极度友好。
  • 免费开源:Python的所有内容都是免费开源的,不需要花一分钱就可以免费使用Python,并且可以自由地发布这个软件的拷贝、阅读其源代码、对其做改动、把其一部分用于新的自由软件中;
  • 可扩展:Python除了使用Python本身编写外,还可以混合使用像C语言、Java语言等编写;

对于0基础小白入门:

如果你是零基础小白,想快速入门Python是可以考虑的。
一方面是学习时间相对较短,学习内容更全面更集中。
二方面是可以找到适合自己的学习方案

包括:Python激活码+安装包、Python web开发,Python爬虫,Python数据分析,人工智能、机器学习等习教程。带你从零基础系统性的学好Python!

👉Python学习路线汇总👈

做了那么多年开发,自学了很多门编程语言,我很明白学习资源对于学一门新语言的重要性,这些年也收藏了不少的Python干货,对我来说这些东西确实已经用不到了,但对于准备自学Python的人来说,或许它就是一个宝藏,可以给你省去很多的时间和精力。

别在网上瞎学了,我最近也做了一些资源的更新,只要你是我的粉丝,这期福利你都可拿走。

我先来介绍一下这些东西怎么用,文末抱走。


(1)Python所有方向的学习路线(新版)

这是我花了几天的时间去把Python所有方向的技术点做的整理,形成各个领域的知识点汇总,它的用处就在于,你可以按照上面的知识点去找对应的学习资源,保证自己学得较为全面。

最近我才对这些路线做了一下新的更新,知识体系更全面了。

在这里插入图片描述

(2)Python学习视频

包含了Python入门、爬虫、数据分析和web开发的学习视频,总共100多个,虽然没有那么全面,但是对于入门来说是没问题的,学完这些之后,你可以按照我上面的学习路线去网上找其他的知识资源进行进阶。

在这里插入图片描述

(3)100多个练手项目

我们在看视频学习的时候,不能光动眼动脑不动手,比较科学的学习方法是在理解之后运用它们,这时候练手项目就很适合了,只是里面的项目比较多,水平也是参差不齐,大家可以挑自己能做的项目去练练。

在这里插入图片描述

(4)200多本电子书

这些年我也收藏了很多电子书,大概200多本,有时候带实体书不方便的话,我就会去打开电子书看看,书籍可不一定比视频教程差,尤其是权威的技术书籍。

基本上主流的和经典的都有,这里我就不放图了,版权问题,个人看看是没有问题的。

(5)Python知识点汇总

知识点汇总有点像学习路线,但与学习路线不同的点就在于,知识点汇总更为细致,里面包含了对具体知识点的简单说明,而我们的学习路线则更为抽象和简单,只是为了方便大家只是某个领域你应该学习哪些技术栈。

在这里插入图片描述

(6)其他资料

还有其他的一些东西,比如说我自己出的Python入门图文类教程,没有电脑的时候用手机也可以学习知识,学会了理论之后再去敲代码实践验证,还有Python中文版的库资料、MySQL和HTML标签大全等等,这些都是可以送给粉丝们的东西。

在这里插入图片描述

这些都不是什么非常值钱的东西,但对于没有资源或者资源不是很好的学习者来说确实很不错,你要是用得到的话都可以直接抱走,关注过我的人都知道,这些都是可以拿到的。

网上学习资料一大堆,但如果学到的知识不成体系,遇到问题时只是浅尝辄止,不再深入研究,那么很难做到真正的技术提升。

需要这份系统化学习资料的朋友,可以戳这里无偿获取

一个人可以走的很快,但一群人才能走的更远!不论你是正从事IT行业的老鸟或是对IT行业感兴趣的新人,都欢迎加入我们的的圈子(技术交流、学习资源、职场吐槽、大厂内推、面试辅导),让我们一起学习成长!

  • 23
    点赞
  • 10
    收藏
    觉得还不错? 一键收藏
  • 0
    评论
评论
添加红包

请填写红包祝福语或标题

红包个数最小为10个

红包金额最低5元

当前余额3.43前往充值 >
需支付:10.00
成就一亿技术人!
领取后你会自动成为博主和红包主的粉丝 规则
hope_wisdom
发出的红包
实付
使用余额支付
点击重新获取
扫码支付
钱包余额 0

抵扣说明:

1.余额是钱包充值的虚拟货币,按照1:1的比例进行支付金额的抵扣。
2.余额无法直接购买下载,可以购买VIP、付费专栏及课程。

余额充值