回覆列表
  • 1 # Khramtsova

    對於這個問題,我想還是需要分兩種情況來應答。以C++和JAVA為例。

    1.無程式設計基礎 結合我自己的學習經歷吧,我在大一時參加學校的一個IT社團,要求我一星期學習一門語言來作為考核。由於大學前只用C做過NOIP,所以很難快速接受OOP思想,在同時學習這類語言,比如C++以及JAVA時有點力不從心,因為學習速度較快而練習機會較少,所以很容易產生混亂,即在寫C++時穿越的使用了JAVA的語法,反之亦然。 所以個人認為,同時學習時最容易出現的問題就是知識混淆,特別是對於C++和JAVA這樣語法相似的語言。並且由於無法專注於一種語言,很容易囫圇吞棗,只學了個大概卻無法深入的體會語言的特點及高階應用。比如C++由於比較底層,你會經常和指標打交道,你面向的基本也會是底層點的東西(某些框架除外),而且你也會對資源的申請和回收更敏感;而JAVA則不同,使用了虛擬機器機制,讓你不用再關心記憶體問題,更多的放在OOP上,同時擁有眾多庫,讓你感受到和C++很大的不同。

    2.有程式設計基礎 這裡的“有基礎”相對於“無基礎”不是說會不會程式設計,而是說對某種型別的語言是否熟悉,比如靜態語言與動態語言等。當擁有一定基礎後,或者說學習了一段時間,有了理解後,就會發現不同語言的特色,見識到更多的開發思想。 舉個例子,我現在在做Android開發,用的JAVA,然後準備也學下python。開始覺得不會相差太多,有了一定基礎語言都是相通的,後來學了之後才發現python那不同於C體系的動態語言的魅力。做web的同學也推薦我同時學習下古老的lisp,能過多的開闊眼界。 這也許就是程式設計的魅力,和閱讀一樣,在使用不同語言時能領略到不同思想的魅力。 再者,同時學習不同的語言也能清晰的作對比,瞭解到語言間的差異。《JAVA程式設計思想》一書在講解java時都會與C++做對比,對於熟悉C++或同時在學習C++的人,就會產生莫大的益處。

  • 中秋節和大豐收的關聯?
  • 請問一下各位在手機系統方面小米的MIUI系統好還是華為的EMUI系統好?