산업 제조
산업용 사물 인터넷 | 산업자재 | 장비 유지 보수 및 수리 | 산업 프로그래밍 |
home  MfgRobots >> 산업 제조 >  >> Manufacturing Technology >> 산업기술

보스크(Bosque): 코드 품질 높이는 마이크로소프트의 새로운 루프 없는 언어

구조적 프로그래밍과 추상 자료형이 1970년대에 대중화된 이래, 거의 모든 프로그래밍 언어에서 이를 사용해 왔습니다. 이 방법론들은 프로그래머가 하드웨어 아키텍처를 걱정하지 않고 코드의 의도와 핵심 동작에 집중할 수 있게 했습니다. 이는 곧 컴파일러와 통합 개발 환경(IDE)의 황금기로 이어졌습니다.

생산성을 더욱 높이고, 소프트웨어 품질을 개선하며, 여러 새로운 컴파일러와 개발자 툴링 경험을 가능하게 하기 위해 마이크로소프트 엔지니어들이 최근 '보스크(Bosque)'라는 새로운 프로그래밍 언어를 내놓았습니다.

보스크는 기계와 인간 모두에게 단순하고 추론하기 쉬운 코드를 작성하도록 설계되었습니다. 코딩과 개발 과정에서 '우발적 복잡성(accidental complexity)'을 피할 수 있는 여러 방법을 제공합니다.

규칙화된 프로그래밍(Regularized Programming)

구조적 프로그래밍 모델에서 흐름 제어는 조건문, 서브루틴, 루프로 관리됩니다. 반면 새로운 프로그래밍 언어는 가변 상태, 참조 동등성, 루프 같은 복잡성 근원을 제거합니다. 그래서 개발자들은 이 패러다임을 '규칙화된 프로그래밍'이라고 부릅니다.

보스크는 타입스크립트에서 영감을 받은 구문과 타입 시스템, ML, 그리고 자바스크립트/Node에서 영감을 받은 의미론을 결합해 파생되었습니다. 비강요적(non-opinionated) 타입 시스템을 지원해 프로그래머가 다양한 공칭(nominal), 구조적(structural), 조합(combination) 타입을 사용해 문제 영역의 관련 특징을 유연하게 인코딩할 수 있게 합니다.

참고: Microsoft | Moving Beyond Structured Programming

이 언어는 'while', 'do while', 'for' 루프를 사용하지 않으며, 조건을 적용하는 데 완전히 다른 접근 방식을 취합니다. 마이크로소프트의 컴퓨터 과학자 마크 마론(Mark Marron)이 구조적 루프를 대체하면서 소프트웨어 품질을 높이는 '펑터(Functors)' 개념을 도입했습니다.

심볼릭 트랜스포머가 있는 펑터

보스크는 특화된 대량 대수적 데이터 연산과 none(또는 선택적 데이터) 처리에 대한 통합 지원을 제공합니다. 컬렉션 처리를 위한 파이프라인과 if, match를 표현식으로 지원합니다. 보스크에는 풍부한 표현식 기본 요소 덕분에 많은 문장 결합자가 필요하지 않습니다. 언어는 assert(디버그 빌드에서만 활성화)와 check(모든 빌드에서 활성화)을 일급 기능으로 제공하며, 사전/사후 조건과 클래스 불변식도 지원합니다. 또한 보스크에는 어떤 루프 구성체도 없습니다.

보스크는 마이크로서비스, 서버리스 함수, RESTful API에 의존하는 클라우드 기반 개발 프로젝트에서 극도로 유용할 수 있습니다. 빠른 시작을 위한 제로 비용 로딩, 초저비용 추적, 최소한의 성능 변동성을 가진 런타임을 가능하게 할 수 있습니다.

앞으로의 전망

이 새로운 언어는 아직 개발 단계에 있으며, 테스트해보고 싶다면 GitHub에서 코드를 확인할 수 있습니다.

초기 실험 결과, API 자동 마샬링, 향상된 퍼징, 심볼릭 테스팅, 안정적인 GC 지원을 갖춘 실시간 컴파일 등 여러 차세대 경험을 강화할 수 있음을 시사합니다.

참고: NASA의 안전 중요 프로그램 작성을 위한 10가지 코딩 규칙

보스크는 수정 대상이며, 여러 버그와 누락된 기능이 있고 성능도 아직 많이 개선될 수 있습니다. 마론과 그의 팀은 메모리 사용량의 시간 경과에 따른 경계 자동 설정, 추가 노력 없이 런타임 오류가 없는 앱 검증 등 더 진보된 개발자 툴링 경험에 집중할 예정입니다.

산업기술

  1. 모든 개발자가 마스터해야 할 상위 10대 클라우드 프로그래밍 언어
  2. 마이크로프로세서 프로그래밍 기초
  3. 위상 고정 루프(PLL): 기초, 응용, 설계 모범 사례
  4. C 프로그래밍 연산자 완벽 가이드
  5. C 프로그래밍 입문자를 위한 종합 PDF 튜토리얼 마스터하기
  6. 파이썬 print() 줄바꿈 없이 출력하기: end 매개변수 & 기타 기법 마스터
  7. 마이크로소프트, 대화형 AI 새 이정표… 멀티태스크 심층신경망으로 GLUE 벤치마크 최고점 경신
  8. GLTR: AI 생성 텍스트 탐지하는 통계 도구… '예측 가능성'으로 가짜 글 식별
  9. 2021년 반드시 배워야 할 프로그래밍 언어 9가지
  10. C 프로그래밍 입문: 시스템 프로그래밍의 기초 다지기