“틈새를 파고든다” 새로운 프로그래밍 언어 11선

영국 의 시인 포프 는 는 희망 희망 은 인간 의 가슴 에서 샘솟는다 (esperança brota eterna na mama humana) ”라고 말 했으니 해커가 시인 이라 할지 할지 라도 새로운 프로그래밍 언어 발견 에 희망 을 이해 할 할지 이라 본다 프로그래밍 언어 발견 에 대한 을 을 이해 것 이라 이라. 소프트웨어 개발자 유니코드 문자 의 독특 한 조합 으로 언어가 마침내 모든 문제 를 해결 해 몇 번 의 클릭 만 으로 쉽게 코딩 수 있길 있길 영원히 희망 있다 있다.

포프는 분명 답을 상상하기만 하면 될 정도로 직관적인 구문에 대한 희망을 이해할 것이다. 또한 에서 볼 수 있는 트리플 악셀 혹은 대회전 활강 처럼 (사실 은 그렇지 않) 힘들지 않고 우아 해 보이는 새로운 코드 손 에 넣으려는 열망 을 을 평가 할 것 이다.

ⓒBanco de Imagens Getty

하지만 오늘날의 언어 대부분은 기발함이나 코딩 역량을 보여주기 위해 만들어지진 않았다. 이는 개발자(창작자)가 간절하게 해결하고자 했던 문제에 해결책을 내놓으면서 만들어졌다. 대다수 의 가 하나 이상 의 오래 된 기성 언어로 코딩 을 하겠지만, 코딩 문제 를 해결 하는 데 도움 이 되는 새로운 도구 도 ‘영원히’ 찾고 있다. 특히, 도메인별 언어(DSL)의 부상에서 이런 경향은 더 뚜렷해졌다. 이들 언어는 특정 도메인에 초점을 맞추고 있으며, 범용적으로 사용하진 못한다. 하지만 바로 그런 이유로 도구 상자에서 특별한 위치를 차지할 수 있다.

여기서는 틈새시장을 찾은 11개의 새로운 언어를 살펴본다. 비록 지금 당장 필요한 것은 아니지만, 모두 현재 하는 일을 개선할 수 있는 무언가를 갖고 있는 무언가를 갖고 있다.

리액티브 클로저(Reactive Clojure)
클로저(Clojure)와 리액트(React)를 결합한 결과다. 즉, 리액티브 프론트엔드의 모든 가능성과 클로저의 견고하고 기능적인 장점을 결합한 시스한 시스한 시스한. 리액티브 클로저를 사용하면 복잡한 프론트엔드 구성요소 컬렉션을 배치하고 을를 기능과 소 컬렉션을 배치하고 을를 기능과 함꤄를 기능과 함ꤘ숬 기능과 함ꤘ숬 기능과 함ꤘ. 리액티브 프레임워크 세부 사항 을 입력 하고 애플리케이션 데이터 가 구성 요소 와 간 간 에 원활 하게 흐르도록 한다. 클로저는 비정상적인 사용례도 가능하고 디버깅할 수 있는 기능적 기반을 제공한다.

이 결합이 천생연분일까? 시간이 말해줄 것이다. 리액티브 클로저는 프론트엔드 구성요소를 함께 묶는 글루 코드를 작성하는 데 유용한 옵션일 작성하는 데 유용한 옵션일 작성하다 데 유용한 옵션일. 멀티쓰레드 모델은 여러 작업을 동시에 보고하는 복잡하고 반응적인 대시보드에 자연스럽게.

니켈 (Níquel)
프로그래머가 하는 아이러니한 게임 중 하나는 대부분의 작업을 구성 파일로 푸시하는 것이다. 제이슨 (json), yaml 또는 xml 로 되는 이런 파일 은 정교 한 의식 으로 전 전 이 좋은 좋은 코딩 다 다. 어떤 경우에는 실제 코드를 작성할 필요조차 없다. 필요한 작업을 하기 위해 다양한 구성 파일을 끝없이 재배열하면 된다.

따라서 구성 파일을 생성하기 위한 프로그래밍 언어인 니켈은 의미가 있다. 니켈은 정적 않은 구성 파일 을 만드는 데 사용 할 수 있는 임베디드 로직이 포함 된 템플릿과 같다. 매개변수는 주중에는 하나의 값이고 주말에는 다른 값일 수 있다. 실행되면 니켈은 수신된 모든 매개변수에 적합한 새 구성 파일을 생성한다.

니켈의 구조는 대체로 기능적이며, 유형 검사도 가능하다. 핵심은 ‘정확성’이다. 잘 작성 니켈 코드 조각은 출력 이 구문 규칙 과 시행 해야 다른 규칙 모두 를 준수 한다는 한다는 것 거의 거의 하기 때문 이다. 니켈의 컴파일러를 사용하면 계약서를 작성한 다음, 출력이 계약서를 준수하는지 확인할 수 있하는지 확인할 수 있. 물론 구성 파일을 만들기 위해 코드를 작성하는 데 까다로운 부분이 있다. 하지만 이는 현대 아키텍처를 위한 매우 실용적인 솔루션이다.

코브라(Kobra)
코브라 개발자 는 머신러닝 을 엔지니어, 과학자, 그리고 (이 에) 전문 적 이지 다른 다른 코더 에게 개방 하는 언어 를 원 했다. 그 결과 머신러닝용 시각적 언어가 탄생했다. 코브라 의 통계 분석 과 머신러닝 을 지원 하는 적 인 빌트인 루틴 을 나타 내는 드래그 앤드 드롭 타일 로 코드 와 같은 시퀀스 구성 한다 한다. 이 프로세스 테이블 형식 데이터로 구성 된 데이터 프레임 과 대시 보드 보고서 를 만들기 만들기 위한 그래픽 디스플레이 기능 갖춘 r 처럼 느껴진다.

바이셉 (Bíceps)
클라우드의 유용한 기능 중 하나는 데이터 급증을 처리하기 위해 서버를 시작하고 땴제하는 것하는. 한때는 데이터센터 하드웨어 팀이 시스템을 요청, 설치, 테스트, 구성하는 데 몇 주가 걸렸다. 이제 클라우드를 사용하면 이 모든 작업이 몇 분 또는 몇 초 만에 이뤄진다. 많은 데브옵스팀이 다양한 클라우드에서 지원되는 여러 API에 코드를 쓰기 시작했다. 마이크로 소프트 는 더 코드 코드 형 (infraestrutura como código, IAC) 철학의 으로 으로 애저 에서 시스템 을 시작 하기 위한 단순 화 언어 를 만들기 로 했다.

바이셉이라는 이 개발자 가 새 인스턴스 에서 뒤집기 를 원 하는 의 다른 비트 를 기술 하는 효율 적 이고 선언 적 인 형식 을 제공 한다. 몇 가지 기본 인 타입-세이프티 는 오류 를 방지 하는 데 도움 되며, vs 코드 에서 사용 할 수 있는 인식 편집기도 있다 있다. 언어 자체 고차원 적 사고 를 위해 설계, 강력 한 선언 구조 를 통해 통해 순서로 순서로 든 을 을 포함 수 있어 애저 의 리소스 관리자 가 실행 을 최적 하도록 지원 한다.

프링크(Frink)
일각 에서 은행 을 선택 하는 한 가지 이 은행 의 회계 소프트웨어 가 1 달러 단위 의 부동 소수점 숫자가 아닌 정수 를 하여 센트 단위 를 를 하는 것 이라 고 말 한다. 부동 소수점 오류의 위험성은 잘 알려져 있고, 너무 크다. 얼마나 많은 버그가 대수롭지 않게 숫자를 뒤적거려서 생겨났던가?

프링크는 바로 이 문제를 해결하기 위해 만들어진 ‘단위 인식(unidade ciente)’ 언어다. 프링크의 각 변수는 숫자뿐만 아니라 톤, 와트, 피트, 미터 등 측정 단위도 표시한다. 프링크의 구성 파일 덕분에 단위 변환이 쉽다. 또한 핵심 메커니즘은 임의의 정밀도 숫자를 사용해 반올림 문제를 줄인다.

파우스트 (Fausto)
소리 합성은 너무 작은 시장 처럼 보일 수 있지만, 게임 개발, 가상 현실, 우수 한 음질 을 활용 하는 모든 애플리케이션 에서 매우 유용 하다. 그렇다면 기능적 오디오 스트림의 조합에서 이름을 얻은 도메인별 언어인 파우스트에 주목하라. 파우스트의 구조는 순수하게 기능적이며, 모든 기능은 사운드 프로세싱 파이프라인을 구성한라. 백 엔드는 들어오는 를 숫자 숫자 표현 나누고, 코드 자체 는 최종 결과 구성 되거나 되거나 결합 될 수 있는 기능 집합 이다. 예를 들면 코드 출력을 분할하고 지연을 추가해 에코 또는 리버브를 생성할 수 있다. 파우스트 의 코드는 c ++, c, llvm 비트 코드, 웹어셈 블리, 러스트 등 으로 변환 되기 때문 에 거의 모든 프로젝트 에서 쓸 수 있다.

멜로즈(Melrōse)와 글리콜(Glicol)
코드를 쓰는 사람은 프로그래머가 어떻게 밴드를 시작하는지 안다. 드러머 를 위해 광고 를 내고 모든 지원자 를 인터뷰 하는 대신, 드럼 머신 의 리듬을 설명 하는 코드 만 작성 하면 된다. 그렇게 되면 다른 밴드 멤버를 모두 서브루틴으로 교체할 수 있다. 그런 식으로 교향악단 전체를 만들 수도 있다.

멜로즈와 글리콜은 이런 스타일의 음악 창작을 위해 설계된 음악 프로그래밍 언어다. 둘 다 몇 번의 키 입력으로 정교한 작곡을 할 수 있다. 먼저, 멜로즈는 서양 음악에서 흔히 볼 수 있는 표준 12음 옥타브의 높은 수준에서 작동한다. 음표는 시퀀스로 그룹화되며, 소프트웨어는 많은 작업(예: 조옮김 등)을 처리한다. 출력 midi 지원 기기 에 되며, 코드는 midi 포트 통해 들어오는 신호 에 반응 할 수 수 있으므로 멜로즈 코드는 밴드 가 될 수 있다.

글리콜은 동일한 작업을 하위 레벨에서 수행하는 러스트 기반 도구다. 이 코드는 디지털 신호 처리와 통합돼 광범위한 음악 옵션을 제공한다. 오픈소스 오디오 엔진을 사용하여 브라우저에서 쓸 수 있는 소리를 생성하도록 설계됐다. 글리콜 의 는 이 언어가 모든 기술 수준 에 다른 사람 과 의 협력 을 장려 하기 위해 ‘저렴한 비용 과 상한선 상한선 을 가지고 있다 고 말 했다.

웹어셈블리(WebAssembly)와 웨이스(Wase)
명령어 를 에 전송 하는 가장 효율 적 인 방법 은 를 바이너리 로 인코딩 하고 cpu 에서 쓰는 기본 연산 으로 으로 제한 것 이다. 각 칩 에는 선호 바이너리 바이너리 구문 이 있으며, 파스칼 (Pascal) 이나 (java) 등 의 일부 언어 에는 로컬 가상 머신 에서 되는 중립 중립 바이너리 이 있다 있다. 웹어셈블리(WebAssembly)는 웹 브라우저에 표준 형식의 텍스트와 결합된 바이너리 코드를 제공한다. 목표 는 애플리케이션 의 백본 을 구성 하는 축소 된 자바스크립트 코드 거의 기본 속도로 실행 할 준비 준비 가 코드로 코드로 하는 것 이다.

많은 개발자 상위 언어 를 브라우저 에서 실행 되는 웹어셈 블리로 변환 컴파일러 를 사용 사용 웹어셈블리 를 를 직접 작성 하지 활용 한다 한다. 웹어셈블리 의 구조 의 대부분 을 사용자 가 읽을 수 있는 형식 노출 시키는 하위 하위 의 언어 언어 를 개발 하려는 도 있다 있다. 웨이스는 강력한 유형의 C와 유사한 구문을 제공하는 옵션 중 하나다.

또한 웹어셈 블리는 의 JVM 과 유사 스택 머신 으로 명령어 를 인코딩 하는 일반 적 인 방법 으로 웹 브라우저 에서 에서 하는 방법 을 찾고 있다. 이를테면 레드판다(Redpanda)는 웹어셈블리 작성 된 코드로 데이터 가 파이프 를 내려올 때 개발자 데이터 를 수정 수정 기회 를 를 제공 하는 스트리밍 플랫폼 이다 이다.

자바 17(Java 17)
기술적으로 자바는 새로운 언어가 아니다. 하지만 의 가장 큰 장점 은 개발자 가 이전 버전 과 의 을 유지 하는 하는 데 역할 역할 을 했다는 것. 최신 JVM에 10 년 또는 20 년 된 코드를 컴파일하는 것이 매우 쉽다. 코드가 작동한다는 보장은 없지만 여전히 다른 모든 언어보다는 컴파일하기 쉽다. 자바팀이 수백만 개의 통합 테스트를 수행했다는 점은 이를 보여준다.

자바 17 을 이 목록 포함 포함 시킨 이유 는 1990 년대 시간 여행자 거의 알아볼 알아볼 수 없을 정도 로 현대 화 됐기 때문 이다. 자바 17에는 코딩 방법을 바꾸는 많은 추가 기능과 확장 기능이 있다. 이를테면 된 난수 생성기 또는 더 엄격한 부동 소수점 계산 체계 등 매우 복잡한 숫자 숫자 코드 를 작성 하는 문제 를 한다 한다. 회계 시스템 작성 하는 개발자 는 정수 를 사용 센트 수 를 유지 할 수 있지만 ai 알고리즘 과 복잡한 선형 을 다루는 개발자 는 부동 소수점 을 필요 로 한다.

아울러 강력한 캡슐화와 스위치 의미 체계 등은 핵심 언어에 규율과 유연성을 혼핋 하여 유연성을 혼핋 하여 유연성을 혼핋 하여 유연성을 혼핋을 전반 적 이러한 모든 개선 사항 덕분 에 더 강력 하고, 더 안전, 더 안전 한 코드 를 작성 하는 것 이 그 어느 때 보다 도 쉬워졌다. [email protected]


Source: ITWorld Korea by www.itworld.co.kr.

*The article has been translated based on the content of ITWorld Korea by www.itworld.co.kr. If there is any problem regarding the content, copyright, please leave a report below the article. We will try to process as quickly as possible to protect the rights of the author. Thank you very much!

*We just want readers to access information more quickly and easily with other multilingual content, instead of information only available in a certain language.

*We always respect the copyright of the content of the author and always include the original link of the source article.If the author disagrees, just leave the report below the article, the article will be edited or deleted at the request of the author. Thanks very much! Best regards!