要製作一個垃圾分類管理系統,只會一點c語言,還應該學習什麼知識?


假設你已經對這個垃圾分類管理系統的業務流程很熟悉了,並且系統開發的需求也很明確,那麼現在只需要考慮技術問題,即如何在規定的時間內開發出這麼一個系統。

首先要考慮的是,離畢業論交稿還需要多長時間,是一個月還是半年。時間不一樣,目的也不同,如果時間充裕,那麼可以準備充分一點。如果時間緊迫,那就只能走走捷徑了。

現在假定離交稿時間只有很短的時間了,比如三個月,那麼可能來不及系統的學習一些相關知識,只能在現有的技術條件下儘可能的快速開發出產品來。

其次需要考慮的是,這個系統的人機交互是以什麼方式實現的,是在電腦端運行的系統,還是在手機移動端運行的。如果是在電腦端運行的,那麼客戶端是以命令行方式實現人機交互,還是圖形用戶界面?

如果是命令行界面,那麼C語言其實已經足夠了,不需要再學習其他的編程語言。如果是圖形用戶界面,那麼C語言可能不是最好的選擇。以Windows系統下開發為例,假如不使用任何第三方開發包,C語言只能通過Windows API開編寫UI界面,這將是一件非常痛苦的事情,如果不是對Windows API有深入的研究,很難在短時間內寫出一個軟體來。

使用MFC也是一種選擇,但MFC是基於C++的,如果只有C語言基礎,學習C++的話還是需要一些時間的,而且C++的複雜度比C語言高了一個數量級,不是一天兩天可以入門的。另外Qt也是不錯的開發平台,結合一些DirectUI開發包,可以相對比較輕鬆的製作出漂亮的UI界面,但Qt也需要一定的C++語言基礎。

還有一種途徑,其實可以換一種高級語言,在其他編程領域,像C#,Java之類的語言都有很完善的UI界面解決方案,很多都只需要拖拖滑鼠就能設計出一個複雜的交互界面,比直接用Windows API和MFC要方便許多。況且C#和Java的語法都是基於C語言的,相比C++語言,入門要容易得多。

很多年前有一種說法,叫聰明的程序員用Delphi。確實,用Delphi來開發Windows桌面應用效率是非常高的,而且Delphi採用的編程語言Object Pascal也是很容易學習的、,如果僅僅是為了應付畢業設計,想快速開發出一套軟體,Delphi是一個可以考慮的選擇。但也應該看到,如今Delphi早已經不是流行的開發環境,假如考慮到以後的發展,那麼還不如選擇C#或者Java之類的高級語言比較合適。

如果這個系統是運行在手機移動端的,那麼事情會相對容易一些,安卓平台的話需要學習Java語言和Android Studio這樣的集成開發環境。而蘋果的iOS平台的話,則需要學習Object-C或者Swift語言,並且還要熟悉蘋果特有的開發環境。這兩個平台都有成熟的開發體系,如果只是製作一個簡單的系統,難度並不是特別大。當然要精通這兩個平台的開發可不是一件容易的事,但一般的畢業論文要求不會太高。

另外,還有一些第三方的開發平台,支持以Javascript或者其它語言來開發手機端的應用,可以直接把代碼編譯成安卓平台和iOS平台下的安裝包,也是一個偷懶的好辦法,因為相對來說,只需要熟悉一種環境,就可以開發出兩種截然不同的應用來,可謂省時省力。

還有一種情況,如果這個垃圾分類管理系統是一個基於Web的應用,那麼就要學習Web應用的開發知識,需要掌握HTML、CSS和Javascript的基礎理論,還需要學習一些前端框架,比如Bootstrap、React和Angular等等,具體學習哪一個要根據實際情況來選擇。但這些都需要花時間學習,不是三兩天可以學會的。除了前端知識,Web後端開發的選擇也是個問題,是用PHP還是Java或者C#,又或者是Golang和Python之類的,都要考慮清楚。

最後,不論是採用什麼方式開發,還要考慮的是這個系統是不是需要服務端應用,需不需要資料庫,如果需要的話,還要學習一些相關的知識。總的來說,如果時間緊迫,選擇一門在各領域通吃的高級語言來進行開發是效率最高的,比如Java和C#這樣的。

除了畢業論文,如果還要考慮到將來的就業問題,那麼按照現在的市場行情來說,學習Java語言是最佳的選擇,因為不論是桌面開發,還是安卓手機移動端開發,或者Web領域,Java語言都可以很好的處理,並且找工作也相對容易些。


推薦閱讀:

C語言 指針數組 多維數組
C語言指針的初始化和賦值
C語言是怎麼來的,看看A、B語言就知道了

TAG:C語言 | 編程語言 | 教育 |