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

  • 맑음완도18.7℃
  • 맑음보령16.8℃
  • 구름많음포항20.4℃
  • 맑음강릉19.3℃
  • 맑음홍천16.3℃
  • 맑음광주18.9℃
  • 맑음산청16.0℃
  • 맑음흑산도20.6℃
  • 구름조금서귀포21.5℃
  • 맑음남원15.6℃
  • 구름조금통영20.1℃
  • 구름많음울산18.6℃
  • 맑음보은14.9℃
  • 맑음남해18.7℃
  • 맑음진도군16.3℃
  • 구름많음대구20.4℃
  • 맑음동두천16.3℃
  • 맑음북창원20.3℃
  • 맑음서청주15.1℃
  • 구름조금북부산19.0℃
  • 구름조금양산시19.2℃
  • 맑음대전16.7℃
  • 맑음고창15.9℃
  • 맑음고흥15.4℃
  • 맑음백령도19.9℃
  • 맑음진주16.1℃
  • 구름조금영덕17.0℃
  • 맑음장흥15.7℃
  • 맑음양평16.3℃
  • 맑음임실15.0℃
  • 구름조금성산19.5℃
  • 맑음구미18.6℃
  • 맑음인제15.9℃
  • 맑음군산16.7℃
  • 맑음서산15.6℃
  • 맑음창원19.8℃
  • 맑음청송군15.2℃
  • 맑음금산15.6℃
  • 구름조금고산21.5℃
  • 맑음영광군16.2℃
  • 맑음동해17.5℃
  • 맑음세종16.0℃
  • 맑음합천17.8℃
  • 맑음거제19.1℃
  • 구름조금울진18.5℃
  • 맑음해남15.5℃
  • 맑음김해시18.9℃
  • 맑음제천13.4℃
  • 맑음대관령12.0℃
  • 구름조금의성17.0℃
  • 맑음천안15.2℃
  • 맑음광양시18.5℃
  • 박무북춘천16.2℃
  • 맑음인천19.5℃
  • 맑음태백11.4℃
  • 맑음의령군16.3℃
  • 맑음함양군14.7℃
  • 박무수원16.0℃
  • 맑음영주13.6℃
  • 맑음충주15.1℃
  • 구름조금경주시17.8℃
  • 맑음문경15.6℃
  • 맑음상주16.4℃
  • 맑음강화15.9℃
  • 맑음북강릉16.4℃
  • 맑음정읍16.3℃
  • 맑음부안16.9℃
  • 맑음순천13.9℃
  • 맑음강진군16.2℃
  • 맑음봉화12.8℃
  • 구름조금영천18.8℃
  • 맑음여수20.3℃
  • 맑음정선군14.5℃
  • 맑음고창군15.6℃
  • 맑음파주15.5℃
  • 맑음영월15.1℃
  • 박무홍성15.5℃
  • 맑음장수12.6℃
  • 맑음청주18.2℃
  • 박무서울18.6℃
  • 구름조금전주17.9℃
  • 맑음순창군15.7℃
  • 구름조금부산21.4℃
  • 맑음부여16.0℃
  • 흐림울릉도20.4℃
  • 맑음추풍령15.1℃
  • 맑음밀양17.8℃
  • 맑음춘천16.2℃
  • 맑음거창14.1℃
  • 맑음목포19.7℃
  • 맑음보성군17.2℃
  • 맑음이천17.0℃
  • 맑음속초17.3℃
  • 맑음원주15.4℃
  • 맑음제주20.4℃
  • 구름많음안동16.7℃
  • 맑음철원16.2℃
  • 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