첫 언어를 C로 시작하면서 다양한 언어에 대한 접근이 용이했던 것 같다. 개발을 계속 이어오면서 이제는 언어에 대한 접근 장벽보다는 전체적인 구조나 서버와의 데이터 전송 속도에 대해서 더 관심이 가는 것 같다. 각 언어에 대한 쓰레드의 차이, GC나 각 언어의 장단점에 대해 파악하고 개발하는 부분에 있어 어떤 언어를 채택할 것인지가 그 개발의 핵심이지 않을까 하는 생각이 든다.
최근 급부상하고 있는 언어 "GO"같은 경우에는 임베디드를 포함하여 서버까지 많은 분야에 활용되고 있다. 마치 "Python"처럼 순식간에 언어 순위가 급부상하는 것 같다. "Python"은 요즘 떠오르는 분야인 AI(인공지능) 부분에 있어 머신러닝과 딥러닝의 연산 작업에 많이 사용되고 있다. 이처럼 "GO"언어도 임베디드 분야에서 많이 활용되고 있는데 접근성이 편하고 동시성과 GC를 자동화하기 때문에 대규모 서버에 좀 더 적합한 것 같다.
또한 요즘 "Rust"에 대한 관심도 많아지고 있는 것 같다. "GO"와 마찬가지로 "Rust"는 메모리 관리 측면에서 높은 성능을 보인다. 하지만 차이점이 있다면 "C"와 "C++"처럼 저 수준의 프로그래밍에서 사용되기 때문에 "GO"언어와는 조금 차이가 있는 것 같다. "GO"는 접근성이 좋은 반면 "Rust"는 객체지향의 개념에서 벗어나 안정성에 더 특화되어 있기 때문에 접근성이 떨어지는 것 같다. 코드가 복잡하여 가독성이 떨어져 개발 측면에서도 장기간 프로젝트가 되지 않을까 싶다.
앱 개발자로 "Java"와 "Kotlin"을 사용하고 있는 입장에서 언어라는 건 지속적으로 새로 나오고 그 언어에 특화된 개발 분야가 존재한다고 생각한다. "Kotlin"또한 앱 개발에 특화되어 있어 KMM이라는 새로운 SDK가 나오고 Flutter "Dart" 또한 앱 개발 분야에 많이 사용되고 있다. 앞으로 어떠한 언어가 나와 어떤 개발 분야에 활용될지 궁금해진다.
'Record Memories' 카테고리의 다른 글
[Record Memories] 개발 어떤 책이 좋을까? (0) | 2024.05.09 |
---|---|
[Record Memories] 알고리즘 공부도 시작하자 (0) | 2023.12.18 |
[Record Memories] 개발 블로그 이전 (1) | 2023.10.19 |