回覆列表
  • 1 # IT人劉俊明

    軟體開發時選擇程式語言是團隊要做的首要任務之一,選擇什麼程式語言涉及到諸多因素,其中包括:場景、團隊知識結構、開發週期、效能、安全性、易用性、移植性、維護和升級等。

    開發場景

    通常選擇什麼開發語言首要的考慮因素是開發場景,比如做Android端開發,那麼只能使用Java語言,如果做IOS開發只能從OC和Swift兩門語言中選擇一個。如果做物聯網基礎開發、閘道器、路由器等通訊裝置軟體開發大多會選擇C語言。

    如果做Web前端開發基本上就是JavaScript再結合HTML、CSS等語言,如果做大資料、機器學習等專案可能會選擇Python的多一些。這種情況下考慮的空間並不大,反而容易進行選擇。

    如果做Web開發可以選擇使用Java、Python、PHP、C#等語言,這些語言都能夠進行Web開發,此時就需要考慮其他因素了,比如團隊知識結構。

    團隊知識結構

    除了開發場景之外,選擇開發語言的另一個比較關鍵的因素就是團隊的知識結構,如果團隊的知識結構比較單一,那麼在語言的選擇上就比較簡單了。目前很多科技公司大部分開發團隊通常都比較專一,也就是說很多團隊的知識結構是單一的,單一的好處很多,但是缺點也頗為明顯,就是有很多場景開發做不了。

    所以現在很多團隊都會選擇主攻應用領域比較廣泛的語言,這其中最受歡迎的語言當屬Java莫屬。Java語言目前能適合很多場景的開發,Web開發、移動互聯開發、大資料、雲計算、物聯網、區塊鏈等等場景幾乎都能找到Java的身影。這也是為什麼目前Java程式設計師比較好就業的原因。

    開發週期、效能

    接下來要考慮的重要問題就是開發週期和效能,這兩個因素通常是一起考慮的,也就是說通常專案負責人要找到開發週期和效能的平衡點,這對開發團隊來說是非常重要的。

    以Web開發為例,可以使用Java、Python,也可以使用PHP和C#,當團隊的知識結構符合其中的兩個以上開發語言時,技術負責人就要同項目經理溝通,到底使用哪種語言進行開發。

    軟體開發的第一要素是開發週期,時間永遠是第一位的,雖然很多時候我們更強調效能。如果開發週期足夠,那麼一定會選擇效能相對更好的開發語言,比如java。如果開發週期很短,那麼在無法使用高效能語言的時候,就一定要選擇犧牲掉一部分效能。

    這是一道艱難的選擇題,不僅難,還要求快速決定,這對團隊負責人是一個考驗。

    以上幾個因素基本上是決定性因素,當然有時候也要考慮移植性、安全性、維護性等等方面的因素,當然不同情況下,這些因素的權重也不同,有的時候移植性還是比較重要的。

  • 2 # 嵌入式宏思微想

    我從事嵌入式軟體行業十多年,有著豐富的一線開發經驗和團隊建沒管理經驗,現就此題,發表一下個人看法。

    如何選用程式語言進行軟體開發?

    1.選擇適合產品的語言。主要從軟體生態,軟體效能兩大方面考慮。比如嵌入式類別的,作業系統,模組庫,程式碼效率等來講,選C和彙編是最適合的。

    2.選擇適合方案廠商支援的語言。現在做產品,一般都有方案廠商支援,例如晶片廠商,如果選用開源類的,也要看開源生態的語言。需要別人支援,就要適配別人支援的語言。

    3.選擇適合開發團隊的語言。也許有人會說,重新學習或重新招聘不就可以了嗎?可以是可以,但成本就高了。選擇團隊熟悉的語言,或力所能及的語言,成本最低,風險也最低。

  • 3 # dennis-kk

    有幾個方面,第一是軟體的型別,不同型別的語言都有自己適合的應用場景,語言在適合的領域可以大大加快開發進度,事半功倍。第二是執行環境,譬如在有限的硬體環境下,可能只能選用開發效率不高但執行效率高的語言,有些適用於系統軟體開發的語言可以針對不同硬體和作業系統做深度最佳化。第三是開發者生態圈,現在許多型別或系統已經存在許多生態圈,譬如WEB開發,SAAS,等。

  • 中秋節和大豐收的關聯?
  • 針灸有什麼作用?