IBM, ์ฝ”๋“œ๋ฅผ ๋ฒˆ์—ญํ•˜๊ณ  ๊ฒ€์ฆํ•˜๋Š” ๊ธฐ๊ณ„ ํ•™์Šต ์‹œ์Šคํ…œ์šฉ CodeNet ๊ณต๊ฐœ

IBM์€ ํ”„๋กœ๊ทธ๋ž˜๋ฐ ์–ธ์–ด ๋ฒˆ์—ญ๊ธฐ, ์ฝ”๋“œ ์ƒ์„ฑ๊ธฐ ๋ฐ ๋ถ„์„๊ธฐ๋ฅผ ๋งŒ๋“ค๊ธฐ ์œ„ํ•ด ๊ธฐ๊ณ„ ํ•™์Šต ๊ธฐ์ˆ ์„ ์‚ฌ์šฉํ•˜์—ฌ ์‹คํ—˜ํ•  ์ˆ˜ ์žˆ๋Š” ๋ฐ์ดํ„ฐ ์„ธํŠธ๋ฅผ ์—ฐ๊ตฌ์ž๋“ค์—๊ฒŒ ์ œ๊ณตํ•˜๋Š” ๊ฒƒ์„ ๋ชฉํ‘œ๋กœ ํ•˜๋Š” CodeNet ์ด๋‹ˆ์…”ํ‹ฐ๋ธŒ๋ฅผ ๊ณต๊ฐœํ–ˆ์Šต๋‹ˆ๋‹ค. CodeNet์—๋Š” 14๊ฐœ์˜ ์ผ๋ฐ˜์ ์ธ ํ”„๋กœ๊ทธ๋ž˜๋ฐ ๋ฌธ์ œ๋ฅผ ํ•ด๊ฒฐํ•˜๋Š” 4053๋งŒ ๊ฐœ์˜ ์ฝ”๋“œ ์˜ˆ์ œ ๋ชจ์Œ์ด ํฌํ•จ๋˜์–ด ์žˆ์Šต๋‹ˆ๋‹ค. ์ „์ฒด์ ์œผ๋กœ ์ด ์ปฌ๋ ‰์…˜์—๋Š” ์•ฝ 500์–ต ์ค„์˜ ์ฝ”๋“œ๊ฐ€ ํฌํ•จ๋˜์–ด ์žˆ์œผ๋ฉฐ C++, Java, Python ๋ฐ Go์™€ ๊ฐ™์€ ์ตœ์‹  ์–ธ์–ด์™€ COBOL, Pascal ๋ฐ FORTRAN์„ ํฌํ•จํ•œ ๋ ˆ๊ฑฐ์‹œ ์–ธ์–ด ๋ชจ๋‘ 55๊ฐœ ํ”„๋กœ๊ทธ๋ž˜๋ฐ ์–ธ์–ด๋ฅผ ํฌํ•จํ•ฉ๋‹ˆ๋‹ค. ํ”„๋กœ์ ํŠธ์˜ ๊ฐœ๋ฐœ์€ Apache 2.0 ๋ผ์ด์„ ์Šค์— ๋”ฐ๋ผ ๋ฐฐํฌ๋˜๋ฉฐ, ๋ฐ์ดํ„ฐ ์„ธํŠธ๋Š” ๊ณต๊ฐœ ๋„๋ฉ”์ธ ํ˜•ํƒœ๋กœ ๋ฐฐํฌ๋  ์˜ˆ์ •์ž…๋‹ˆ๋‹ค.

์˜ˆ์ œ์—๋Š” ์ฃผ์„์ด ์ถ”๊ฐ€๋˜์–ด ์žˆ์œผ๋ฉฐ ์„œ๋กœ ๋‹ค๋ฅธ ํ”„๋กœ๊ทธ๋ž˜๋ฐ ์–ธ์–ด๋กœ ๋™์ผํ•œ ์•Œ๊ณ ๋ฆฌ์ฆ˜์„ ๊ตฌํ˜„ํ•ฉ๋‹ˆ๋‹ค. ์ œ์•ˆ๋œ ์„ธํŠธ๋Š” ImageNet ์ฃผ์„์ด ๋‹ฌ๋ฆฐ ์ด๋ฏธ์ง€ ๋ฐ์ดํ„ฐ๋ฒ ์ด์Šค๊ฐ€ ํŒจํ„ด ์ธ์‹ ๋ฐ ์ปดํ“จํ„ฐ ๋น„์ „ ์‹œ์Šคํ…œ ๊ฐœ๋ฐœ์— ๋„์›€์ด ๋œ ๊ฒƒ๊ณผ ์œ ์‚ฌํ•˜๊ฒŒ ๊ธฐ๊ณ„ ํ•™์Šต ์‹œ์Šคํ…œ์„ ํ›ˆ๋ จํ•˜๊ณ  ๋ฒˆ์—ญ ๋ฐ ๊ธฐ๊ณ„ ์ฝ”๋“œ ๊ตฌ๋ฌธ ๋ถ„์„ ๋ถ„์•ผ์˜ ํ˜์‹ ์„ ๊ฐœ๋ฐœํ•˜๋Š” ๋ฐ ๋„์›€์ด ๋  ๊ฒƒ์œผ๋กœ ์˜ˆ์ƒ๋ฉ๋‹ˆ๋‹ค. ๋‹ค์–‘ํ•œ ํ”„๋กœ๊ทธ๋ž˜๋ฐ ๋Œ€ํšŒ๊ฐ€ ์ปฌ๋ ‰์…˜ ํ˜•์„ฑ์˜ ์ฃผ์š” ์›์ฒœ ์ค‘ ํ•˜๋‚˜๋กœ ์ธ์šฉ๋ฉ๋‹ˆ๋‹ค.

๋ฒˆ์—ญ ๊ทœ์น™์„ ๊ธฐ๋ฐ˜์œผ๋กœ ๊ตฌํ˜„๋˜๋Š” ๊ธฐ์กด ๋ฒˆ์—ญ๊ธฐ์™€ ๋‹ฌ๋ฆฌ ๊ธฐ๊ณ„ ํ•™์Šต ์‹œ์Šคํ…œ์€ ์ฝ”๋“œ ์‚ฌ์šฉ ์ปจํ…์ŠคํŠธ๋ฅผ ์บก์ฒ˜ํ•˜๊ณ  ๊ณ ๋ คํ•  ์ˆ˜ ์žˆ์Šต๋‹ˆ๋‹ค. ํ•œ ํ”„๋กœ๊ทธ๋ž˜๋ฐ ์–ธ์–ด์—์„œ ๋‹ค๋ฅธ ํ”„๋กœ๊ทธ๋ž˜๋ฐ ์–ธ์–ด๋กœ ๋ณ€ํ™˜ํ•  ๋•Œ ์ปจํ…์ŠคํŠธ๋Š” ํ•œ ์ธ๊ฐ„ ์–ธ์–ด์—์„œ ๋‹ค๋ฅธ ์–ธ์–ด๋กœ ๋ณ€ํ™˜ํ•  ๋•Œ๋งŒํผ ์ค‘์š”ํ•ฉ๋‹ˆ๋‹ค. ์ด๋Ÿฌํ•œ ์ปจํ…์ŠคํŠธ ๊ณ ๋ ค ๋ถ€์กฑ์œผ๋กœ ์ธํ•ด COBOL๊ณผ ๊ฐ™์€ ๋ ˆ๊ฑฐ์‹œ ์–ธ์–ด์—์„œ ์ฝ”๋“œ๊ฐ€ ๋ณ€ํ™˜๋˜์ง€ ์•Š์Šต๋‹ˆ๋‹ค.

๋‹ค์–‘ํ•œ ์–ธ์–ด๋กœ ๊ตฌํ˜„๋œ ๋Œ€๊ทœ๋ชจ ์•Œ๊ณ ๋ฆฌ์ฆ˜ ๋ฐ์ดํ„ฐ๋ฒ ์ด์Šค๋ฅผ ๋ณด์œ ํ•˜๋ฉด ํŠน์ • ์–ธ์–ด ๊ฐ„ ์ง์ ‘ ๋ฒˆ์—ญ ๋Œ€์‹  ํŠน์ • ํ”„๋กœ๊ทธ๋ž˜๋ฐ ์–ธ์–ด์™€ ๊ด€๊ณ„์—†์ด ์ฝ”๋“œ์˜ ๋ณด๋‹ค ์ถ”์ƒ์ ์ธ ํ‘œํ˜„์„ ์กฐ์ž‘ํ•˜๋Š” ๋ฒ”์šฉ ๊ธฐ๊ณ„ ํ•™์Šต ์‹œ์Šคํ…œ์„ ๋งŒ๋“œ๋Š” ๋ฐ ๋„์›€์ด ๋ฉ๋‹ˆ๋‹ค. ์ด๋Ÿฌํ•œ ์‹œ์Šคํ…œ์€ ์ง€์›๋˜๋Š” ์–ธ์–ด๋กœ ์ „์†ก๋œ ์ฝ”๋“œ๋ฅผ ๋‚ด๋ถ€ ์ถ”์ƒ ํ‘œํ˜„์œผ๋กœ ๋ฒˆ์—ญํ•˜๋Š” ๋ฒˆ์—ญ๊ธฐ๋กœ ์‚ฌ์šฉ๋  ์ˆ˜ ์žˆ์œผ๋ฉฐ, ์ด๋กœ๋ถ€ํ„ฐ ์ฝ”๋“œ๋Š” ์—ฌ๋Ÿฌ ์–ธ์–ด๋กœ ์ƒ์„ฑ๋  ์ˆ˜ ์žˆ์Šต๋‹ˆ๋‹ค.

์‹œ์Šคํ…œ์€ ์–‘๋ฐฉํ–ฅ ๋ณ€ํ™˜๋„ ์ˆ˜ํ–‰ํ•  ์ˆ˜ ์žˆ์Šต๋‹ˆ๋‹ค. ์˜ˆ๋ฅผ ๋“ค์–ด, ์€ํ–‰๊ณผ ์ •๋ถ€ ๊ธฐ๊ด€์—์„œ๋Š” ์˜ค๋ž˜๋œ COBOL ์–ธ์–ด๋กœ ๋œ ํ”„๋กœ์ ํŠธ๋ฅผ ๊ณ„์† ์‚ฌ์šฉํ•˜๊ณ  ์žˆ์Šต๋‹ˆ๋‹ค. ๊ธฐ๊ณ„ ํ•™์Šต ๊ธฐ๋ฐ˜ ๋ฒˆ์—ญ๊ธฐ๋Š” COBOL ์ฝ”๋“œ๋ฅผ Java ํ‘œํ˜„์œผ๋กœ ๋ณ€ํ™˜ํ•˜๊ณ  ํ•„์š”ํ•œ ๊ฒฝ์šฐ Java ์กฐ๊ฐ์„ ๋‹ค์‹œ COBOL ์ฝ”๋“œ๋กœ ๋ณ€ํ™˜ํ•  ์ˆ˜ ์žˆ์Šต๋‹ˆ๋‹ค.

์–ธ์–ด ๊ฐ„ ๋ฒˆ์—ญ ์™ธ์—๋„ ์Šค๋งˆํŠธ ์ฝ”๋“œ ๊ฒ€์ƒ‰ ์‹œ์Šคํ…œ ์ƒ์„ฑ, ํด๋ก  ๊ฐ์ง€ ์ž๋™ํ™”, ์˜ตํ‹ฐ๋งˆ์ด์ € ๋ฐ ์ž๋™ ์ฝ”๋“œ ์ˆ˜์ • ์‹œ์Šคํ…œ ๊ฐœ๋ฐœ ๋“ฑ CodeNet์˜ ์ ์šฉ ๋ถ„์•ผ๊ฐ€ ์–ธ๊ธ‰๋˜์–ด ์žˆ์Šต๋‹ˆ๋‹ค. ํŠนํžˆ, CodeNet์— ์ œ์‹œ๋œ ์˜ˆ์ œ์—๋Š” ์„ฑ๋Šฅ ํ…Œ์ŠคํŠธ ๊ฒฐ๊ณผ, ๊ฒฐ๊ณผ ํ”„๋กœ๊ทธ๋žจ ํฌ๊ธฐ, ๋ฉ”๋ชจ๋ฆฌ ์†Œ๋น„ ๋ฐ ์ƒํƒœ๋ฅผ ์„ค๋ช…ํ•˜๋Š” ๋ฉ”ํƒ€๋ฐ์ดํ„ฐ๊ฐ€ ํฌํ•จ๋˜์–ด ์žˆ์–ด ์˜ฌ๋ฐ”๋ฅธ ์ฝ”๋“œ์™€ ์˜ค๋ฅ˜๊ฐ€ ์žˆ๋Š” ์ฝ”๋“œ๋ฅผ ๊ตฌ๋ณ„ํ•  ์ˆ˜ ์žˆ์Šต๋‹ˆ๋‹ค(์˜ฌ๋ฐ”๋ฅธ ์ฝ”๋“œ์™€ ์ž˜๋ชป๋œ ์ฝ”๋“œ๋ฅผ ๊ตฌ๋ณ„ํ•˜๊ธฐ ์œ„ํ•ด, ์ปฌ๋ ‰์…˜์—๋Š” ํŠนํžˆ ์˜ค๋ฅ˜๊ฐ€ ์žˆ๋Š” ์˜ˆ์ œ๊ฐ€ ํฌํ•จ๋˜์–ด ์žˆ์œผ๋ฉฐ ๊ทธ ๋น„์œจ์€ 29.5%์ž…๋‹ˆ๋‹ค. ๊ธฐ๊ณ„ ํ•™์Šต ์‹œ์Šคํ…œ์€ ์ด ๋ฉ”ํƒ€๋ฐ์ดํ„ฐ๋ฅผ ๊ณ ๋ คํ•˜์—ฌ ๊ฐ€์žฅ ์ตœ์ ์˜ ์ฝ”๋“œ๋ฅผ ์ƒ์„ฑํ•˜๊ฑฐ๋‚˜ ๋ถ„์„๋œ ์ฝ”๋“œ์˜ ํšŒ๊ท€๋ฅผ ์‹๋ณ„ํ•  ์ˆ˜ ์žˆ์Šต๋‹ˆ๋‹ค. ์‹œ์Šคํ…œ์€ ์ œ์ถœ๋œ ์ฝ”๋“œ์˜ ์•Œ๊ณ ๋ฆฌ์ฆ˜์ด ์ตœ์ ์œผ๋กœ ๊ตฌํ˜„๋˜์ง€ ์•Š์•˜๊ฑฐ๋‚˜ ์˜ค๋ฅ˜๊ฐ€ ํฌํ•จ๋˜์–ด ์žˆ์Œ์„ ์ดํ•ดํ•  ์ˆ˜ ์žˆ์Šต๋‹ˆ๋‹ค.

์ถœ์ฒ˜ : opennet.ru

์ฝ”๋ฉ˜ํŠธ๋ฅผ ์ถ”๊ฐ€