Re: [請益]沒有任何的程式基礎,如何自學JAVA

作者: peter98 (新兵)   2022-10-22 22:05:21
先說結論: 語言的部分從 C++ / Java / Python三個挑一個都可以
非本科的話我建議是挑Python
其實多年前我只會建議C++或Java 但不得不承認Python真的是後起之秀(尤其是3.0開始)
拿Python來搞CI/CD根本開掛 重點是他好學
壞處是很多底層的東西你可能會不懂 但無所謂 除非你做底層不然這不一定重要
學完其中一個後 再從三個中剩下的兩個再挑一個學學 之後語言部分就是絕對無敵了
另外語言只是個工具 你只要會這三個的其中1個 根本沒人會刁難你不會某種語言
我自己就是C++出身 而且是用最久的一個語言 10年來我面試用C++
不管找的工作內容是要寫C還是Java還是甚麼其他語言 從來沒被面試官刁難過
面試考coding時也都是C++直接上 除了一個Fidelity不知道為啥硬要我寫Javascript除外
真正需要的能力是: 你能不能快速地上手一個語言 然後完成一個專案
我第二份工作寫Java 從此真的點開了技能樹 後來跳槽到現在這一份工作後
除了原本會的C++ Java跟一點Python外 各種Kotlin/Go/Scala/Ruby等都是現學現用
至於要怎麼學Java喔 其實不難阿 把大學課程教的先走過一遍就有 挑一本書
網路資源也是多如牛毛 中英文都有 我是建議英文還行的話看英文
上次我跟北京單位的討論專案 我聽好久才聽懂"棧" 我還以為是甚麼暗度陳倉的梗
記得各種Framework或EE啥小的都先不要管 這些東西對初學者來說只會讓人迷路而已
從plain Java開始看就好
先看Introduction (至少知道Bytecode / JVM / Garbage Collection / Reference就好)
然後就是各種簡單的結構語法: array / list / map 和if-elseif-else / for / while
然後學OO繼承跟多型 基本上到這邊再刷個100-200 LC 你就已經可以是個初階的碼農惹
你只需要半年的時間 真的 沒騙你
之後上班後 就看個人造化
※ 引述《Uzak (常寂光)》之銘言:
: ※ 引述《hym121023 (無)》之銘言:
: : 由於大學唸的科系跟程式完全沾不上邊,所以想請問,如果沒有程式的基礎,想自學JAVA
: : 該怎麼學呢?
: : 希望的學習模式是一個有系統的學習模式,因為沒有程式基礎,只能從最基本的開始學上
: : 去,所以希望各位大大能夠指點一下該如何自學,而希望有系統,是希望可以有一個比較
: : 完整的學習架構,而不是東一塊西一塊的學
: [目標非轉職]
: yt免費教學 -> udemy python基礎課程
: 想玩點web的話接著買udemy django課程和資料庫課程
: 想玩其他比如數據分析就買相對應課程就夠了
: 非轉職不要學java, 即便java也很簡單, 用python效率最高
: python能夠做的事情的廣度也絕對夠你用的了
: [目標是轉職]
: yt免費教學(找一個完整度較高的頻道跟著做一個成品出來)
: 這階段你學不到完整的東西, 只是測試你是不是耐得住coding的枯燥與寂寞
: 接著就三條路:
: 1. 考資工所
: 2. 去補習班(資策會或tibame或相關有就業媒合的)
: 3. 如果有認識業界軟工人,請他們幫你列出該會的東西然後udemy買課
: 上完課做出一個完整的成品然後去面試
: 想要有系統的話去補習班,他們直接把業界要會的東西有系統交給你
: 優點是容易就業,缺點是基本功太差,上班後要花幾年時間一點一點補回基本功
: 不然會淪為以為自己在學寫程式,其實只是在學使用工具
: 資工所容易進高薪公司,底子比較好,人脈也比較多,想要成為真正的大師
: 而不是只為了就業,這條路比較適合
作者: thbw666 (富和尚)   2022-10-26 00:09:00
窩覺得你可以快速上手是因為你起手點cpp壓
作者: stupid0319 (徵女友)   2022-10-22 23:12:00
Python之外都是
作者: tsao1211 (Sunday)   2022-10-22 23:33:00
非本科學python 工作沒那麼好找
作者: CoNsTaR ((const *))   2022-10-23 00:33:00
單論語言本身的話 Java 已經是最好學的語言之一了吧Python 沒有明確的 type system,不熟悉反而很難用
作者: Hsins (翔)   2022-10-23 00:41:00
速成: 裝好 Intellij 然後讓他糾正你怎麼寫 (?
作者: kevin10449 (鹽酥雞)   2022-10-23 10:38:00
c# 不推嗎
作者: Firstshadow (IamCatづミ'_'ミづ)   2022-10-23 11:13:00
我學python現在無業 ==
作者: za755188   2022-10-23 11:35:00
Python的問題是面試競爭對手太多
作者: lovdkkkk (dk)   2022-10-23 11:37:00
python 不懂底層用一下 pandas 很容易各種爆炸 (抖)
作者: za755188   2022-10-23 11:37:00
底層不懂的問題是要tune東西的時候可能會卡住
作者: airtsubasa (偽學姊)   2022-10-23 12:26:00
公司禁用任何第三方套件 純內網環境 寫啥好呢
作者: loadingN (sarsaparilla)   2022-10-23 12:49:00
寫shell scripts
作者: aidansky0989 (alta)   2022-10-23 13:30:00
啟蒙玩玩的階段可以學py,挫折感不會太大,想深入再學java
作者: SHANGOYANYI (彥一)   2022-10-23 13:49:00
java 現在入門就是綁spring全家桶 但是還在用java的公司基本上又會是各種魔改變形題 等到上手了又發現只剩老公司在用…
作者: yamakazi (大安吳彥祖)   2022-10-23 14:02:00
編譯式直譯式語言不太一樣吧
作者: c80352 (諳語)   2022-10-23 15:29:00
建議先學 PY 純粹是建立程式思維吧 如果急著找工作就不推
作者: marsonele (marsonele)   2022-10-23 16:03:00
沒基礎學python比較好吧 之後再學java 非本科系自己硬幹 陣亡率很高學習本來就是從簡單的開始 再慢慢加深難度 才有辦法持久
作者: MyNion (Nion Lee)   2022-10-23 17:24:00
把我大C#放在哪裡?
作者: Burwei (系館守護神)   2022-10-23 18:23:00
小聲推Go,好學好寫職缺又香
作者: NerVGear (Phantom)   2022-10-23 19:29:00
其實學C也滿好學的 複雜的部分那也是之後的事
作者: lasekoutkast (白ㄘ)   2022-10-23 21:37:00
py上手比較容易
作者: holebro (穴弟弟)   2022-10-23 22:09:00
如果是工作導向的學習倒是熟框架比熟leetcode還有用吧
作者: jobintan (Robin Artemstein)   2022-10-24 11:32:00
沒基礎的學JS/TS好了,還比較有就業市場。JS/TS可以玩FP也可以玩OOP。
作者: testPtt (測試)   2022-10-24 14:19:00
small basic上手比較容易
作者: ABuJiuHaoBun (新資料夾(2))   2022-10-24 18:56:00
純python工作門檻很高 學c++才是最紮實的
作者: pornstar (迪克)   2022-10-25 02:13:00
我奶奶80歲只唸過小學, 之前花了一下午教她迴圈跟語法,現在Leetcode easy她基本上都會, 再練兩個月可能會幫她投Google試試~
作者: deeeplove (想不到ID)   2022-10-25 08:10:00
Stack哈哈
作者: Zepho (抹神)   2022-10-25 11:17:00
台廠IT不用紮實 js py隨便寫年薪都破百
作者: jakai (鸚鵡還真愛唱歌)   2022-10-25 15:53:00
研究所C++為主,進業界後VB、JAVA、C#都被迫學過一輪
作者: d630200x (DOGE)   2022-10-26 01:20:00
我覺得是你有被C++操過,c/c++打過底之後對程式看法跟其他主流語言的看法差滿多的我覺得
作者: superpandal   2022-10-27 19:52:00
@@ XDDD
作者: s37166117 (ace)   2022-10-30 23:15:00
推學C# 夠強再往C++學 本科或研究再用Python
作者: yueayase (scrya)   2022-10-30 23:31:00
我覺得C#的確是很方便,寫web和視窗,工具箱幫你省很多力氣,又跟C++比較接近,如果是我我也是會先學C#
作者: cathychg (凱西)   2022-11-02 07:18:00
看用途 工程用C跂 股票算牌 用pythonblack jackalgorithm

Links booklink

Contact Us: admin [ a t ] ucptt.com