웹 개발자가 될 계획이 없다면 자바 스크립트를 배울 가치가 있습니까?


26

Javascript가 C ++과 같은 완전한 언어라고 들었습니다. 이것이 사실입니까? 웹 이외에도 프로그래밍에 좋은 점은 무엇입니까?


실제로는 웹 브라우저에만 내장되어있는 일종의 파서가 필요하기 때문에 웹 콘텐츠에만 유용합니다. 내 말은, 당신은 데스크탑 사용을 위해 자신의 JS 파서를 구축 할 수 있지만, 페이지의 HTML과 상호 작용하는 대부분의 자바 스크립트를 사용하지 않을 것보다 ...
dkuntz2

3
@ DKuntz2 Chrome V8 JS Engine은 독립 라이브러리이므로 데스크톱 애플리케이션에서 재사용 할 수 있습니다. 여전히 자체 API를 개발해야합니다. 링크 : code.google.com/apis/v8/embed.html
Vitor Py

1
프로그래머도 spidermonkeyMozillas의 javascriptparser이다. 또한 독립형이며 모든 응용 프로그램에서 사용할 수 있습니다.
jgauffin

@ dkuntz2 Javascript는 "웹 관련"에만 유용하지 않습니다. 저는 node.js를 범용 스크립팅 도구로 사용하고 데스크탑 응용 프로그램을 개발하는 데 사용합니다.
앤더슨 그린

@VitorBraga node.js로 응용 프로그램을 개발하는 것이 좋은 옵션이라고 생각합니다. 이미지 편집 및 파일 읽기 / 쓰기와 같은 범용 스크립팅 작업에 유용한 포괄적 인 라이브러리 세트가 있습니다.
앤더슨 그린

답변:


23

나는 그것이 당신의 OO 언어와는 상당히 다르고 최소한 다른 프로그래밍 패러다임을 배울 것이기 때문에 배울 가치가 있다고 생각합니다.

브라우저 내부 이외의 다른 곳에서도 유용 할 수 있습니까? 물론 : javascript의 비동기 성을 사용하여 순수한 비 차단 dev 플랫폼과 couchapps 을 사용하여 전체 웹 앱을 빌드 할 수 있는 node.js를 확인 하십시오.

어떤 사람들을 믿는다면, 자바 스크립트는 순수한 사용법으로 인해 미래의 주요 개발 언어가 될 것입니다. 그것은 github에서 가장 인기있는 언어이며 거의 모든 개발자가 그것에 대해 약간의 노출을 가지고 있습니다. node.js와 같은 프로젝트를 통해 javascript에는 흥미로운 미래가 있습니다.




3

Javascript는 구문 상, 객체 지향 등의 전체 언어이지만, 기본 제공되지 않는 것들과 인터페이스하기위한 라이브러리는 거의 없습니다. 예를 들어 XML 데이터에 액세스하고 수정하는 데 유용하지만 실제로는 많은 인터페이스를 제공하지 않습니다. 하드웨어에.

스택 오버플로에 대한이 질문 은 웹 프로그래밍 외부에서 사용할 수있는 위치에 대한 몇 가지 예를 다룹니다.


2

역동적이고 기능적인 기능을 갖춘 언어는 학습 할 가치가 있지만 반드시 자바 스크립트 일 필요는 없습니다.

LISP는 위의 개념을 Javascript보다 훨씬 더 많이 사용하므로 LISP 자체를 사용할 필요가없는 경우에도 배울 수있는 훌륭한 언어로 간주됩니다.


2

JavaScript는 Windows와 Mac 모두에서 "즉시"쉘 스크립팅에 사용할 수 있습니다.

내 생각에 Windows에서는 대안이 VBScript 및 BAT 파일 (적어도 추가 설치에 의존 할 수없는 경우)이기 때문에 가장 맛좋은 선택입니다.


Windows에는 PowerShell도 있습니다.
JBR 윌킨슨

PowerShell은 2008/7 이전 버전의 Windows에서 기본적으로 설치되지 않습니다.
Joeri Sebrechts

2

Javascript는 방문하는 사이트에 기능을 사용자 정의하거나 추가하는 데 사용할 수있는 Greasemonkey 스크립트 에도 사용됩니다 . (이 링크는 Firefox 확장을 가리 키지 만 다른 브라우저에서도 사용 가능합니다)

기술적으로 이것은 여전히 ​​"웹 물건"이지만 웹 개발자가 그것을 사용하는 유일한 사람이 아니라는 점에서 다릅니다.


1

기본을 넘어서 배울 가치가 없습니다.

웹 애플리케이션에서 작업하지만 백엔드에서 작업하는 경우에도 해당 분야와 관련된 주제에 학습 리소스를 투자하십시오. 자바 스크립트는 특별한 메시지가없는 다른 언어 일뿐입니다.


2
동의하지 않습니다. 가장 널리 보급 된 프로토 타입 기반 언어입니다. 또한 광범위한 언어 중에서 클로저를 가장 잘 지원하는 언어 중 하나입니다. 이를 통해 가치있는 것을 배울 수 있습니다. 마지막으로, 통역 언어는 엄청나게 빠릅니다.
Andrea

@Llistes_Sugra 만약 당신이 그 의견을 진지하게 믿고 믿는다면, 당신은 JavaScript에 대해 충분히 알지 못합니다. 이에 대해 더 많이 배우고이 의견을 수정하고 싶은지 확인하는 것이 좋습니다. 거의 확실합니다
Jay

1

원하는 경우 대신 배울 수있는 Javascript 기반의 다른 기술이 있습니다. 그것들을 배우면 적어도 웹 페이지의 소스 코드를 읽는 동안 자바 스크립트의 구문을 이해할 수 있습니다. 그리고 우리는 모두 우리가 X 를하지 않을 것이라고 말하지만 결국 우리는 항상 그렇게합니다. 적어도 조금은 요

체크 아웃하기에 좋은 자바 스크립트와 같은 언어는 Qt의 새로운 QML 언어입니다. 구문과 같은 javascirpt이지만 일반적인 응용 프로그램 GUI 용입니다. 놀아 보는 것은 매우 흥미롭고 웹 페이지를 작성하지 않는 과정에서 일부 자바 스크립트를 배우게됩니다.


1

나는 이것을 수락 된 답변에 대한 의견으로 추가하려고했지만 별도의 답변으로 더 잘 제공 될 수 있음을 깨달았습니다. 즉, 경쟁 답변이 아니라 수락 된 답변을 보완하는 것입니다.

스크립팅 확장

시스템에 내장 할 수있는 대부분의 큰 언어에 사용할 수있는 많은 Javascript 엔진이 있습니다. 이를 통해 스크립팅 기능으로 플랫폼을 확장하는 것이 좋으며 자신의 언어를 발명 할 수 있습니다. 모든 학습 자료를 즉시 얻을 수 있으므로 시스템을 구성하고 스크립팅하기위한 리소스를 얻는 것이 훨씬 쉬워집니다.


1

자바 스크립트는 훌륭한 기초 언어입니다

그것은 :

  • 강한
  • 배우기 쉬운
  • 절차 적 및 객체 지향 패러다임을 모두 지원
  • 작성하고 실행하는 것이 빠릅니다.
  • 폐쇄, 익명 함수, 비동기 / 이벤트 중심 프로그래밍, 동적 유형 / 추론과 같은 많은 현대 언어 개념이 대중화되었습니다.
  • 훌륭한 툴 (편집기, 런타임, 린트 툴, 브라우저)
  • 활동적인 커뮤니티가 많은 놀라운 온라인 지원
  • 수학 함수를 수행 할 수 있습니다
  • HTML / Canvas를 통한 그래픽 기능
  • 앱을 작성하는 데 사용할 수 있습니다

개인적으로 매일 사용하지 않아도 학습 할 가치가 있다고 생각합니다. C ++ 또는 C #과 같은 다른 언어 (예 : 반복 대 알고리즘 솔루션, 동적 타이핑 및 형식 유추)를 사용할 때 다른 솔루션을 고려할 수 있도록 마음이 넓어집니다.

사람들이 데이터를 처리하기 위해 JS 코드가있는 페이지의 HTML 텍스트 영역에 데이터를 붙여 넣어 전문 도구보다 더 빠르게 숫자 / 데이터 덤프를 처리하는 데 사용하는 것을 보았습니다.

다른 좋은 점은 무엇입니까?

다른 무언가 안에 포함 :

지난 12 년 동안 일한 모든 회사는 상용 제품과 배우기 쉽고, 배우기 쉬우면서 JavaScript (또는 친척-ECMAScript, ActionScript 등)를 기반으로하는 내부 개발 도구를 모두 구축했습니다. 통합 (무료) 구현 준비 완료 (SpiderMonkey 및 Microsoft Active Scripting SDK) 및 성능은 처음에는 '충분히'좋았으며 계속 향상되었습니다.

jQuery / Prototype과 전체 AJAX 동작이 나오기 전에 JS의 선택이 명백하지 않은 것처럼 보였습니다. VBA (shudder), lex + yacc-able 또는 자신의 언어를 사용하지 않는 이유는 무엇입니까? 풍부한 위젯 / 프레임 워크와 결합 된 언어로서 JS의 힘은 작성해야 할 코드가 많지 않았기 때문에 제품의 나머지 부분에 더 많은 노력을 기울일 수 있기 때문에 상용 솔루션이 매력적이었습니다.

언어 능력과 속도가 향상됨에 따라 JS에 대한 베팅이 성과를 거두었습니다. 더 많은 개발자가 JS를 구사할 수 있으므로 채용도 더 쉬워집니다.

당사 사이트를 사용함과 동시에 당사의 쿠키 정책개인정보 보호정책을 읽고 이해하였음을 인정하는 것으로 간주합니다.
Licensed under cc by-sa 3.0 with attribution required.