當談到嵌入式系統編程語言時,毫無疑問,C是主導語言。在過去的幾十年里,有無數次嘗試改變,但當塵埃落定時,C編程語言似乎永遠是屹立不倒的語言。近年來,關于用其他語言取代C語言的爭論再次出現。無論潛在的篡奪者是C++、Rust還是其他語言,從C轉換都會充滿問題和困難。這篇文章將探討將嵌入式開發團隊從C過渡到現代的三個技巧。
技巧1——逐步過渡
當做出改變編程語言的決定時,團隊通常希望立即開始使用新語言進行開發。立即開始并不是一個壞主意,但是必須認識到切換語言會帶來未知,這可能會導致當前的開發項目花費更長的時間,并且可能會花費更多的成本。因此,逐步過渡可以在成功切換到新語言的同時保持開發的進展,而不是匆忙地100%切換到新語言。
例如,一個團隊可能發現他們的微控制器具有用于與用C編寫的硬件交互的低級庫,開發人員可以使用C++創建調用現有C庫的接口,而不是用C++重寫所有這些庫。開發人員將獲得使用C++創建界面的經驗,同時保留現有代碼,并最大限度地減少開始使用C++的時間和成本。
一般來說,一個團隊應該確定新的編程語言在哪些方面可以為將要投入的時間帶來最大的好處,并專注于在這些方面使用新的語言。隨著時間的推移,如果需要,嵌入式開發人員可以更新他們現有的遺留代碼。然而,試圖一次性重做的團隊往往會失敗。
技巧2——測試開發人員的效率
每個開發人員都有使用各種編程語言的熟練程度。然而,雖然開發人員可能會對一種新的編程語言感到興奮或推動,但這并不意味著他們可以坐下來開始為該語言編寫高質量的產品代碼。因此,在開始轉換之前,管理人員必須確保他們的開發人員能夠勝任這項任務,并且具備成功使用新編程語言所必需的技能。
應該對每個開發人員進行測試,看他們對團隊采用的新編程語言的理解和使用程度。建議只有高度熟練的開發人員在早期階段開始使用新的編程語言。相反,其他開發人員支持這些開發人員或處理維護。在此期間,不太熟練的開發人員可以使用新語言從事小的活動,這些新語言旨在幫助他們提高技能,同時保持團隊的生產力。
技巧3——制定培訓計劃
在測試開發人員對新編程語言的熟練程度后,一些嵌入式開發人員可能不具備所需的技能。所以我們不只是把這些開發人員丟到一邊,而是建立一個培訓計劃來幫助他們盡快達到速度。
其次,除了正式的課程之外,廣泛的資源應該整合到日常工作中。例如,團隊和開發人員可以利用無數的博客、文章、視頻和書籍變得精通。作為培訓計劃的一部分,開發人員應該在每個工作日至少花30分鐘來發展他們的新技能。中斷,他們可能一周或更長時間沒有使用這些技能,可能會減緩團隊過渡到新語言的速度。
最后,培訓計劃的一部分應該包括動手實踐經驗。首選是將新技能應用到手頭的項目中,但可能有必要分配旨在鍛煉技能組合的一次性項目。
結論
過渡到一種新的編程語言可能是一項激動人心的工作,有許多好處。然而,跳躍不能掉以輕心。應該采取漸進的步驟,并由一個好的培訓計劃支持,該計劃評估開發人員并為他們制定培訓計劃。許多現代語言要么直接使用C代碼,要么至少鏈接到編譯后的C代碼。團隊可以選擇他們代碼中的哪些區域立即轉移到新語言,哪些保留在C語言中。
利用C之外的現代語言可以為嵌入式開發人員和團隊提供許多好處——只是要小心如何從C過渡到其他語言。