Level : WORDPRESS BOOK LINKEDIN PATENT Send Mail 동냥하기 hajunho.com

241

살며 생각하며, / / 2020. 5. 12. 16:02
반응형

python 이 좋은가? swift 가 좋은가?

 

이 질문에 대해서 단답형으로 대답하는 것은 언어를 모르는 것이다.

 

영어가 좋은가? 한글이 좋은가?

 

이기 때문이다.

 

var, let, func 가 좋은가?

 

_(없음), _ , def 가 좋은가?

 

묻는 다면 swift 라고 하고 싶다.

 

왜냐면 그 오래된 C에서도 function 의 반환형을 먼저 적고 function 구분은 ()로 짓는다. 

 

어떻게 선언하던 ()로 호출을 해야 하는 function 혹은 method의 입장에서 pythonic 하게 생각하면 () 로 function을 구분하는게

 

가장 단순하다.

 

선언에서 ()를 뺄 수 있다면 모르겠지만 뺄 수 없다면 ()로 선언하고 

함수를 쓸 때 ()를 뺄 수 있다면 모르겠지만 뺄 수 없다면 ()로 쓰기 때문에

 

짝을 맞추는 편이 좋다.

 

그래서 어차피 선언을 할거면 하는 편이 좋다고 생각하기 때문에 let, var, func 처럼 명시적으로 선언하는 편이 좋다고 생각한다.

 

python 의 경우 사실 typedef 로 선언되는 복잡한 함수 포인터형이 단순한 알파벳 선언으로 대체되니 편한 부분은 무시할 수 없겠다. 그러나 어차피 .type으로 type 구분을 해야 한다.

 

왜냐면 메모리 시작점은 찍기 쉬우나 끝점은 그 길이를 계산해야 알 수 있기 때문에 자료형을 없애는 것이 불가능 하기 때문이다. - 그게 가능한 경우는 당연히 무한정의 메모리를 가진 경우겠지.

 

암튼, 변수 선언 함수 선언 부분은 python 보다 swift 가 더 낫다.

 

그럼, JAVA의 경우는?

 

접근 제한자 까지 명시적으로 쓰는게 기본 코딩인 java가 당연히 더 좋다. 프로그램에 문서를 더한게 소프트웨어 인데, 사실 자바는 코딩 컨벤션만 지키면 따로 문서를 생성하지 않아도 되기 때문이다. javadocs 자동 생성기 써보면 그 위력이 얼마나 강력한지도 알고 말이다.

 

암시적 보다는 명시적인 것이 낫다는 것 또 한 파이썬의 철학이다.

 

교묘하게 JAVA를 찬양하는게 아니냐? 라고 물을 수도 있겠다.

JAVA는 C++로 만들어 졌고 C++(C with classes)는 C 다.

 

어떤 언어든 의사 소통을 넘어 시를 쓰고 아름다움을 표현할 수 있다면 어떤 언어든 상관없다.

 

다만, 개인적으로 명시적인게 좋다는 것 뿐. 물론, 모든게 암시적으로 가능하면 그게 더 좋다.

 

말하지 않아도 통하는 것이 드물어서 스스로 프로그래밍 하는 AI 나오면 그 때서야 가능하리라 싶다.

 

 

반응형

'살며 생각하며,' 카테고리의 다른 글

243  (0) 2020.05.13
242  (0) 2020.05.13
240  (0) 2020.05.11
239  (0) 2020.05.11
238  (0) 2020.05.11
  • 네이버 블러그 공유하기
  • 네이버 밴드에 공유하기
  • 페이스북 공유하기
  • 카카오스토리 공유하기