์ฐ๋ฆฌ๋ Java ๋ฐ ์ํํธ์จ์ด ๊ฐ๋ฐ ์ ๋ฐ์ ๊ฑธ์ณ ์ ์๋ ค์ง ์ธ๋ฌผ์ ๋ง์ ์์ฃผ ์ธ์ฉํ๊ณ , ๊ทธ๋ค์ด Java์ ๋ํด ์ด ์ฑ
์ ์ถ์ฒํ๊ณ ๊ทธ๋ค์ ์์
์ ์ฐธ์กฐํฉ๋๋ค. ์ธ์ ๋ฐ๋ ์ ๋ฌธ๊ฐ๋ก์์ ์ง์์๋ ๋ถ๊ตฌํ๊ณ ์ด๋ค ์ค ๋ค์๋ Java ์ปค๋ฎค๋ํฐ์ ์ถ์ ์ ๊ทน์ ์ผ๋ก ๊ด์ฌ์ ๊ฐ๊ณ ์๋ ๊ฒฝํ์ด ํ๋ถํ Java ์ฝ๋๋ผ๋ ์๋์ ์ผ๋ก ์ข์ ๋ฒ์์๋ง ์๋ ค์ ธ ์์ต๋๋ค. ๋ฐ๋ผ์ ์ค๋ ์ฐ๋ฆฌ๋ ์ธ๊ณ์ ์ฃผ์ Java "์ ๋ช
์ธ"์ ๋ํ ๊ฐ๋ตํ ๊ฐ์๋ฅผ ์ค๋นํ๊ธฐ๋ก ๊ฒฐ์ ํ์ต๋๋ค. Java ๊ฐ๋ฐ์ ๋ํ ๊ด๋ฒ์ํ ๊ฒฝํ์ ๊ฐ์ง๊ณ ์์ ๋ฟ๋ง ์๋๋ผ ์ด๋ฅผ ๋ธ๋ก๊ทธ, ํธ์ํฐ ๊ณ์ , ์ฑ
์์ ์ ๊ทน์ ์ผ๋ก ๊ณต์ ํ๊ณ ์ฐ์คํ๋ ๊ฐ์ฅ ์ ๋ช
ํ ์ ๋ฌธ๊ฐ์
๋๋ค. ๋ค์ํ ์ปจํผ๋ฐ์ค์ ์ํฌ์์์ ๋ผ์ด๋ธ๋ก ํ๋ํฉ๋๋ค.
Javin Paul์ ํธ์ํฐ: @javinpaul ๊ทธ์ ๋ธ๋ก๊ทธ: https://javarevisited.blogspot.com/ ๊ทธ์ ๋ ๋ค๋ฅธ ๋ธ๋ก๊ทธ(2015๋
๊น์ง): https://www.java67.com/ Javin Paul์ Hacker Noon ํ์ด์ง: https: //hackernoon. com/@javinpaul
1. ์กฐ์์ ๋ธ๋กํ
Java ์ ๋ฌธ๊ฐ ๋ชฉ๋ก์์ Joshua Bloch๋ ๋น์ฐํ ๋์ ์์๋ฅผ ์ฐจ์งํ ๊ฒ์ ๋๋ค. ๊ทธ๋ ๋ฏธ๊ตญ์ ํ๋ก๊ทธ๋๋จธ์ด์ ๊ณ ์ ๊ต๊ณผ์์ธ "Java: Effective Java"๋ฅผ ํฌํจํ์ฌ ์ฌ๋ฌ ์ ๋ช ํ ์ฑ ์ ์ ์์ ๋๋ค. ๊ทธ๋ฐ๋ฐ ์ต๊ทผ Java ๊ฐ๋ฐ์๋ฅผ ์ํ ์ต๊ณ ์ ์ ๊ฐ ๋์๋ฅผ ์ ์ ํ์ฌ ์ด ์ฑ ์ ์ 3ํ์ ์ฝ์ด ๋ณด์๊ธฐ๋ฅผ ์ ๊ทน ๊ถ์ฅํฉ๋๋ค . Joshua Bloch๋ Google์ ์์ Java ์ค๊ณ์, Sun Microsystems์ ๊ฐ๋ฐ์, Transarc์ ์์ ์์คํ ์ค๊ณ์์์ต๋๋ค. ๊ทธ๋ Java ํ๋ซํผ์ ๋ค์ํ ๊ธฐ๋ฅ, ํนํ Java Collections Framework ๋ฐ java.math ํจํค์ง์ ๊ฐ๋ฐ ๋ฐ ๊ตฌํ์ ๋ด๋นํ์ต๋๋ค. ๋ค๋ฅธ ์ ๋ฌธ๊ฐ๋ค๊ณผ ๊ณต๋ ์ ์ ํ Effective Java ์ฑ ์ธ์๋ Joshua Bloch๋ Java์ ๊ดํ ์ธ๊ธฐ ์๊ณ ์ฝ๊ธฐ ์ฌ์ด ๋ ๊ถ์ ์ฑ ์ธ Java Puzzles(๋ฌ์์์ด ๋ฒ์ญ์ "Java in 24 hour")์ Java Concurrency In Practice๋ฅผ ์ผ์ต๋๋ค. Joshua Bloch์ ํธ์ํฐ: @joshbloch ๊ทธ์ GitHub ํ์ด์ง: https://github.com/jbloch/2. ๋ธ๋ผ์ด์ธ ๊ดด์ธ
Brian Goetz๋ 20๋ ์ด์์ ๊ฒฝ๋ ฅ์ ์ง๋ ์ ๋ฌธ ๊ฐ๋ฐ์์ ๋๋ค. ๊ทธ๋ ์์ ์ธ๊ธํ ์ฑ ์ธ Java Concurrency In Practice์ ์ฃผ์ ์ ์์ด์ ์ํํธ์จ์ด ๊ฐ๋ฐ์ ๊ดํ 75๊ฐ ์ด์์ ๊ธฐ์ฌ๋ฅผ ์์ฑํ์ต๋๋ค. Brian์ Oracle์์ 10๋ ๋๊ฒ Java ์ธ์ด ์ค๊ณ์๋ก ๊ทผ๋ฌดํ์ต๋๋ค(Oracle์ ์ธ์๋๊ธฐ ์ ์ Sun Microsystem์์ ๊ทผ๋ฌดํ์ต๋๋ค). Brian Goetz๋ ์ฃผ๋ก ๋ฏธ๊ตญ์์ Java ๋ฐ ์ผ๋ฐ์ ์ธ ํ๋ก๊ทธ๋๋ฐ์ ๊ดํ ์ปจํผ๋ฐ์ค ๋ฐ ๊ธฐํ ์ด๋ฒคํธ์์ ์์ฃผ ์ฐ์คํฉ๋๋ค. Brian Goetz์ ํธ์ํฐ: @BrianGoetz Brian Goetz์ ๋ธ๋ก๊ทธ(2014๋ ์ดํ ์ ๋ฐ์ดํธ๋์ง ์์์ง๋ง ์ค๋๋ ๊ฒ์๋ฌผ์ ๊ฝค ํฅ๋ฏธ๋กญ์ต๋๋ค): http://briangoetz.blogspot.com3. ๋ก๋ ์กด์จ
Rod Johnson์ ํธ์ฃผ์ ์ ๋ช ํ ๊ฐ๋ฐ์์ด์ ์ปดํจํฐ ์ ๋ฌธ๊ฐ์ด๋ฉฐ ์๋ง๋ ์ธ๊ณ์์ ๊ฐ์ฅ ์ธ๊ธฐ ์๋ Java ํ๋ ์์ํฌ์ธ Spring์ ์ฐฝ์์์ ๋๋ค. Rod Johnson์ SpringSource๊ฐ VMware์ ์ธ์๋ 2009๋ ๊น์ง SpringSource์ ์ฐฝ๋ฆฝ์์ด์ CEO์์ต๋๋ค. Spring ํ๋ ์์ํฌ๋ Johnson์ ์ ์ Expert One-on-One J2EE Design and Development์์ ํ์ํ์ผ๋ฉฐ, ์ด ์ฑ ์ ์ถ์ ์ดํ ์ฌ๋ฌ ์ฐจ๋ก ์ฌ์ธ์๋์์ต๋๋ค. Rod๋ ๋ํ Professional Java Development with the Spring Framework๋ผ๋ ์ฑ ๋ ์ผ์ต๋๋ค. 2016๋ Johnson์ ์ํํธ์จ์ด ์ ๊ณต ๋ถ๋ฌธ์ ์ด์ํ๋ ํ์ฌ์ธ Atomist๋ฅผ ์ค๋ฆฝํ์ต๋๋ค. ๊ทธ๋ ๋ํ ๋ค๋ฅธ ์ฌ๋ฌ ์ํํธ์จ์ด ํ์ฌ์ ์ด์ฌํ์์๋ ํ๋ํ๊ณ ์์ต๋๋ค. Rod Johnson์ ํธ์ํฐ: @springrod Rod์ Atomist ์น์ฌ์ดํธ ๋ธ๋ก๊ทธ: https://blog.atomist.com/author/rod/ Rod๋ ์ง๋ฌธ ๋ฐ ๋ต๋ณ ์ฌ์ดํธ Quora์๋ ๊ณ์ ์ ๊ฐ์ง๊ณ ์์ต๋๋ค(2015๋ ์ดํ๋ก๋ ํ์ฑํ๋์ง ์์). https://www.quora.com/profile/Rod-Johnson-24. ์ ์์ค ๊ณ ์ฌ๋ง
๋ฌผ๋ก , ์๋ฐ ์ธ๊ณ์ ์ ๋ช ํ ์ฌ๋๋ค์ ๊ดํ ๊ธฐ์ฌ์์ ์๋ฐ ํ๋ก๊ทธ๋๋ฐ ์ธ์ด์ ์ฐฝ์์์ธ ์ ์์ค ๊ณ ์ฌ๋ง์ ์ธ๊ธํ์ง ์์ ์ ์์ต๋๋ค. Gosling์ 1984๋ ๋ถํฐ 20๋ ์ด์ Sun Microsystems์์ ๊ทผ๋ฌดํ์ผ๋ฉฐ Oracle Corporation์ด Sun์ ํก์ํ ํ 2010๋ ์์ผ ๊ทธ๊ณณ์ ๋ ๋ฌ์ต๋๋ค. ๊ทธ ํ ๊ทธ๋ Google, ์คํํธ์ Liquid Robotics(Boeing์์ ์ธ์) ๋ฐ Amazon Web Services์์ ๊ทผ๋ฌดํ์ต๋๋ค. James๋ ๋ํ Lightbend(Scala ์ธ์ด๋ฅผ ๋์คํํ๋ Martin Odersky์ ํ์ฌ)์ ๊ณ ๋ฌธ, Jelastic์ ๋ ๋ฆฝ ์ด์ฌ, Eucalyptus์ ์ ๋ต ๊ณ ๋ฌธ์ด๋ฉฐ DIRTT Environmental Solutions์ ์ด์ฌํ์ ์ฌ์งํ๊ณ ์์ต๋๋ค. James Gosling์ ๋ค๋ฅธ ์ ๋ฌธ๊ฐ๋ค๊ณผ ํจ๊ป The Java ํ๋ก๊ทธ๋๋ฐ ์ธ์ด๋ฅผ ๊ณต๋ ์งํํ์ผ๋ฉฐ ์ด ์ฑ ์ 4๋ฒ ์ฌ์ธ์๋์์ผ๋ฉฐ ๊ธฐํ ์ฌ๋ฌ Java ๊ต๊ณผ์๋ ์์ต๋๋ค. ์ ์์ค ๊ณ ์ฌ๋ง ํธ์ํฐ: @errcraft5. ๋งํด ์ค๋์คํค
Martin Odersky๋ ์ฃผ๋ก Scala ํ๋ก๊ทธ๋๋ฐ ์ธ์ด์ ์ฐฝ์์๋ก ์๋ ค์ง ๋ ์ผ ์ถ์ ์ ์ปดํจํฐ ์ ๋ฌธ๊ฐ์ ๋๋ค. ๊ทธ๋ ๋ํ Java Generics๋ฅผ ๊ฐ๋ฐํ๊ณ Java ์ปดํ์ผ๋ฌ์ธ javac๋ฅผ ๋ง๋ค์์ต๋๋ค. 2011๋ Martin Odersky๋ Scala๋ฅผ ์ง์ํ๊ณ ๋์คํํ๋ Typesafe Inc(2016๋ ์ Lightbend Inc๋ก ์ด๋ฆ ๋ณ๊ฒฝ)๋ฅผ ์ค๋ฆฝํ์ต๋๋ค. ๊ทธ๋ Swiss Federal Institute of Technology Lausanne(EPFL)์ ๊ต์์ด๋ฉฐ Coursera ํ๋ซํผ์์ Scala ์ธ์ด(Scala์ ๊ธฐ๋ฅ์ ํ๋ก๊ทธ๋๋ฐ ์๋ฆฌ)์ ๋ํ ๋ฌด๋ฃ ๊ฐ์ข์ ์ ์์ ๋๋ค. ๊ทธ๋ฐ๋ฐ ์ด ๊ณผ์ ์ ์ฌ์ ํ โโ๋ชจ๋ ์ฌ๋์ด ์ด์ฉํ ์ ์์ต๋๋ค. Martin Odersky์ ํธ์ํฐ: @odersky Martin Odersky์ Coursera ํ์ด์ง: https://www.coursera.org/instructor/~6726276. ๋๊ทธ ์ปคํ
Doug Cutting์ ์คํ ์์ค ๊ฒ์ ๊ธฐ์ ์ ์ ๋ช ํ ๊ฐ๋ฐ์์ด์ ์นํธ์์ด์ ์ฐฝ์์์ ๋๋ค. ๊ทธ๋ ์คํ ์์ค ๊ฒ์ ๊ธฐ์ ํ๋ก์ ํธ์ธ Lucene์ ์ค๋ฆฝํ์ผ๋ฉฐ, Mike Cafarella์ ํจ๊ป Nutch๋ฅผ ์ค๋ฆฝํ์ต๋๋ค. ์ด ๋ ํ๋ก์ ํธ๋ ํ์ฌ Apache Software Foundation์์ ๊ด๋ฆฌํ๊ณ ์์ต๋๋ค. Cutting๊ณผ Cafarella๋ Apache Hadoop ํ๋ก์ ํธ์ ๊ณต๋ ์ฐฝ๋ฆฝ์์ด๊ธฐ๋ ํฉ๋๋ค. 2010๋ ์ Doug Cutting์ Apache Software Foundation์ ์ด์ฌํ ์์ฅ์ผ๋ก ์ ์ถ๋์์ผ๋ฉฐ, ๊ทธ๋ 2015๋ ๊น์ง ๊ทธ ์ง์ฑ ์ ๋งก์์ต๋๋ค. 2015๋ Cutting์ ์คํ ์์ค ์ํํธ์จ์ด ๊ฐ๋ฐ์ ๊ธฐ์ฌํ ๊ณต๋ก๋ก ๊ถ์ ์๋ O'Reilly Open Source Award๋ฅผ ์์ํ์ต๋๋ค. ๋๊ทธ ์ปคํ (Doug Cutting)์ ๋น ๋ฐ์ดํฐ ๊ธฐ์ ์ ์ ๊ตฌ์ ์ค ํ ๋ช ์ผ๋ก ํ๊ฐ๋๊ธฐ๋ ํฉ๋๋ค. ๊ทธ๋ ํ์ฌ ๊ธฐ์ ์ฉ ํด๋ผ์ฐ๋ ์ํํธ์จ์ด ์๋ฃจ์ ์ ๊ณต์ ์ฒด์ธ Cloudera์์ ์์ ์ค๊ณ์๋ก ์ฌ์งํ๊ณ ์์ต๋๋ค. Doug Cutting์ ํธ์ํฐ: @cutting Doug ์ GitHub ํ์ด์ง: https://github.com/cutting7. ์ ์ด๋น ํด
Javin Paul์ ์๋ จ๋ Java ๊ฐ๋ฐ์์ด์ ๋ธ๋ก๊ฑฐ์ด๋ฉฐ ๋ค์ํ ๋ฆฌ์์ค์์ Java์ ๊ดํ ์๋ง์ ๊ธฐ์ฌ๋ฅผ ์ด ์ ์์ ๋๋ค. ์์ด๋ก ๋ Java์ ๋ํ ์ ๋ณด์ ๊ด์ฌ์ด ์๋ ๊ฑฐ์ ๋ชจ๋ ์ฌ๋์ ํ ๋จ๊ณ ๋๋ ๋ค๋ฅธ ๋จ๊ณ์์ ์ธํฐ๋ท์์ ํด๋น ์๋ฃ๋ฅผ ์ ํ๊ฒ ๋ฉ๋๋ค. Paul์ ์ง๋ 7๋ ๋์ Java, FIX Tutorial ๋ฐ Tibco RV ๊ธฐ์ ์ ์ฌ์ฉํด ์์ ํด ์๋ค๊ณ ๋งํฉ๋๋ค. ๊ทธ๋ "Java์์ ๋ฐฐ์ด์ ์ญ์ ์ํค๋ 3๊ฐ์ง ๋ฐฉ๋ฒ", "Java์์ ์ค๋ ๋๋ฅผ ์ฌ์ฉํ๋ ์ด์ ", "Java์ ํ๋ฐ์ฑ ์์ ์ ๋๋ ํ๋์ ๋ํ 10๊ฐ์ง ์ฌํญ" ๋ฑ์ ํฌํจํ ์ฌ๋ฌ ์ธ๊ธฐ ํํ ๋ฆฌ์ผ ๋ฐ ๊ฐ์ด๋์ ์ ์์ ๋๋ค.*๋ถ๋ช ํ Javin Paul์ ํ๋ณด๋ฅผ ๋ณ๋ก ์ข์ํ์ง ์์ผ๋ฉฐ ์ธํฐ๋ท์ ์์ ์ ์ฌ์ง์ ๊ฒ์ํ์ง ์์ต๋๋ค.
GO TO FULL VERSION