Offcanvas

개발자 / 애플리케이션

'개발자라면 누구나' 한번쯤 빠져 보는 10가지 소프트웨어 '종파'

2019.10.07 Peter Wayner   |  InfoWorld

형식 비지정 프로그래밍

형식 지정 언어 애호가들이 세력을 형성하자 곧 대항 운동이 일어나면서 데이터 형식 지정 작업은 대부분 시간 낭비라는 선언이 나왔다. 프로그래머들이 문자열과 정수를 추가한다고 해서 프로그램이 실행되는 즉시 예외를 일으키며 다운되지는 않는다. 겨우 몇 분 전에 이 문제에 플래그를 지정한다고 해서 컴파일러에서 많은 시간이 절약되는 것도 아니다.
 
형식 비지정 지지자들은 정의할 때마다 형식을 지정하는 수고를 할 가치가 없다고 생각한다. 또한 형식 지정은 계산 중에 더 많은 데이터를 사용할 수 있게 됨에 따라 적응하고 개선되는 유연한 데이터 구조 생성을 크게 제약한다.
 
게다가 프로그래머의 의도를 읽고 적절한 변수 유형을 추론하는 일부 자동화된 컴파일러의 역량이 대폭 향상되는 중이다. 컴퓨터가 알아서 처리할 수 있다면 소소한 그런 일들은 그냥 컴퓨터에 맡기는 편이 낫지 않을까?
 

로우 코드/노코드

소프트웨어를 쓰는 일은 어렵다. 따라서 프로그래머들이 쓰는 코드의 양을 줄일 수 있는 자동화에 끌리는 것은 당연하다. 이 자동화가 어느정도 높은 수준에 도달하면 개발자는 누구나 아주 적은 코드로, 또는 아예 코드 없이 정밀한 소프트웨어를 만들 수 있다고 호언하기 시작한다.
 
문제는 숨겨진 추상화와 정교한 데이터 구조에 대해 여전히 프로그래머처럼 생각해야 한다는 것이다. 이 생각을 JSON 파일 또는 XML 등 어떤 방법으로든 코드화해서 명시해야 한다. 자동화 지지자들은 일반적으로 이 작업을 단순한 구성으로 치부하지만, 우리는 공식 프로그래밍 언어로 작성된 명령어를 붙잡고 씨름하는 시간 못지않게 구성 파일과 관련해서도 많은 시간을 소비하곤 한다.
 
이와 같은 세세한 부분은 별로 중요하지 않다. 프로그래머들은 같은 일을 두 번 하기를 싫어하기 때문에 항상 자동화에 끌린다. 더 중요한 점은 경영진은 항상 자동화가 비용을 줄이고 수익성을 개선해줄 것으로 꿈꾼다는 것이다. 코드를 없앨 방법을 찾아 헤매는 동안 로우 코드 또는 노코드 신조를 지탱하는 힘이 바로 이 꿈이다.
 

장황한 코드

지난30-40년 동안 프로그래밍 분야의 여러 유명 인사들은 앞으로 개발자들이 아이콘을 클릭하고 플로우차트를 이리저리 드래그하거나 손을 흔들어 기계에 작업을 지시하게 될 것이라고 예언해왔다. 텍스트 파일에 키보드를 직접 두드려 입력하는 방식을 제외한 모든 방법이 거론됐다. 그러나 온갖 예언에도 불구하고, 명령줄과 텍스트 기반 프로그래밍 언어는 좀처럼 사라지지 않는다. 오히려 프로그래머들은 갈수록 직접 입력하기를 더 즐기는 듯하며 심지어 전체 텍스트는 최근 대세다.
 

프라이버시의 수호자

누구나 프라이버시를 중시하며 프로그래머도 예외는 아니다. 사실 프로그래머는 컴퓨터가 얼마나 프라이버시를 침해할 수 있는지를 잘 안다. 문제는 고객이 원하는 것을 예상하는 정교한 소프트웨어에 의존하는 비즈니스 모델이 많다는 것이다. 물론 사람들에게 직접 물어볼 수도 있지만 대부분의 사람들은 너무 바빠서 설문 따위에 응하지 않는다. 따라서 이러한 비즈니스 모델을 가동하기 위한 유일한 방법은 프라이버시에 대한 우려를 잠시, 이 경우에 한해서만 접어두는 것이다. 일자리와 타인의 프라이버시 중에서 선택하라고 하면 대부분 고민할 여지조차 없다.
 
흥미로운 절충안도 일부 있으며 경우에 따라서는 프라이버시를 보존하는 방식의 계산이 가능하다. 프라이버시 비슷한 것을 제공하면서 고객의 마음을 읽는 새로운 멋진 기능도 구현할 수 있는 고차원적인 방법도 존재한다.
 

개방성의 수호자

모두 오픈소스와 개방형 표준이라는 개념을 좋아한다. 경쟁자들의 번창을 허용함으로써 스스로의 비즈니스 모델과 충돌하기 전까지는 그렇다. 오픈소스 소프트웨어의 가장 유력한 기업 중 일부는 동시에 가장 폐쇄적인 비밀 소스를 지키고 있다. 예를 들어 구글은 훌륭한 여러 오픈소스 프로젝트를 후원했고 콘텐츠 제작자에게 수익을 안겨주는 디지털 권한 관리 소프트웨어에 대한 공개적인 반대 캠페인을 벌이기도 했다. 그러나 검색 엔진 순위 알고리즘에 대해 물으면 구글은 선을 긋는다. 거긴 개방되지 않은 영역이다.
 
구글만이 아니다. 대부분의 기업은 개방성에 대해 유연한 접근 방식을 취한다. 개방성은 다른 사람의 비즈니스 모델에 적용될 때는 항상 좋지만 내 비즈니스 모델에 적용될 때는 그렇지 않다.
 

다른 무엇보다 중요한 것

지금까지 살펴본 신조는 모두 절대적인 진리처럼 들린다. 열렬한 추종자들은 자신이 믿는 신조가 마치 언제든 천둥을 내리칠 수 있는 분노한 신이 내려준 규율인 듯이 행동하지만, 현실의 프로그래밍 세계는 정의를 제멋대로 늘릴 수 있는 교묘한 트릭으로 가득 차 있다. 적당한 방법만 알면 서로 정 반대로 보이는 두 가지 신조에 동시에 참여하는 것도 가능하다.
 
예를 들어 일부 함수형 언어는 매우 유연해서 필요에 따라 비함수적 트릭을 사용할 수 있다. C와 같은 저명한 비트 뱅잉 툴도 궁극적으로는 함수형 프로그래밍 언어다. 형식을 싫어하는 사람들 일부는 모든 함수가 형식 계층 구조에서 가장 포괄적인 개체를 취하도록 정의하는 단순한 방법으로 형식 확인 언어의 기반을 약화시킨다.
 
각각의 요소가 아무리 상충하는 것처럼 보이든 자기만의 조합으로 다양한 원칙을 섞어 직접 신조를 만들지 못할 이유도 없다. 코드를 쓰는 사람, 명령을 내리는 사람은 결국 자기 자신이다. editor@itworld.co.kr 
CIO Korea 뉴스레터 및 IT 트랜드 보고서 무료 구독하기
추천 테크라이브러리

회사명:한국IDG 제호: CIO Korea 주소 : 서울시 중구 세종대로 23, 4층 우)04512
등록번호 : 서울 아01641 등록발행일자 : 2011년 05월 27일

발행인 : 박형미 편집인 : 천신응 청소년보호책임자 : 한정규
사업자 등록번호 : 214-87-22467 Tel : 02-558-6950

Copyright © 2024 International Data Group. All rights reserved.