본문 바로가기

IT 공부/공부하며 알게된 사실들11

왜 다른 사람이 작성한 코드는 이해하기 힘든 것일까 (본질적 어려움) 수많은 개발자들이 개발 실력을 업그레이드하려면 다른 사람이 작성한 코드를 읽어보라고 한다. 하지만 막상 오픈소스 하나를 찾아서 코드를 읽다보면 생각보다 정말 이해하기 힘들다. 난 처음에 이 문제의 원인을 내 프로그래밍 실력이 낮아서 문제라고 생각했다. (이건 정답) 그래서 프로그래밍 언어를 더더욱 배워야 한다고 생각했다. (이건 오답) 하지만 개발 공부를 하면 할수록 느껴지는 것이 생겼다. 코드를 읽기 어려운 이유는 코딩 문법이 어려워서가 아니다. 해당 프로젝트가 해결하려고 하는 도메인의 지식 구조와 프로젝트의 구성 요소에 대해 전혀 모르기 때문에 알아 먹기 힘든 것이었다. 막상 시간을 들여 천천히 읽다보면 의외로 구조와 코드 문법은 아주 어려운 것은 없었다. 아주 가끔 모르는 키워드가 나올 수 있는데,.. 2023. 12. 15.
잘 하는지 못 하는지도 중요하지만.. 코딩을 잘 하는지 못 하는지는 개발자가 되기 위한 최고 우선순위일 것이다. 하지만 소프트웨어 개발에 대한 이야기를 듣고, 공부를 하면서 드는 생각은, 어쩌면 잘 하는 개발자가 되는 것도 중요하지만, IT 회사에서 개발을 어떻게 하고 있는지 숙지하는 것이 더 중요하지 않을까? 하는 생각이다. 요즘은 너무 뛰어난 신입 개발자들이 정말 많아지고 있다. 개발 툴과 프레임워크도 쉬워지고 있고, 특히 부트캠프나 학원, 인터넷 강의가 너무나 발달되어 있기 때문이다. 그래서 나는 조급한 마음에 자꾸 기술에 시간을 투자했지만, 잘 하는 개발자에게 항상 주늑이 들었다. 그래서 다소 시야가 좁아졌던 것 같다. 독학을 하는 탓도 있겠지만 자꾸 구현, 코딩, 문제 풀이에 집중하다보니 정작 산업에서 개발자들이 어떤 원리를 토대로.. 2023. 11. 26.
자바의 문법보다 더 중요했던 소프트웨어 개발 원리에 대한 이해 자바를 학원에서 처음 맛 봤을 때는 정말 쉽게 배웠다. 클래스를 기초 빌딩 블록으로 사용하는 C#이나 C++도 문법적 기능은 쉽게 공부했다. 하지만 왜 나는 자바를 학원에서 배웠음에도 전혀 소프트웨어를 개발하지 못했던 것일까? 학원에서는 단순히 자바의 기초 문법과 스프링 포맷만 가르치고는 바로 프로젝트 개발로 뛰어들었다. 나는 그 방식에 전혀 적응하질 못했다. 분명히 자바 강의와 책을 통해 사용법을 익한 상태였다. 하지만 사용법은 알고 있었지만 사용할 줄을 몰랐다. 아무리 문법을 알아도 기껏 사용할 수 있는 것이라곤 전형적인 C언어 스타일로 간단한 알고리즘과 자료구조 문제를 푸는 방식 뿐이었다. 게다가 애초에 소프트웨어를 만들라고 과제를 던져주는데, 나는 정작 소프트웨어 개발 자체가 무슨 의미이며 어떤 .. 2023. 11. 24.
왜 자바는 클래스를 난잡하게 쓰는 것일까 해답...!! 왜 자바는 모든 것을 class로 처리하려는 것일까? (주절주절) 공부하면서 느끼는 제 개인적인 생각과 감정입니다... 자바는 클래스에서 시작해서 클래스로 끝난다. 처음부터 객체지향 설계 언어를 목표로 만들어진 언어라 그런가 싶다. 하지만 본질적으로 linocraft.tistory.com 이전에 내가 공부를 하면서 들었던 의문이 오늘 약간이나마 해소된 기분이다. 나는 이전에 왜 자바가 모든 것을 지나치다 싶을 정도로 class로 처리하려는 것인지 의문을 품었었다. 위 링크를 들어가면 상세한 내용을 볼 수 있다. 여기서 간단히 요약하자면, Java에서는 순수한 데이터 구조 (C언어로 따지면 struct) 마저 객체로 만들어버린다. 로버트 c 마틴조차 이런 스타일을 사이비 객체지향이라고 비판하기도 했다. 그.. 2023. 11. 14.