C#이 너무 복잡해지고 있습니까? | 마이클 모레노

흠 저만 그런 생각을 하는 건 아닌 것 같군요. 제 의견은 복잡해지고 있다 보다는 사용법이 다양해지고 있다고 봅니다. 다양한 방법으로 코드를 이제 전개할 수 있는 것이지요. 이것이 숙달 된 프로그래머 입장에서는 문제가 안되겠지만 새로 학습하려는 학생 입장에서는 매우 복잡해보이지 않을까요?

5 Likes

글을 읽다가 멍하니
이렇게 너무 멋있고 편한거만 추구하다가 산으로 가는 것 아닐까 ? 하는 생각이 들었습니다.
Syntactic sugar의 아이러니함이 아닐까요…

4 Likes

아 저도 이 의견 너무 공감하네요…지금이야 C#을 좋아하게 되어 관심이 생기고 공부하다보니 알게된거지만, 좋아하기 전에 업무용으로 단순 C#을 통해 일을 할 때는 도대체 뭐가 뭔지 알 수가 없었습니다.

4 Likes

제 개인적인 의견으로는, 아마도 C# 언어도 reboot이 되어야 하지 않을까… 라는 생각을 종종 하게 됩니다.

5 Likes

저 글에서 예시로 들고 있는 신택스가 모두 같은 범주에 들어있다고 보기는 어려울 것 같습니다. 이니셜라이저의 경우 배열 이니셜라이저는 꼭 있어야겠지만(그렇지 않다면 코드가…), 그 외에는 단순히 키 입력 몇 번을 줄여주는 정도라, 요즘처럼 에디터가 코드 작성에 필요한 반복 작업을 많이 줄여줄 수 있는 시대에는 굳이 필요하지 않겠죠. (동의하지 않으실 분도 계실지 모르겠지만 record 같은 키워드도 마찬가지 맥락이라고 생각합니다) 하지만 ref struct이나 readonly struct 같은 경우 (흔치는 않지만) 필요한 상황이 있고, 이런 키워드가 없을 경우 문제를 해결하기가 무척 어려워지니까요.

개인적으로, 다른 문법으로 대체가 가능한 syntactic sugar는 사실상 코딩 컨벤션의 문제라고 생각합니다. syntactic sugar를 적극적으로 사용하는 코드보다는, 처음부터 끝까지 일관성 있게 작성된 코드가 훨씬 가독성이 높다고 보거든요.

4 Likes

예시로 햇갈릴만한것들을 보여주지만 실제로 업데이트 되는 상당수의 문법들은 서비스에 큰 도움이 됩니다, {get; private set;} 과 {get;} 이 햇갈린다고 getter/setter 만들어 쓰실건 아니잖아요. tuple 할당은 비단 c#에서만 저러는것도 아니고 파이썬을 비롯한 많은 언어에서 이미 채택한 사례인데요, 저도 저거 햇갈리다고 생각하지만 반대로 저게 마음에 들고 쉽다는 사람들도 많아요. 정적타입을 강력하게 지향할지 dynamic, anonymous 등 동적타입을 섞을지는 각자 취향이 갈릴 수 있지만 복잡하게 만드는 요소라고 생각되진 않습니다. 아쉬운 케이스가 없는건 아니지만 (record의 attribute나 nullable등) 긍정적인 방향성이 많다고 생각해요.

3 Likes

제가 귀가 얇아서 그런가 모두들 맞는 말씀만 하시는 것 같네요 @_@

1 Like