一区二区三区日韩精品-日韩经典一区二区三区-五月激情综合丁香婷婷-欧美精品中文字幕专区

分享

【我與統(tǒng)信UOS的故事】一位初中生的編程之路

 gfdgd_xi 2022-02-19

之前寫了我使用的操作系統(tǒng)的轉(zhuǎn)變,在里面提到了我編程語言的改變,但沒有詳細(xì)講,這這一篇就是對上一篇的編程語言的內(nèi)容進(jìn)行補(bǔ)充,和上一篇算是兩篇文章

在我五年級的時(shí)候,就開始接觸編程了。雖然說有補(bǔ)習(xí)班、有些學(xué)校有教,但因?yàn)槲腋赣H說編程非常的重要,每一個(gè)程序都需要編程,因?yàn)楫?dāng)時(shí)我對計(jì)算機(jī)很有興趣(經(jīng)常拿U盤重新安裝操作系統(tǒng),Windows XP、Vista、7、8、8.1、10 都有裝過),也因此我漸漸的也想學(xué)會(huì)編程,但我又不想讓父母花錢報(bào)興趣班,浪費(fèi)錢。

真正開始接觸編程是因?yàn)樵趫D書館里看到有關(guān) Scratch 編程的書,于是我就把它借了回來,然后再自行學(xué)習(xí),用 Scratch 寫了幾個(gè)小游戲。

Scratch 圖片

Scratch 的項(xiàng)目的圖片

但我父親又說了,Scratch 并不算真正的編程,真正的編程是需要寫代碼的(其實(shí) Scratch 應(yīng)該是算編程的了),我當(dāng)時(shí)了解到了 Python,但卻沒有去學(xué)它,因?yàn)橄訔壦[藏了太多細(xì)節(jié)、運(yùn)行效率低、生成可執(zhí)行文件難(我現(xiàn)在就很喜歡用 Python 了),于是我在圖書館里找到了有關(guān) C++ 入門的書籍(強(qiáng)大的圖書館),按照教程安裝了 Dev-CPP(因?yàn)槲覒械迷俑阋粋€(gè)我之前用的 Dev-CPP wine 版,所以直接用小熊貓 Dev C++ 了),寫出了第一個(gè) C++(使用代碼編寫)的程序——經(jīng)典的 Hello World,當(dāng)我看到它運(yùn)行時(shí),喜悅?cè)f分,雖然簡單,但卻是我編程路上的一大步,同時(shí)也拿 C++ 寫了一些好玩的應(yīng)用(在截圖中我把代碼硬生生把 Windows 特性刪除并在 UOS 運(yùn)行,所以效果和 Windows 是不一樣的)。

#include <iostream>using namespace std;int main(){
 cout<<"Hello World!"<<endl;
 return 0;}

Dev-CPP

Hello World!

護(hù)眼(修改過)

但是在 C++ 的學(xué)習(xí)過程中遇到了瓶頸,卡在了 方法、類、指針這里,然后書就沒講到更多的內(nèi)容了(所以我現(xiàn)在的 C++ 水平就停在這里了),同時(shí)我又迫切的想要寫 GUI 應(yīng)用,網(wǎng)上搜的教程代碼又長、又難理解(對于我而言,用 win32api 創(chuàng)建窗口是很難理解),就去 搞其它語言了。

一開始接觸到了 Visual Basic 6(后面簡稱 VB6),雖然看起來很好用,但與 C++ 的語法區(qū)別有億點(diǎn)大,所以就沒主要學(xué)了。

但我又了解到一個(gè)新的語言——C#(不讀 “C井”)——寫 GUI 方便(有圖形界面拖拉控件)、效率也較高、與 C++ 語法接近,于是我就認(rèn)真學(xué)習(xí)了 C#,制作出了很多有趣的工具和一些小游戲,甚至寫程序來參加比賽——當(dāng)然就沒有結(jié)果了。

為了比賽而寫的項(xiàng)目

但是學(xué)習(xí) C# 沒多久,就遇到了疫情,然后就接觸到了 Linux,因?yàn)榈绞褂?Ubuntu 的時(shí)候,我在盡可能的用 Ubuntu,我又了解到了 wine,于是一開始將我寫的 C# 應(yīng)用 wine 到 Ubuntu,居然成功了!雖然成功了,但是配置 wine 的過程還是很復(fù)雜。

沒過多久,就接觸到了 deepin 以及一個(gè)高級的東西:Mono——能叫做可以在 Linux 上運(yùn)行的 .net framework,于是一開始我嘗試用 Mono 運(yùn)行我的 C# 應(yīng)用——成功了,但是復(fù)雜的應(yīng)用其實(shí)是不可以的。然后還了解到了 Monodevelop(可以理解為 C# 的 IDE),于是嘗試用 Monodevelop 編寫 C# 應(yīng)用,但 deepin 的源里其實(shí)是沒有的,Ubuntu 才有,所以需要切換系統(tǒng),然后嘗試寫一個(gè)簡單的 C# GUI 應(yīng)用,就遇到了很多問題,例如說一個(gè)文本框的賦值問題,因?yàn)檫@種種的區(qū)別,導(dǎo)致我就放棄了 Monodevelop 來編寫 C# 應(yīng)用,采用在 deepin 上使用 Windows 虛擬機(jī)來編寫。

mono 運(yùn)行的 C# 應(yīng)用

monodevelop

monodevelop 寫出來的第一個(gè) C# 應(yīng)用

Windows 虛擬機(jī)

但是我肯定不安分的,還試過 wine 一個(gè) Visual Studio 2010,因?yàn)槲?strong>非常想寫一個(gè) Linux 應(yīng)用并上傳到星火應(yīng)用商店(現(xiàn)在完成了),所以我在尋找一個(gè)適合我自己的語言來編寫,于是嘗試了很多語言,有網(wǎng)頁前端——html、css、javasscript和后端——php、撿回了之前的 C++,但都不太適合我,于是我經(jīng)過深思熟慮,選擇了我現(xiàn)在正在使用的語言——Python

星火應(yīng)用商店

經(jīng)過一段時(shí)間的學(xué)習(xí)后,我已經(jīng)掌握了 Python 的基礎(chǔ),嘗試實(shí)現(xiàn)我的目標(biāo)——制作一個(gè) GUI 應(yīng)用,于是學(xué)習(xí)了庫 tkinter,然后我開始練習(xí)寫一點(diǎn)小的 GUI 應(yīng)用,當(dāng)我真正找思路寫應(yīng)用來投稿到星火應(yīng)用商店,還是很有難度的,我敲定了第一個(gè)主題——deepin-wine 運(yùn)行器,因?yàn)?strong>配置 wine 還是比較復(fù)雜的,如果可以簡單一點(diǎn)就更好了(Crossover 收費(fèi),PlayOnLinux、winetricks 下載慢,但我又沒了解到有 Vek),所以寫了這個(gè)應(yīng)用,雖然寫出來并投稿后 Star 的數(shù)量比較少,但我也非常高興了。

wine 運(yùn)行器介紹

wine 運(yùn)行器最初版本

wine 運(yùn)行器目前版本

我還寫了一個(gè) deepin-wine5 打包器湊成一套,因?yàn)榇虬€不是很不方便,解包后再重新打包很煩,而且還很容易有很多錯(cuò)誤,例如我第一個(gè) deepin-wine 打包應(yīng)用就因?yàn)?strong>打包問題被星火打回了好幾次(當(dāng)時(shí)還是沒了解到 Vek),所以我就把它寫了出來。

deepin-wine5 打包器介紹

deepin-wine5 打包截圖

到后來,UOS 家庭版就橫空出世了——系統(tǒng)自帶了 Android 環(huán)境,就不用安裝其他 Android 模擬器,如Xdroid、Android X86 等等(那時(shí) deepin 還沒有),這么好玩的東西干嘛不看看。于是我安裝了 UOS 家庭版,結(jié)果發(fā)現(xiàn) UEngine 應(yīng)用安裝是有門檻的,安裝沒有這么簡單,所以我就打算寫一個(gè)可以更加簡單安裝應(yīng)用的運(yùn)行器,通過 UOS 論壇的教程提供的安裝方法為基礎(chǔ),寫出了第一個(gè)版本。

然后這個(gè)應(yīng)用的關(guān)注度也比較高,所以我在期末考試前也在進(jìn)行更新(畢竟不會(huì)的就真不會(huì)了),以便有更好的使用體驗(yàn)。
然后按照我的套路,也寫了一個(gè)打包器,一開始是獨(dú)立的應(yīng)用,因?yàn)橛腥撕臀艺f能否完善這個(gè)應(yīng)用,所以在 1.4.0 就合并成一個(gè)程序。
所以我暑假也在進(jìn)行更新,從第一個(gè)版本號(hào)到這個(gè)寒假,硬生生從 1.0.0 迭代到了 1.5.3,同時(shí)也有其他大佬給予的幫助(尤其是版本 1.3.0)!堪稱起死回生
如果把這組數(shù)據(jù)放在之前,對我來說能叫天文數(shù)字、天方夜譚

uengine 運(yùn)行器介紹

uengine 運(yùn)行器最初版本

uengine 運(yùn)行器目前版本

安裝數(shù)(截止于 2022/1/13 20:04):

版本安裝數(shù)
1.5.21220
1.5.31709

在此過程中的我也反應(yīng)過來,因?yàn)?UOS 家庭版的出現(xiàn)才讓我使用這個(gè)語言寫這個(gè)目前數(shù)據(jù)最好的項(xiàng)目,天時(shí)地利人和,何樂而不為?同時(shí)也讓我在此過程中得到了很多幫助,讓我自己做得更好,也讓我懂得了更多!雖然修復(fù) bug 是痛苦的,但是發(fā)布后大家給我的點(diǎn)贊,下載數(shù)、安裝數(shù)、Star數(shù)蹭蹭蹭地往上漲,我還是非常開心和自豪的!

彩蛋

  1. 我在社團(tuán)課看同學(xué)的 C++ 代碼的時(shí)候,問他為什么不用using namespace std,就不用加std::了,他回答說可能會(huì)和其它類、方法有沖突,導(dǎo)致程序出現(xiàn) bug。

  2. 我在寫一個(gè) Python 程序,用了好幾天修好了一個(gè)因?yàn)?Python 變量特性的 bug(原因是沒有淺拷貝),故障代碼:

old_ProgramList = now_ProgramList

修復(fù)后的代碼

old_ProgramList = now_ProgramList[:]  # 因?yàn)?nbsp;Python A 變量賦值到 B 變量,只是改變 B 變量的地址,不是創(chuàng)建新的地址再拷貝賦值,所以在 now_ProgramList 變量修改后 old_ProgramList 變量也會(huì)修改# 因此值要進(jìn)行拷貝創(chuàng)建新的地址才行(在后面加上“[:]”),結(jié)合實(shí)際情況使用淺拷貝即可

然后我把這個(gè)事發(fā)到一個(gè)我們的同學(xué)群里,有一位同學(xué)跟我說:

Python這方面是最惡心的,但在其他方面也是最方便的
就是因?yàn)檎Z法簡單,導(dǎo)致許多地方不顯性

  1. 安裝 Visual Studio Code 可以在應(yīng)用商店安裝

(下面的內(nèi)容需要開啟開發(fā)者模式)

安裝 Python3系統(tǒng)默認(rèn)安裝):

sudo apt install python3

安裝 Python3 的 IDE

sudo apt install idle

安裝 Mono

sudo apt install mono-devel
  1. 你知道嗎?如果我沒有接觸 deepin——就不會(huì)接觸 Python,沒接觸 UOS——就不會(huì)有較為成型的 Python 項(xiàng)目

  2. 你知道嗎?其實(shí) Python 的 GUI 庫也有可以拖拉的圖形設(shè)計(jì)界面,Tkinter 是 Pages、PyQt5 是 Qt5 設(shè)計(jì)器,其它的歡迎補(bǔ)充

  3. 除了學(xué)習(xí) Python,我還是撿起了 C++ 玩起了 Dtk,就是我在 UOS家庭版上編譯沒有問題,但每次都有人說有問題

    轉(zhuǎn)藏 分享 獻(xiàn)花(0

    0條評論

    發(fā)表

    請遵守用戶 評論公約

    類似文章 更多

    日韩一级毛一欧美一级乱| 日本美国三级黄色aa| 九九热精彩视频在线播放| 国内外免费在线激情视频| 亚洲国产性生活高潮免费视频| 日本午夜免费福利视频| 精品久久久一区二区三| 嫩呦国产一区二区三区av| 99精品人妻少妇一区二区人人妻| 亚洲欧美日本国产有色| 日本在线高清精品人妻| 国产在线观看不卡一区二区| 大香蕉久草网一区二区三区| 亚洲国产精品av在线观看| 日韩欧美中文字幕人妻| 欧美亚洲另类久久久精品| 一个人的久久精彩视频| 日本加勒比在线观看一区| 免费啪视频免费欧美亚洲| 久一视频这里只有精品| 亚洲欧美视频欧美视频| 又大又长又粗又猛国产精品| 不卡中文字幕在线免费看| 亚洲一区二区欧美激情| 日韩一区二区三区18| 亚洲男人天堂网在线视频| 亚洲男人的天堂就去爱| 精品少妇人妻av一区二区蜜桃 | 五月婷婷六月丁香亚洲| 亚洲一区二区三区三区| 久久福利视频在线观看| 日本久久精品在线观看| 亚洲一区二区三区三区| 欧美精品一区二区水蜜桃| 国产精品一区二区香蕉视频| 欧美一区二区三区播放| 熟妇久久人妻中文字幕| 五月婷婷亚洲综合一区| 国产精品熟女乱色一区二区| 久久99国产精品果冻传媒| av在线免费播放一区二区|