-
1 # EmacserVimer
-
2 # 嘉靖不上朝
說實話,JavaScript比JAVA難多了。
首先JavaScript是一門解釋性動態語言,這就帶來一個除錯難,動態新增屬性,你都不知道你的物件會被別人新增什麼屬性。
其次就是JavaScript裡面的原型鏈、this的指向、閉包等,弄懂這些,你才有資格說自己熟悉JavaScript。
-
3 # 薛磊37
java先學好基礎、集合、執行緒、同步、記憶體模型,網路程式設計。再學中介軟體,mq、負載均衡、快取、、資料庫中介軟體、docker+k8s.再學分散式微服務等,還有大資料體系,雲原生,系統架構。難道各位覺得java與js比較一下語法?
-
4 # Skyzc
JavaScript更難。
1. 語言歷史及特性Java:Java 參考了C/C++ 的一些設計,是一種真正的面向物件的語言,在Java裡真是“一切皆物件”。Java 拋棄了許多C/C++裡的一些坑(指標、多繼承等),規定了很多特性。在很多時候我們只要按照Java 所給的規定、正規化裡來寫程式碼就行了,很多東西Java已經幫你準備好了,只要在確定的地方、確定的時間做確定得事請。
所以,Java 就像一個守規矩的貼心女僕。
JavaScript:JavaScript的出生就不一樣了,它不僅參考了C語言的語法,Lisp的特性,就連名字也參考了 Java (當然我們也可以叫它C語法的lisp),是一種基於物件(Object-Based)和事件驅動(Event-Driven)的程式語言。
在JavaScript中,有很多東西需要我們自己去理解(繼承、閉包、作用域等),再加上JavaScript自己又有很多的特性(坑),這就導致我們有時候很難理解其中的一些程式碼。
所以,Javascript則像一個隨心所欲需要調教的大小姐。。。
2. JavaScript的一些特性(坑)== 比較玄學的一個就是“==”了,看了下面的圖你就知道了,有沒有被坑過?undefined、null、NaN看看下面的運算???NaN == NaN // false
undefined == null // true
undefined === null // fals
。。。(數不勝數)3. 總結以前看到過一句話,覺得挺有道理的。
“如果你想學好 JavaScript,應該把(ES 3/5/6/7/8)裡的爛語法、好語法都學會。”
Java的最優實踐基本都是圍繞類庫和框架怎麼用的;
JS的最優實踐還有太多是程式碼怎麼寫上面。
-
5 # 悟睿611
難不難要看做什麼事。 JS還可以解析class檔案了。 都是解釋型語言。 每個語言都有自己的優勢吧。 只是java覆蓋的廣一些。 也因此需要掌握的知識更多一些 一般培訓機構學java 還要讓你學框架 其他中介軟體等。 因為java一般做web 就需要這些。 Java也能做客戶端,nodejs也能做遊戲。 所以還是看你學習這個要幹嘛。 如果就是列印楊輝三角 那可能彙編難點, c你都覺得不難。
-
6 # 愛思考的奧特曼
JavaScript更難,母庸質疑。
JavaScript要比java複雜很多因為這兩者的名字比較像,所以很多人都會拿JavaScript和java相比,但實際上,這兩者的關係就像是眉山和峨眉山——沒什麼直接聯絡。
客觀來講,java並不難學,如果在先前對於C語言有過系統的學習過,那麼在學習java的過程中可謂是事半功倍的。Java是一門面向物件程式語言,是C和C++的集大成者,去前者精華去其糟粕,在吸收了C/++優點的同時,摒棄了難以理解的多繼承、指標等晦澀的概念,但要注意的是,嚴格來說java還是沿用了指標的思想,這點在物件引用中就能看出。因此Java在底層做了很多封裝的工作,使得語言一方面功能強大,另一方面還簡單易用,多年來一直是程式設計排行榜上的狀元郎。
再看JavaScript,和Java一樣誕生於1995年,由不世出的天才人物Brendan Eich用了十天時間一人開發完成。雖然一開始JavaScript還是比較精簡的,但隨著越來越多人的使用,JavaScript現在已經擁有極為豐富和活躍的類庫以及框架,讓人應接不暇。最關鍵的是,JavaScript有太多的東西需要使用者自己去理解,而java已經將大多數內容都做成了正規化,不需要考慮太多,用就完事了。而JS需要你在學好基礎性的東西后,再做出一套屬於自己的思想方法體系,這就導致很多初學者越學越痛苦,就像老虎吃天無從下爪一樣。
JavaScript上手快,想做好絕非易事相信不少人在剛接觸JS的時候,都會覺的哦,so easy嘛!但學著學著就發現不對勁了,咋這麼凌亂呢?JS更新的速度非常快,當然了JS本體更新的速度大多數人還能接受,但算上各種內容各種框架,可能java十年來的更新量都比不上JS一年更新的內容。退一萬步講,把那些亂七八糟的框架都拋開,僅僅看兩個語言本身,JS還是要比java深奧很多的。java中最難理解的應該是泛型,但即使不深究泛型原理,直接使用泛型也沒有問題。而JS就不一樣了,一方面資料少的可憐,另外就是不知道是不是Brendan Eich為了敷衍了事留了諸多坑,像閉包,原型鏈,高階函式,工作域這些東西,去問一些搞了很多年的前端開發工程師,他們也無法從理論上弄明白。至於網上眾說紛紜的JS學習法,總結起來也就一句話:沒別的,懟文件吧!
-
7 # 放不掉的考拉
我就是先學了JavaScript,現在轉向Java了。個人感覺不是計算機專業出身,缺少了很多計算機基礎知識,我是學通訊工程的,學的時候也沒好好學,後來畢業了去學的前端。雖然對c,c++,java都有點點基礎,考全國二級根本是鬧著玩,總得來說就是沒啥計算機基礎知識。
所以選擇前端,但是後來前端知識更新的實在太快,框架也很多,每年都在更新,自己就越來越力不從心。做出來的東西自己都不理解,經常就是拉框架去填寫,導致自己對自己的工作很沒信心。
所以裸辭了,然後開始學Java.學Java時候看了一些馬士兵的影片,還有b站很火的狂神說Java,才知道自己可以學習的東西太多。過去JavaScript學不好,主要還是沒理解好基礎知識,學了Java再看JavaScript,反而更容易學習了。
-
8 # 拒海
還是javascript難
我都做到java架構師了,還是看不懂稍微複雜點的js程式碼
難過,匿了
-
9 # 程式碼開發
不能進行簡單的比較。當初Java很火,當然現在依然很牛。JavaScript本來的名字不是這麼叫的,但為了傍名牌而進行的一種營銷策略,在script前面加上Java,混淆視聽,這兩種語言沒有多大的關係。後來JavaScript還真牛鼻起來了,怎麼牛鼻呢?就是把其他也用於前端開發的動態互動語言給幹趴下了,自己在前端領域獨領風騷!當然由於JavaScript的語法過於寬鬆,自由,往往存在很多坑,名聲不是太好。幸好ES6出來以後,得到了更好的規範。只要涉及的前端開發,JavaScript是跑不了的,GitHub上排名非常靠前的。各大排名機構中,JavaScript通常不會低於第六名。並且node.js出來以後,大家更重視JavaScript了。雖然node.js目前不能替代後端開發,但是JavaScript作為前後端都可以編寫的語言,大家不得不重視!
-
10 # 程式設計師小寧
看到題目,情不自禁想起了一個有趣的問答:
問:Java和JavaScript是什麼關係?答:雷鋒和雷峰塔的關係是的,當年為了自身發展,巧借Java名聲,取名為Javascript。如今JavaScript名聲鵲起,喊出了“能用JavaScript寫的,最終都要用JavaScript寫”的壯志豪言。
會者不難,難者不會,當你能深刻理解兩者語言的異同時,剩下的就變得簡單了。
下面簡單梳理一下兩者異同:
當年面試我的公司CTO就問我,“你覺得Java和JavaScript兩種開發語言的最大區別是什麼?”
我當時從兩者語法方面進行了分析,顯然很業餘,實際上兩者最大的區別時:Java是同步思想佔主導的開發語言,大部分程式碼是一行一行的往下執行;而JavaScript是非同步思想佔主導的開發語言,從一些原生的方法中就能看出,例如setTimeout(),setInterval()。
-
11 # 三把飛刀
難度各有千秋,真正難的是資料結構與演算法再加設計模式,這些都是一樣的。
不同階段的人或不同視角的人理解是不一樣的。
JS一開始簡單,Java上手要難些。JAVA配置環境就複雜些。
但是越往後面走JS越難,在中高階階段JS更難些,畢竟動態的不如靜態的好掌握。
但再往後走Java與JS就都很難了,要理解語言的原理了。JS需要深入解析引擎,JAVA則需要深入JVM。你需要寫個引擎了。
過了這個階段,再往上走應該都很簡單了吧。那些大神還在意語言麼?
初級程式設計師很多,中級也多,真的高階的很少,高階之上大牛、大神的基本見不到。
所以看別人的回覆也沒有。
-
12 # IT人劉俊明
從難易程度上來說,Java語言要比JavaScript語言更復雜一些,同時Java語言涵蓋的內容也比JavaScript語言更多,Java的應用場景也更廣。
JavaScript是指令碼語言,雖然JavaScript也可以做後端開發,但是JavaScript更廣泛的應用是前端開發,因此JavaScript的語法具備指令碼式語言簡單的特點,但是JavaScript的內容卻並不少,也需要一個系統的學習過程。目前JavaScript的發展前景還是非常不錯的,正在被越來越多的開發者所重視,目前NodeJS的大量使用就是一個很好的說明。
Java的應用場景非常多,包括Web開發、大資料開發、物聯網開發等領域都有大量的Java應用,Android的App開發目前也要使用Java語言。如果要學習Android開發,需要經過兩個階段的學習,下面分別做一個簡單的闡述:
第一階段,Java基礎階段。Java基礎階段的學習包括Java面向物件基礎語法,包括封裝、繼承、多型、異常處理等內容,另外Java的圖形介面開發部分最好也要學習一下,因為Android開發的重點就在圖形介面上,很多概念是互通的,包括容器、佈局、事件處理等方面。另外還需要重點學習一下網路開發、多執行緒開發的內容,雖然Android對資料庫部分的要求並不高,但是最好也要學習一下,畢竟Android開發也需要操作本地的Sqlite資料庫。
第二階段,Android開發階段。Android開發包括以下幾個基本內容,分別是Activity(Android開發的大部分內容都集中在Activity的開發上,Activity代表了Android的介面部分)開發、Fragment開發、SQLite開發、Intent的開發、Service開發和Broadcast開發。總的來說,Android開發並不複雜,但是需要做大量的實驗。
通常情況下,如果有一定的計算機基礎,一個月左右的時間就能做一個簡單的Android應用了。
-
13 # 小鳥慢慢飛
客觀的說,每種計算機語言都不難,或者說都一樣的難。難的不是語言,而是程式設計這件事!你覺得某種計算機語言難,說明你程式設計就沒有入門或者腦袋沒有所謂的“程式設計思維”。
-
14 # 我是玉祥
Java和javascript都算後端語言,一門語言的難易很大程度是由它封裝了多少類庫決定的,封裝的東西越少也就越難,因為很多具體的實現如果沒有封裝就需要程式設計師自己寫程式碼去實現,如果封裝了我們就可以直接呼叫。客觀說來,Java要比javascript難,因為Java封裝的類庫比javascript少。
-
15 # scumyang
java學習曲線平滑 入門不算快 但精通不難
js反之 上手飛快 往往令coder產生智商尚可的錯覺 然而 目前全球範圍內 尚無人有狗膽敢說精通js
-
16 # 水華今天又做什麼了
入門的話javascript簡單 因為入門基本就是html觸發函式 語法很自由 但是如果進階就難了 各種框架 類庫 回撥順序 回撥地獄相容性 而且一般需要同時學html和css
java入門比較難 有很多概念需要掌握 比如類 型別 繼承等等 深入研究更難 涉及到多執行緒 等等 但是寫起來舒服一些 基本的型別等等都是釘死的 也很少有相容問題
-
17 # pipi_44532
javascript 難在檔案不清楚,程式寫大會亂,擴充不易,簡單在語法簡單。java難在物件導向及語法,簡單也在物件導向及語法。
-
18 # 膽小的麥迪文
從難易程度上來說,Java語言要比JavaScript語言更復雜一些,同時Java語言涵蓋的內容也比JavaScript語言更多,Java的應用場景也更廣。
剛開始學的話,java內容更多,javascript特別簡單。java是靜態型別語言,比javascript多了資料型別、類、介面、包等概念,自帶的類庫也比javascript自帶的函式多的多,而且執行環境還得配置,需要安裝jdk,配置環境變數,安裝ide等等。而javacript直接在瀏覽器控制檯就可以快速開始學習。這幾方面都決定了java比javascript入門難度更大。但是入門以後,僅針對語言的難度來說,javascript的難度就超過java了。javascript靈活多變,比如閉包,無處不在的型別轉換,this的理解,原型……現在又有es6,語法比java內容更多了,更難理解了。但是從工程方面來說,各自都能做出很龐大、很複雜的專案,難度都有無限大的可能,就看你自己的能力了。
-
19 # 小魚的眼皮
沒有誰難誰簡單,作用不同。
javascript的簡單是因為你不需要任何的限制就可以編寫,只要有瀏覽器就可以。
但是它的標準並不統一,更多的取決於瀏覽的支援程度貳不在於它自身的發展標準。很多時候你需要更多的是考慮相容性的問題。
java基本不用過多的顧慮相容性的問題,但是它是作為專案的全部去使用,必須有執行所必須的環境,有相應的容器,有相應的硬體條件。而且java的開發比較依賴框架各種亂七八糟的玩意兒,需要你不停的去學習其他的東西。
-
20 # 積年程式開發老妖精
不談各種框架,只談語言的話,老妖覺得javascript較難一些,因為javascript寫起來很隨意,沒那麼多限制,但也正是因為這個,造成javascript學好不易。而java是面向物件的,有很強的規則約束,會比較好學一點,畢竟它是強型別語言。如果加上各自的框架,老妖覺得兩種語言下的框架都不難學,找個例子照著做一下基本就會用了。
回覆列表
JavaScript入門簡單,不過要學好真的是非常不容易,關鍵是這玩意兒坑實在是太多了,不過儘管這玩意兒是個垃圾,可是也真的很強大,現在WebAPP已經是常態了,Electron殺入桌面領域了,現在弄個Node想要統一前後端了。
語法層面Java更簡單,JavaScript亂七八糟,這也是JavaScript坑多的根本原因,做專案的話肯定Java更難一些,JavaScript稍稍學習就能做一些東西,再就是JavaScript畢竟是介面語言,結合CSS和HTML更符合所見即所得的程式設計哲學。
JavaScript = C + Lisp+Java?行業裡面有兩句關於JavaScript的黑話,這兩句黑話很好的反映了JavaScript為什麼會成為今天的樣子,為什麼會有這麼多的坑。
第一個是JavaScript之父Brendan Eich當時接到公司的工作任務設計一門程式語言,這個任務Brendan Eich並不是特別想做,於是想著敷衍了事就好了,僅僅用了10天時間就設計好了JavaScript這門程式語言。JavaScript之父當年就是為了敷衍了事完成公司的任務,要是他知道自己設計的程式語言今天會這麼火,我想他一定會好好設計一下這門程式語言。
第二個是Brendan Eich是狂熱的函數語言程式設計語言愛好者,對Lisp有著非常好的好感,於是Brendan Eich在JavaScript中加入了函數語言程式設計的思想。
有了這兩個原則,Brendan Eich設計JavaScript的時候參考了C語言的基本語法,借鑑了Java的記憶體管理和資料型別,同時也吸取了Scheme等Lisp方言的函數語言程式設計語言的特點,將函式的地位大大提高,當然Lisp裡面的“宏”還是沒有采用。命名上也是刻意用了“Java”這個字眼,算是打擦邊球吧,最終JavaScript就成了一個蹭Java的名氣,披著C語言外衣的Lisp語言。
JavaScript到底有哪些比較具體的坑?JavaScript生態也是亂七八糟,ES5、ES,框架什麼的更新極快,注意我說的是極快,極其不穩定就意味著你要快速跟進更新。Node、函式庫、物件庫一堆,內建物件、DOM程式設計,等你學了之後發現這玩意兒又沒法用,到了公司發現公司大家用的都是各種衍生庫。
JavaScript涉及到很多面向過程的程式設計思想,又有很多面向物件的思想。JavaScript還不是傳統的經典OO,是多了一層prototype的OO,這一點如果你的以往職業經驗學過經典OO的,那麼用JavaScript你一定會難受,這個幾乎是肯定的。
JavaScript的正規化真的是一言難盡,傳統正規化、OO正規化、函式式正規化,再給你來點啥事件驅動啊啥的,AOP啥的,這時候你就開始要抓狂了,這到底是什麼亂七八糟的玩意兒?
經常有人問我怎麼學JavaScript,我的建議就是大家認真學習,認真做專案,還有就是那本大名鼎鼎的《JavaScript權威指南》,看一遍不行再看一遍,看兩遍不行就看三遍,看三遍我覺得那你也差不多了,其餘的就是懟各個框架的文件,比如React、比如Vue,反正拿到就生懟,不然還能咋辦?