① 最難的開發語言
第十名、R語言
R語言,一種自由軟體編程語言與操作環境,主要用於統計分析、繪圖、數據挖掘。R基於S語言的一個GNU計劃項目,所以也可以當作S語言的一種實現,通常用S語言編寫的代碼都可以不作修改的在R環境下運行。R的語法是來自Scheme。
提名詞
R語言作者,George Ross Ihaka:在奧克蘭大學統計系任副教授,是R語言的最初作者。
2
/10
第九名、Python
頒獎詞
Python是一種廣泛使用的高級編程語言,屬於通用型編程語言。作為一種解釋型語言,Python的設計哲學強調代碼的可讀性和簡潔的語法。相比於C++或java,Python讓開發者能夠用更少的代碼表達想法。不管是小型還是大型程序,該語言都試圖讓程序的結構清晰明了。
提名詞
Python語言作者,Guido van Rossum:生於荷蘭哈勒姆,計算機程序員,為Python程序設計語言的最初設計者及主要架構師。
3
/10
第八名、C語言
頒獎詞
C是一種通用的編程語言,廣泛用於系統軟體與應用軟體的開發。C語言具有高效、靈活、功能豐富、表達力強和較高的可移植性等特點。C語言編譯器普遍存在於各種不同的操作系統中,例如Microsoft Windows、macOS、Linux、Unix等。C語言的設計影響了眾多後來的編程語言,例如C++、Objective-C、Java、C#等。
提名詞
C語言作者,Dennis MacAlistair Ritchie:美國計算機科學家。黑客圈子通常稱他為「dmr」。他是C語言的創造者、Unix操作系統的關鍵開發者,對計算機領域產生了深遠影響,並與肯·湯普遜同為1983年圖靈獎得主。
4
/10
第七名、Go
頒獎詞
Go(又稱Golang)是Google開發的一種靜態強類型、編譯型、並發型,並具有垃圾回收功能的編程語言。Go的語法接近C語言,但對於變數的聲明有所不同。Go支持垃圾回收功能。
提名詞
Go語言作者,Robert C. Pike:來自加拿大的程序員,曾經加入貝爾實驗室,為 UNIX小組的成員。他與肯·湯普遜共同開發了UTF-8。目前為 google的工程師,參與編程語言 Go與Sawzall的研發工作。
5
/10
第六名、JavaScript
頒獎詞
JavaScript,通常縮寫為JS,是一種高級的,解釋執行的編程語言。JavaScript是一門基於原型、函數先行的語言,是一門多範式的語言,它支持面向對象編程,命令式編程,以及函數式編程。它已經由ECMA(歐洲計算機製造商協會)通過ECMAScript實現語言的標准化。它被世界上的絕大多數網站所使用,也被世界主流瀏覽器(Chrome、IE、Firefox、Safari、Opera)支持。
提名詞
JavaScript語言作者,Brendan Eich:美國程序員與企業家,JavaScript主要創造者與架構師,曾任Mozilla公司的首席技術官,並曾短暫擔任首席執行官。
6
/10
第五名、Objective-C
頒獎詞
Objective-C是一種通用、高級、面向對象的編程語言。它擴展了標準的ANSI C編程語言,將Smalltalk式的消息傳遞機制加入到ANSI C中。目前主要支持的編譯器有GCC和Clang(採用LLVM作為後端)。
提名詞
Objective-C作者,Brad Cox:美國計算機科學家。於傅爾曼大學主修化學與數學,於芝加哥大學取得數學生物學博士學位。Objective-C主要作者。
7
/10
第四名、PHP
頒獎詞
PHP(全稱:PHP:Hypertext Preprocessor,即「PHP:超文本預處理器」)是開源的通用計算機腳本語言,尤其適用於網路開發並可嵌入HTML中使用。PHP的語法借鑒吸收C語言、Java和Perl等流行計算機語言的特點,易於一般程序員學習。PHP的主要目標是允許網路開發人員快速編寫動態頁面,但PHP也被用於其他很多領域。
提名詞
PHP語言作者,Rasmus Lerdorf:出生於格陵蘭島凱凱塔蘇瓦克,是一個丹麥程序員,他擁有加拿大國籍。他也是編程語言PHP的創始人,其中PHP的頭兩個版本是由他編寫的,後來他也參與PHP後續版本的開發。
8
/10
第三名、Java
頒獎詞
Java是一種廣泛使用的計算機編程語言,擁有跨平台、面向對象、泛型編程的特性,廣泛應用於企業級Web應用開發和移動應用開發。Java編程語言是個簡單、面向對象、分布式、解釋性、健壯、安全與系統無關、可移植、高性能、多線程和動態的語言。
提名詞
Java語言作者,James Gosling:出生於加拿大,軟體專家,Java編程語言的共同創始人之一,一般公認他為「Java之父」。
9
/10
第二名、C++
頒獎詞
C++是一種使用廣泛的計算機程序設計語言。它是一種通用程序設計語言,支持多重編程模式,例如過程化程序設計、數據抽象、面向對象程序設計、泛型程序設計和設計模式等。
提名詞
C++語言作者,Bjarne Stroustrup:生於丹麥奧胡斯郡,計算機科學家。他以創造C++編程語言而聞名,被稱為「C++之父」。
10
/10
第一名、Visual Basic .NET
頒獎詞
Visual Basic .NET(VB.NET)是.NET Framework框架下的一種多重編程範式高級語言。Visual Basic .NET屬Basic系語言,其語法特點是以極具親和力的英文單詞為基礎標識,以及與自然語言極其相近的邏輯表達,有時候你會覺得寫VB.NET代碼就好像在寫英文句子一樣,從這個角度來說,VB.NET似乎是最高級的一門編程語言,當然在Basic系語言中VB.NET也確實是迄今為止最強大的一門編程語言。
提名詞
Visual Basic .NET作者,Alan Cooper:交互設計的提倡者。庫珀有些時候被叫做 Visual Basic 之父,雖然大多數的工作是由微軟的內部開發團隊完成的,但是對於Windows可視化設計工具的創意是來源於庫珀的。
② Java學習有哪些重點和難點
Java學習第一個重點難點——JDK開發環境安裝
首先是Java開發環境的各種版本選擇,一般情況下我們需要從JDK官網下載最新版本的JDK文件(但是還需要注意你所學習的圖書或者視頻使用的是哪個版本的JDK),根據自己電腦的系統選擇對應的安裝包。
其次在安裝過程中一定要設置環境變數的路徑,這個過程非常關鍵,會直接影響你的JDK是否可以正常使用。最終還要在「命令提示符」中驗證,是否已經真正地完成了JDK的安裝。
Java學習第二個重點難點——變數的理解
變數是入門Java開發的首個概念性的思維轉變,目前所有的編程語言都是完成人類語言到機器語言的轉變過渡方式。變數則是貫穿整個Java編程開發的核心知識點。例如變數的各種不同的類型、變數的命名規則、變數之間的轉換、變數賦值時的初始化的理解,變數的相關運算符的使用等等。
Java學習第三個重點難點——OOP面向對象編程思想
Java作為高級編程語言,最大的特點就是採用面向對象編程思想,與面向過程的編程方法相比,OOP能夠大幅度的提高代碼運行效率。在面向對象中需要重點理解類、對象、抽象類、介面、封裝、集成和多態的概念。在Java編程開發中,大部分實戰項目都是採用面向對象的思維進行開發,因此重點理解和掌握OOP是學習Java編程開發的重中之重。所以掌握面向對象的概念並且能夠熟練運用是一個Java開發工程師最基本要求。在學習過程中,應該盡可能多地去進行實操練習。
Java學習第四個重點難點——多線程
在大型項目中,多線程是眾多Java程序員的技術門檻,單純的概念理解可能並不是很困難,最重要的是要掌握多線程的核心原理以及多線程的實際應用。包括多線程的創建、現成的 生命周期、鎖的概念、線程安全等問題。在實際編程開發中,多線程是出現BUG最多的位置,而避免BUG出現的最好方法就是深刻理解多線程的原理,總結歸納多線程經常出現異常的位置,並快速響應找到對應的解決方案。
Java學習中的第五個重點難點——異常
異常是每一個Java開發者不可避免的問題。包括Error、Runtime Exception、Exception、throw自定義異常等等。之前接觸到很多同學遇到異常就會手忙腳亂,其實大部分異常都是可以通過調式解決掉,也有很多異常是由於開發者的編碼錯誤引發的,因此遇到異常首先要分析異常產生的原因,逐層去調式獲取引發異常的位置,然後不斷的總結歸納引發異常的各種原因,在學習工作中不斷的提高自己解決問題的能力。學習異常的方法有兩種,一種就是系統地去了解各種異常的種類,並理解其引發異常的原因,在實際遇到問題的時候先套用方法,然後再尋找不同的解決方案。另外一種方法就是學習中進行大量的練習,在練習過程中遇到異常後根據實際情況去排查異常產生原因並總結歸納。
Java學習中的其他重點難點
雖然在文中沒有重點提到循環、構造函數、I/O和序列化、各種設計模式等等關鍵內容。對於初學者來說,每一個新的知識點都有一個理解到運用的過程,最重要的是能在學習中掌握所學知識點的底層原理和實際應用。Java編程開發作為一門實操性非常強的技術,單純的理論知識無法支撐你的快速就業,能夠真正動手編碼並實現相應的功能才是學習Java最終的目的。
③ 程序員難嗎
程序員 好嗎?全面的?
程序員很累的,當然不要以為他們很牛,其實大部分將近90%的人水平一般,大家通常晚上加班搞到凌晨一兩點,因此很多人不到30歲開始轉行了,在中國這個大環境下,很多人基本上在35歲左右基本不做程序了。
程序員基本比正常人壽命少10歲
大家好,程序員好做嗎?
記得,胖梗不是一口吃出來的,還有一點,要提醒你,我也學編程的,上學的時候老師說,程序員和小姐都一樣,都是吃青春飯的,當時不理解,畢業工作以後才明白,下了班站著都能睡著。而且程序員老了以後會有不同程度的腦萎縮,這個我沒法證實,聽說而已。還有,學程序最重要就是基礎,然後看一些簡單的小程序開拓思維,鍛煉邏輯思維能力,再做幾個案例,就可以試著找找工作了。
程序員難學嗎
比較難,因為這需要一定的羅冊氏碼輯思維能力。
如果中學的數理化學得不好,編程也通常學不好,倒不是說編程的時候需要用到多少數理化的知識,但體現了邏輯思維能力。
做個程序員到底好不好
做程序員其實還是非常不錯的,至少就就業薪資待遇來說,是其他行業無法超越的。其他行業想要薪資過萬的話,可能要奮斗好多年,各種評職稱,各種考證,但是在程序開發行業,只要你不斷提升自己的技能,薪資過兩萬都是非常容易的。
轉行做程序員到底好不好
整個IT行業的核心就是軟體,網路和通訊只是IT行業的信息載體。
因此IT行業收入高,利潤大的企業就是軟體企業,軟體企業里相對「高,精,尖」的是項目分析師,州哪需求分析師,及應用人員,程序設計師,他們所佔總人數不過10%,其餘80%都是程序員,高精尖人員也是逐步從程序員基礎做起,經過一段時間積累,可以成長成為軟體工程師,項目分析師直至項目經理。從未來的職業發展道理來看,學軟體的技術能力發展空間更大。未來職業提升空間,相對工資和收入提升空間都要更大。
所以做程序員的發展空間和前景都是不錯的.
新手程序員找工作就那麼難么
你好。現在年底了,不過最重要的是要對自己有信心。相信自己能行的!加油,一定會找到好的工作的。
程序員很苦嗎?編程難嗎?
其實看個人心理的 我也學編程的 ,學一個星期了 感覺基本不難的。
做軟體測試比程序員工作更難嗎?
軟體測試員必須有卡法經驗的,不然還真做不了,軟體測試員對程序理解能力要很強...
為什麼都說程序員不好
其實我覺得程序員也沒有不好吧,工作壓力比較大而且經常加班到半夜吧,但是收入相對高啊。現在這個時代程序員很吃香的。
有沒有做程序員的,程序好核凳做么?
我原來就是學習計算機軟體專業的。我的經驗就是:如果只是一個簡單的程序員,那麼可能還稍微容易一些,有的只要求高中畢業學歷就可以;但是如果是要求你自己學會設計演算法和數據結構(這在學習計算機軟體專業中是必修課),並且能夠用程序實現你的演算法,那麼就比程序員要難一些了,這個學歷至少得本科學歷。
④ java難學嗎
難學。
Java是編程語言中比較難學的一門語言,它的難度並不低,相對比於C語言、Python語言來說,學習難度要比Java輕松很多;Java的學習中最難得就是,各種各樣的框架,框架的使用、整合、最後項目;學習Java剛開始要學習各種各樣的基礎知識。
Java是有一個龐大的生態系統,它的覆蓋范圍非常廣,而且已經連續十幾年位居開發語言的榜首,所以Java是相對於其他語言來說,非常穩定的。
(4)程序員最難的項目擴展閱讀:
Java對程序員來說,這意味著要注意應中的數據和操縱數據的方法(method),而不是嚴格地用過程來思考。在一個面向對象的系統中,類(class)是數據和操作數據的方法的集合。
數據和方法一起描述對象(object)的狀態和行為。每一對象是其狀態和行為的封裝。類是按一定體系和層次安排的,使得子類可以從超類繼承行為。在這個類層次體系中有一個根類,它是具有一般行為的類。Java程序是用類來組織的。
⑤ JAVA編程是不是很難學
關於java難不難的問題,不同的人肯定有不同的看法,掌握了方法,就可以用更有效率的方式進行學習。
java是目前主流的開發語言,程序員不論是大數據、雲計算、web前端、後端開發等都需要從java學起,如果你想計入IT高薪行列,建議學java!
java學習內容主要有:
①JAVA編程基礎(基礎語法、面向對象、和諧特性等)
②WEB應用開發(靜態網頁製作、Oracle資料庫、Java Web開發技術、Linux技術、網站性能與安全、軟體工程開發流程、Java Web和諧等)
③企業級框架開發(數據結構與演算法、SSH框架、JavaEE和諧等)
④項目實訓
互聯網行業目前還是最熱門的行業之一,學習IT技能之後足夠優秀是有機會進入騰訊、阿里、網易等互聯網大廠高薪就業的,發展前景非常好,普通人也可以學習。
想要系統學習,你可以考察對比一下開設有相關專業的熱門學校,好的學校擁有根據當下企業需求自主研發課程的能力,能夠在校期間取得大專或本科學歷,中博軟體學院、南京課工場、南京北大青鳥等開設相關專業的學校都是不錯的,建議實地考察對比一下。
祝你學有所成,望採納。
⑥ Java編程語言那一部分最難
很多剛接觸Java編程的同學都覺得學習Java編程很簡單,但是學到後期越學越吃力,今天我就總結一下Java編程哪一階段最難學。
目前來看,對於那些打算通過學習Java來找到一份工作的同學來說,可以分為三個學習階段,初級,中級,高級。不同的學習階段有不同的難點,下面來分這三個階段看下。
初級:面向對象,基本上大多數同學在學到這個概念的時候都會懵逼,太抽象了,邏輯思維不太好的同學,掉到這個坑裡就很難再爬上來。多線程,這個也是初級裡面比較難學的一個章節,而且有些已經工作兩三年的同學對這個知識點仍然是一知半解,大多數Java初級程序員在工作當中也接觸不到這方法的Java編程開發工作。
中級:這塊最難的恐怕就是要學的知識點太多了,無從下手,前台的html,css,Javascript,後台的servlet,jdbc,資料庫,tomcat,要學習的知識點真的是太多了,零基礎學習Java剛學到這塊知識的時候,會覺著比較雜亂,不過只要是把這部分的知識點掌握了,再去學習Java編程後面框架的知識,會容易很多。
高級:對於能夠學習到這塊知識的同學,Java編程對他來說已經沒有難學的了。萬變不離其宗,只要是把前面的Java編程基礎知識掌握好,後面會越來越容易。
以上就是我總結的Java編程各階段的難點匯總。萬事開頭難,有很多人都倒在了hello world上面。只要你用心,Java編程其實並不難
⑦ 對程序員來說最難的是寫代碼嗎
謝邀。我是一名Java後台開發,還是一名工作沒多久的「碼農」。寫代碼作為工作的一部分其實不算難,甚至程序員寫代碼的時間比其他事情花的更少。我就分享一下咱們Java後端開發的小體會吧:
初級程序猿大部分都是寫增刪改查的業務代碼,增刪改查最需要技術含量的是查,歸根結底都是寫SQL語句,有的業務邏輯復雜一點就SQL語句復雜一點,或者資料庫里不好處理就在Java代碼里處理。只要資料庫學的還行,MySQL比較會用,Java功底有一定基礎,基本上都能勝任敲代碼的工作。
文|熱心哥哥宇文笑
文|熱心哥哥宇文笑
業務復雜
,有的系統尤其是一些toB的系統,比如一個上市公司的超市人力管理系統,這是非常復雜的,人事組織,薪資社保,還要針對不同地區分公司不同類別的員工進行不同的代碼處理。
業務復雜
需求變動頻繁
,有些項目的顧問或者產品經理沒把控好,導致需求被客戶拖著走,搞產品的可能覺得也就變化一點點東西,實際上有的功能代碼需要後端重寫,資料庫的表結構一變,那改動也是得跟著變。咱們敲代碼的朋友最不喜歡的就是返工,我們寧願去接受更多的開發新任務也不想再去重寫自己以前寫的代碼。(不用說什麼重構,這些業務代碼重構其實並沒有什麼技術上的突破)
需求變動頻繁
代碼優化
,其實比較難得住人得,尤其是難住我們這些剛入行的程序員。有的業務數據量龐大,就得先考慮資料庫優化,代碼多線程優化,總之優化代碼倒是一件比較進階的拆事,比敲代碼難。
代碼優化
來說說,作為程序員的你,最難的什麼呢?
⑧ 為什麼很多人都覺得編程難,難在哪裡
作為一名大二的信息安全學生,在兩年期間已經接觸了c,c++,java等多種編程語言,也深感編程的困難。在我看來,編程真正的難度不是那些語法,那些東西少則幾天多則幾個月總能理解。
真正難的是層出不窮的問題和方法,所以我一直覺得,書上講的東西都不難,難的是你自己去實踐那些書上沒有的東西。
二、多練多看,閱讀別人的代碼
我在學習編程的時候就喜歡多看別人的代碼,看一些程序員大佬寫的代碼,看一些標准庫的代碼,仔細思考他們的編程思維和編程方式。
此外,學習過程中結合項目做一些實踐,來明確自己的不足,給自己提供一些正反饋,讓自己也更有動力繼續學習。
質而言之,編程確實不是一件容易的事,但只要你持之以恆不斷精益求精,也肯定能獲得一定的成果。
⑨ 編程什麼最難
計算機語言的種類非常的多,總的來說可以分成機器語言,匯編語言,高級語言三大類。
電腦每做的一次動作,一個步驟,都是按照以經用計算機語言編好的程序來執行的,程序是計算機要執行的指令的集合,而程序全部都是用我們所掌握的語言來編寫的。所以人們要控制計算機一定要通過計算機語言向計算機發出命令。
計算機所能識別的語言只有機器語言,即由0和1構成的代碼。但通常人們編程時,不採用機器語言,因為它非常難於記憶和識別。
目前通用的編程語言有兩種形式:匯編語言和高級語言。
匯編語言的實質和機器語言是相同的,都是直接對硬體操作,只不過指令採用了英文縮寫的標識符,更容易識別和記憶。它同樣需要編程者將每一步具體的操作用命令的形式寫出來。匯編程序通常由三部分組成:指令、偽指令和宏指令。匯編程序的每一句指令只能對應實際操作過程中的一個很細微的動作,例如移動、自增,因此匯編源程序一般比較冗長、復雜、容易出錯,而且使用匯編語言編程需要有更多的計算機專業知識,但匯編語言的優點也是顯而易見的,用匯編語言所能完成的操作不是一般高級語言所能實現的,而且源程序經匯編生成的可執行文件不僅比較小,而且執行速度很快。
高級語言是目前絕大多數編程者的選擇。和匯編語言相比,它不但將許多相關的機器指令合成為單條指令,並且去掉了與具體操作有關但與完成工作無關的細節,例如使用堆棧、寄存器等,這樣就大大簡化了程序中的指令。同時,由於省略了很多細節,編程者也就不需要有太多的專業知識。
高級語言主要是相對於匯編語言而言,它並不是特指某一種具體的語言,而是包括了很多編程語言,如目前流行的VB、VC、FoxPro、Delphi等,這些語言的語法、命令格式都各不相同。
高級語言所編制的程序不能直接被計算機識別,必須經過轉換才能被執行,按轉換方式可將它們分為兩類:
解釋類:執行方式類似於我們日常生活中的「同聲翻譯」,應用程序源代碼一邊由相應語言的解釋器「翻譯」成目標代碼(機器語言),一邊執行,因此效率比較低,而且不能生成可獨立執行的可執行文件,應用程序不能脫離其解釋器,但這種方式比較靈活,可以動態地調整、修改應用程序。
編譯類:編譯是指在應用源程序執行之前,就將程序源代碼「翻譯」成目標代碼(機器語言),因此其目標程序可以脫離其語言環境獨立執行,使用比較方便、效率較高。但應用程序一旦需要修改,必須先修改源代碼,再重新編譯生成新的目標文件(* .OBJ)才能執行,只有目標文件而沒有源代碼,修改很不方便。現在大多數的編程語言都是編譯型的,例如Visual C++、Visual Foxpro、Delphi等。
[NextPage]
學習編程,從何入手
如果您想學習編程,卻又不知從何入手,那麼您不妨看看下面的幾種學習方案,可能會給您一些啟示吧!
==============================================
方案一Basic語言 & Visual Basic
優點
(1)Basic 簡單易學,很容易上手。
(2)Visual Basic 提供了強大的可視化編程能力,可以讓你輕松地做出漂亮的程序。
(3)眾多的控制項讓編程變得象壘積木一樣簡單。
(4)Visual Basic 的全部漢化讓我們這些見了English就頭大的人喜不自禁。
缺點
(1)Visual Basic 不是真正的面向對象的開發文具。
(2)Visual Basic 的數據類型太少,而且不支持指針,這使得它的表達能力很有限。
(3)Visual Basic 不是真正的編譯型語言,它產生的最終代碼不是可執行的,是一種偽代碼。它需要一個動態鏈接庫去解釋執行,這使得Visual Basic 的編譯速度大大變慢。
綜述:方案一適合初涉編程的朋友,它對學習者的要求不高,幾乎每個人都可以在一個比較短的時間里學會vB編程,並用VB 做出自己的作品。對於那些把編程當做游戲的朋友來說,VB 是您最佳的選擇。
Basic/Visual Basic簡介
==============================================
方案二Pascal語言 & Delphi
優點
(1)Pascal語言結構嚴謹,可以很好地培養一個人的編程思想。
(2)Delphi是一門真正的面向對象的開發工具,並且是完全的可視化。
(3)Delphi使用了真編譯,可以讓你的代碼編譯成為可執行的文件,而且編譯速度非常快。
(4)Delphi具有強大的資料庫開發能力,可以讓你輕松地開發資料庫。
缺點
Delphi幾乎可以說是完美的,只是Pascal語言的過於嚴謹讓人感覺有點煩。
綜述: 方案二比較適合那些具有一定編程基礎並且學過Pascal語言的朋友。
Pascal語言簡介
Delphi簡介
==============================================
方案三C語言 & Visual C++
優點
(1)C語言靈活性好,效率高,可以接觸到軟體開發比較底層的東西。
(2)微軟的MFC庫博大精深,學會它可以讓隨心所欲地進行編程。
(3)VC是微軟製作的產品,與操作系統的結合更加緊密。
缺點
對使用者的要求比較高,既要具備豐富的C語言編程經驗,又要具有一定的WINDOWS編程基礎,它的過於專業使得一般的編程愛好者學習起來會有不小的困難。
綜述: VC是程序員用的東西。如果你是一個永不滿足的人,而且可以在編程上投入很大的精力和時間,那麼學習VC你一定不會後悔的。
C語言簡介
==============================================
方案四C++語言 & C++ Builder
優點
(1)C++語言的優點全部得以繼承。
(2)完全的可是化。
(3)極強的兼容性,支持OWL、VCL和MFC三大類庫。
(4)編譯速度非常快。
缺點
由於推出的時間太短,關於它的各種資料還不太多。
綜述:我認為C++ Builder 是最好的編程工具。它既保持了C++語言編程的優點,又做到了完全的可視化。
C語言簡介
==============================================
方案五SQL語言 & Power Builder
對於一些傳統的數據開發人員來說,Foxpro系列也許讓他們感到更加熟悉。但是對於初學者來說,PowerBuilder也許是最好的資料庫開發工具。各種各樣的控制項,功能強大的PowerBuilder語言都會幫助你開發出自己的資料庫應用程序。
[NextPage]
JSP簡介
在Sun正式發布JSP(Java Server Pages)之後,這種新的Web應用開發技術很快引起了人們的關注。JSP為創建高度動態的Web應用提供了一個獨特的開發環境。按照 Sun 的說法,JSP能夠適應市場上包括Apache WebServer 、IIS4.0在內的85%的伺服器產品。
JSP與ASP的簡單比較
JSP與Microsoft的ASP技術非常相似。兩者都提供在HTML代碼中混合某種程序代碼、由語言引擎解釋執行程序代碼的能力。在ASP或JSP環境下,HTML代碼主要負責描述信息的顯示樣式,而程序代碼則用來描述處理邏輯。普通的HTML頁面只依賴於Web伺服器,而ASP和JSP頁面需要附加的語言引擎分析和執行程序代碼。程序代碼的執行結果被重新嵌入到HTML代碼中,然後一起發送給瀏覽器。ASP和JSP都是面向Web伺服器的技術,客戶端瀏覽器不需要任何附加的軟體支持。
ASP的編程語言是VBScript之類的腳本語言,JSP使用的是Java,這是兩者最明顯的區別。
此外,ASP與JSP還有一個更為本質的區別:兩種語言引擎用完全不同的方式處理頁面中嵌入的程序代碼。在ASP下,VBScript代碼被ASP引擎解釋執行;在JSP下,代碼被編譯成Servlet並由Java虛擬機執行,這種編譯操作僅在對JSP頁面的第一次請求時發生。
運行環境
執行 JSP 代碼需要在伺服器上安裝 JSP 引擎。此處我們使用的是 Sun 的 JavaServer Web Development Kit ( JSWDK )。為便於學習,這個軟體包提供了大量可供修改的示例。安裝 JSWDK 之後,只需執行 startserver 命令即可啟動伺服器。在默認配置下伺服器在埠 8080 監聽,使用 http://localhost:8080 即可打開預設頁面。
在運行 JSP 示例頁面之前,請注意一下安裝 JSWDK 的目錄,特別是" work "子目錄下的內容。執行示例頁面時,可以在這里看到 JSP 頁面如何被轉換成 Java 源文件,然後又被編譯成 class 文件(即 Servlet )。 JSWDK 軟體包中的示例頁面分為兩類,它們或者是 JSP 文件,或者是包含一個表單的 HTML 文件,這些表單均由 JSP 代碼處理。與 ASP 一樣, JSP 中的 Java 代碼均在伺服器端執行。因此,在瀏覽器中使用"查看源文件"菜單是無法看到 JSP 源代碼的,只能看到結果 HTML 代碼。所有示例的源代碼均通過一個單獨的" examples "頁面提供。
Java Servlet是一種開發Web應用的理想構架。 JSP以Servlet技術為基礎,又在許多方面作了改進。JSP頁面看起來象普通HTML頁面,但它允許嵌入執行代碼,在這一點上,它和ASP技術非常相似。利用跨平台運行的JavaBean 組件,JSP為分離處理邏輯與顯示樣式提供了卓越的解決方案。JSP必將成為ASP技術的有力競爭者。
[NextPage]
SQL語言簡介
SQL全稱是「結構化查詢語言(Structured Query Language)」,最早的是IBM的聖約瑟研究實驗室為其關系資料庫管理系統SYSTEM R開發的一種查詢語言,它的前身是SQUARE語言。SQL語言結構簡潔,功能強大,簡單易學,所以自從IBM公司1981年推出以來,SQL語言,得到了廣泛的應用。如今無論是像Oracle ,Sybase,Informix,SQL server這些大型的資料庫管理系統,還是像Visual Foxporo,PowerBuilder這些微機上常用的資料庫開發系統,都支持SQL語言作為查詢語言。
Structured Query Language包含4個部分:
數據查詢語言DQL-Data Query Language SELECT
數據操縱語言DQL-Data Manipulation Language INSERT, UPDATE, DELETE
數據定義語言DQL-Data Definition Language CREATE, ALTER, DROP
數據控制語言DQL-Data Control Language COMMIT WORK, ROLLBACK WORK
SQL的歷史
在70年代初,E.E.Codd首先提出了關系模型。70年代中期,IBM公司在研製 SYSTEM R關系資料庫管理系統中研製了SQL語言,最早的SQL語言(叫SEQUEL2)是在1976 年 11 月的IBM Journal of R&D上公布的。
1979年ORACLE公司首先提供商用的SQL,IBM公司在DB2 和SQL/DS資料庫系統中也實現了SQL。
1986年10月,美國ANSI採用SQL作為關系資料庫管理系統的標准語言(ANSI X3. 135-1986),後為國際標准化組織(ISO)採納為國際標准。
1989年,美國ANSI採納在ANSI X3.135-1989報告中定義的關系資料庫管理系統的SQL標准語言,稱為ANSI SQL 89, 該標准替代ANSI X3.135-1986版本。該標准為下列組織所採納:
● 國際標准化組織(ISO),為ISO 9075-1989報告「Database Language SQL With Integrity Enhancement」
● 美國聯邦政府,發布在The Federal Information Processing Standard Publication(FIPS PUB)127
目前,所有主要的關系資料庫管理系統支持某些形式的SQL語言, 大部分資料庫打算遵守ANSI SQL89標准。
SQL的優點
SQL廣泛地被採用正說明了它的優點。它使全部用戶,包括應用程序員、DBA管理員和終端用戶受益非淺。
(1) 非過程化語言
SQL是一個非過程化的語言,因為它一次處理一個記錄,對數據提供自動導航。SQL允許用戶在高層的數據結構上工作,而不對單個記錄進行操作,可操作記錄集。所有SQL 語句接受集合作為輸入,返回集合作為輸出。SQL的集合特性允許一條SQL語句的結果作為另一條SQL語句的輸入。 SQL不要求用戶指定對數據的存放方法。 這種特性使用戶更易集中精力於要得到的結果。所有SQL語句使用查詢優化器,它是RDBMS的一部分,由它決定對指定數據存取的最快速度的手段。查詢優化器知道存在什麼索引,哪兒使用合適,而用戶從不需要知道表是否有索引,表有什麼類型的索引。
(2) 統一的語言
SQL可用於所有用戶的DB活動模型,包括系統管理員、資料庫管理員、 應用程序員、決策支持系統人員及許多其它類型的終端用戶。基本的SQL 命令只需很少時間就能學會,最高級的命令在幾天內便可掌握。 SQL為許多任務提供了命令,包括:
● 查詢數據
● 在表中插入、修改和刪除記錄
● 建立、修改和刪除數據對象
● 控制對數據和數據對象的存取
● 保證資料庫一致性和完整性
以前的資料庫管理系統為上述各類操作提供單獨的語言,而SQL 將全部任務統一在一種語言中。
(3) 是所有關系資料庫的公共語言
由於所有主要的關系資料庫管理系統都支持SQL語言,用戶可將使用SQL的技能從一個RDBMS轉到另一個。所有用SQL編寫的程序都是可以移植的。
[NextPage]
Java語言簡介
一. Java的由來
當1995年SUN推出Java語言之後,全世界的目光都被這個神奇的語言所吸引。那麼Java到底有何神奇之處呢?
Java語言其實最是誕生於1991年,起初被稱為OAK語言,是SUN公司為一些消費性電子產品而設計的一個通用環境。他們最初的目的只是為了開發一種獨立於平台的軟體技術,而且在網路出現之前,OAK可以說是默默無聞,甚至差點夭折。但是,網路的出現改變了OAK的命運。
在Java出現以前。Internet上的信息內容都是一些乏味死板的HTML文檔。這對於那些迷戀於WEB瀏覽的人們來說簡直不可容忍。他們迫切希望能在WEN中看到一些互動式的內容,開發人員也極希望能夠在WEB上創建一類無需考慮軟硬體平台就可以執行的應用程序,當然這些程序還要有極大的安全保障。對於用戶的這種要求,傳統的編程語言顯得無能為力,面SUN的工程師敏銳地察覺到了這一點,從1994年起,他們開始將OAK技術應用於WEB上,並且開發出了HotJava的第一個版本。當SUN公司1995年正式以Java這個名字推出的時候,幾乎所有的WEB開發人員都想到:噢,這正是我想要的。於是Java成了一顆耀眼的明星,丑小鴨一下了變成了白天鵝。
二. Java的定義
Java是一種簡單的,面象對象的,分布式的,解釋的,鍵壯的安全的,結構的中立的,可移植的,性能很優異的多線程的,動態的語言。
Java的開發環境有不同的版本,如sun公司的Java Developers Kit, 簡稱 JDK。後來微軟公司推出了支持Java規范的Microsoft Visual J++ Java開發環境,簡稱 VJ++。
三. Java的特點
1. 平台無關性
平台無關性是指Java能運行於不同的平台。Java引進虛擬機 原理,並運行於虛擬機,實現不同平台的Java介面之間。使 用Java編寫的程序能在世界范圍內共享。Java的數據類型與 機器無關,Java虛擬機(Java Virtual Machine)是建立在 硬體和操作系統之上,實現Java二進制代碼的解釋執行功能, 提供於不同平台的介面的。
2. 安全性
Java的編程類似C++,學習過C++的讀者將很快掌握Java的精 髓。Java舍棄了C++的指針對存儲器地址的直接操作,程序 運行時,內存由操作系統分配,這樣可以避免病毒通過指 針侵入系統。Java對程序提供了安全管理器,防止程序的 非法訪問。
3. 面向對象
Java 吸取了C++面向對象的概念,將數據封裝於類中,利用類 的優點,實現了程序的簡潔性和便於維護性。類的封裝性、 繼承性等有關對象的特性,使程序代碼只需一次編譯,然後 通過上述特性反復利用。程序員只需把主要精力用在類和接 口的設計和應用上。Java 提供了眾多的一般對象的類,通 過繼承即可使用父類的方法。在 Java 中,類的繼承關系是單一的非多重的,一個子類 只有一個父類,子類的父類又有一個父類。Java 提供的 Object 類及其子類的繼承關系如同一棵倒立的樹形,根類 為 Object 類, Object 類功能強大,經常會使用到它及其 它派生的子類。
4. 分布式
Java建立在擴展TCP/IP網路平台上。庫函數提供了用HTTP和FTP協議傳送和接受信息的方法。這使得程序員使用網路上的文件和使用本機文件一樣容易。
5. 鍵壯性
Java致力於檢查程序在編譯和運行時的錯誤。類型檢查幫助檢查出許多開發早期出現的錯誤。Java自已操縱內存減少了內存出錯的可能性。Java還實現了真數組,避免了覆蓋數據的可能。這些功能特徵大大提高了開發Java應用程序的周期。Java提供: Null指針檢測、 數組邊界檢測、 異常出口、 Byte code校驗。
四. Java與C/C++語言
Java提供了一個功能強大語言的所有功能,但幾乎沒有一點含混特徵。C++安全性不好,但C和C++被大家接受,所以Java設計成C++形式,讓大家很容易學習。
Java去掉了C++語言的許多功能,讓Java的語言功能很精煉,並增加了一些很有用的功能,如自動收集碎片。
Java去掉了以下幾個C和C++功能:
指針運算
結構
typedefs
#define
需要釋放內存
這將減少了平常出錯的50%。而且,Java很小,整個解釋器只需215K的RAM。
面象對象:Java實現了C++的基本面象對象技術並有一些增強,(為了語言簡單,刪除了一些功能)。Java處理數據方式和用對象介面處理對象數據方式一樣。
五. Java與Internet
我們知道,早先的 www 僅可以傳送文本和圖片,Java的出現實現了互動的頁面,是一次偉大的革命。
Java並不是為 Internet,WWW而設計的,它也可以用來編寫獨立的應用程序。Java 是一種面向對象語言。Java 語言類似於 C++ 語言,所以已熟練掌握 C++語言的編程人員,再學習 Java 語言就容易得多!Java 程序需要編譯。實際上有兩種 Java 程序:一種 Java 應用程序是一個完整的程序,如 Web 瀏覽器。一種 Java 小應用程序是運行於 Web 瀏覽器中的一個程序.
Java程序和它的瀏覽器HotJava,提供了可讓你的瀏覽器運行程序的方法。你能從你的瀏覽器里直接播放聲音。你還能播放頁面里的動畫。Java還能告訴你的瀏覽器怎樣處理新的類型文件。當我們能在2400 baud線上傳輸視頻圖象時,HotJava將能顯示這些視頻。
當今Internet的一大發展趨勢是電子商務,而Internet的安全問題是必須解決的問題,通常大的部門應設置防火牆,阻止非法侵入。
電子商務是當今的熱門話題,然而傳統的編程語言難以勝任電子商務系統,電子商務要求程序代碼具有基本的要求:安全、可靠、同時要求能 與運行於不同平台的機器的全世界客戶開展業務。Java以其強安全性、平台無關性、硬體結構無關性、語言簡潔同時面向對象,在網路編程語言中占據無可比擬的優勢,成為實現電子商務系統的首選語言。
Java程序被放置在Internet伺服器上,當用戶訪問伺服器時,Java程序被下載到本地的用戶機上,由瀏覽器解釋運行。
[NextPage]
PowerBuilder簡介
PowerBuilder的產生
PowerBuilder是美國著名的資料庫應用開發工具生產廠商PowerSoft推出的成功產品,其第一版於1991年6月正式投入市場。它是完全按照客戶/伺服器體系結構研製設計的,採用面向對象技術,圖形化的應用開發環境,是資料庫的前端開發工具。
PowerBuilder的特點
它支持應用系統同時訪問多種資料庫,其中既包括Oracel,Sybase之類的大型資料庫,又包括FOXPRO之類支持ODBC介面的小型資料庫,PowerBuilder是完全可視化的資料庫開發工具,它提供了大量的控制項,大大加快了項目的開發速度,也使開發者更容易掌握資料庫的開發。
它使用的編程語言叫做工PowerScripr,它也是一種高級的,結構化的編程語言。PowerScript提供了一套完整的嵌入式SQL語句,開發人員可以像使用其它語句一樣自由地使用SQL語言,這樣就大大增強了程序操縱和訪問資料庫的能力。可以說PowerBuilder既適合初學者快速學習資料庫的開發,又可以讓有經驗的開發人員開發出功能強大的資料庫,是一種適用面非常廣的開發工具。
PowerBuilder是一個用來進行客戶/伺服器開發的完全的可視化開發環境。使用PowerBuilder,你可以用一種可視的直觀的方式來創建應用程序的用戶界面和資料庫介面。這是一個總的概念,實際上是開發人員使用PowerBuilder去開發應用程序,由於所開發的各種應用程序充分利用了圖形用戶介面(GUI)的優點,所以PowerBuilder被認為是一個圖形工具。
在客戶/伺服器結構的應用中,PowerBuilder具有描述多個資料庫連接與檢索的能力。特別是PowerBuilder能從大多數流行的RDBMS中存取數據,且不管數據存放在什麽地方;另外,各種應用程序又可以獨立於RDBMS,因為PowerBuilder可以使用資料庫的標准操作語言SQL(結構化查詢語言)進行。
使用PowerBuilder,可以很容易地開發出功能強大的圖形界面的訪問伺服器資料庫的應用程序,PowerBuilder提供了建立符合工業標準的應用程序(例如訂單登記、會計及製造系統)所需的所有工具。
PowerBuilder應用程序由窗口組成,這些窗口包含用戶與之交互的控制項。開發人員可以使用所有標准空間(如按鈕、復選框、下拉式列表框或編輯框)以及PowerBuilder提供的特殊的使應用程序更易於開發和使用的控制項。
通常人們把PowerBuilder看成是一種開發工具,實際上它比其他工具強得多,是一種強有力的開發環境。開發人員不僅能用它來開發用戶容易使用的各種應用程序還可以通過PowerBuilder修改資料庫,利用400多個內部定義函數,可以開發能和其他應用程序進行的各種應用程序。
PowerBuilder正在成為客戶/伺服器應用開發的標准。相對於其他任何客戶/伺服器開發環境,PowerBuilder使開發人員的工作更快、成本更低、質量更高、功能更強。
PowerBuilder為應用開發提供了全面綜合性的支持,可以分別概括為如下幾點:
事件驅動的應用程序
功能強大的編程語言與函數
面向對象的編程
跨平台開發
開放的資料庫連結系統
PowerBuilder開發環境
PowerBuilder開發環境由一系列集成的圖形畫板(Painter)組成,應用開發人員通過簡單的滑鼠操作即可設計、建立、交互檢驗和測試客戶/伺服器應用程序。
[NextPage]
Delphi簡介
Delphi這個名字源於古希臘的城市名。它集中了第三代語言的優點。以Object Pascal為基礎,擴充了面向對象的能力,並且完美地結合了可視化的開發手段。Delphi自1995年3 月一推出就受到了人們的關注,並在當年一舉奪得了多項大獎。
Delphi的出現打破了V承可視化編程領域一統天下的局面。並且Delphi使用了本地編譯器直接生成技術,使程序的執行性能遠遠高於其它產品生成的程序。它還是真正的面向對象的編程語言。PASCAL語言的嚴謹加上可視化的優勢和強大的資料庫功能使得它有充分的資本和微軟的VB叫板。許多人當時都認為Pascal 是最有前途的程序設計語言,並預測Delphi將會成為可視化編程的主流環境。
Delphi在你編好程序後自動轉換成.EXE文件它運行時速度比VB快,而且編譯後不需要其他的支持庫就能運行。它的資料庫功能也挺強的,是開發中型資料庫軟體理想的編程工具。 Delphi適用於應用軟體、資料庫系統、系統軟體等類型的開發。而且它擁有和VB差不多一樣的功能,而且一樣能應用API函數,這在控制Windows很有用。
Delphi是全新的可視化編程環境,為我們提供了一種方便、快捷的Windows應用程序開發工具。它使用了Microsoft Windows圖形用戶界面的許多先進特性和設計思想,採用了彈性可重復利用的完整的面向對象程序語言(Object-Oriented Language)、當今世界上最快的編輯器、最為領先的資料庫技術。對於廣大的程序開發人員來講,使用Delphi開發應用軟體,無疑會大大地提高編程效率,而且隨著應用的深入,您將會發現編程不再是枯燥無味的工作——Delphi的每一個設計細節,都將帶給您一份欣喜。
Delphi的基本形式
Delphi實際上是Pascal語言的一種版本,但它與傳統的Pascal語言有天壤之別。一個Delphi程序首先是應用程序框架,而這一框架正是應用程序的「骨架」。在骨架上即使沒有附著任何東西,仍可以嚴格地按照設計運行。您的工作只是在「骨架」中加入您的程序。預設的應用程序是一個空白的窗體(form),您可以運行它,結果得到一個空白的窗口。這個窗口具有Windows窗口的全部性質:可以被放大縮小、移動、最大最小化等,但您卻沒有編寫一行程序。因此,可以說應用程序框架通過提供所有應用程序共有的東西,為用戶應用程序的開發打下了良好的基礎。
Delphi已經為您做好了一切基礎工作——程序框架就是一個已經完成的可運行應用程序,只是不處理任何事情。您所需要做的,只是在程序中加入完成您所需功能的代碼而已。 在空白窗口的背後,應用程序的框架正在等待用戶的輸入。由於您並未告訴它接收到用戶輸入後作何反應,窗口除了響應Windows的基本操作(移動、縮放等)外,它只是接受用戶的輸入,然後再忽略。Delphi把Windows編程的回調、句柄處理等繁復過程都放在一個不可見的Romulam覆蓋物下面,這樣您可