菜鸟的第一篇博客

文章讲述了作者从接触Python开始的编程学习经历,选择Python作为硕士期间的研究工具,然后由于后端开发的需求转向学习Java。文中分析了Python的热门及适用领域,如数据科学和自动化,同时也指出了Python在后端开发中的局限性,如跨平台问题、多处理支持和速度。作者强调了选择合适语言的重要性,并表示将分享Java和后端开发的学习心得。
摘要由CSDN通过智能技术生成

本人写博客的想法由来已久,记录一下自己硕士期间学习编程之路。

入行编程原因

作为一名从本科到硕士的菜鸟,我的编程之路也是半路转过来的,而非科班出身。我接触的第一个编程语言是python,这也是我研一刚开始就学的,我在研一期间确定了自己的论文要使用的编程语言,在身边的学长学姐的建议以及秉承着“人生苦短、我学python”的理念,踏上了python之路。

上图显示了2022年最热门的编程语言排行榜,python排行第二就说明了它是当下最热门的语言之一。

Python适合领域和职业发展分析

Python是一个“优雅”、“明确”、“简单”的编程语言。

  • 学习曲线低,非专业人士也能上手

  • 开源系统,拥有强大的生态圈

  • 解释型语言,完美的平台可移植性

  • 动态类型语言,支持面向对象和函数式编程

  • 代码规范程度高,可读性强

Python在以下领域都有用武之地。

  • 后端开发 - Python / Java / Go / PHP

  • DevOps - Python / Shell / Ruby

  • 数据采集 - Python / C++ / Java

  • 量化交易 - Python / C++ / R

  • 数据科学 - Python / R / Julia / Matlab

  • 机器学习 - Python / R / C++ / Julia

  • 自动化测试 - Python / Shell

如果你想从事python之路,根据个人的喜好和职业规划,可以选择的就业领域也非常多。

  • Python后端开发工程师(服务器、云平台、数据接口)

  • Python运维工程师(自动化运维、SRE、DevOps)

  • Python数据分析师(数据分析、商业智能、数字化运营)

  • Python数据挖掘工程师(机器学习、深度学习、算法专家)

  • Python爬虫工程师

  • Python测试工程师(自动化测试、测试开发)

说明:目前,数据分析和数据挖掘是非常热门的方向,因为不管是互联网行业还是传统行业都已经积累了大量的数据,各行各业都需要数据分析师从已有的数据中发现更多的商业价值,从而为企业的决策提供数据的支撑,这就是所谓的数据驱动决策。

尽管python那么热门,但是在研二下学期开始,我却选择了学习Java。为什么呢?因为目前我想做的是后端开发,市场上公司选择用python进行后端开发的少之又少,几乎没有几家。所以,我才决定学习Java。至于为什么使用Java、Go以及PHP的那么多,而使用python做后端开发的那么少呢?不是说python听热门的吗?原因可能如下:

python不适合做后端语言的原因

1、Python实现跨平台开发非常麻烦。

一些扩展包在windows下安装极其麻烦,比如PIL这个著名的图像处理包,在windows上要找到这个安装包都不容易,而且这个包已经不维护了,被一个叫pillow的包接替,但气愤的是pillow这个包和PIL居然不是100%兼容的,还需要一些小改动。

另外的,有的包根本就不提供windows版,比如kyotocabinet,一个著名的的kv存储引擎。这让人非常头疼。现在团队基本所有的人都是用windows开发,但程序部署却是在linux上。

最终大家解决问题的办法是在windows上装个linux虚拟机,在虚拟的linux的上开发,这样就可以保持服务器和开发环境一致了。但这样也是够麻烦的,性能严重打折,虚拟机和物理机之间切换也极度麻烦。

2、缺乏真正的多处理器支持(伪线程)

多重处理是编写应用程序的重要部分。Python确实支持多处理,尽管它可能不如其他语言灵活或方便。编写代码时,这可能会产生某些限制。

3、速度限制

Python经常因其速度而受到批评。它是一种解释型脚本语言,由于它使用的翻译代码方法不同,因此它比许多编译后的相对语言(例如C / C ++或Java)相对要慢。但是,某些Python基准测试比C和C ++更快。

4、对于内存密集型任务不理想

Python是一种以其数据类型的灵活性而著称的语言。这导致相当高的内存消耗,并使其不方便用于占用大量内存的任务。

5、设计限制

Python是动态类型的,这意味着它会在应用运行时执行某些任务,否则将以静态类型的语言完成。这对设计施加了一些限制。如果您的设计中加载了元素,则可能会使程序停顿并妨碍顺利运行。

等等以上缺点,确实使得java和go这些语言更适合后端开发。而python更适合大数据分析、图像处理以及人工智能等这些领域。任何一门语言都有其独到之处,只是要做到物尽其用,合适的领域才能发挥它的优势。

总结

以上大概是第一篇博客的内容,阐述了我目前转学Java进行后端开发的原因,后续我会继续和大家一起分享、讨论Java、后端开发或者前端相关知识的学习之路!当然我也只是刚刚入门而已,希望所有像我这样硕士期间转编程学习python、Java的小伙伴能够确定好自己的学习方向,走好每一步。因为你所学的语言,毕业后就是你找到一份好工作的敲门砖。

评论 3
添加红包

请填写红包祝福语或标题

红包个数最小为10个

红包金额最低5元

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

抵扣说明:

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

余额充值