大家好,今天來為大家分享中國人開發(fā)的編程語言的一些知識點(diǎn),和中國最早的編程的問題解析,大家要是都明白,那么可以忽略,如果不太清楚的話可以看看本篇文章,相信很大概率可以解決您的問題,接下來我們就一起來看看吧!
中國為什么不做編譯器和編程語言
路過,正好與我目前的工作相關(guān),隨便說兩句。
目前正在開發(fā)低代碼嵌入式系統(tǒng)開發(fā)平臺。系統(tǒng)使用可視梯形圖編程。
編程語言是模仿國外PLC的產(chǎn)品的語言。但整個(gè)系統(tǒng)是創(chuàng)新,目前了解到的情況只有我們自己在開發(fā)這種軟件開發(fā)平臺,所以照搬的僅僅是個(gè)思路,沒有基礎(chǔ)可以繼承。編程語言和編譯器都完全是自己開發(fā)的。
做這類工作的軟件人員比較少,中國在這方面比較薄弱。一方面是認(rèn)知問題,另一方面技術(shù)積累也有問題,畢竟我們中國的計(jì)算機(jī)軟件起步比較晚。
開發(fā)編程語言和編譯器,我覺得可以理解為開發(fā)軟件包產(chǎn)品,為啥客戶要買你開發(fā)的產(chǎn)品?因此,開發(fā)這類產(chǎn)品必須有很大的先進(jìn)性,或者說能為客戶帶來較大的效益。在開發(fā)某些產(chǎn)品時(shí),客戶很難繞過你的產(chǎn)品進(jìn)行獨(dú)立開發(fā)才行。
比如我們的產(chǎn)品,可以理解為一種單片機(jī)開發(fā)器。因?yàn)槭褂锰菪螆D,大大提高客戶的編程效率。大幅降低人力成本。說的更簡單一點(diǎn),就是把原來碩士才能干的活,變成了中學(xué)生就可以做了。我們主要針對嵌入式市場。如果仔細(xì)考察一下PLC占領(lǐng)工控機(jī)市場的過程,就比較容易理解我們的產(chǎn)品了。
為什么中國出了這么多厲害的互聯(lián)網(wǎng)公司,但沒有自己設(shè)計(jì)過編程語言
本人在互聯(lián)網(wǎng)從事研發(fā),個(gè)人體會沒人做一門新語言是因?yàn)闆]必要。開發(fā)編程語言雖然有難度,但沒有那么難,就好像上班要10公里,可以坐地鐵為啥非要步行?別談理想,傷錢。
另外國人不是沒有參與編程語言開發(fā)的,當(dāng)語言有bug或特性不滿足需求的時(shí)候,會給維護(hù)語言的開源社區(qū)提PR,好多語言可以看到中國程序員和公司的貢獻(xiàn)。
不要所有的問題都站在民粹的角度看,外國有了,我們必須有,全球化的視角下外國有不一定是一個(gè)國家做,很可能是各國都有參與,編程語言,開源數(shù)據(jù)庫,linux內(nèi)核等由社區(qū)維護(hù)就是全人類的智慧貢獻(xiàn)的產(chǎn)物。不要糾結(jié)所有東西都要國人自主研發(fā)的,這樣不是愛國,是浪費(fèi)。
王者榮耀使用什么編程語言開發(fā)的
謝謝悟空小秘書邀請!
王者榮耀的客戶端是用C#開發(fā)、核心后端服務(wù)是用C++開發(fā)的。
曾經(jīng)傳出了騰訊為王者榮耀團(tuán)隊(duì)發(fā)出了最低100個(gè)月最高120個(gè)月的年終獎,不得不說這款游戲是騰訊的超級現(xiàn)金牛,賺得是盆滿缽滿。
大公司技術(shù)棧二三事微軟的核心技術(shù)棧是C/C++/C#,微軟的Windows系統(tǒng)主要是C語言寫底層,應(yīng)用層軟件用了不少C#,大名鼎鼎的office早期是C語言寫的,后來微軟用C++完成了對Office的重寫。微軟還有自己的Unix系統(tǒng),并且可以肯定的是,微軟肯定到現(xiàn)在都還有服務(wù)器跑Unix系統(tǒng)。
Google的核心技術(shù)棧是C/C++/Python/Go等編成語言,尤其是C/C++在Google技術(shù)體系中占據(jù)著非常重要的地位。在Google的程序員中,大部分都用macOS、以及Google定制版的Ubuntu系統(tǒng)。
Facebook的核心技術(shù)棧是C++/PHP,并且用了很大比例的Erlang,F(xiàn)acebook收購的WhatsApp基本上全是用Erlang完成的,WhatsApp的服務(wù)器還是用的FreeBSD,當(dāng)然這主要是因?yàn)閯?chuàng)始人的Yahoo時(shí)的良好FreeBSD背景。
到了國內(nèi),百度的核心技術(shù)棧是C/C++/PHP,騰訊是C++,Java則是阿里巴巴的核心技術(shù)棧。
王者榮耀用什么開發(fā)的?王者榮耀的前臺客戶端是用C#開發(fā)的,當(dāng)然準(zhǔn)確地說是Unity3D開發(fā)的,目前Unity3D是最著名的游戲引擎之一,相比于虛幻引擎來說在移動端應(yīng)用廣泛,而C#就是Unity3D的主要腳本語言。
下載王者榮耀的apk文件解壓,從那些dll文件就可以看出,王者榮耀客戶端背后肯定是Unity3D是主要技術(shù)棧。不是說iOS和Android,就一定是swift和Java開發(fā),在游戲領(lǐng)域因?yàn)樘厥庑裕袑iT的解決方案。
至于王者榮耀的后端服務(wù),基本上就是C++,C++到現(xiàn)在都是騰訊公司的核心技術(shù)棧,并且游戲領(lǐng)域,Java/PHP這些編程語言難度是很大的。
因此王者榮耀的客戶端應(yīng)該是C#(Unity3D)開發(fā)的,核心后端服務(wù)是C++開發(fā),C++也是騰訊最重要的編程語言。
本文為字節(jié)跳動簽約作者EmacserVimer悟空問答原創(chuàng)文章,未經(jīng)允許轉(zhuǎn)載、抄襲必究!計(jì)算機(jī)編程語言有哪些
先說碼農(nóng)。
傳統(tǒng)碼農(nóng):
一、收入低;
二、工作單調(diào);
三、工作時(shí)間長;
四、工作壓力大;
五、單身無對象。
新時(shí)代自嘲碼農(nóng):
一、高工資;
二、不論職位多高都親手寫代碼;
三、在開發(fā)區(qū)等偏遠(yuǎn)的大公司上班。
作為碼農(nóng)必須熟悉計(jì)算機(jī)語言,先科普下,計(jì)算機(jī)語言是什么?
包括機(jī)器語言、匯編語言、高級語言。機(jī)器語言是用二進(jìn)制代碼表示的計(jì)算機(jī)能直接識別和執(zhí)行的一種機(jī)器指令的集合。它是計(jì)算機(jī)的設(shè)計(jì)者通過計(jì)算機(jī)的硬件結(jié)構(gòu)賦予計(jì)算機(jī)的操作功能,比如匯編語言(assemblylanguage)。機(jī)器語言具有靈活、直接執(zhí)行和速度快等特點(diǎn)。高級語言比較容易識記和理解,像CB語言等。
計(jì)算機(jī)編程語言有很多分法,按照所處的層次可分為高級、低級,機(jī)器語言,我們用的最多的是高級語言,其中c是最基礎(chǔ)的,也最為實(shí)用,如linux操作系統(tǒng)就是用c編寫的,c是面向過程的,現(xiàn)在面向?qū)ο缶幊陶Z言很流行,如c++,java,java是網(wǎng)絡(luò)編程語言,有很好的跨平臺能力,,假如你想自己的計(jì)算機(jī)水平很高,匯編語言是必須的。
下面介紹幾種較有代表性的高級程序設(shè)計(jì)語言:
1、BASIC語言
BASIC語言BASIC語言全稱是Beginner'sallPurposeSymbolicInstructionCode,意為"初學(xué)者通用符號指令代碼"。1964年由美國達(dá)爾摩斯學(xué)院的基米尼和科茨完成設(shè)計(jì)并提出了BASIC語言的第一個(gè)版本,經(jīng)過不斷豐富和發(fā)展,現(xiàn)已成為一種功能全面的中小型計(jì)算機(jī)語言。BASIC易學(xué)、易懂、易記、易用,是初學(xué)者的入門語言,也可以作為學(xué)習(xí)其他高級語言的基礎(chǔ)。BASIC有解釋方式和編譯方式兩種翻譯程序。
2、PASCAL語言
PASCAL語言PASCAL是一種結(jié)構(gòu)程序設(shè)計(jì)語言,由瑞士蘇黎世聯(lián)邦工業(yè)大學(xué)的沃斯(N.Wirth)教授研制,于1971年正式發(fā)表。是從ALGOL60衍生的,但功能更強(qiáng)且容易使用。如今,作為一個(gè)能高效率實(shí)現(xiàn)的實(shí)用語言和一個(gè)極好的教學(xué)工具,PASCAL語言在高校計(jì)算機(jī)軟件教學(xué)中一直處于主導(dǎo)地位。Pascal(B.Pascal)是十七世紀(jì)法國著名數(shù)學(xué)家,他于1642年曾發(fā)明現(xiàn)代臺式計(jì)算機(jī)的雛型機(jī)-加減法計(jì)算機(jī)。
PASCAL具有大量的控制結(jié)構(gòu),充分反映了結(jié)構(gòu)化程序設(shè)計(jì)的思想和要求,直觀易懂,使用靈活,既可用于科學(xué)計(jì)算,又能用來編寫系統(tǒng)軟件,應(yīng)用范圍日益廣泛。
3、通用編程語言C
C語言C語言是美國AT&T(電報(bào)與電話)公司為了實(shí)現(xiàn)UNIX系統(tǒng)的設(shè)計(jì)思想而發(fā)展起來的語言工具。C語言的主要特色是兼顧了高級語言和匯編語言的特點(diǎn),簡潔、豐富、可移植。相當(dāng)于其他高級語言子程序的函數(shù)是C語言的補(bǔ)充,每一個(gè)函數(shù)解決一個(gè)大問題中的小任務(wù),函數(shù)使程序模塊化。C語言提供了結(jié)構(gòu)式編程所需要的各種現(xiàn)代化的控制結(jié)構(gòu)。
C語言是一種通用編程語言,正被越來越多的計(jì)算機(jī)用戶所推崇。使用C語言編寫程序,既感覺到使用高級語言的自然,也體會到利用計(jì)算機(jī)硬件指令的直接,而程序員卻無需卷入?yún)R編語言的繁瑣。
4、COBOL語言
COBOL語言COBOL的全稱是CommonBusinessOrientedLanguage,意即:通用商業(yè)語言。
在企業(yè)管理中,數(shù)值計(jì)算并不復(fù)雜,但數(shù)據(jù)處理信息量卻很大。為專門解決經(jīng)企管理問題,于1959年,由美國的一些計(jì)算機(jī)用戶組織設(shè)計(jì)了專用于商務(wù)處理的計(jì)算機(jī)語言COBOL,并于1961年美國數(shù)據(jù)系統(tǒng)語言協(xié)會公布。經(jīng)不斷修改、豐富完善和標(biāo)準(zhǔn)化,已發(fā)展為多種版本。
COBOL語言使用了300多個(gè)英語保留字,大量采用普通英語詞匯和句型,COBOL程序通俗易懂,素有"英語語言"之稱。
COBOL語言語法規(guī)則嚴(yán)格。用COBOL語言編寫的任一源程序,都要依次按標(biāo)識部、環(huán)境部、數(shù)據(jù)部和過程部四部分書寫,COBOL程序結(jié)構(gòu)的"部"內(nèi)包含"節(jié)","節(jié)"內(nèi)包含"段",段內(nèi)包含語句,語句由字或字符串組成,整個(gè)源程序象一棵由根到干,由干到枝,由枝到葉的樹,習(xí)慣上稱之為樹型結(jié)構(gòu)。
如今COBOL語言主要應(yīng)用于情報(bào)檢索、商業(yè)數(shù)據(jù)處理等管理領(lǐng)域。
常用的高級程序設(shè)計(jì)語言,除了上述的幾種之外,還有很多,如以英國著名詩人拜倫(G.N.G.Byron)的獨(dú)生女艾達(dá)·拜倫(AdaByron)的名字命名的軍用語言Ada,深受中、小學(xué)生歡迎的語言LOGO等等。
軟件開發(fā)要學(xué)習(xí)什么語言
首先感謝邀請。針對軟件開發(fā)學(xué)習(xí),首先需要確定一下從業(yè)方向,目前比較火熱的開發(fā)主要分為:物聯(lián)網(wǎng),云計(jì)算大數(shù)據(jù),區(qū)塊鏈,AI,后臺,微信小程序以及Android,IOS等等。
如果你是轉(zhuǎn)行入門,建議學(xué)習(xí)目前比較火的大數(shù)據(jù)方向以及區(qū)塊鏈。可以看一下區(qū)塊鏈方向招聘:
目前區(qū)塊鏈方向的是比較火熱的,可以學(xué)習(xí)一下,主要是算法方向等
大數(shù)據(jù)的招聘也是挺多的
學(xué)習(xí)開發(fā)之前可以去專業(yè)網(wǎng)站看一下招聘的技術(shù)要求以及火熱的招聘職位,就可以看出趨勢。這是跟進(jìn)社會潮流的方式。
第二:學(xué)習(xí)linux,C++,算法等偏底層的方向
開發(fā)有高級語言,例如Java,C++,PHP等。也可以偏底層運(yùn)用的,這些語言學(xué)習(xí)需要下大功夫,處理也是很受歡迎的
第三:構(gòu)建知識體系
例如Java開發(fā)工程師,從業(yè)學(xué)習(xí)需要知道數(shù)據(jù)結(jié)構(gòu),設(shè)計(jì)模式,Java虛擬機(jī),JavaEE,Javaweb等知識,框架sping,spingmvc,spingboot,struts等,mybatis,ibatis等,數(shù)據(jù)庫oracle,mysql,非關(guān)系型數(shù)據(jù)庫:Redis,MongoDB等。這些是需要使用的,還有服務(wù)器tomcat,jboss等部署調(diào)優(yōu),sql數(shù)據(jù)的優(yōu)化等
開發(fā)一套編程語言有多難
謝謝邀請,
開發(fā)一套編程語言,主要存在兩個(gè)障礙,其一:任何一種編程語言都有其存在的必要性,所以要搞明白為什么要弄一套新的編程語言,首先一定要有市場需求所在,編程語言如同一個(gè)產(chǎn)品,一定有強(qiáng)烈的市場需求,編程語言存在的價(jià)值在于生態(tài)鏈,只有具備完善的生態(tài)鏈才能存活的有意義,現(xiàn)在全球有600多種編程語言,主流的編程語言也就是幾十種,而這些編程語言中,都有強(qiáng)大的社區(qū)依托,也就是強(qiáng)大的生態(tài)鏈支撐,生命力才會如此的強(qiáng)大。
其二本身的技術(shù)實(shí)現(xiàn)框架,有些編程語言在誕生之處就能感受到其強(qiáng)大的支配力,可擴(kuò)展性等等特性,在設(shè)計(jì)之處越是想的明白,越是框架清晰,后期越容易維護(hù),編程語言底層實(shí)現(xiàn)基本上靠的都是C語言,所以社會上很多對于內(nèi)在不是很了解到人,說到C語言已經(jīng)是過時(shí)的語言了,現(xiàn)在學(xué)習(xí)意義已經(jīng)不大的論調(diào),只不過在就業(yè)崗位絕對數(shù)量上,和java,python等高級編程語言無法比擬,但在一些關(guān)鍵崗位上離開了C語言還真不行,編寫編程語言就屬于這類的工作,一定需要強(qiáng)大的C語言做支撐。
現(xiàn)在國內(nèi)很多人喊著什么時(shí)候有一套屬于自己的編程語言,現(xiàn)在的易語言就是迎著這種勢頭發(fā)展起來的,雖然很多內(nèi)行程序員不是很認(rèn)可這種編程語言,覺得只是包了一層語言了而已,但畢竟有了中文編程的模式,按照這個(gè)道理應(yīng)該這種編程語言,在國內(nèi)會有一個(gè)非常大的發(fā)展前景,經(jīng)過這些年的發(fā)展,還是沒有登上主流編程語言的舞臺,倒是現(xiàn)在很多游戲輔助軟件都在用這種編程語言去搞,很多學(xué)習(xí)易語言的人就是為了做個(gè)游戲外掛或者輔助夢想著一天能夠賺大錢,在08年之前制作游戲外掛的人基本上賺了大錢,主要當(dāng)初針對游戲外掛的法律還不完善,讓很多人鉆了空子,在08年之后基本上從事這方面的人,從臺前轉(zhuǎn)到了幕后,專心做dll庫文件,從中繼續(xù)謀取暴利,所以編程語言的最難的在于如何普及,如何被大眾認(rèn)可,要成為主流的編程語言首先具備廣泛性,從這點(diǎn)來講英語編程相對來講是比漢語更加有優(yōu)勢,在傳播性更加容易被接收,從各個(gè)層面講,一種編程語言要具備,通用性,兼容性,穩(wěn)定性等特點(diǎn)。
編程語言的設(shè)計(jì)不是為了編寫而編寫,首先要迎合科技發(fā)展的需要,如同C語言的誕生讓程序員擺脫了用匯編編寫程序的痛苦,java等高級語言的誕生又讓程序員不在用面向過程中的語言,去寫復(fù)雜的功能,只需要調(diào)用成熟的類庫就可以輕松完成很強(qiáng)大的功能,主要在于編程語言在向高度集成化的方向發(fā)展,所以好的編程語言一定順應(yīng)科技發(fā)展大趨勢,只有這樣才能圈更多粉絲,建設(shè)更全面的生態(tài)鏈。
好了,本文到此結(jié)束,如果可以幫助到大家,還望關(guān)注本站哦!