추상화 확장 성이란 무엇입니까?
추상화 확장 성은 새로운 개발 환경에서 프로그래밍 구성 요소를 구성 할 수있는 시스템의 전반적인 능력의 확장입니다. 개발자가 재건 할 필요없이 수행 할 수있는 중요한 운영의 수를 증가시킵니다.”
프로그램이나 네트워크의 확장성에 대해 이야기 할 때 대화는 종종 계산 확장 성 또는 높은 처리량 또는 복잡한 거래를 처리하는 프로토콜의 용량에 중점을 둡니다. 그러나 확장 가능성의 또 다른 범주가 있습니다. 정량화 할 수는 없지만 추상화 확장 성이 중요합니다.
핵심적으로 추상화 확장 성은 다른 개발자의 이전 작업을 참조하고 재사용하여 개발자가 응용 프로그램을 구축 할 수있는 능력을 말합니다. 요컨대, 추상화 확장 성은 개발자가 "휠을 재창조"하도록 강요하지 않는 것입니다.
오늘날 소프트웨어에서 추상화는 라이브러리, 도구, 운영 체제, 컴파일러, 통역사 및 기타 여러 구성 요소의 계층 생태계로 경험됩니다.
개발자는 기존 프로그램을 함께 그룹화하여 추상화의 혜택을 누리므로보다 복잡한 응용 프로그램을위한 빌딩 블록 역할을 할 수 있습니다. 개발자는 이러한 추상화 자체를 쓸 필요가 없을뿐만 아니라 반드시 내면의 작업을 이해할 필요조차 없습니다. 그들은 수천 명의 다른 개발자가 성공적으로 사용했다는 것을 알고 있다는 확신으로 특정 추상화를 활용할 수 있습니다.
글쓰기 부담없이 기존 프로그램을 조립하거나 심지어이를 완전히 이해할 수있는 능력을 통해 개발자는 개별적으로 보유하지 못한 지식으로 더 빠르고 쉽게 구축 할 수 있습니다. 이것은 응용 프로그램의보다 복잡하고 맞춤형 부분을위한 시간을 보유합니다. 또한 그렇지 않으면 불가능한 소프트웨어를 작성할 수 있습니다. 개발자가 이미 존재하는 추상화를 더 활용할 수있는 시스템은 추상화 확장 성이 더 많은 시스템입니다.
전통적인 소프트웨어 환경 (Web2)에서는 추상화가 풍부합니다. 수천 개의 인기있는 도구와 도서관은 개발자가 탐색하고 선택할 수있는 일반적으로 사용되는 프로그램으로 가득 차 있습니다. 요컨대, Web2는 수십 년의 개발자 활동으로 인해 추상화 확장 성으로부터 큰 이점을 얻습니다.
Web3의 추상화 확장 성
Web3은 전적으로 추상화가 없다는 것이 아닙니다. Solidity 및 Vyper 컴파일러와 같은 것들뿐만 아니라 라이브러리, 툴링, SDK 및 기타 개발자 리소스가 모두 예입니다. 그러나 비교적 초기 생태계로서 Web3는보다 확립 된 개발 환경에서 발견되는 다양한 추상화가 부족합니다.
오늘날 Web3 개발자는 여전히 잘 정립 된 추상화의 이점없이 맞춤형 실행 환경에서 테스트하고 반복하고 있습니다. 결과적으로, 그들은 종종“처음부터 처음부터”구축하는데, 이는 오늘날 전반적인 소프트웨어 개발을 초래하는 프로세스입니다. Web3 소프트웨어는 추상화 확장 성이 누락 될 때 더 제한적이고 안전하지 않으며 쓰기 및 실행이 느리게 진행됩니다.
추상화 스케일링
추상화 스케일링은 성숙한 도구 및 코드 라이브러리를 활용하여 발생하여 개발자가 수십 년의 이전 작업을 활용할 수 있도록합니다. 결과적으로 응용 프로그램이보다 복잡하고 표현력이 높아지는 용량이 증가합니다. 또한 추상화 확장 성은 성능과 보안을 향상시켜 개발자가 충분히 전투 테스트 및 세련된 프로그램 중에서 선택할 수 있도록합니다.
추상화 확장 성은 개발자가 부재에 직면 할 때까지 종종 생각되지 않습니다. Web3는 여전히 초기 단계에 있으며 오늘날 개발자들은 추상화의 모든 이점없이 진행 중입니다. Web3 생태계가 성장하고 개발자가 점점 더 많은 추상화에 기여함에 따라, 우리는 복잡성, 효율성, 보안 및 깎아 지른 Web3 애플리케이션의 양에 대한 급증을 예상 할 수 있습니다.
작가:
Gabriel Coutinho de Paula는 Cartesi 생태계에 기여하여 핵심 기술과 인프라를 구축합니다. 그는 2020 년에 파트 타임으로 프로젝트에 합류했으며 2021 년에 마스터의 논문을 프로그래밍 언어로 방어 한 후 풀 타임으로 합류했습니다. 그는 허가없는 심판 토너먼트 기술을 기반으로 Cartesi의 결함 방지 시스템의 개발을 이끌고 스마트 계약과 같은 온 체인 구성 요소 및 유효성 검사기 노드와 같은 오프 체어 구성 요소를 작성합니다.