소프트웨어의 혁신과 함수형 프로그래밍
- 소프트웨어를 통한 혁신은 왜 발생했는가?
- 인간의 추상적인 사고를 통해 발생한 아이디어를 컴퓨터의 극대화된 연산력을 통해 사용할 수 있게 되었기 때문.
- 이러한 시각은 크게 봐도 그렇고 개발자가 언어를 바라보든 작은 시각에서도 맞다.
- 즉, 컴퓨터와 인간의 소통을 편하게 하려는 방향으로 거시적으로, 미시적으로 발전해왔다.
- 함수형 프로그래밍도 이러한 맥락의 연장이라 생각할 수 있다.
- 새로운 문제 해결 방법이 나타났다면, 이를 익히는 것이 내 삶에도, 전체를 위해서도 맞지 않을까?
왜?
- 객체지향
- 움직이는 부분을 캡슐화하여 이해를 돕는다.
- 클래스 단위의 재사용 -> 큰 프레임워크 스타일의 재사용 선호
- 함수형
- 움직이는 부분을 최소화하여 이해를 돕는다.
- 세부적인 단계에서 쉽게 코드 재사용
- 함수 수준에서의 재사용!
전환
package com. nealford. ft. trans;
import java.util.List;
public class TheCompanyProcess {
public String cleanNames (List<String> list0fNames) {
StringBuilder result = new StringBuilder();
for (int i = 0; i < listOfNames.size(); i++) {
if (listOfNames.get(i). length () > 1) {
result.append(capitalizeString(listOfNames.get(i))).append(",");
}
}
return result. substring(0, result. length() - 1). toString();
}
public String capitalizeString (String s) {
return s.substring(0, 1). toUpperCase() + s.substring(1, s. length());
}
}
Reference