中文字幕日韩精品一区二区免费_精品一区二区三区国产精品无卡在_国精品无码专区一区二区三区_国产αv三级中文在线

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

2021-02-07    分類: 網(wǎng)站建設(shè)

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

一 c語言

1、相關(guān)概念:實模式、保護模式、調(diào)度、中斷、調(diào)用棧、回調(diào)……基本上計算機科學(xué)里面的基本概念都會涉及

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

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

硬件的嵌入式系統(tǒng)(除了匯編就只能用c了)


二 c++

1、相關(guān)概念:虛函數(shù)、虛表、內(nèi)聯(lián)、多繼承、const、泛型、模板(語言相關(guān))……opencv、OGRE、3D渲染、GPU、mesh、skeleton、幀循環(huán)、DX、GUI、MFC、Qt、消息隊列、非阻塞IO(應(yīng)用領(lǐng)域相關(guān))……

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

3、適合領(lǐng)域:多媒體、高性能網(wǎng)絡(luò)服務(wù)器等較講究效率的應(yīng)用程序

三 java

1、相關(guān)概念:字節(jié)碼、虛擬機、垃圾回收、接口、多線程、包、程序庫、反射、框架、集成、組件、http、web、數(shù)據(jù)庫、SSH、javaee……

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

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


四 Javascript

1、相關(guān)概念:閉包、對象、函數(shù)、CSS、DOM、Ajax、HTML5、node.js、V8……

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

3、適合領(lǐng)域:web前端,

PS:有人覺得node.js適合做后端,我覺得不適合。node.js是比較通用的腳本引擎框架,我在實際進行開發(fā)時,發(fā)現(xiàn)node.js有這么幾個問題:

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

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

3、js的調(diào)試工具還是不夠好用

4、沒有統(tǒng)一的init的過程(很多的匿名閉包、以及無處不在的回調(diào)),很難捋清晰系統(tǒng)的組成和調(diào)用關(guān)系

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

網(wǎng)頁題目:幾種常用編程語言的編程思想和方法
本文地址:http://m.rwnh.cn/news17/99617.html

成都網(wǎng)站建設(shè)公司_創(chuàng)新互聯(lián),為您提供靜態(tài)網(wǎng)站網(wǎng)站設(shè)計公司、虛擬主機、網(wǎng)站維護網(wǎng)站改版、App設(shè)計

廣告

聲明:本網(wǎng)站發(fā)布的內(nèi)容(圖片、視頻和文字)以用戶投稿、用戶轉(zhuǎn)載內(nèi)容為主,如果涉及侵權(quán)請盡快告知,我們將會在第一時間刪除。文章觀點不代表本網(wǎng)站立場,如需處理請聯(lián)系客服。電話:028-86922220;郵箱:631063699@qq.com。內(nèi)容未經(jīng)允許不得轉(zhuǎn)載,或轉(zhuǎn)載時需注明來源: 創(chuàng)新互聯(lián)

手機網(wǎng)站建設(shè)
渭源县| 平陆县| 库车县| 茂名市| 武强县| 华容县| 克东县| 盐源县| 葫芦岛市| 翁牛特旗| 崇文区| 茌平县| 鲁甸县| 天等县| 宁乡县| 徐闻县| 湖口县| 申扎县| 玛纳斯县| 永城市| 扶风县| 湾仔区| 调兵山市| 息烽县| 商都县| 天长市| 衡水市| 郸城县| 溧阳市| 精河县| 砀山县| 仙桃市| 灵川县| 崇文区| 仪陇县| 常宁市| 团风县| 夏邑县| 望谟县| 恩平市| 福贡县|