2007년 08월 23일
선택한 것의 1/2은?
대세가 갈리고 있는 시점이라고 생각한다. 동적언어들, 혹은 강력하고 유연한 표현력을 자랑하는 언어들과 기존의 리거시한 언어들의 양분되고 있는건 아닌지 생각해본다. (뭐 언제쩍 얘기냐고 한다면 할말없고, 아직 멀었다고 해도 관심없기는 마찬가지다.)
재미있는것은 전자에 속했다고 자부하거나 하는 이들이 간과하고 있는것이 있다고 생각된다.(아님말고, 혹은 읽고계신분께서 아니면 말고.) 분명 후자로부터 전자가 대두된데에는 후자의 제한적인 표현력이 큰 문제가 되었겠다.(어차피 서로 튜링컴플릿 하다면 어셈블리로도 뭐든지 만들수있는거고... 실제로 요즘에 유행하는 자바스크립트로 별별거 다 만들기 같은것도 가능하고...) 결국 전자의 지향점은 관리가 가능하며, 명확한 코드를 작성하고자 하는데 커다란 한 부분을 차지한다고 생각한다.(역시 아님말고.)
하지만 문제는 너무 자아도취적인 성향이 강하지 않은가 싶다. 그냥 도덕적인 자성의 목소리가 아니라, 그 표현력이라는 나르시즘에 빠져 실질적으로 정말 중요한 명료한 구조와 조합보다는 곡예적인 문장과 기괴한 방식만을 좇아가는것은 아닌가 하는 인상을 받을때가 많다. 이는 마치 원인을 모르고 치료약만을 취하는 경우와 같이 계속해서 문제를 그 이름과 시간만을 달리하여 복제하는것인 아닐까? 결국 이러한 코드들은 스크립트를 넘어 애플리케이션이 될수없다고 생각한다.(스크립트도 중요하지만, 일회성을 넘어 오랜시간을 유지보수해야할 애플리케이션은 숙고해야할 부분이 더 많다고 생각한다.)
내가 생각하는 자바의 미덕은 그런 부분이다. 정말 답답한 표현력이지만 제한된 틀 안에서 구조와 조합에 더 집중할수 있도록 해준다고 생각한다. 자바는 분명 그 표현력에서 비웃음을 사도 괜찮지만, 그런 모든 표현을 사용하면서도 자바에서처럼 구조적인 질문들에 더 나은 답을 제시할 수 있을때라고 생각한다.
분명 더 명료하고 간결한 표현법이 있다면 이를 사용해야겠지만, 단순히 바이트수가 더 적다고 명료한 표현인것은 아닐것이다.(기계코드야 말로 궁극의 표현법;;;) 조금 더 돌아가는 길이라고 하더라도 더 의도를 명징하게 표현하는것이 그 흐름을 잘 파악하고 그를 순응하고 있는 것은 아닐지 싶다.
자바를 제외하고 리팩토링과 소스분석을 쉽게 할 수 있었던 환경은 커먼리습(+slime), 스몰톡개발환경, 그리고 파이썬 정도였던것 같다... 루비의 경우 2.0의 목표중에 하나가 내장된 자기자신에 대한 소스레벨의 자료구조와 같은 것들을 기대해볼만하다. 그렇게만 된다면 완벽하지는 않아도 많은 부분 이를 상충할 수 있는 좋은 도구들이 나오지 않을까.
'바른것을 아는 사람은 바른일을 할것이다.'
나쁜것을 안다면 그것이 왜 나쁜지도 알것이다. 나쁜것을 알면서 이를 멀리하는것이 진정 바람직하지 않을까. 그러면 바른것을 아는만큼 바른것을 할 수 있을것이다.
재미있는것은 전자에 속했다고 자부하거나 하는 이들이 간과하고 있는것이 있다고 생각된다.(아님말고, 혹은 읽고계신분께서 아니면 말고.) 분명 후자로부터 전자가 대두된데에는 후자의 제한적인 표현력이 큰 문제가 되었겠다.(어차피 서로 튜링컴플릿 하다면 어셈블리로도 뭐든지 만들수있는거고... 실제로 요즘에 유행하는 자바스크립트로 별별거 다 만들기 같은것도 가능하고...) 결국 전자의 지향점은 관리가 가능하며, 명확한 코드를 작성하고자 하는데 커다란 한 부분을 차지한다고 생각한다.(역시 아님말고.)
하지만 문제는 너무 자아도취적인 성향이 강하지 않은가 싶다. 그냥 도덕적인 자성의 목소리가 아니라, 그 표현력이라는 나르시즘에 빠져 실질적으로 정말 중요한 명료한 구조와 조합보다는 곡예적인 문장과 기괴한 방식만을 좇아가는것은 아닌가 하는 인상을 받을때가 많다. 이는 마치 원인을 모르고 치료약만을 취하는 경우와 같이 계속해서 문제를 그 이름과 시간만을 달리하여 복제하는것인 아닐까? 결국 이러한 코드들은 스크립트를 넘어 애플리케이션이 될수없다고 생각한다.(스크립트도 중요하지만, 일회성을 넘어 오랜시간을 유지보수해야할 애플리케이션은 숙고해야할 부분이 더 많다고 생각한다.)
내가 생각하는 자바의 미덕은 그런 부분이다. 정말 답답한 표현력이지만 제한된 틀 안에서 구조와 조합에 더 집중할수 있도록 해준다고 생각한다. 자바는 분명 그 표현력에서 비웃음을 사도 괜찮지만, 그런 모든 표현을 사용하면서도 자바에서처럼 구조적인 질문들에 더 나은 답을 제시할 수 있을때라고 생각한다.
분명 더 명료하고 간결한 표현법이 있다면 이를 사용해야겠지만, 단순히 바이트수가 더 적다고 명료한 표현인것은 아닐것이다.(기계코드야 말로 궁극의 표현법;;;) 조금 더 돌아가는 길이라고 하더라도 더 의도를 명징하게 표현하는것이 그 흐름을 잘 파악하고 그를 순응하고 있는 것은 아닐지 싶다.
자바를 제외하고 리팩토링과 소스분석을 쉽게 할 수 있었던 환경은 커먼리습(+slime), 스몰톡개발환경, 그리고 파이썬 정도였던것 같다... 루비의 경우 2.0의 목표중에 하나가 내장된 자기자신에 대한 소스레벨의 자료구조와 같은 것들을 기대해볼만하다. 그렇게만 된다면 완벽하지는 않아도 많은 부분 이를 상충할 수 있는 좋은 도구들이 나오지 않을까.
'바른것을 아는 사람은 바른일을 할것이다.'
나쁜것을 안다면 그것이 왜 나쁜지도 알것이다. 나쁜것을 알면서 이를 멀리하는것이 진정 바람직하지 않을까. 그러면 바른것을 아는만큼 바른것을 할 수 있을것이다.
# by | 2007/08/23 00:33 | 5.1ch DogSound | 트랙백 | 핑백(1)




☞ 내 이글루에 이 글과 관련된 글 쓰기 (트랙백 보내기) [도움말]
... 0 metoo 선택한 것의 1/2은? 오전 12시 40분 이글루 이글루스 포스팅 뻘글 멍소리 닭소리 마음의소 ... more