CWN(CHANGE WITH NEWS) - 자바스크립트의 아버지 “자바스크립트, 프로그래밍 장벽 발생 원인 제공"...왜?

  • 맑음추풍령13.2℃
  • 맑음합천15.6℃
  • 맑음거창12.9℃
  • 맑음울릉도17.9℃
  • 맑음울산17.7℃
  • 맑음순천12.0℃
  • 흐림충주16.6℃
  • 맑음제주19.3℃
  • 맑음군산15.1℃
  • 맑음부안14.9℃
  • 맑음정읍14.7℃
  • 맑음광양시15.8℃
  • 맑음임실13.8℃
  • 맑음영광군13.8℃
  • 흐림보은13.2℃
  • 맑음춘천16.8℃
  • 맑음거제18.0℃
  • 박무북춘천16.9℃
  • 맑음통영18.0℃
  • 맑음성산18.7℃
  • 맑음양산시17.7℃
  • 박무홍성13.8℃
  • 맑음남해16.9℃
  • 맑음여수18.1℃
  • 흐림이천16.2℃
  • 맑음장수12.6℃
  • 맑음창원18.2℃
  • 박무백령도19.6℃
  • 흐림금산14.9℃
  • 박무인천17.8℃
  • 맑음서귀포20.5℃
  • 흐림원주14.9℃
  • 흐림영월15.5℃
  • 흐림서청주15.2℃
  • 박무서울16.8℃
  • 맑음서산13.9℃
  • 맑음광주16.4℃
  • 맑음고창군15.3℃
  • 맑음장흥15.0℃
  • 흐림천안13.7℃
  • 맑음동해16.6℃
  • 흐림홍천15.8℃
  • 흐림의성15.5℃
  • 맑음진도군14.7℃
  • 맑음전주15.6℃
  • 맑음남원13.4℃
  • 맑음보성군15.8℃
  • 흐림세종14.7℃
  • 맑음문경14.3℃
  • 맑음철원15.0℃
  • 맑음완도17.8℃
  • 맑음고창13.7℃
  • 맑음고흥13.3℃
  • 박무수원14.9℃
  • 흐림청송군14.8℃
  • 맑음해남14.0℃
  • 흐림양평15.3℃
  • 맑음강화15.0℃
  • 맑음부산20.9℃
  • 흐림정선군14.6℃
  • 맑음진주13.6℃
  • 맑음강진군14.4℃
  • 맑음고산21.2℃
  • 맑음김해시17.8℃
  • 맑음속초18.7℃
  • 맑음북강릉16.7℃
  • 맑음목포18.2℃
  • 맑음경주시15.2℃
  • 맑음보령15.6℃
  • 맑음상주13.8℃
  • 맑음산청13.9℃
  • 맑음대관령9.8℃
  • 흐림제천14.4℃
  • 박무대전15.0℃
  • 맑음포항18.3℃
  • 맑음북부산17.1℃
  • 흐림인제16.1℃
  • 맑음영주12.2℃
  • 흐림부여14.9℃
  • 맑음봉화11.6℃
  • 맑음강릉18.0℃
  • 맑음울진14.6℃
  • 맑음태백9.4℃
  • 맑음의령군15.4℃
  • 맑음구미15.3℃
  • 맑음파주14.1℃
  • 맑음함양군13.3℃
  • 맑음영덕15.8℃
  • 맑음밀양17.1℃
  • 안개안동14.6℃
  • 맑음흑산도18.8℃
  • 맑음동두천15.3℃
  • 맑음대구17.0℃
  • 박무청주15.6℃
  • 맑음영천16.1℃
  • 맑음북창원18.2℃
  • 흐림순창군14.3℃
  • 2025.10.01 (수)

자바스크립트의 아버지 “자바스크립트, 프로그래밍 장벽 발생 원인 제공"...왜?

안하영 / 기사승인 : 2022-08-08 18:23:59
  • -
  • +
  • 인쇄

현재 대부분의 설문 조사에서 세계에서 가장 인기 있는 프로그래밍 언어는 자바스크립트(JavaScript)이다. 하지만 JSON(JavaScript Object Notation) 창시자이자 자바스크립트의 개발에 참여해 자바스크립트의 아버지로 불리는 더글라스 크락포드(Douglas Crockford )는 자바스크립트가 프로그래밍하는데 오히려 장벽이 되고 있다고 외신 Devclass를 통해 밝혔다.

크락포드는 지난 7월, Evrone와의 인터뷰에서 아래와 같은 주장을 펼쳤다.

"오늘날 우리의 최선은 자바스크립트를 은퇴시켜버리는 것이다. 20여 년전, 저는 자바스크립트의 몇 안 되는 옹호자 중 한 명이었다. 자바스크립트는 중첩된 함수와 동적 객체를 똑똑하게 만들어냈다. 개인적으로 10년 동안 자바스크립트의 결함 수정 작업을 좋아했다. 그리고 ES5(ECMAscript: ECMA-262 기술 규격에 정의된 표준화된 스크립트 프로그래밍 언어)로 아주 약간의 성공을 거두었다. 하지만 자바스크립트는 오히려 시간이 지날수록 훨씬 더 큰 문제를 일으키고는 했다. 결국, 자바스크립트는 프로그래밍을 하는데 하나의 장벽이 되었다. 이제 자바스크립트가 아닌 다음 세대의 새로운 프로그래밍 언어를 찾아야 한다."

자바스크립트는 여전히 대부분의 설문 조사에서 세계에서 가장 인기 있는 프로그래밍 언어다.  [사진:StackOverflow]
자바스크립트는 여전히 대부분의 설문 조사에서 세계에서 가장 인기 있는 프로그래밍 언어다. [사진:StackOverflow]

올해 초 StackOverflow의 설문 조사에 따르면 자바스크립트는 65%의 개발자들이 사용하고 있어, 48%를 기록해 두 번째로 많이 사용되는 파이선보다 앞서 있다. (HTML, CSS, SQL 제외). 이것은 보기 드문 업적이다.

크락포드와 함께 자바스크립트를 만든 브렌든 아이히(Brendan Eich)는 2018년 dot.JS 컨퍼런스를 통해 1995년 넷스케이프(Netscape)를 위한 언어인 자바스크립트의 초기 모형 ‘모카’를 불과 10일 만에 개발했다고 밝혔다.

아이히는 자신이 만든 프로그래밍 언어를 "너무 서둘러 개발했다"라고 말했다. 그는 "직접 개발한 프로그래밍 언어에 실수와 결함이 발생할 것을 알고 있었다. 따라서 언어로서 변화하도록 만들었다. 웹 개발자들은 이 언어를 자신들이 원하는 방식으로 사용하게 되었다”라고 설명했다.

이어서 자바스크립트가 크게 성공한 이유는 여러 가지라고 전했다.

자바스크립트의 성공 비결은 아이히의 선견지명, 쉽게 배울 수 있으며, 실수가 일어날 수 있는 코드를 용인하는 것 등이 될 것이다.

하지만 아이히는 자신이 만든 프로그래밍 언어의 특징에 대해 “크게 후회한다. 이것은 중요한 수학적 속성을 깨뜨렸다”라고 밝히기도 했다.

또 다른 요인은 브라우저 기반 응용 프로그램을 데스크톱과 경쟁력 있게 만들려는 구글의 결단이 모질라의 스파이더몽키(SpiderMonkey) 및 애플의 JavaScript Core와 함께 언어에 놀라운 JIT 컴파일 성능을 제공한 ‘V8 엔진(2008)’을 전 세계에 제공했기 때문이다.

2009년, 라이언 달(Ryan Dahl)은 노드.js(Node.js)를 내놓았고, 이를 통해 V8은 브라우저 외부에서 실행될 수 있게 되었다. 달은 서버 응용 프로그램을 염두에 두고 있었지만, 오늘날 노드.js 및 NPM(Node Package Manager)은 대부분의 웹 응용 프로그램의 개발 프로세스에 필수가 되었다.

크락포드가 언급한 문제는 자바스크립트가 많은 복잡한 기능 향상과 함께 오늘날 일반적인 응용 프로그램에는 웹팩(WebPack), 롤업(Rollup) 또는 다른 번들러를 사용하는 빌드 프로세스가 포함되어 있다는 것이다.

현재 선호도 1위 프로그래밍 언어는 자바스크립트가 맞지만 모든 프로그래머들이 선호하는 것은 아니다.
현재 선호도 1위 프로그래밍 언어는 자바스크립트가 맞지만 모든 프로그래머들이 선호하는 것은 아니다.

많은 웹 개발자는 자바스크립트보다는 자바스크립트로 컴파일되는 타입스크립트(TypeScript)를 사용한다. 타입스크립트는 앞서 언급한 설문 조사에서 세 번째로 선호하는 프로그래밍 언어로 이름을 올리며, 자바스크립트가 모든 프로그래머들에게 사랑받는 것은 아니라는 것을 보여주었다. C, C++, C# 및 Rust를 포함한 언어로 타겟팅할 수 있는 바이너리 형식인 웹어셈블리(WebAssembly)의 출현은 자바스크립트의 우위를 무너뜨리는 혁신을 가져올 수도 있다.

해커 뉴스는 "자바 스크립트는 불과 몇 년 만에 인기가 폭발적으로 증가했다. 하지만 프로그래밍 생태계는 매우 복잡하다. 풀 타임 자바스크립트 개발자 사이에서도 재갈을 물리고 있습니다. 우리 중 누구도 따라갈 수 없다"라는 어느 한 개발자의 설명을 전했다.

자바스크립트는 복잡한 요구들에 발맞춰 진화하고 있지만 몇몇 핵심적인 결점들은 수정할 수 없기에 지속적인 위기들이 나타날 것이다.

크락포드가 자바스크립트를 대체하기 위해 선택한 E는 확연히 구분되는 표본이 될 것이다. 마크 밀러(Mark Miller), 크락포드 등이 만든 E는 보안 컴퓨팅을 위해 설계된 객체 지향 언어이며, 크락포드는 "자바스크립트의 여러 단점을 제거할 것"이라고 밝혔다.

크락포드는 또한 자바스크립트가 DOM(Document Object Model) 조작을 위해 모든 브라우저에서 지원하는 언어이기 때문에 특히 이동하기가 어려울 것이라는 것을 지적했다.

크락포드는 "크게 두 가지 어려움이 있습니다. 첫째, 우리는 아직 자바스크립트를 대체할 다음 언어가 없다. 보안 분산 프로그래밍을 위해 특별히 설계된 최소한의 기능 기반 행위자 언어여야 합니다. 더 적은 것을 고려해서는 안 된다. 둘째, 우리는 모든 브라우저 제조업체가 이를 채택하고 동시에 DOM을 잘 설계된 인터페이스로 대체해야 한다”라고 전했다.

[저작권자ⓒ CWN(CHANGE WITH NEWS). 무단전재-재배포 금지]

최신기사

뉴스댓글 >

- 띄어 쓰기를 포함하여 250자 이내로 써주세요.
- 건전한 토론문화를 위해, 타인에게 불쾌감을 주는 욕설/비방/허위/명예훼손/도배 등의 댓글은 표시가 제한됩니다.

댓글 8

  • 김대중님 2022-08-23 15:54:12
    대표적인게 컴파일단계에서 문제를 못잡이서 런타임 단계에서 지랄날수있는거랑
    제대로 메모리랑 자료구조 접근방법을 이해못하고도 결과물이나와서 코드개판으로 만들수도있음
  • 노무현님 2022-08-23 15:52:15
    자바스크립트만의 특이한 문법이몇개잇긴하자나 자바스크립트 근간인 프로토타입 체이닝깉은건 더우아한 언어로 인정받는 타입스크립트서 쓰이지도않지 클래스형태로 기본 논리구조를 박살내고서라도 문법적 설탕화하는건 다이유가잇다 그왜에 var이라는건 이전코드와의 호환성땜에 존재하는거뿐 잘못된문법 맞자나 stritc모드 켜줘야하는등 뭐다트도 null safety등 나중에가서 문제를 바로잡고 호환성땜에 살려두는 실수가 있고 뭐든지 초기에 문제가있고 호환성땜에 살려
  • C#님 2022-08-12 10:05:38
    그건.. 다른언어들도 다 마찬가진데..? 폰계발자신가? 뇌피셜?ㅋㅋㅋㅋ
  • ㅎㅎㅎㅎ님 2022-08-11 22:24:13
    저 아저씨는 본인이 만들고 툭하면 자바스크립트 까
    ㅎㅎ 그나저나 자바스크립트 일관성 없고 문법 개판인건 사실이지 웹이 떠서 같이 뜬거지. ES6이전엔 솔직히 뭐 이런게 있나 싶지 웹아니었으면 펄처럼 점점 사용자 줄었알텐데
  • ㅇㅇ앙님 2022-08-10 01:00:51
    약타입 언어이면서 일반적으로 생각했을때 이상한 결과가 나오는 조건식등 강타입 언어라면 컴파일러선에서 걸러질 실수를 유발하기 쉽고 이런 실수들은 런타임 에러 이기에 컴파일타임 에러와 다르게 사전에 발견할 확률이 낮고 디버깅도 어렵다는게 단점인거지 기사에 대놓고는 안썼지만 개발자면 대강 알아보게 써놨구만 뭘... 강타입 언어 유명 오픈소스 라이브러리 정식 배포버전에서 오류를 발견하는건 손에 꼽지만 자바스크립트 라이브러리에서는 오류가 심심찮게 나옴
  • ㅎㅎㅎ님 2022-08-09 23:42:02
    자바스크립트의 너프한 문법을 난 되게좋아하는데
    컴파일언어에서는 몇십줄짤코드를 단몇줄로 할수있고..
    그래서 단점이뭔가여?
  • Sj님 2022-08-09 15:20:28
    아니그래서 단점이 뭔데ㅋㅋㅋㅋ 핵심만빼놓고 얘기해 네이버블로그인줄
  • 아니 ㅋㅋ님 2022-08-09 03:00:01
    번역은 다 번역기 돌렸누? ㅋㅋㅋㅋ

Today

Hot Issue