라인 개발자가 신입에게 추천하는 프로그래밍 언어 TOP4 | 라인개발실록
ฝัง
- เผยแพร่เมื่อ 29 ส.ค. 2024
- “OOO 배우고 나의 코딩 시대 시작됐다🎵”
“프로그래밍 언어의 만능 소스!”
“지금 대.세.라.서.”
“현업에 와 보니 가장 많이 보여서”
라인 개발자 100명의 솔직한 답변을 공개합니다.
신입으로 돌아간다면 가장 먼저 배우고 싶은 프로그래밍 언어 TOP4!
현직 개발자의 경험이 녹아 있는 결과를 지금 바로 확인해 보세요😉
📻 라인개발실록 팟캐스트 채널을 오픈하였습니다.
언제 어디서나 편하게 라인 개발실의 이야기를 들어 보세요!
채널 바로 가기👉🏻 lin.ee/AB2FJ0r
___________________________________________________
🔎 라인 개발자들의 더 많은 이야기는 아래 채널을 팔로우 해주세요!
- 기술 블로그 : lin.ee/62yvPT2...
- 페이스북 : lin.ee/CeQw3fk...
- 트위터: lin.ee/6rtmxjx...
#개발자 #프로그래밍언어 #라인개발실록
C++이 어려운 이유는 이 언어로 프로젝트를 하기 위해서는 OOP를 어느정도 이해해야만 하기 때문입니다. 저의 개인적인 경험으로는 클래스라는 것의 필요성을 이해하기까지 약 5년 걸렸던 것 같습니다. 그리고 상속에 익숙해지기 까지 또다시 몇년이 흘렀죠. 이게 프로젝트를 하면서 느끼는 것과 실제 공부만하는 것은 이렇게 시간차이가 많이 생깁니다. 왜냐하면 우리나라 거의 대부분의 개발회사에서 직원들이 공부하는 시간을 인정해주는 곳은 아예 없습니다. 실제로 일년만 일 하지 않고 공부만 한다면, 성실하게 공부하면 6년정도, 열심히 하면 8년정도, 최대한 노력하면 약 10년 이상까지도 현업 프로그래머를 따라잡을 수가 있습니다. 프로그래밍을 현업에서 실전 경험을 많이 하면 실력이 불쑥불쑥 늘 것이라는 것은 대단한 착각입니다. 책을 보고 공부하지 않으면 절대 실력이 늘어나질 않습니다. 예를 들어서 기원에 가면 평생 4급인 사람이 수두룩 합니다. 바둑 4급도 어느정도 책보고 공부해야만 그 정도까지 오릅니다. 하지만 1급이나 단이상이 되기 위해서는 정말 열심히 공부해야만 하는 것과 비슷합니다. 평생 기원에서 바둑만 둔다고 기량이 늘어나는 것은 결코 아니라는 사실을 명심해야만 합니다. 이야기가 삼천포로 빠졌네요. C++이 어려운 이유는 OOP를 어느정도 이해해야만 비로소 프로젝트 진향방향을 이해하기 때문입니다. 단순히 상속과 캡슐화가 별도의 성격이라고 외우고 별것 아니네 하면, OOP가 점점 이상하게 꼬여들어갑니다. 예를 들어서 어떤 속성을 Private로 막을지 아니면 Public으로 공개할지에 대한 개념이 그냥 막 생각나는대로 하는게 아니기 때문입니다. 상속과정에서의 인터페이스를 생각해야만 합니다. 다시 이 인터페이스 설계가 무척이나 어려운 것은 클래스 의존성이 생겨나기 때문입니다. 이걸 피하기 위해서는 또 디자인 패턴을 공부해야만 합니다. 그러니까 저의 지금 수준으로 말씀드리자면, 저는 다시 캡슐화와 상속에 대한 고민을 점점 더 많이 하고 있습니다. 클래스가 일단 100개가 넘어가면 이것들끼리 복잡하게 얽히고 설킵니다. 자... 다시 처음으로 돌아와서, 일반적으로 (저는 자바 프로젝트는 잘 모르겠습니다.) C# 프로그래머의 OOP 이해도는 정말 바닥 수준입니다. 왜냐하면 툴 차원에서 다 만들어주니까요. 어떤 언어든지 고급이상으로 가려면 라이브러리를 분석해야만 합니다. 그런데 그 라이브러리가 단순히 프로시저만 줄줄이 따라가면 이해될 거라고 생각하면 천만의 말씀 만만의 콩떡입니다. 이 라이브러리가 모두 다 디자인 패턴이나 복합패턴으로 이루어져 있습니다. 대부분의 C# 프로그래머는 그냥 라이브러리가 지원해주는 구조를 그대로 사용합니다. 물론 그게 현명하겠죠. 하지만 그 라이브러리 구조를 이해하느냐 아니냐는 정말로 천지차이입니다. 다시 돌아와서 C++이 어렵다고 하는 것은 C++ 자체가 복합 언어라는 측면이 있지만 사실 MFC를 기본적으로 보면 이 구조자체가 어렵습니다. 구조도 어렵고 사용하기도 쉽지가 않습니다. 물론 C++이 Visual C++만 있는 것은 아니겠지만, 일단 그렇습니다. 왜 이렇게 사용하기 어렵게 해 놓았을까요? 그것은 프로젝트의 복잡성의 규모를 상당히 높게 잡았기 때문입니다. 프로젝트의 성능을 높이기 위해서는 메모리 버퍼링을 많이 해야만 합니다. (사실 소켓이나 시리얼 통신도 다 버퍼링과 관련이 있음.) 이렇게 버퍼링이 많아지면 프로젝트가 엄청나게 복잡하게 됩니다. 그러니까 MFC는 다른 C#이나 볼랜드 빌더와는 다르게 사용구조 자체가 상당히 어렵고, 그 이유는 기본적인 사용자의 베이스를 수준 이상으로 잡고 있기 때문입니다. 물론 MFC가 20년된 낡은 라이브러리라는 사실에는 저도 동감합니다. 하지만 그 구조에 사용된 옵저버패턴이나 브리지 패턴등(저는 스트레티지 패턴인줄 알았는데..) 이 사용되어 있고 이 구조를 어느정도 이해해야만 자신의 프로젝트에 적용하는데 어려움이 없습니다.
C++을 하라는 이유가 그렇습니다. 다른 언어보다도 더 OOP에 대한 이해도를 많이 필요로하기 때문입니다. 일예로 STL이라는 라이브러리는 하나의 디자인 패턴을 정형화한 것입니다. 그렇다면 반대로 이 언어를 공부하다가 포기한다면 어떤 사단이 나는가... 저의 예상으로는 대부분의 프로그래머가 클래스 하나 제대로 만들 줄 모릅니다. 자... 제가 지나치게 객체지향에 대해 과장된 표현을 했다고 생각한다면, 고급 서적들을 보시면 리펙토링이라는 말이 항상, 꼭, 반드시 나옵니다. 이 리펙토링이 무엇을 의미하는지 디자인패턴을 모르면 이 책 자체가 이해가 되질 않습니다. 물론 앞의 삼분의 1 정도는 그냥 그냥 보실 수는 있습니다. 제가 잘난체를 하는게 아닙니다. 우리나라 소프트웨어 개발의 현실이 너무 암울하고 암담하여 드리는 말씀입니다.
개발업체에서는 직원들이 연구하고 공부하는 시간을 거의 돈낭비, 시간낭비라고 생각합니다. 그래서 줄코딩, 하드코딩을 암묵적으로 강요합니다. 그 이유는 개발업체에 근무하는 고위임원이나 상급자가 소프트웨어 구조에 대한 이해가 거의 없기 때문입니다. 악순환이 벌어지는 것이죠. 내가 사수에게 이렇게 배웠듯이 후배들에게 똑같은 과정을 답습하게 합니다. 하나의 프로그래머를 정말 써먹을 수 있는 상태로 만들기 위해서는 최소한 2,3년 정도의 시간이 걸립니다. 그런데 이제 막 들어온 신입에게 유지보수를 맡기는 일이 허다합니다. 프로그래밍을 코드의 조합과 연결로만 이해하는 DOS 시절의 임원들이 아직도 많이 있기 때문입니다. 또한 대부분의 소프트웨어 개발회사들이 인력을 스스로 가꾸고 개발할 노력을 거의 안합니다. 오늘은 여기까지 하겠습니다. 정말 쓰려면 책한권 나오겠습니다.
대박이다! 👍
선생님 안녕하세요 신입개발자입니다. 너무 글을 감명 깊게 읽었습니다. 감사합니다. 추천해주실 c++(mfc) 책이 있을까요?
두고두고 계속 볼게요.. 저는 C언어만 했는데 거기서 포인터 벽을 몇년 걸려서 넘었습니다. 그런데 c++ 하니 클래스 개념이 안드로메다로 가네요 허허허 구직 중이지만 꾸준히 c++ 공부하면서 개인 사이드 프로젝트 진행해보려고용 감사합니다🍎
내용은 잘 봤습니다만 글을 너무 못쓰시네요. 말하고자 하는게 있다면 글쓰기 연습부터...
제가 요약해드릴게요
여러분! 지금이라도 개발자를 포기하세요
늦지 않았습니다!
1위 Java
2위 JavaScript
3위 Python
4위 C / C++
웹개발을 제외하면 무조건 알야하는 언어 순위는
1 자바 또는 c++
2 파이썬 또는 C
3 저것만 알면 나머지 언어는 몇칠안에 배울수 있음
웹개발에서 c를 왜 배우죠? 방구석 초보신가?
@@user-yj3ur6zg9s 그것만 잘 다루면 되는것만 해도 힘듬
C언어보단 C++이 아닐지..C언어는 자바나 씨샵이랑 구현하는 스타일이 완전다른데..ㅋㅋ 포인터 이런걸떠나서
@@leecg3829 이분 채소 OOP가 뭔지 모르는 사람
저도 방학때 새로운 언어를 공부해볼까 하고 있었는데 이 영상을 통해 계획의 틀이 잡히는 것같습니다. 실제 개발자분들의 설문을 통해 나온 결과라서 더 신뢰가 되는 것 같네요 감사합니다!
언어도 좋지만 현업 들어가서 가장 필요하다 생각되던 건 언어에 대한 지식이나 프로그래밍의 원리가 아닌 알고리즘 능력이었어요
썸네일에 낚였다. 고, 러스트, 코틀린 나오는 줄;;
러스트를 신입 프로그래머한테 배우게 하는건 고문이 아닐까..
오 좋은 영상 감사합니다! 최근 코딩을 해본 경험을 굉장히 중요하게 평가하고 있죠! 코딩 배울 때 무작정 C언어, JAVA, Python 같은 프로그래밍언어를 배우는 것도 좋지만, 먼저 진로에 대한 계획을 세우고 원하는 진로의 맞는 프로그래밍언어를 배운다면 학습효가가 더 크답니다!
0순위: 회사에서 시키는거
ㄹㅇ 돈 많이 주는 회사가 시키는거
ㅋㅋㅋㅋㅋ 아 빵터졌네여
그럼 자바해야지 ㅋ
우스개소리 같지만 이거 중요해요. 회사에서는 성과를 만드는게 일순위고 언어 뭐가 중요하냐는 나중 문제입니다. 성장이 안중요하다는게 아니고 항상 성과와 얼라인을 맞추라는 겁니다. 월급받는 개발자라면.
1. 우리나라에서는 어떤 프로그래밍 언어든, 어떤 프레임워크든, 어떤 웹빌더든 쓸 줄만 알면 밥먹고 사는덴 문제 없음. 왜냐하면 세계에서 손에 꼽힐 정도로 관 공 민간 학계 기타 할 것 없이 IT분야에서 다양하게 사업 활발하게 벌이는 국가이므로. 2. 고로 자기한테 잘 맞거나 자기가 관심가는 분야의 언어 선택하셔서 열심히 하시면 됨. 옛날 언어고 최신 언어고 뭐고 그런거 없음. 뭐 하나 제대로 할 줄 알면 어떻게든 어디서든 부르게 되어 있음. 3. 뭐가 뭔지 모르겠지만 개발해서 취업하고 싶거나 돈벌고 싶으신 분은 자바와 스프링 프레임워크 기반으로 하시면 됨. 왜냐하면 전자정부프레임워크 때문에 우리나라에서 가장 돈 확실하게 잘 나오는 관공서에서 쓰는게 스프링 프레임워크 기반이기 때문에 우리나라에서 가장 많이 개발자를 찾는 분야임.
C....슬프네 나도 고만 보고 싶다.. ㅠㅠ 임베디드는 웁니다
c언어 고등학교 때 2년하고 10년 뒤에 자바 개발자로 시작했는데 정말 감사했습니다. string 쓸 때마다 얼마나 고마운지 모르겠습니다
스트링...?
String?
고급이나 특급으로 올라갈수록 성능에 대한 아쉬움이 많습니다. C#이나 자바는 성능좋은 라이브러리가 많지만 실제 UI에서 overhead가 많이 발생할 수밖에는 없습니다. 컴파일러형 언어와 반인터프리터 언어의 차이는 위로 갈수록 극명하게 갈립니다. 자바가 깊이가 있다고 하는데, 그것은 객체지향을 목적으로 설계되어졌다는 것을 의미하는 것 같습니다. 하지만 결국 자바나 C# 모두 C++을 다듬은 언어에 지나지 않습니다. 컴파일러형 언어에 대한 갈증이 없다면 어셈블리나 기계어는 아예 생각도 안할지도 모르겠습니다. 어셈블리를 공부해야만 하는 이유는 CPU구조를 이해하는데 정말 많은 도움이 될 뿐만이 아니라 악질적인 버그에 대한 디버깅에 아직도 요긴하게 사용하기 때문입니다. 그리고 한번쯤은 기계어로 코딩을 해본 경험이 있어야만 합니다. 그래야만 CPU의 진정한 overhead가 어떤 것인지를 느끼게 됩니다. 물론 어셈블리만으로도 가능하지만요.
제가 생각하기에 기계어, 어셈블리, C++까지 정복해야만 특급 이상으로 올라갈 수가 있을 것 같습니다. OverHead의 문제는 곧 성능의 문제이고, 각 고유의 프로젝트마다 정밀하게 최적화된 코드가 없다면 성능은 물건너 갑니다. 물론 유지보수의 문제인 객체지향에 대한 소프트웨어 구조에 대한 깊이는 별도로 계속해서 공부해야만 하겠죠.
일단 우리나라 프로젝트의 90%이상이 납품용 프로젝트입니다. 이런 상황에서 연구하고 개발하는 소프트웨어 프로젝트는 정말 희귀합니다. 납품용 프로젝트는 단가와 기간이 생명입니다. 따라서 이런 관점에 맞는 언어가 있겠죠. 하지만 게임이나 유틸개발에 C#이나 자바로 개발하는 것은 거의 불가능합니다. 물론 개발할 수는 있습니다. 흉내는 낼 수가 있다는 것이죠. 이 언어로 포토샵이나 3D Max나 워드 프로그램 등을 개발하지는 못합니다.
젊은 후배님들이 좀 더 큰 꿈을 키우시길 바랍니다. 납품용 프로젝트는 실력만 된다면 얼마든지 어디든지 30대 중반 이후에도 참여할 수가 있습니다. 그러나 20대부터 그런 대중적인 언어로 납품용 프로젝트에 최적화된 스킬만을 갈고 닦는다면 나중에는 아예 우물만 개구리가 되어 버립니다.
20대에는 먼저 C++에 도전해보시고 그 이후에 잘 안되면 30대에 자바나 C#을 해도 결코 늦지를 않습니다.
저처럼 거꾸로 올라가면 정말 많은 시간을 허비합니다. 처음에 웹프로그래밍으로 시작했는데 너무 쉬워서 미래가 불안했습니다. 그 다음으로 볼랜드계열의 컴포넌트 기반 개발을 하였죠. 하지만 이것도 쉬웠습니다. 그래서 C++을 하니까 이제 좀 뭐가 보이기 시작했습니다. 이렇게 수십년을 낭비했다는 생각이 많이 듭니다. 프로그래머는 치열한 경쟁사회에서도 한가운데에 있습니다. 쉬운 언어를 공부하면 반드시 그 댓가가 따라옵니다. 그 이유는 언어가 쉽다는 것은 일단 특정 목적에 따라 개발되었다는 것을 의미하는 것이고, 그 목적이 다른 수단으로 대체되거나 시대가 바뀌어 더 포괄적인 형태의 다른 언어가 탄생되면 순식간에 도태되기 때문입니다. 가장 사라지지 않을 것 같은 언어 1위는 언제나 항상 C++이었습니다. 그리고 지금도 계속해서 업버전되고 있는 언어입니다.
현업에 있는 저도 참 공감가는 내용입니다. C++ 만 된다면 다른 언어는 금방배우죠.
정말 귀감이되는 말씀이네요~
혹시 어느 분야에 종사하고 계신지 말씀해주실수 있으신가요. 대학 졸업까지 약 3년 남은 학생인데 요즈음 코테 공부하면서 어느 분야로 진출해야 제일 전문성을 가지고 남들은 쉽게 못하는 분야에서 남아 있을 수 있는지 궁금합니다.
만일 영어가 준비되어 있지 않으면 거의 마찬가지라고 이야기하고 싶습니다. 저도 영어가 좀 많이 부족해요. 이게 왜 문제가 되냐면 첫째는 외국 원서를 읽는데 시간이 많이 걸려요. 논문을 찾고 하는데도 버벅거리고요. 둘째는 프로그래밍에서 네이밍은 정말 중요한 기초와 같습니다. 이 네이밍을 하려면 영어의 기초가 많이 탄탄해야해요. 그래서 영어원서를 어렵지않게 읽을 수 있는 수준과 C++ 을 어느정도 잘 다룬다면... 이미 준비는 모두 끝난 것이지요. 다만 위에서 제가 설명했던 것은 기계어 코딩은 한달 정도 동아리나 기타 학원에서 경험하시면 정말 뼛속까지 좋은 경험이 될 것이고요, 그 다음으로 3달정도 어셈블리를 하시면 CPU의 내부구조를 어느정도 파악하실 수 있을 것입니다. 제가 말한 기간은 일반 대학생 기준의 시간이 아니라 현업 프로젝트 시간 단위 입니다.
현실은 씨샵으로 속도최대한 내면서 속도딸리는건 cli해서 속도 좀 개선시키고 프로젝트 마감기한을 어떻게든 맞추는게 대부분이죠. 물론 성능을 요구하는 산업에서는 c++로만 개발하겠지만 요즘 매니지드언어에만 익숙해진 현 산업에서 신입들이 언매니지드언어를 자유롭게 다루는사람은 극히 소수..라 아무리 말을해도 솔직히 해결은 잘안될듯.(또한 수요가 안드로이드 웹이 압도적으로 많아서 제조업쪽을 따로희망해서 공뷰하믄 시람은 더더욱줄어들고잇고..)
요즘 많이 나오는 주제네요.
C/C++ 의 깊이에 대하여 얘기하시는 분도 많지만, java는 플랫폼으로써 깊이가 남다르다고 생각합니다.
처음에 j2ee와 spring을 접했을때 진짜 신세계를 보는것 같더라고요.
그래서 결론은,
학부전공자면 업무를 접할기회는 나중에 충분하니 C/C++ 을 추천하고,
현업이라면 업무도메인에 맞는 언어를 알아서 선택하실 것이고,
어린이는 Python 을 추천합니다.ㅋ
애초에 요즘은 20살이 아니고 8살부터 코딩을 배워서 논리적인 사고력 향상을 위하여 무난한 언어를 꼽자면 그냥 Python이죠ㅋㅋ
웹 개발이 아니라 데이터 쪽은 Python이 절대적입니다. ㅎㅎ
@@abcabcab5861 맞아요. 특히 비정형데이터처리는 자바의 데이터 구조로는 따라가는게 불가능하더라고요. 자유로운 데이터 구조도 그렇고, 별거 아닌듯 하지만 써보면 다른걸 못쓰는 데이터프레임도 그렇고, 잘 만들어진 라이브러리들도 그렇고요. 파이썬으로 웹을 할수 없는 것도 아니고 오히려 해외에서는 장고가 스프링수요를 넘어가는 듯한 모습도 보이는거 보면, 어느 한순간 시대가 훅 바뀔지도 모르겠어요. 그래도 C와 자바가 겪었던 발전의 기록들은 잘 전달이 되었으면 좋겠네요. 잊히기에 아까운 전환점들이 너무 많음.
@@xxoo000603 파이썬으로 웹프레임워크 데스크탑앱등 만들어봤어도 결국엔 자바로 가게되는거같아여. 뭔가 소규모 시스템에선 파이썬으로 해도 충분하겠지만요
좋은 정보 감사합니다. 현재 고등학생이라 파이썬을 독학하고 있는데, 추후 실력과 시간적 여유가 생기면 많은 기업들이 필요로 하는 자바를 한 번 배워야겠네요.
재밌는 컨텐츠 공유해주셔서ㅓ 감사합니다.
나는 자동화쪽이라 파이선...사용중!!
c/c++하다가 넘어왔는데.. 신세계르 경험중이에요
어떤 자동화하심?
감사합니다. 좋은 컨텐츠네요 ㅎㅎ
가장 중요한 언어 14:55
추천언어를 고를때 언어자체의 기능성, 범용성, 성능, 우아함 이런걸 따져야지, 그냥 인기있고 가장 많이 사용하는 언어를 고르면 당연 java만 해야지 안그렇습니까? 그냥 인기가 많은걸 고르는 추천이 무슨 의미가 있습니까?
솔직히 저는 왠만한 언어는 다 만져봤지만 언어 스펙이나 기능성만 보면 현존 언어중 c#보다 뛰어난 언어는 없습니다.
범용성으로 봐도 닷넷5은.. 닷넷 스탠다드, 닷넷코어, 자마린, 모노를 모두 통합시킨 상황이라 멀티플랫폼 제약이 사실상 사라졌고..
모바일 개발이 불가능한 파이썬이랑 기능성 측면에서 우월하죠. 머신러닝도 닷넷 라이브러리로 다 지원합니다.
게임개발도 c++ 빼고 c# 에 비빌 언어가 있나요? 유니티는 원래 c#이 기본이고 언리얼도 c#을 지원하죠. 함수 포인터도 없는 자바랑 바교하면 c#은 넘사벽입니다.
생산성 볼까요? 파이썬이 프로토타입 코딩하기 좋다고 하지만, c# 9.0버전에서는 최상위 레벨 프로그래밍 방식이 가능해서 클래스 안쓰고 코딩 가능하고, 대형프로젝트로 들어가면 비주얼스튜디오 생산성에 파이썬이 절대 못따라 옵니다.
웹개발 볼까요? 노드js, 파이썬 디장고,자바 모두 asp.net core 성능 못따라옵니다. 성능 부분은 거의 넘사벽이죠.
윈도우 c/s개발 ? 이건 뭐 비교할 필요도 없구요. 물론 언어별로 각자의 장점 다 있습니다. 하지만 객관적으로 보면 닷넷5를 베이스로한 c#은 oop교육적 관점에서 보나, 생산성에서 보나, 고급언어의 기능적 특성으로 보나 성능면에서 보나 압도적이고.. 웹개발,윈도우개발,멀티플랫폼 모바일 개발,게임개발,머신러닝 등 다양한 분야에서 제약없이 사용할 수 있는 사실상 유일한 플랫폼이죠.
간혹 닷넷 개발자 중에서 자바 테크 못탓다고 징징거리는분들 간혹 보는데 백프로 신입들이 그런소리 합니다. 닷넷을 이해하는게 먼저입니다.
그런 분들은 당장 자바로 가셔서 SI 인력시장에 끌려가보시기 바랍니다.
죙일 세팅만 하고 그 외 나머지 시간에 무미건조하고 형식적인 코딩을 하다보면..
마치 본인 스스로가 통조림 공장에서 고기뼈 발라내고 있는 인부가 되었다고 느낄껍니다. 그리고 당뇨도 생기고 고지혈증도 생기고 거의 반 좀비가 될쯤에.. 아~ 내가 왜 개발자가 됐을까? 라는 질문을 하게 되고..
머리에 남는건 쓰잘데기없는 세팅기술밖에 없다는걸 깨닫게 되면서.. 알고리즘도 별로 배운게 없고, 고작 몇개 안되는 패턴 말고는 머리에 든것도 없고 내가 과연 무슨 공부를 했지? 하는 의문만 가진채 치킨집 창업을 알아보게 되는것입니다.
그래서 닷넷을 하라고 말씀드리는겁니다.
특히 신입분들은 징징대지 마세요.
그리고 자바를 추천하는 사람이 있다면..
그사람은 개발자의 마인드나 크리에이터의 마인드로 추천하는게 아니라 오로지 밥벌어먹는 수단으로서 추천하는겁니다.
특히 제한없는 상상력과 아이디어로 IT 세계에서 꿈과 이상을 실현하고 싶어하는 학생과 신입들에게 자바를 추천한다는건.. 일종의 비극에 가깝습니다.
안녕하세요, 프로그래밍 언어에 대해 궁금한 점이 있어 댓글남겼습니다. 제 경우에 있어서 도움되는 프로그래밍 언어가 무엇인지 알고싶습니다. 저는 IT쪽이 아닌 제조업 중에서도 생산관리/품질관리를 희망합니다. 비록 저 직무가 직접적으로 코딩을 요하진 않지만, 그래도 하나 정도는 배우면 좋겠다는 생각이 들었습니다. 어떤 언어가 저에게 좋을까요? 말씀하신 C#을 추천하시나요? 개인적으론 파이썬/C++ 또는, 작성자분께선 반대하셨지만, JAVA를 배울까합니다.
@@user-yp2xd9ln3s 만약 업무가 목적이라면 해당업무의 시스템에 맞는 언어나 환경에 맞춰 공부하시는게 맞겠지만, 그게 아니라 요즘 it트렌드에 맞춰서 코딩도 해보고 전문 개발자가 아니더라도 가벼운 프로젝트라도 시작해 볼 수 있는 자기개발적인 측면에서 본다면.. 오히려 자바는 좀 버거운 선택이 됩니다.
자바는 리눅스기반의 os에서 전자정부나 금융권 등 짜여진 프레임워크를 기반으로 엔터프라이즈 환경에서 많이 사용됩니다.
이걸 자바의 강점으로 보는건 아닙니다.
한국은 워낙 공짜를 좋아하다보니 자바가 득세하게 된것일 뿐, 물론 좋은 프레임워크 라이브러리가 많다라는거 자체는 장점이지만..
언어 자체로 보나 개발환경으로 보나 자바를 특정짓는 딱 한 단어가 있죠.
'장황하다' 입니다.
네이밍 규칙부터 시작해서, 언어적으로 지원 안되는 요소를 극복하기 위해서 패턴으로 누더기로 만들고.. 과거엔 ejb, 스트럿츠부터 시작해서 태생자체가 꽤 장황합니다.
이게 언어가 장점을 가져서도 아니고 성능이 좋아서도 아닙니다.
그냥 산업에 적응하다보니 언어와 개발 환경이 저렇게 된것일뿐입니다. 물론 oop언어이긴 하지만 교육적으로 그리 추천을 못 드립니다.
교육적으로 효과가 있으려면..
언어를 빠르게 습득할 수 있어야하고 개발환경이 좋아야 하고, 알고리즘에 집중 할 수 있어야 합니다. 그게 아니라면 언어 자체의 공부보다 부수적인 부분에 더 많은 시간적 낭비하게 되죠.
물론 자바도 이클립스 하나 세팅해두고 j2SE 정도만 익히는 정도라면 나쁘진 않습니다
중요한건 교육적 목적으로 보면 훨씬 더 좋은 대안이 있다는 것입니다.
그런 부분에 있어서는 오히려 파이썬을 하시는게 낫습니다.
알고리즘에 집중하고 결과를 빠르게 만들 수 있으니까요.
근데 oop 프로그래밍 개념을 제대로 익혀보겠다 라고 한다면 파이썬도 답은 아닙니다. 파이썬은 자료형이나 메모리에 대한 공부도 잘 안되고 oop개념을 잘 설명하기 그리 좋은 언어가 아닙니다.
파이썬은.. 여행갈땐 좋은차 타고 마트갈땐 서브용으로 소형차 몰고가는것 처럼..
이미 어느정도 랭귀지에 자신있는 사람들이
난 개념을 다 알고있으니까 불필요한 형식은 제껴두고 본론부터 말하겠다 하는 생각으로 접근하기가 더 적당한 언어입니다.
물론 요즘 학생들의 전산 커리큘럼에 파이썬이 많이 들어가니까 반드시 그런건 아니지만.. 그렇다고 c,c++을 안가르치진 않죠.
그런 부분에서 닷넷과 c#이 최고의 선택이라고 말씀드릴 수 있습니다.
이건 실제로 겪어봐야 제 말을 이해하실껍니다.
@@vishnu8th 자세한 답변 감사합니다! 한가지만 더 여쭤봐도 될까요? 혹시 국내에서 C# 많이 사용하나요? 인터넷에서 취업 관련 내용 보면 그저 JAVA/Python/C++ 많이 올라오고 C#은 잘 못본 것 같습니다ㅠ 아차 그리고 C#에서도 데이터 분석? 같은 것도 할 수 있나요..? 너무 질문 범위가 막연해서 죄송합니다ㅠ 편하실 때 답변해주시면 감사하겠습니다!
@@user-yp2xd9ln3s 국내에서 c# 많이 사용합니다. 중소형 프로젝트도 많고 대형프로젝도 닷넷으로 하는곳이 있습니다. 윈도우 개발쪽은 당연 거의 닷넷쪽이라고 보면 되고 특히 삼성쪽이 닷넷 시스템이 많습니다. 제가 영업관리 시스템 개발을 삼성쪽에서 했거든요. 타이젠 부서도 닷넷을 쓴다고 합니다. 물론 전체적으로는 자바가 5~8배정도 구인이 더 많습니다. 근데 이건 한국의 특수한 상황일뿐이고 해외에서는 자바가 더 많긴 해도 그정도까지 차이는 안납니다. 텐서플로와 같은 머신러닝 시스템도 닷넷을 위한 라이브러리를 제공하고 있습니다. 만약 훗날의 재 취업?을 염두하고 계신다면.. 절대 자바를 하지 말라고 얘기는 못드리지만.. 자바자체가 엔터프라이즈 환경이 대부분이라 그것도 그리 편한길은 아니죠 ㅎ
@@user-yp2xd9ln3s 데이터분석쪽은 닷넷보다는 R이나 파이썬을 공부하시는게 낫습니다. 다만 닷넷에서 사용을 못한다는 의미는 아닙니다.
내가 초보시절로 돌아가면, 어셈블리어, C/ C++을 열심히 배우겠다. 거기에 더해, 수학, 영어 공부를 열심히 해놓겠다. 이런 기본만 갖춰지면, 다른 프로그램 언어나 컴퓨터 지식은 금방 갖출 수 있다. 끝!
메모리 관리를 직접적으로 해볼 수 있는 언어에 대한 경험이 필수라고는 보진 않지만 무조건 도움 된다고 생각합니다. 생각 방식이 달라지기때문에요
루비, 고 이런거 생각했던 사람은 단언컨데 90% 이상은 학생이거나 생활코더, 아니면 스타트업 업체 직원이다.
박민우님. 오랜만이네요.
유튜브 알고리즘이 오랜만에 민우님을 만나게 하는군요. 잘 지내고 있는 것 같아서 기쁩니다.
6:17 지하철타면 나오는 광고 "서울사이버대학을 다니고 나의 성공시대 시작됐다~~~~♬" 요거 패러디입니다 ㅋㅋ
혹시 풀스택 개발자와 메타버스 개발자의 프로그래밍 언어에서 공통점이 있을까요?? ㅠㅠㅜ 면접 준비 때문에 메타버스에 대해서 공부해야히는데 도통 모르겟네요 ㅠㅜ
Developer relation팀이 무슨 역할을 하나요?
이채널은 naver회사에서 일하는 분이 만든 채널인가요?
동적언어, 정적언어, 현대판 정적언어, 함수형 언어 요렇게 패러다임별로 하나씩만 알고있으면 된다고 봅니다.
파썬이랑 자스는 일단 그럴 수 있다고 생각을 했지만... 자바...?!
3위에 파이썬이 있네요 잘봤습니다 ^^
c#도 탈락 ㄷㄷ;;;;;
하긴...c#도 쓰는 곳이 별로 없긴 하죠..
게임쪽이나 작은 규모 프로젝트 쪽에서 주로 쓰이다 보니..;;
생산성은 가장 좋아.
지금 파이션이 1등이네요
러스트는요?
몇명이 선택했는지 몇퍼센트인지 궁금해요
비개발자가 개발 코드를 이해하고 리뷰하려는 목적으로 배운다면 파이썬이 답일까요?
맛보기로 파이썬1주,
자바1달
대기업을 목표로 하고 있으면 웹개발인 Java spring 공부하는게 좋겠죠??
코틀린 : 자바를 넘으러 왔다
저희 학교는 왜 c랑c++ 을 가르칠까요ㅠㅠ 파이썬이랑 자바해야될것같은데
그 학교 커리쿨렴과 관련있을듯
C, c++ 단에서 배울수 있는, 메모리 관리, 프로그램 작동의 기본 틀이 있음. 예를들어 메모리 포인터나 레퍼런스 라던지. 이것을 이해하면 다른 java나 python 의 고수준 프로그램에서 하부단에선 어떻게 작동하는지 유추가 가능함.
c, c++ 꼭 하셔야 한다고 생각해요.
c를 이해한다면 이해하지 못할 언어는 없다고 생각합니다. 나중을 위해 잘배워두시는게 좋을거 같아요
C와 C++에 포인터와 같은 중요한 개념들이 많아요 그래서 C와 C++을 이해하면 다른 언어를 배우는데 진입장벽이 아주 낮아지기 때문에 기초탄탄한 시작을 위해 배우는 거예요.
C언어 제일 쉽다는 기억밖에 없음 언어의 장단점을 C++ 과 변환하면되고. 참쉽죠잉~
뭐 하나라도 제대로 파악하면 된다고 생각합니다
자바는 x도아니다 요즘은 xxx가 유행이다 그런애들치고 잘 하는놈 못봣습니다
무슨 언어라도 제대로 파악하는게 좋습니다
이 말에 극 공감해요.
컴퓨터 언어라는 건, 컴퓨터를 제어하기 위해서 나온 것이니
문법이 서로 조금씩 달라도 그 본질은 다 같으니까 말이죠.
그렇기에 하나를 제대로 파야 다른 언어로 갔을 때
그 깊이만큼 할 수 있죠.
공감. 결국 다 툴일 뿐이죠
정답! 한 언어만 마스터하면 다른언어 배우는거는 그냥 몇일이면 가능..
이걸 오랫동안 업으로 살 것이라면
컴퓨터를 이해하자
아무리 새로운 언어가 나오더라도 결국 컴퓨터라는 틀 안에서 나올 뿐
자바랑 자바스크립트랑 어떤게 다른가요?
이름빼고 모든게 다른 언어입니다 그냥 다르다 라고 생각하시면 됩니다
@@ahah9399 ㅋㅋㅋ앜ㅋㅋㅋㅋ지긴다..
저수준을 이해못하면 결코 더 올라갈 수 없다
@트리앹 애초에 어셈블리를 누가해 ㅋㅋㅋㅋㅋ 무슨 시스템프로그래밍 짜냐?
개소리 하지마셈
요즘 자바 쓸바에 코틀린 쓰지 않나여
그거나그거나
@@실험맨 문법이 거의 똑같나요? 대충 코틀린이 자바 상위호환이라고만 들었지 아직 공부 안해봤믄데
뒷북이긴한데 이미 서버가 자바로 구성이 되어있어서 코틀린으로 넘어가기 힘들죠 스타트업 기업들은 코틀린 많이 쓴다고 합니다
👍✨
역시 java가 한국에선 갑인듯
하지만 python이 대세가 되지 않을지..
파이썬은 느려서 대규모서비스에서는
서버로 쓰기힘들죠
@@user-mz2jk5xf5j 그니깐유... 파이썬이 개발 속도는 빠른데 실행 속도가 너무 느림 ....
@@user-mz2jk5xf5j 최적화 하면 빨라요..
파이썬으로 개발자 하라는 사람들은 현업개발자가 아님 저렇게 느린 언어로 개발하라는건 그냥 성능 포기하라는거
한국 한정
아무래도 파이선을 난 좀 추천을 할듯......
ㅎㅎㅎ.. 국내가 유독...자바 솔림현상이 있어서...
스칼라
R을 초기에 배우는건 어떻게 생각하시나요?
데이터 분석 부분이면 괜찮죠. 파이썬과 함께 배우시길.. 현업에서는 R을 잘 사용하지는 않을거에요
R은 데이터 분석이지 개발이라보기 어렵죠. 그리고 데이터 분석은 통계도 해야 될테고요. 수학자와 과학자라고 해야할까요. 분야가 아예 다릅니다
R 충분히 매력적이죠. R부터 시작하는거 나쁘지 않습니다~
R은 개발언어가 아니죠
데이터 쪽에서 일하고 있습니다. R, Python 둘다 사용하는데, 확실히 데이터 가공 (tinyverse package) 및 통계분석하는 것은 R이 압도적으로 우위입니다. Data visualization 및 interactive dashboard도 마찬가지로 R이 우위라고 생각합니다. (Python에 bokeh, dash는 아직 R의 shiny를 따라오기엔 .. 😢) 다만 Python이 보다 다양한 분야에서 활용될 수 있어요~ 개인적으로 R부터 시작해서 나중에 Python으로 전환하는 것도 나쁘지 않다고 생각합니다!
취업1위가 아니라 추천1위가 자바라는 건가요???...
java에 특히 벡엔드 프레임워크 java spring이 워낙 강함
한국은 자바민국이라 한국기준은 자바...
@@user-yj3ur6zg9s 라인이 캐나다 회사냐 라인개발자 추천언어인데
@@darkraych4278 그건 모르겠는데 그냥 자바스크립트가 메타임 특히 프론트엔드 이건 그냥 북미 다 포함 미국 스타트업은 뭐 거의 다 자바스크립트로 함. 뭐 아직도 벡엔드는 자바도 많지만 메타는 자바스크립트. 자바로 시작하는 스택은 거의 없음 스타트업중에서
@@user-yj3ur6zg9s 흠... 그건 규모에 따라 다를 것 같네요
어~
백호세요?
닷넷5를 모르고 언어를 논하지 마라. C#이 최고다
진짜 윈도우에선 C#이 깡패임..
정적 타이핑 언어중 최악이 C/C++ 인데... 웹개발자는 절대 하지 마세요.
왜 웹개발자는 하면 안되나요?(독학중....)
@@kfeel5176 웹개발자가 c/c++은 쓸일이 없거든요...
웹개발자가 왜 c해요 ㅋ
사기꾼 삐빅
파이썬만 열심히해도 대기업 취업 가능한가요??
파이썬 개발자입니다.
머신러닝 인공지능 쪽 파시면 대기업 취업 가능합니다
웹쪽으론 성능이 많이 떨어져 대기업은 힘듭니다,
장고, 플라스크, fastapi기반으로 빠르게 제품 출시하고자 하는 스타트업 위주로 파이썬 웹개발자를 채용하는 것 같습니다
@@user-mn7ci4hs9p 정확한 명칭이 뭐가 있을까요?? 데이터분석가 이런거 말씀하시는 건가요?!!?
요즘은 자기개발보다 재태크를 배우는게 더 이득
LABVIEW가 최고 언어 이라고 생각합니다.
씨조아
go언어는 사용하는곳이 아직 잘 없나요?
메이져하진 않죠. 쿠버네티스, 블록체인 이런데는 하겠는데 다시 생각해보면, 기존에 있던 프로젝트는 java로 되어 있을것이고, 구지 go로 바꿀 이유가 없죠. 신규 프로젝트가 런칭된다면 그때 go를 검토할텐데 제가 말씀드린 두 프로젝트는 자체가 go기반에대가 신규로 시작된것이니 go인 특성도 있겠죠.
당근마켓이요
자바에서 거름미다
그럼 취업할때도 걸러져;
자바하면 해외취업은 바이바이지
TIOBE 기준 자바는 전세계적으로 가장많이 쓰이는 프로그래밍언어입니다.
@@hwanginchan4478 역대 가장 많이 사용하는 언어는 맞는데요, 안드로이드 때문에 높아진 점유율이죠. 실제로 웹사이트 통계로 보면 asp.net이 가장 많이 사용 됩니다.
그럼 어떤거추천?
음 여기말 듣지마세요
파이선이 겨우 3위네
저는 어셈블러부터 시작했음
우리나라는 너무 Java야....;;
사위
cpp 외에는 쓰레기 언어들만 추천하네요
자바는 괜찮은데요
전 만약 돌아간다면 파이썬부터...
오짜피 생산성 싸움 oop 언어는 거기서 거기
라인이 발전 못하는 이유이기도 하지 java쓰는거
그럼 무엇을써야하는지??
@@jinhanaura c/c++을 쓰고 남이 만든거 쓰면 안되고 백지에서 다 만들어야죠
코딩공부하기 좋은 커뮤니티 추천해주세요 20살이에여
노마드여
@@kms1014 거기..말구
생활코딩
왜 무슨무슨 공부 시작한다고 하는 사람들은 다 자기나이를 말하죠?
자..바?
김어준 자바라
자바만 잡아도
자바가 1등이라니 웃기는군
그럼 뭐가 좋죠?
자바나 씨나 객체지향 부지런히 파다보면 나머진 다 그냥 복붙 이해의 영역같은데
러스트하세요 두번하세요
생산성 낮음
근데 라인 왤케 구린가요
코틀린하세요 두번하세요
개소리 집어치우고 어셈블리어부터 배워 메모리 관리가 제일 중요하단다
진입장벽이 너무높...
어셈블 딱히 필요없어요 ㅋㅋㅋ 그리고 어셈블은 약간 빡침
@@user-yj3ur6zg9s 어디가서 그런식의 답글 달지 마세요 어셈블이 빡친다는건 님의 지식과 머리가 안따라줘서 그런것이니
@@yhs8281 음 님 혹시 개발자 이신가요? 혹시 어셈블로 코딩 하시나요? 신입이 어셈블을 딱히 알 필요는 없을꺼 같아요. 제가 빡치다고 한것은 c++ 같은 high level language 하다가 어쎔블로 하면 너무 빡쳐서 그런거에요 저도 다 배웠어요. 컴파일러도 만들어보고 ㅋㅋ Embedded 쪽으로 가고 싶으면 배워야죠 근데 그냥 software developer 는 딱히 필요없는게 팩트에요. 구글에 쳐보세요 어셈블리 배워야 할까요? ㅋㅋ 저랑 비슷한 의견인껄요.
@@yhs8281 어디가서 그런식의 댓글 달지 마세요 ㅋㅋㅋ 개발 신입에게 추천하는 언어인데 어셈블타령하시네 님의 지식과 머리가 안따라줘서 영상의 주제도 모르시나보네요
대머리뭐냐