더 많은 프로그래밍 언어가 Window Manager에 인터페이스를 내장하지 않는 이유는 무엇입니까?

StackOverflow https://stackoverflow.com/questions/1020168

문제

프로그래밍은 컴퓨터에서 작업을 자동화하는 것에 대한 핵심입니다.
아마도 이러한 작업은 일반적으로 인간이 수동으로 수행 될 것입니다.
인간은 키보드, 마우스 및 콘솔 또는 창 관리자와의 상호 작용을 통해 컴퓨터를 사용합니다.
그러나 이러한 기본 컴퓨팅 객체에 대한 인터페이스를 제공하는 기능을 구축 한 언어는 거의 없습니다.

주목할만한 예외는 Windows의 오픈 소스 언어 인 AutoHotkey이며 다음과 같은 간단한 작업을 허용하는 내장 기능을 제공합니다.
* 픽셀 정보를 얻으십시오
* 마우스 위치를 얻으십시오
* 키보드 매크로
* 키 스트로크를 시뮬레이션합니다
* 마우스 시뮬레이션 클릭
* 창 관리
예제를 참조하십시오 로제타 코드.

리눅스에 대한 다양한 시도가 있었으며, 그 중 다수는 설명없이 중단되었습니다. 하나는 비활성 TCL 라이브러리 : Android입니다. Android, Lang : TCL 용 Google 코드를 검색하십시오

도움이 되었습니까?

해결책

웹 서버 코드를 작성합니다. 사람은 코드와 상호 작용하지 않습니다. 그것은 단순히 Apache에 대한 복잡한 플러그인입니다.

"인간은 키보드, 마우스 및 콘솔 또는 창 관리자와의 상호 작용을 통해 컴퓨터를 사용합니다."

이것은 내 경우에 완전히 거짓입니다. "사용자"는 HTTP를 통해 요청을 보냅니다. 키보드, 마우스, 콘솔, 창 관리자 없음.

사용자는 일종의 멋진 GUI를 사용하고 있지만 나 또는 내 소프트웨어에는 중요하지 않습니다. 내가 보는 것은 http get and post 요청뿐입니다. 순수한 텍스트.

"그러나 이러한 기본 컴퓨팅 객체에 대한 인터페이스를 제공하는 기능을 내장 한 언어는 거의 없습니다."

옳은. 키보드, 마우스, 콘솔 또는 윈도우 관리자는 사용하지 않습니다.

다른 팁

모든 개인용 컴퓨팅 플랫폼에는이를 수행 할 라이브러리가 있습니다.

문제는 모든 시스템에서 사용자 상호 작용을 표준화해야한다는 것입니다. Java는 많은 성공을 거두지 않고 이것을 시도했습니다. QT는 아마도 가장 유망한 도서관 일 것입니다.

모든 UI 기초를 포함하는 단일 플랫폼에 대한 언어를 작성하는 것은 확실히 가능합니다. GUI와 라이브러리로 가짜를 가짜로 만들 수도 있습니다. 그러나 GUI가 있는지 여부에 관계없이 모든 주요 플랫폼에서 사용할 수있는 언어를 원할 좋은 이유가 있습니다.

전제가 사실인지 의심합니다. Java는 이것의 의미가 무엇인지 모르기 때문에 "창 관리"를 제외하고는 모든 것을 할 수 있습니다.

C#로 할 수 없다면 놀랄 것입니다.

이를 수행 할 수없는 많은 언어가 있다면 언어를 운영 체제에 묶지 않으면 서 수행하기가 어렵 기 때문입니다.

우선, 프로그래밍 언어의 표준 라이브러리에 Window Manager에 인터페이스가 내장되어 있지 않은 이유를 묻습니다. 언어 자체와 라이브러리는 매우 뚜렷합니다.

가장 큰 이유는 이식성입니다. 프로그래밍 언어 라이브러리에 특정 기능이 너무 많으면 다른 시스템에 포트가 더 어려워집니다. 예를 들어, I/O, 수학 기능, 문자열, 다양한 데이터 구조 및 관련 알고리즘은 모두 일반적이며 거의 모든 컴퓨터에서 작동하도록 만들 수 있습니다.

그러나 창 관리자, GUI 등과 같은 것들이 많이 특정 플랫폼에 더 구체적으로 표준 라이브러리에 포함되지 않은 이유입니다. 이것이 C/C ++를 휴대하기 쉬운 이유입니다.

인간 인터페이스 장치 상호 작용없이 컴퓨터가 수행 한 작업은 엄청난 요인에 의해 인간이 직접 작동하는 것보다 적습니다.

프로그래밍 언어는 플랫폼과 독립적이 되려고 시도하거나 현재 시도하고 있습니다. .NET의 예에서는 위에서 지정한 일부 작업을 수행하려면 Win32 API를 참조해야합니다. 핵심 프로그래밍 언어 모델을 내장하면 .NET은 OS와 너무 결합되어 모노 대응 물을 만드는 것이 너무 지루할 것입니다.

키 스트로크, 매크로 및 일부 재료와 관련하여, 내가 지금하고있는 가장 간단한 방법은 진정한 vbscript 또는 powerShell입니다 :)

라이센스 : CC-BY-SA ~와 함께 속성
제휴하지 않습니다 StackOverflow
scroll top