導航:首頁 > 編程語言 > 程序員適合用什麼系統

程序員適合用什麼系統

發布時間:2023-09-06 02:38:02

程序員平常用什麼系統做開發

程序員平常做開發用的系統有:Windows,MacOS,BSD,Solaris以及各大版本的GNU/linux

windows, macOS,linux是當今主流三大操作系統,普通用戶一般是選擇windows或macOS, linux主要是占據伺服器領域市場。

普通用戶對於操作系統的選擇很簡單,經濟實用選windows,錢多講究格調選macOS, 畢竟普通用戶切換操作系統的成本並不大。而程序員就不一樣了,換一個操作系統,就意味著所有開發環境都要一並更換。而且在程序員群體中,操作系統有以下的鄙視鏈:macOS-->linux-->windows。

其實操作系統的比較並不是簡單粗暴的單一維度比較,用windows並不意味著low,用linux也不等同於你就是一個極客。關鍵在於你是如何使用。就好比編程語言的選擇,php是最招人黑的語言(沒有之一), 但黑php的人中有不少人寫的代碼同樣不堪入目。

不過作為一個程序員,你很有必要學會linux,如果你的程序最終是跑在線上的Linux伺服器上,那麼你就更應該從現在開始投入linux的懷抱中,早日從windows脫坑。至於macOS,在命令行上與linux絕大部分相同,都是類unix的操作系統。

如何學linux?

工作中,看到不少工作好幾年的程序員,在操作linux時特別生疏,只會最基本的幾個命令:cdls mkdir 等。vim編輯器的操作更是讓人看了很著急,被譽為編輯器之神的vim在他們手中,完全沒有半點靈氣,感覺就像是編輯器之屎。

之所以會出現這種現象,很大原因在於他們的學習方式錯了,不少人都知道linux很重要,不掌握linux,基本上就只能停留在最基本的增刪改查功能上。他們學linux的方式可能是看書,也可能是看視頻,甚至有些還會去背命令,但由於他們的操作環境是windows,linux的應用場景很少。根本沒辦法將所學的知識運用,更加感受不到linux的魅力。

學linux最好地方式,就是直接去用!直接將自己的開發環境都改成linux,一開始很蹩腳,很不適應,這很正常。如果你一直感到很舒服,只能說明你一直沒有進步。想想我們學了那麼多年英語,絕大多數人還是無法掌握英語,看到英語文檔就直接自動屏蔽。其原因都是:一直在學,但從來沒在用。只學而不用,沒有半點用。

Ⅱ 現在開發網站,好像都是流行用php,那javaweb一般用在哪裡呢它們之間的區別和優劣勢在哪裡呢

現在市場上的oa基本上可歸結為兩大陣營,即php陣營和java陣營。但對接觸oa不久的用戶來說,看到的往往只是它們的表相,只是明顯的價格差異,卻很難看出它們之間的實際差異。其實,PHP+MYSQL不值錢不僅僅局限於oa軟體,而是整體上PHP+MYSQL開發的軟弊森握件都不如java開發的軟體值錢。為什麼PHP+MYSQL的OA為什麼不值錢呢首先得明白php和java之間的差異才行。

1、系統的技術架構比較

分層是將系統進行有效組織的方式,分而治之的思想是計算機領域中非常重要的思想。在好的分層思想引導下,便能實現「高內聚、低耦合」,也能將具體的問題割裂開來,易於控制、易於延展,更易於分配資源。PHP只能實現簡單的分布式兩層或三層的架構,而JAVA在這方面就十分強大,可以實現多層的網路架構。運用MVC的設計模式,可使oa系統具有更加高效、合理的系統架構。技術架構的落後,使運用php編寫的oa軟體系統先天不足,而後天又無法補足其先天上的劣勢。使得系統在可拓展性、需求應變性上與JAVA編寫的oa軟體系統的差距越來越大。架構的差距,註定了php做的oa充其量是個小家碧玉,始終無法和java這種大家閨秀同台競技。

2、資料庫訪問比較

PHP可編譯成具有與許多資料庫相連接的函數。將自己編寫外圍的函數去間接存取資料庫。通過這樣的途徑當更換使用的資料庫時,可以輕松地修改編碼以適應這樣的變化。但PHP提供的資料庫介面支持彼此不統一,比如對Oracle,MySQL,Sybase的介面,彼此都不一樣。由於PHP對於不同的資料庫採用不同的資料庫訪問介面,所以資料庫訪問代碼的通用性不強。

而Java通過JDBC來訪問資料庫,通過不同的資料庫廠商提供的資料庫驅動方便地訪問資料庫,訪問資料庫的介面比較統一。如果同樣是將開發的web應用從MYSQL數據數轉到ORACLE數據,PHP需要做大租慶量的修改工作,而且比較繁瑣。但JAVA開發的便只需要很少的更改便能實現。

資料庫訪問方式的差異,奠定了php開發出的oa和java開發出來的oa是馬車和火車的差距,前者只能亦步亦趨而且額度有限,後者卻是工業化的結晶,不僅能夠包容萬物而且速度上穩步提升。

3、安全性對比

在同是開源和跨平台的java面前,php丟掉了很多的優勢。在代碼的安全性上尤為突出。php的開發程序在別人拿到代碼後,可以很容易的進行修改。而java開發的程序由於無法看到完整的源代碼,只能看到一些編譯好的類文件,所以安全性較高。加之系統架構的優勢,在安全性上php和java是相去甚遠。

如果非要將php和java在安全性上做個比較的話,同一個小偷光顧php那是隨便拿來隨便改,想拿什麼拿什麼,拿的高興還能大筆一輝某某到此一游。而光顧java的時候,便會發現警察把守,內設自動報警裝置,即便突破重重阻擾後進入居室。那值錢的東西都放在加密後的保險櫃中,只能望洋興嘆、鎩羽而歸。

4、前瞻性和拓展性

從整體來說,php適用於中小型系統,而java適用於大型系統。Php能夠將單一的事件做好,但卻不適合完成集成度較高的多項並發事件。為什麼說php適合中小型系統而不適合做大系統呢

首先,php缺乏多層結構支持。而對於大型的系統負荷站點,只能採用分布計算。將資料庫、應用邏輯層和表示邏輯層彼此分開,並將同層的根據流量分開,組成二維數組。而php恰恰缺乏這種支持。

其次,PHP提供的資料庫介面不統一,要將多個不同的資料庫數據統一需要花費很大的力氣。而JAVA則沒有這種缺陷,可通過SUNJava的JavaClass和EJB獲得規模支持,通過EJB/CORBA以及眾多廠商的ApplicationServer獲得結構支持。如IBM的E-business,它的核心是採用jsP/Servlet的WebSphere,是通過CGI來提供支持的。

如果將Php比作將才,具備獨擋一方的能力。那麼java便是帥才,具有較好的前瞻性和拓展性,整體布局和協同能力強。能夠指揮千軍萬馬,最後逐鹿中原。

5、開發成本比較

既然php在諸多方面都不如java優異,那麼php開發出的oa產品何以與春絕java產品競爭呢在於Php陣營普遍走的是低端路線,而java陣營走的是中高端路線。兩者之間交*的區域較小。

軟體價格的高低很大程度上和自身成本和功能相掛鉤。php的入門門檻較低,絕大多數學過c的程序員都很容易轉型為php程序員,這使得php程序員的泛濫成災的同時,低成本的php軟體產品也層出不窮。以PHP最經典的組合PHP+MySQL+Apache為例,由於所有軟體都是開源免費的,所以投入並不高。

而java開發需要特定的環境,成長為一個合格的java程序員需要一定的時間,java程序員的成本也是php成本的幾倍。Java的web應用伺服器免費的有Tomcat、JBoss等,而要想具有很好的商業化服務便必須選用WebSphere和Weblogic。這其中投入的成本無形中便超是php成本的N倍。所以,java開發oa的成本要遠遠高於php開發出來的同類軟體產品。但也正由於java開發的成本較高,很難實現抄襲和短期內逾越的可能,也使得java用開發出的產品門檻更高。

不怕不識貨,就怕貨比貨。Php開發出來的產品也能用,但是和java開出的同類產品是沒法比較的。正因為php開發的產品整體性能和java開發的相去甚遠,所以php運用低成本的低價優勢和同類的java產品抗爭,以價格落差來平衡購買者的心態。所以,PHP+MYSQL的OA不值錢也就不足為怪了

第二種

比較PHP和JSP這兩個web開發技術,在目前的情況是其實是比較PHP和Java的Web開發。以下是我就幾個主要方面進行的比較:

一、語言比較

Php是解釋執行的伺服器腳本語言,首先php有簡單容易上手的特點。語法和c語言比較象,所以學過c語言的程序員可以很快的熟悉php的開發。而java需要先學好java的語法和熟悉一些核心的類庫,懂得面向對象的程序設計方法。所以java不如php好學。

Java首先要編譯成位元組碼.class文件,然後在java虛擬機上解釋執行。Java的web開發首先最容易想到的就是JSP(現在已經到JSP2.0),原來的java的web開發都是用servlet來實現的,用servlet來開發需要程序員在java的源文件中嵌入大量的html代碼。所以後來就出現了JSP,JSP可以方便的嵌入到html文件當中,其實jsp文件在伺服器上執行的時候首先會被應用伺服器轉換成servlet,然後再編譯執行。Jsp可以通過servlet和JavaBean的支持產生強大的功能。JavaBean是一種可復用的、跨平台的軟體組件。使用javabean可以方便的實現java代碼和html的分離,能夠增強系統的功能和軟體的復用性。

Java的web開發屬於SUN公司定義的J2EE其中的規范。而且在J2EE中包括了java的web開發的所有方面,如:JSP、Servlet、JDBC、JNDI、JAVABEAN、EJB等等。J2EE就特別適合於做大型的企業級的應用。

二、資料庫訪問比較

Java通過JDBC來訪問資料庫,通過不同的資料庫廠商提供的資料庫驅動方便地訪問資料庫。訪問資料庫的介面比較統一。

PHP對於不同的資料庫採用不同的資料庫訪問介面,所以資料庫訪問代碼的通用性不強。例如:用Java開發的web應用從MySQL資料庫轉到Oracle資料庫只需要做很少的修改。而PHP則需要做大量的修改工作。

三、系統設計架構比較

採用Java的web開發技術,需要使用的是面向對象的系統設計方法,而PHP還是採用面向過程的開發方法。所以用Java進行開發前期需要做大量的系統分析和設計的工作。

四、跨平台性

Java和PHP都有很好的跨平台的特性。幾乎都可以在不作任何修改的情況下運行在Linux或者Windows等不同的操作系統上。

五、開發成本比較

PHP最經典的組合就是:PHP+MySQL+Apache。非常適合開發中小型的web應用,開發的速度比較快。而且所有的軟體都是開源免費的,可以減少投入。

Java的web應用伺服器有免費Tomcat、JBoss等,如果需要更好的商業化的服務有:WebSphere和Weblogic。

六、分布式多層架構比較

PHP只能實現簡單的分布式兩層或三層的架構,而JAVA在這方面就比較強大,可以實現多層的網路架構。資料庫層(持久化層)、應用(業務)邏輯層、表示邏輯層彼此分開,而且現在不同的層都已經有一些成熟的開發框架的支持。例如Struts就是利用java的web開發技術實現了MVC的設計模式,而在業務邏輯層也有Spring框架,資料庫持久化層有Hibernate等框架。這些框架可以方便開發者高效、合理、科學得架構多層的商業應用。

下面簡要的說一下Struts,它實質上是在JSPModel2的基礎上實現的一個MVC(Model、View、Controler)框架。JSPModel2體系結構是一種聯合使用JSP與Servlet來提供動態內容的方法。在Struts框架中,模型由實現業務邏輯的JavaBean或EJB組件構成,控制器由Servlet實現的,視圖由一組JSP文件組成。採用Struts可以明確角色的定義和開發者與網頁設計者的分工。而且項目越復雜,其優勢越明顯。

七、源代碼安全

PHP開發的程序的源代碼都是公開的,他人拿到php開發的程序後都可以進行修改。

Java開發的程序,最後用戶拿到的是只是一些編譯好的class類,無法看到完整的源代碼,安全性高。

八、性能比較

有人做過試驗,對這兩種種語言分別做迴圈性能測試及存取Oracle資料庫測試。

在循環性能測試中,JSP只用了令人吃驚的四秒鍾就結束了20000*20000的迴圈。而PHP測試的是2000*2000循環(少一個數量級),卻分別用了63秒。

資料庫測試中,二者分別對Oracle8進行1000次Insert,Update,Select和Delete:JSP需要13秒,PHP需要69秒。

表格1PHP與Java的比較

PHPJAVA

可復用性低高

開發速度快慢

易維護性差優

可移植性優-Linux、Windows、Unix等

安全性低高

開發費用低高

多層架構差優

資料庫訪問介面不統一介面統一

可擴展性差優

面向對象差優

綜上PHP適合於快速開發,中小型應用系統,開發成本低,能夠對變動的需求作出快速的反應。而Java適合於開發大型的應用系統,應用的前景比較廣闊,系統易維護、可復用性較好。還有,同樣功能的系統用Java開發的系統要比PHP開發的系統的價格要高

Ⅲ 程序員平常用什麼系統做開發

Windows,MacOS,BSD,Solaris以及各大版本的GNU/Linux系統我都在不同的情況下用過。

只要你足夠了解系統知識,你可以去選擇任何你喜歡的系統,或者根據你面向的需求學習使用任何系統。

回答問題:這主要是要看是做什麼領域的程序員,或者要看程序員的個人愛好,比如:

1、做游戲開發的程序員多用Windows,因為Windows主要面對消費領域,特別是游戲消費領域,對各種圖形API也是支持最好最全的。

2、做前端的開發者比較樂於使用Mac,因為Mac的UI最適合出版和Web領域,Mac上有很多獨門的科技,例如字體渲染,頁面視覺效果最好。

3、做後端開發的程序員偏向於Linux。世界上大網站絕大部分後台跑的都是Linux系統,做後台開發肯定離不開Linux。

Ⅳ linux 和windows 哪個更適合java開發

反正jvm的實現不用你自己解決,所以其實你在兩個平台下做沒啥太內大差異,如果你已經用習容慣win了那就用win吧,效率會高點,如果你想要學×nix系統,那你在Linux底下做也沒有問題,反正Eclipse,NetBeans這兩個常用的Java開發用的比較多的IDE都有很好的Linux支持

閱讀全文

與程序員適合用什麼系統相關的資料

熱點內容
數位板word 瀏覽:939
win7寬頻連接出現多重網路 瀏覽:268
更改程序圖標c語言 瀏覽:629
網路電視偷停怎麼辦 瀏覽:418
linux連接ftp 瀏覽:512
es文件瀏覽器視頻筆記 瀏覽:874
mac無法打開描述文件 瀏覽:134
什麼軟體打文件 瀏覽:53
資料庫無數據變成0 瀏覽:899
名企筆試如何刷編程題 瀏覽:49
js跳到頁面某地 瀏覽:550
jsp展示clob欄位 瀏覽:779
nyx在網路上是什麼意思 瀏覽:145
樂播農業app是什麼 瀏覽:530
編程框架如何開發 瀏覽:136
金庸群俠傳3修改代碼 瀏覽:712
檢察院的文件類別有哪些 瀏覽:793
怎麼把九游殘留數據刪除 瀏覽:828
有什麼女生主動聊天的app 瀏覽:436
有哪些可以督促自己的app 瀏覽:244

友情鏈接