Can you summarize the following document?
        
  在計算機技術發展的早期,軟體開發主要就是程式設計。但隨著技術的發展,軟體系統越來越複雜,逐漸分化出許多專用的軟體系統,如作業系統、資料庫系統、應用伺服器,而且這些專用的軟體系統愈來愈成為普遍的系統環境的一部分。這種情況下軟體開發的內容越來越豐富,不再只是純粹的程式設計,還包括資料庫設計、使用者介面設計、通訊協議設計和複雜的系統配置過程。  空間方面,在早期,由於機器資源比較昂貴,如何縮小儲存空間往往是設計關心的首要重點;而隨著硬體技術的飛速發展,電腦上資料儲存媒體的價格降低,空間不再是考慮的第一要點,一些較耗時的運算也漸漸發展出以空間換取時間的模式。  時間方面,在早期,如何加強程式效率、縮短程式執行時間是程式設計師的共同目標;而在硬體效能進步、效率差距縮小,軟體規模與複雜度卻日益增加的現在,程式的結構、可維護性、重複使用性、彈性等因素更顯得重要。在多人合作的程式設計專案裡,程式設計師們會加上各種註解以協助其他參與者理解程式碼,,但卻因能達到較好的溝通並提高程式碼的可維護性,而成為目前的主流。  然而,隨著智慧手機等攜帶裝置的興起,執行時間的縮短與儲存空間的有效運用再次成為焦點,形成與主機伺服器型別應用程式不同的重點考慮方向。
電腦程式設計(英語:Computer programming),或稱程式設計(英語:programming),是給出解決特定問題程式的過程,軟體開發過程中的重要步驟。程式設計往往以某種程式設計語言為工具,給出這種語言下的程式。程式設計過程一般包括分析、設計、編碼、測試、除錯等不同階段。