weixing1531 发表于 2023-9-5 22:10:31

用Fortran编程获得软件著作权的故事

本帖最后由 weixing1531 于 2023-9-5 22:11 编辑

本人37岁,就职于某省级水电设计院。大学本科计算机语言课学的是Fortran77,也曾为了考级尝试学习C/C++,觉得指针太底层,*p,**p,&p,++i等语句用起来实在不舒服,于是都放弃了。
坚持主学Fortran和VBA,谭浩强、徐士良、彭国伦、何光渝、Chapman的书都认真研读过,同时关注新标准的发展F77->F90->F03->F08。
工作后,发现单位很多数值计算模型都是用Excel公式,复杂一点的涉及到数组公式、迭代。
搞懂原理后,我尝试用VBA编程复现单位的计算模型,成功后又发现VBA太依赖Excel、代码私密性太差、数组初始化功能欠缺、不支持数组切片等缺点。

于是,最终采用Fortran重写计算模型,Excel读写操作交给第三方库Libxl,程序界面交给SimplyFortran编译器自带的界面库AppGraphics。
共计1300余行Fortran源代码,半年业余时间不停地调试、加载功能、迭代优化,形成了带界面的计算软件。
前不久,该计算软件已经取得国家版权局计算机软件著作权登记证书,发明专利也处于实质性审查阶段。


告诫大家:
1.编程语言是一门工具,不同编程语言各有优缺点,你总会找到一门适合自己的编程语言。
2.不要觉得Fortran写出来是个黑框框就看不起Ta。
3.兴趣是最好的老师,贵在坚持。Just write your code!
4.从GitHub中汲取养分,多读别人的优秀代码。
5.非计算机专业人员也要搞懂一些基本原理,比如整数、浮点数如何用二进制表示,一些基本数据结构如链表、二叉树的原理。
6.英语千万不能丢。

fcode 发表于 2023-9-6 19:26:36

哟,楼主和我同岁。

我也来讲讲我的故事。

本人也是37岁,目前就职于某私企,地球物理行业。公司主要以地球物理(地质勘探)的硬件和软件的研发、销售、技术服务为主。
1997年开始接触电脑,当时学了一些DOS命令,也喜欢玩一些单机游戏,尤其喜欢金庸群侠传和仙剑奇侠传这类武侠RPG游戏。
然后我接触到了修改器,FPE2000,金山游侠之类的。从修改游戏的内存里的十六进制开始,对编程有了一些兴趣,其后也开发过一些自己的游戏修改器。
后来一段时间,也喜欢用HTML+ASP做一些简单的网站,主要是满足与网友们分享自己的兴趣爱好。

大学的时候学了 C 语言和 Fortran,因为自己有一些基础,所以自以为学得还不错,再然后就开始编写一些行业内的小工具,比如格式转换啊、简单的数据预处理工具之类的。
受到了同学老师的些许赞赏,心里开始有一些小骄傲。毕业后去了一家勘探队,工作了8个月,感觉自己的虚荣心没法得到满足,就放弃了铁饭碗,进入一家民营企业。
开始了主要用 Fortran 和 C++/Qt 做地球物理软件的生涯,直到现在。

现在主要用 Fortran 做地球物理数据采集、预处理、管理、转换、模拟、反演代码。界面采用 C++/Qt,用混编来让C++和Fortran交互。
同时,也部分用到 golang 做了一些服务器端的调度。HTML+CSS+JS 做用户的 Web 前端。
截至目前,十五年间,应该写了超过 20 万行代码了。所涉及的软件产品累计销售400套以上。

和大家分享几点感想:
1. 编程语言是工具,没有绝对的好坏。我的工具箱里有多种不同的工具,在不同的时候搭配使用。而不是有了榔头,就不要螺丝刀了。
2. 单纯的编程没有什么门槛,人和人之间拉不开太大的差距。所以想要有更高的台阶,最好是扎根在你的专业内。
想学一门新的编程语言或框架,有基础的前提下,一两周就能做到入门开始写项目。
而但想补齐一门理工科(数学,物理等),没个一年半载那是几乎不可能的。
3. 如果你要做特别简单的图形用户界面,用 Fortran 也是可以的。但会事倍功半,做为尝鲜是可以的,不建议深入。
有一个 winteracter 的图形库,是 Fortran 的原生接口,能实现中等复杂度的用户界面需求,不过要花钱买。
高等复杂度的用户界面,最好是用其他语言或框架。比如 C++ Qt、C# WinForm、Delphi 之类的去做。
4. 永远不要停止学习,永远不要停止完善自己的代码。

gps99 发表于 2024-4-4 10:09:52

本帖最后由 gps99 于 2024-4-4 10:12 编辑

原生Fortran界面,赞。界面截图能否发上来,大家参考学习
页: [1]
查看完整版本: 用Fortran编程获得软件著作权的故事