三大編程思想講解「c語言編程思想的題目」

搞軟件的人,編程語言的掌握是基本功,如果單單是學習語法,最慢的一周之內也應該可以搞定(個人認為 語法層面c++是最複雜的)。不幸的是,軟件的本質是邏輯,解決方案的設計是要藉助某種解決問題或編程的思想的。本文試圖從抽象層面概括一點編程思想方面的東西。

一 c語言

1、相關概念:實模式、保護模式、調度、中斷、調用棧、回調……基本上計算機科學裏面的基本概念都會涉及

2、編程思想:結構化編程,即將解決方案描述為一個清晰的過程,這其中會涉及數據的建模(數據結構),接口的定義(函數),項目整體的組織結構(類似於中斷向量表的註冊、回調機制)。整個實現的過程就是這種流程從粗到細,步步細化的過程。

3、適合的領域:編譯系統(很容易劃分為 lexer、parser、walker等)、OS(很容易分成 cpu相關、內存相關、外設相關、進程相關)、DBMS等系統軟件,或者是靠近

硬件的嵌入式系統(除了彙編就只能用c了)

幾種常用編程語言的編程思想和方法

二 c++

1、相關概念:虛函數、虛表、內聯、多繼承、const、泛型、模板(語言相關)……opencv、OGRE、3D渲染、GPU、mesh、skeleton、幀循環、DX、GUI、MFC、Qt、消息隊列、非阻塞IO(應用領域相關)……

2、編程思想:過程化、oo、泛型、函數式 4種同時支持,實際中用OO比較多。

3、適合領域:多媒體、高性能網絡服務器等較講究效率的應用程序

三 java

1、相關概念:位元組碼、虛擬機、垃圾回收、接口、多線程、包、程序庫、反射、框架、集成、組件、http、web、數據庫、SSH、javaee……

2、編程思想:OO,即思考的角度是更面向問題域的對象,整個程序是對象不斷細化,以及對象間交互的過程(調用相應的方法)。java的程序比較講究擴展性和可維護性,一般會使用比較多的設計模式,常用的程序組織形式是MVC、監聽者模式等。

3、適合領域:大部分沒有硬實時要求的應用程序(可能正因為此,所以java程序員的數量是最多的)

幾種常用編程語言的編程思想和方法

四 Javascript

1、相關概念:閉包、對象、函數、CSS、DOM、Ajax、HTML5、node.js、V8……

2、編程思想:基於prototype的OO,以及基於閉包的函數式編程(後者用的更多)。常用代碼組織形式:事件觸發的回調機制(node.js與前端的區別是其自己定義、觸發事件)、基於非阻塞異步IO的框架(node.js)

3、適合領域:web前端,

PS:有人覺得node.js適合做後端,我覺得不適合。node.js是比較通用的腳本引擎框架,我在實際進行開發時,發現node.js有這麼幾個問題:

1、沒有原生的對於模塊化(如java的包)的支持

2、JS是無類型語言,很難看懂代碼邏輯(本質上邏輯是對數據的操作,沒有類型的信息就很難看懂代碼)

3、js的調試工具還是不夠好用

4、沒有統一的init的過程(很多的匿名閉包、以及無處不在的回調),很難捋清晰系統的組成和調用關係

5、完全異步觸發的模式,使得代碼很難讀(打斷點都不知道在哪打,即使打了斷點也要想點辦法來觸發那個斷點)

原創文章,作者:投稿專員,如若轉載,請註明出處:https://www.506064.com/zh-hk/n/273904.html

(0)
打賞 微信掃一掃 微信掃一掃 支付寶掃一掃 支付寶掃一掃
投稿專員的頭像投稿專員
上一篇 2024-12-17 14:09
下一篇 2024-12-17 14:09

相關推薦

發表回復

登錄後才能評論