2. Julia:面向对象编程和函数式编程模式之争

本文探讨了面向对象编程和函数式编程在Julia中的应用,以解决科学计算问题为例,揭示了Julia不鼓励面向对象编程,而倾向于函数式编程的优势。通过比较Python和Julia在处理大规模计算的效率,强调了Julia的高性能。同时,展示了如何在Julia中使用组合而非继承来处理问题。

摘要生成于 C知道 ,由 DeepSeek-R1 满血版支持, 前往体验 >

        在学习julia之前,先谈谈编程模式:面向对象编程和函数式编程模式。

        网上有太多关于这两个编程模式之争的文章了。

        有的认为面向对象编程效率低下,有的是面向对象编程的忠实支持者,面向对象的十四种模式让人沉醉。说实话,没个几年的磨练,理解不了面向对象编程。一个问题,一百个面向对象的编程高手,能写出一百种面向对象的设计方案。哪个是正确的呢?没有正确的方案,只有能正确运行的程序。

        函数式编程,它是利器!但我的水平有限,我没有办法完全严格采用函数式编程来解决我面临的问题。但julia是不鼓励我们用面向对象的方式编程的,它鼓励函数式编程。

        好了,我们开始学习julia之旅!

        我要解决一个与科学计算相关的问题:飞机飞行过程噪声对环境的影响。首先要建立飞行轨迹,再根据飞行轨迹分成段,然后根据段和计算点之间的关系进行计算。一个飞机场每天可能会有上万条飞机飞行轨迹,每条飞行轨迹有约30个点组成,约十万个计算点。

        来吧!让我们用Python写一段代码!

import time
a=1
t1=time.perf_counter()
for i in range(0,10000):
    for j in range(0,30):
        for k in range(0,100000):
            a=a+1

t2=time.perf_counter()
print(a)
print(t2-t1)

        在电脑前等了会,程序怎么没运行啊?好像在运行?

评论
添加红包

请填写红包祝福语或标题

红包个数最小为10个

红包金额最低5元

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

抵扣说明:

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

余额充值