打开APP
userphoto
未登录

开通VIP,畅享免费电子书等14项超值服

开通VIP
【我与统信UOS的故事】一位初中生的编程之路
之前写了我使用的操作系统的转变,在里面提到了我编程语言的改变,但没有详细讲,这这一篇就是对上一篇的编程语言的内容进行补充,和上一篇算是两篇文章
在我五年级的时候,就开始接触编程了。虽然说有补习班、有些学校有教,但因为我父亲说编程非常的重要,每一个程序都需要编程,因为当时我对计算机很有兴趣(经常拿U盘重新安装操作系统,Windows XP、Vista、7、8、8.1、10 都有装过),也因此我渐渐的也想学会编程,但我又不想让父母花钱报兴趣班,浪费钱。
真正开始接触编程是因为在图书馆里看到有关 Scratch 编程的书,于是我就把它借了回来,然后再自行学习,用 Scratch 写了几个小游戏。
但我父亲又说了,Scratch 并不算真正的编程,真正的编程是需要写代码的(其实 Scratch 应该是算编程的了),我当时了解到了 Python,但却没有去学它,因为嫌弃它隐藏了太多细节、运行效率低、生成可执行文件难(我现在就很喜欢用 Python 了),于是我在图书馆里找到了有关 C++ 入门的书籍(强大的图书馆),按照教程安装了 Dev-CPP(因为我懒得再搞一个我之前用的 Dev-CPP wine 版,所以直接用小熊猫 Dev C++ 了),写出了第一个 C++(使用代码编写)的程序——经典的 Hello World,当我看到它运行时,喜悦万分,虽然简单,但却是我编程路上的一大步,同时也拿 C++ 写了一些好玩的应用(在截图中我把代码硬生生把 Windows 特性删除并在 UOS 运行,所以效果和 Windows 是不一样的)。
#include <iostream>using namespace std;int main(){ cout<<"Hello World!"<<endl; return 0;}
但是在 C++ 的学习过程中遇到了瓶颈,卡在了 方法、类、指针这里,然后书就没讲到更多的内容了(所以我现在的 C++ 水平就停在这里了),同时我又迫切的想要写 GUI 应用,网上搜的教程代码又长、又难理解(对于我而言,用 win32api 创建窗口是很难理解),就去 搞其它语言了。
一开始接触到了 Visual Basic 6(后面简称 VB6),虽然看起来很好用,但与 C++ 的语法区别有亿点大,所以就没主要学了。
但我又了解到一个新的语言——C#(不读 “C井”)——写 GUI 方便(有图形界面拖拉控件)、效率也较高、与 C++ 语法接近,于是我就认真学习了 C#,制作出了很多有趣的工具和一些小游戏,甚至写程序来参加比赛——当然就没有结果了。
但是学习 C# 没多久,就遇到了疫情,然后就接触到了 Linux,因为到使用 Ubuntu 的时候,我在尽可能的用 Ubuntu,我又了解到了 wine,于是一开始将我写的 C# 应用 wine 到 Ubuntu,居然成功了!虽然成功了,但是配置 wine 的过程还是很复杂。
没过多久,就接触到了 deepin 以及一个高级的东西:Mono——能叫做可以在 Linux 上运行的 .net framework,于是一开始我尝试用 Mono 运行我的 C# 应用——成功了,但是复杂的应用其实是不可以的。然后还了解到了 Monodevelop(可以理解为 C# 的 IDE),于是尝试用 Monodevelop 编写 C# 应用,但 deepin 的源里其实是没有的,Ubuntu 才有,所以需要切换系统,然后尝试写一个简单的 C# GUI 应用,就遇到了很多问题,例如说一个文本框的赋值问题,因为这种种的区别,导致我就放弃了 Monodevelop 来编写 C# 应用,采用在 deepin 上使用 Windows 虚拟机来编写。
但是我肯定不安分的,还试过 wine 一个 Visual Studio 2010,因为我非常想写一个 Linux 应用并上传到星火应用商店(现在完成了),所以我在寻找一个适合我自己的语言来编写,于是尝试了很多语言,有网页前端——html、css、javasscript和后端——php、捡回了之前的 C++,但都不太适合我,于是我经过深思熟虑,选择了我现在正在使用的语言——Python
经过一段时间的学习后,我已经掌握了 Python 的基础,尝试实现我的目标——制作一个 GUI 应用,于是学习了库 tkinter,然后我开始练习写一点小的 GUI 应用,当我真正找思路写应用来投稿到星火应用商店,还是很有难度的,我敲定了第一个主题——deepin-wine 运行器,因为配置 wine 还是比较复杂的,如果可以简单一点就更好了(Crossover 收费,PlayOnLinux、winetricks 下载慢,但我又没了解到有 Vek),所以写了这个应用,虽然写出来并投稿后 Star 的数量比较少,但我也非常高兴了。
我还写了一个 deepin-wine5 打包器凑成一套,因为打包还不是很不方便,解包后再重新打包很烦,而且还很容易有很多错误,例如我第一个 deepin-wine 打包应用就因为打包问题被星火打回了好几次(当时还是没了解到 Vek),所以我就把它写了出来。
到后来,UOS 家庭版就横空出世了——系统自带了 Android 环境,就不用安装其他 Android 模拟器,如Xdroid、Android X86 等等(那时 deepin 还没有),这么好玩的东西干嘛不看看。于是我安装了 UOS 家庭版,结果发现 UEngine 应用安装是有门槛的,安装没有这么简单,所以我就打算写一个可以更加简单安装应用的运行器,通过 UOS 论坛的教程提供的安装方法为基础,写出了第一个版本。
然后这个应用的关注度也比较高,所以我在期末考试前也在进行更新(毕竟不会的就真不会了),以便有更好的使用体验。
然后按照我的套路,也写了一个打包器,一开始是独立的应用,因为有人和我说能否完善这个应用,所以在 1.4.0 就合并成一个程序。
所以我暑假也在进行更新,从第一个版本号到这个寒假,硬生生从 1.0.0 迭代到了 1.5.3,同时也有其他大佬给予的帮助(尤其是版本 1.3.0)!堪称起死回生!
如果把这组数据放在之前,对我来说能叫天文数字、天方夜谭。
安装数(截止于 2022/1/13 20:04):
版本安装数
1.5.21220
1.5.31709
在此过程中的我也反应过来,因为 UOS 家庭版的出现才让我使用这个语言写这个目前数据最好的项目,天时地利人和,何乐而不为?同时也让我在此过程中得到了很多帮助,让我自己做得更好,也让我懂得了更多!虽然修复 bug 是痛苦的,但是发布后大家给我的点赞,下载数、安装数、Star数蹭蹭蹭地往上涨,我还是非常开心和自豪的!
彩蛋
我在社团课看同学的 C++ 代码的时候,问他为什么不用using namespace std,就不用加std::了,他回答说可能会和其它类、方法有冲突,导致程序出现 bug。
我在写一个 Python 程序,用了好几天修好了一个因为 Python 变量特性的 bug(原因是没有浅拷贝),故障代码:
old_ProgramList = now_ProgramList修复后的代码
old_ProgramList = now_ProgramList[:]  # 因为 Python A 变量赋值到 B 变量,只是改变 B 变量的地址,不是创建新的地址再拷贝赋值,所以在 now_ProgramList 变量修改后 old_ProgramList 变量也会修改# 因此值要进行拷贝创建新的地址才行(在后面加上“[:]”),结合实际情况使用浅拷贝即可然后我把这个事发到一个我们的同学群里,有一位同学跟我说:
Python这方面是最恶心的,但在其他方面也是最方便的
就是因为语法简单,导致许多地方不显性
安装 Visual Studio Code 可以在应用商店安装
(下面的内容需要开启开发者模式)
安装 Python3(系统默认安装):
sudo apt install python3安装 Python3 的 IDE:
sudo apt install idle安装 Mono:
sudo apt install mono-devel
你知道吗?如果我没有接触 deepin——就不会接触 Python,没接触 UOS——就不会有较为成型的 Python 项目
你知道吗?其实 Python 的 GUI 库也有可以拖拉的图形设计界面,Tkinter 是 Pages、PyQt5 是 Qt5 设计器,其它的欢迎补充
除了学习 Python,我还是捡起了 C++ 玩起了 Dtk,就是我在 UOS家庭版上编译没有问题,但每次都有人说有问题
本站仅提供存储服务,所有内容均由用户发布,如发现有害或侵权内容,请点击举报
打开APP,阅读全文并永久保存 查看更多类似文章
猜你喜欢
类似文章
【热】打开小程序,算一算2024你的财运
UOS操作系统-安装与卸载Windows软件
别羡慕windows11,这些国产系统,一样可支持安卓APP
统信UOS ,真的可以代替Windows!!!
忘记Windows!国产深度v20正式版来袭,永久免费使用
UOS专业版、UOS个人版、Deepin社区版的产品定位及主要对比
在国产操作系统deepin上使用WPS,只想说:雷军牛逼!
更多类似文章 >>
生活服务
热点新闻
分享 收藏 导长图 关注 下载文章
绑定账号成功
后续可登录账号畅享VIP特权!
如果VIP功能使用有故障,
可点击这里联系客服!

联系客服