sago-associate
34
2022-04-09 07:03:13 작성 2022-04-09 13:25:45 수정됨
22
1361

.


.
-6
0
  • 댓글 22

  • 플로우.
    386
    2022-04-09 08:16:43

    안녕하세요.


    제가 상식(기본기?)이 없어서 그런데 managed/unmanaged 구분하는게

    memory management 관련해서 언어(플랫폼) 자체의 지원?(ex: garbage collection)이

    있냐 없냐로 나누신 걸까요?


    (reference) https://blog.seulgi.kim/2019/04/managed-language-vs-unmanaged-langauge.html

  • sago-associate
    34
    2022-04-09 08:32:07 작성 2022-04-09 08:34:25 수정됨

    플로우

    틀린 말은 아니지만 제 생각에는 블로거가 gc 기준으로 쓴 것 같아요. 잘 못된 표현이고 가볍게 말하면 영어 어원 그대로 관리가 되고 내가 관리 해야하고 그런 차이 라고 생각해요. 레지스터나 IP(Intellectual property) 메모리 주소 관련해서 어셈에서 기계어로 컴파일 되는 일련의 과정들과 0과 1의 개념, 메모리 복사와 배열 등 여러 내용이 얽혀있어요. utf-8 과 아스키코드의 내용도 알 수 있구요.


    구분은 그냥 말하기 쉽게 관리된 / 안된 이정도로 나누고 깊이는 조사하고 써보면서 고찰을 혼자 정리하시면 됩니다. 저 또한 정답은 아니고 자신만의 정답으로 사고를 만드시길요 ㅎ

    -1
  • fender
    26k
    2022-04-09 08:34:45

    둘 다 하면 좋겠지만 "포인터를 이해해야 진짜 개발자다" 같은 식의 주장엔 동의하지 않습니다.

    매니지드와 언매니지드는 분야의 차이지 난이도나 깊이의 차이가 아닙니다.

    그리고 둘 다 하면 좋긴하지만, 둘 중 어느 쪽이 건 집중해도 커리어 내내 팔 수 있을 만큼 소프트웨어 분야가 많이 발전했고 둘 다 한다고 시너지가 그닥 좋지도 않습니다.

    아마도 비전공자가 단기 속성으로 웹 개발을 배워서 취업하는 현실에 비판적이신 듯 한데, 그건 말씀하신대로 어느 분야든 기본기 무시하고 3-6개월 후딱 배워서 실무 투입하는 것이 이상한 것이지 언매니지드 언어나 웹 개발이 깊이가 없기 때문이 아닙니다.

  • sago-associate
    34
    2022-04-09 08:50:24 작성 2022-04-09 09:13:28 수정됨

    fender

    포인터 몰라도 되는데 이왕 개발 할거면

    둘다 해보고 차이점을 아는게 좋다는 말이에요.

    국비를 까는게 아니고 거기서 멈추지 말고

    공학이 기술이면서도 깊은 학문이니

    시간 없어도 점진적으로 공부하자는 뜻입니다~~

    글 자세히 읽어보면 다른 생각드실거고 휙 내려서 눈에 들어오시는 단어 보았다고 생각할게요.

    국비나 비전공자 비판아니고 국비나 비전공을 생각없이 비판 한 사람을 제가 비판 한겁니다…


    그리고 포인터 몰라도 됩니다

    다만 개발로 밥을 먹고 산다면 변수와 함수가 어떤 상호작용을 내부적으로 하고 있는지 정도는 궁금해해야 하지 않을까..라는 생각 정도고여. 이런 건 누가 말해주지 않는 이상 잘 몰라요..

     


    말했듯 알면 알려주지 까내리진 않아요~


  • 페코옹
    2k
    2022-04-09 08:55:37
    개발 분야가 얼마나 넓은데 겨우 그런 기준으로 나눌수있을까요.

    그런 편협한 생각을 가지고 계신분들이라면 좋은 개발자는 어렵지 않을까요.
  • sago-associate
    34
    2022-04-09 08:58:55 작성 2022-04-09 09:20:25 수정됨

    페코옹

    죄송하지만 글을 잘 못 읽으신거 아닐까요;

    맞는 말 하셨지만 제 글과는 어울리지 않는다고 생각해요~


  • 세브라이드
    2k
    2022-04-09 09:49:18 작성 2022-04-09 09:50:29 수정됨

    sago-associate

    굉장히 위험한 발언을 하고 계시는데 그에 반해 주장 자체가 엄밀하질 못하고 추상적이시네요...

    오히려 신입이 듣기에는 주화입마 걸리기 딱 좋은 소리를 하고 계십니다.

    @fender 님도 그걸 걱정하시는 것 같고...

  • platanus
    702
    2022-04-09 10:02:46

    동적 할당 후 free()를 해줘야 되는 언어냐 아니냐를 두고 내공의 차이를 말씀하시는데..

    메모리 컨트롤을 할 줄 알면 좋다는거엔 동의하지만 주니어 시절이나 웹개발 한해서는 글쎄올시다.. 입니다.

    그거를 재쳐두고도 요센 신입이 알아야할게 너~~~~무 많아요..

  • sago-associate
    34
    2022-04-09 10:26:43 작성 2022-04-09 10:28:56 수정됨

    세브라이드 님이야 말로 더 추상적이시죠

    어디가 엄밀하지 못하고 어떤 부분이 굉장히 위험한건지 논리를 보여주시고 정확한 교육을 알려주셔야죠.

    귀찮더라도 제대로 댓 달아주세요.

    말한대로 주화입마라며 여기 글 보고 혼동 오신 분들

    모두가 보고 있는데 안 헷갈리게 잘 지나가야 하지 않나요?

    그대의 교육과 그간의 고찰을 기대합니다.


    알면 잘 알려주지 뭐하러 주절거리냐는 말이 그냥 한 말은 아니에요~


    차리리 platanus 님 댓글이라면 그렇구나 하고 이해가 가네요 설명도 있고 간결하고 글의 맥락도 잘 아셨고

    -2
  • 원숭이부대
    1k
    2022-04-09 10:36:21 작성 2022-04-09 10:41:54 수정됨

    다 해보는게 좋은 것은 당연합니다만은


    맞다 틀리다를 판별할 수는 없죠


    확실한 것은.. 메모리를 관리해주던 안해주던, 말씀하신 언매니지드 랭귀지도 해보는 것이 확실히 성능 리소스 관리 측면에서는 도움이 되는 것 같습니다


    다만.. 저를 포함한 대부분의 개발자들은 그 정도 수준의 가용성은 프레임워크, 언어, 하드웨어에 맡겨두고 생산성에 비중을 두는 것이 훨씬 낫다고 봅니다


    결국 프로그래밍도 돈벌려고 하는것이니까요


    언매니지드 언어를 안쓰고 있는데 굳이 열심히 파야한다 까지는 잘 모르겠네요


    쓸만하면 쓰는것이고, 너무 개판이라 쓸만하지 않으면 고치면 되는 것이죠

    처음부터 완벽한건 없으니..


    어느 정도 공감은 합니다만, 요즘 투자쪽에 관심이 있어서 공부를 잘 못하고 있군요

  • 무야자키
    1k
    2022-04-09 10:45:52

    아 ㅈ됐구나 산 넘어 산이구나 수단과 방법을 가리지 말아야겠구나

  • 하마
    8k
    2022-04-09 10:54:35 작성 2022-04-11 11:57:05 수정됨

    sago-associate/

    본인 글을 다시 읽어 보세요. 얼마나 엉망인지..그 짧은 글에서 너무 많은 주제 선정. 애매한 주장과 근거는 또 없고..

    코딩수준과 글쓰기 수준은 비슷하다고 생각합니다. 남이 이해 못한다고 말 하기 전에 퇴고를 해 보세요. 코딩에선 리팩토링이라고 하죠.

    각설하고

    님의 말이 틀린건 없지만 너무 뻔한게 문제 입니다. C,C++ 해보면 좋죠. 알고리즘도 다다익선입니다. 

    근데 이런 주장은 낙하산을 타고 내려오다 나무에 걸린 군인이 아래 농부에게 여기 어디냐고 묻자. 으스대며 나무 위라고 답하는것 과 같습니다.

    틀린건 아닌데 의미가 없는것이죠.

    포인터가 뭐가 어려우며 대단한걸까요? 알고리즘 한 두개 더 아는게 큰 차이를 나눌까요?

    언매니지드언어 타령하기전에  O/S 메모리매니지먼트 개발해보는게 훨씬 좋겠죠. 컴파일러도 겸사 만들고 말입니다.

    세상은 님이 생각 못 할 정도로 복잡하며, 사람들은 한가지만 잘 하는 방향으로 가고 있습니다. 서로 협력하게 되죠. 그들은 각자 다양한 관심분야에서 해당 문제에 집중하고 있습니다. 부족한 분야가 생기면 채용하면 됩니다.

    갓 포인터 배운 1학년생이 경력자들을 보며 포인터를 알게 된 것을 자랑하고 싶고, 코테 준비 열심히 한 주니어나 고딩이 알고리즘 얘기 해바짜 귀여보일 따름이겠으나, 누구는 그 말에 쓸 때없는 불안감을 갖게 되지 않을까 우려되는군요. 


  • sago-associate
    34
    2022-04-09 11:05:57 작성 2022-04-09 11:14:42 수정됨

    하마

    글의 취지는 둘다 해보는게 맞는거 같고

    신입과 경력의 차이는 포인터와 알고리즘을

    어떻게 해석하냐는 말이며

    공학은 단기간에 끝낼 수 없는 것이라

    이왕 한거면 좀 더 깊게 보라는 말이

    댓글과 본문만 봐도 알텐데..


    혹시 뭘 잘 못안거 아닌가요.. 아니면 뭘 잘 못 읽으신건가요? 그럼 말한대로 필요한 것과 잘 못된 점을 적어주세요. 그럴 필요 없다 뭐라 말할 필요가 없습니다.

    글 적으신거 논리 없는 건 마찬가진데 운운하신 것도 웃기고요. 인정하겠습니다.

    가볍게 최소한의 개발이라는게 무슨 뜻으로 들렸는지는 모르겠지만 개발 하려면 언젠가는 스쳐지나가듯 직면해야하는 문제고여. 공부는 할 수록 좋고 위 내용을 한다 한들 몇년 걸쳐서 할 것도 아니고 한두달 개념이나 원리 파악 정도로 공부하는 건 절대 나쁘지 않습니다.


    모두가 보니까 좋은 댓 부탁드립니다.

    모두가 알아 듣기 좋게 방향을 이야기 하시죠.

    이왕 글 본거 쓸데없이 티격태격 대는 글 보다는

    정보 얻고 나가는게 낫지 않겠습니까?

    -2
  • LeetCode
    833
    2022-04-09 11:10:29 작성 2022-04-09 11:15:49 수정됨

    당연히 알아두면 좋습니다. 하지만..

    공부하시는 학부생이시거나 신입~1/2년차 정도되는 분들에게 도움되는 조언은 아직 아니라고 봐요.
    (수정: 3년차까지는 아닌듯합니다 ㅎ 1~2년.. + 학원다니시면서 취업을 목표로 단기간에 달리시는 웹쪽 학부생이라면..)

    적어도 그 분들은 메모리를 직접적으로 건드리지 않는 환경에서 작업을 진행하기때매 코더라고 무조건 부정적인 시각으로 바라보기에는 작성자분이 색안경을 끼고 있지 않으신가 하는 생각이 먼저 듭니다.

    사실 C/C++를 알아둬서 나쁠건 없어요. 오히려 컴퓨터쪽과 더 친근해지기 때문에 구조적 원리를 이해하는데 있어서 200% 도움이 되긴 할겁니다. (다만.. 그걸 php나 C#에서 제대로 사용하지 못할 뿐이죠)


    메모리의 구조라던가 쓰임새, 메모리 단편화가 왜 일어나고 이걸 어떻게 극복하는가
    포인터로 객체 받아와서 사용하는데 댕글링이 된거라면?
    MMORPG에서 필드보스를 유저 300명이 때려잡고 있는데, 보스의 hp를 유저들이 메모리를 획득해서 쓰레드간 동기화를 맞춰줘야하는경우 동기화모델 어떻게할거고 설계를 어떻게할것인가
    락을 어떻게 해줄거고 어느 부분을 아토믹하게 해줄건가?
    레이스컨디션 발생할 수 있는데 어떻게 극복할것인가? 인터랙션을 최소화할수없는가?
    유저가 로그아웃중이라서 내 영웅정보를 저장해야하는데 특정 클래스의 소멸자가 제대로 호출이 안됐네 왜그럴까? 어떻게 찾아야하는가? v_ptr의 원리를 이해해야 해결되는데 이건 또 뭘까?

    메모리와 포인터의 쓰임새를 알기위해서는 오류 경험을 겪어봐야하는데, php나 node, 전자정부 JAVA 쪽을 공부하는 입장에서 얻기는 어려울겁니다.
    (C#이나 Java를 다루신다면 배워두셔야......맞다고 봅니다..)

    작성자님은 기본적으로 알아둬야하는 부분은 알아둬라 라는 의미로 말씀하셨을 수도 있어요
    여기서 댓글로 투닥투닥할 문제는 아니고  학원/비전공자에 해당되시는 분들이 단순히 학원에서 배우는대로 공장처럼 찍어내는 코드를 작성하라는 것이 아니라

    int a = 0; 과 int* a = 0; 을 선언했을 때, 각각 메모리 어디에 올라가고 heap 과 stack 에서 개발자가 어떻게 데이터를 접근하고 운영할 수 있는지 이런 사고력을 기르라는 의미로 전달했을 거에요.|


    작성자님이 공격적인 언행을 지양하시고 건설적인 내용으로 글을 작성하셨다면 질타 받진 않으셨을 겁니다. 내용이 조금 자극적이긴 해요 ㅎ

  • sago-associate
    34
    2022-04-09 11:33:39

    LeetCode


    이해합니다. 인정하고 맞는 말이며 좋은 자료네요.

    양측 언어 다 경험해보고 비교해보는 건 정말 좋은 것 같다는 생각입니다.

    자세히 보시면 비전공자나 전공자나 개발 할 때 구분하는 것은 별거 없고 종이 한장 차이를 이야기했는데 좀 달리 들렸을 수도 있겠네요.

    다소 제 글이 공격적이었겠지만 충분히 좋은 역량과 지식으로 좋은 정보를 남기면 됐는데 공격적인 댓글이 따라서 나온다는 건 저도 좀 이해하기 힘듭니다.


    그래도 이 난리를 쳐서 누군가는 찾아보고 끄덕이며 생각하고 학습했을거라 믿습니다.

    본문의 글은 지워야겠네요

    사유는 의미없는 마녀사냥 하는 분들 별로여서 입니다.

    -2
  • LeetCode
    833
    2022-04-09 11:47:10

    sago-associate

    글 삭제된다니 조금 아쉽긴 하는군요.

    차라리 본문의 공격적인 내용만 수정해서 전달하고자 하는 바를 다시 작성해보심이 어떨가 싶기도 합니다 ㅎ

    오키에 정말 비전공자분들이 많이 유입되고 있는건 사실이고 학원에서 배우는 한정된 부분으로 인해 기초지식이라 불리우는 것들이 배제되고 실무에 투입되는 경우가 많은것도 사실입니다.

    이런 부분을 안타깝게 생각하신다면 오키에 절차지향/객체지향을 공부하면서 득이되는 부분들을 공유해주시면 어떨까요?

    채찍질로 얻은 공부에 대한 의지가 아니라 호기심으로 접근해서 자발적으로 공부할 수 있게 불태워주는 요소가 될 수도 있을텐데요 ㅎㅎ

  • fender
    26k
    2022-04-09 12:35:28 작성 2022-04-09 12:38:32 수정됨

    아마도 저를 포함한 많은 분들이 다소 민감하게 반응한 이유가 아직 이 분야에 이른바 '저수준 만능주의'비슷한 편견이 남아있기 때문일 겁니다.

    이 곳이야 자바 커뮤니티에서 출발했으니 덜한 편이지만 디씨 같은 데는 프론트엔드나 웹 개발 같이 하드웨어와 먼 분야를 싸잡아서 비하하는 글이 거의 일상적으로 올라오는 것으로 알고 있습니다.

    그런 편견은 그 자체로도 나쁘지만 아직 경험이 부족한 개발자들에게 잘못된 공부 방향을 제시할 수 있다는 점에서도 경계할 필요가 있습니다.

    논쟁을 키우고 싶지 않아 첫 덧글에서 굳이 언급하진 않았지만 사실 본문을 읽으면서 그런 관점에서도 고개를 갸웃하게 한 내용이 있습니다.

    전공지식을 무시하는 어떤 글을 어디서 보셨는지 모르겠지만, 제 경험상 이 주제에 대해서 편견을 가지고 비하를 하는 건 거의 99% 저수준 개발자나 전공자 쪽이지 반대가 아닙니다.

    이건 C 개발자나 전공자가 나빠서가 아니라 전통적으로 저수준을 다루는 것이 웹 개발보다 '수준 높은' 무언가라는 인식이 있었고, 대학에서 4년 동안 공부를 한 사람이 학원에서 6개월 단기 과정을 수료한 사람보다 기본기가 나을 것이라는 건 상식이기 때문입니다.

    그런 배경에서 포인터를 모르면 "깡통코더"니, "웹이나 쪼물딱 거린다"느니 하는 이야기를 하면서 오히려 전공자를 까내리지 말라고 일침을 하니 좋은 반응이 나오지 않는 것 뿐입니다.

    최소한 이 글로만 보면 아무도 저수준 분야나 전공자를 무시하지 않았지만, 글쓴분은 은연중에 고수준 분야를 만만한 것으로 낮춰보는 편견을 내보였으니 말입니다.

  • 장독깨기
    5k
    2022-04-09 12:56:31 작성 2022-04-09 13:05:37 수정됨

    둘 다 하는게 좋긴 한데, 때가 좀 있는거 같습니다. 그리고, 동시에 할 필요는 없고, 해서도 안되구요.

    학부생이 막 입문 했으면, c++ 로 시작하는 게 좋을 거 같습니다. 시간 충분하니까요.

    뒤 늦게 입문하시는 분들 많은데요, 이런 분들은 저러고 있을 시간 없죠.

    지금 상황이나 현실에 맞게 최선을 찾아 공부 하는게 좋습니다. (자바 추천:)

    그리고, 포인터니 뭐니 이런 거 좀 알면 좋긴 합니다만, 프로그래밍 관점에서 보면 그 닥 중요하지도 않습니다.

    그런거 신경 쓰지 마라고 나온 언어들이 대부분이고, 또 그걸로 못 만들게 없잖아요.

    그러니, 뒤 늦게 입문하는 분들은 크게 신경 쓸 필요 없이 지금 하는거 열심히 하면 됩니다.


    음.. 컴퓨터 공학 이 쪽이 학문이 맞긴 한데요. 

    근데, 여느 학문과 다르게 이 쪽은 적성 잘 맞으면 단기간에 실력 향상 가능합니다.

    좋은 학벌이나 4년 전공보다 실력 좋은 비 전공 분들 수두룩하게 봐왔습니다.

    그러니, 인재 채용 때 저런 걸 안 보는 겁니다. 저런 걸로 실력을 가늠할 수 없으니까요.

    뒤 늦게 입문 했더라도 자신감 가지고 열심히들 하세요.

    포인터 몰라도 됩니다. :)

  • 하마
    8k
    2022-04-09 13:19:57 작성 2022-04-09 15:33:42 수정됨

    LeetCode/

    저는 딱히 님이 적어 주신 내용들이 학생이나 초급자들 이해 못할 내용은 아니라고 생각합니다. 오히려 C++ 하게 되면 초급자라도 알아야 할 기본적 내용이라고 봅니다. 기본이지만 MS 고급개발자도 버그로 만들기 쉬운 C++ 사용의 문제점이기도 합니다만..

    년차가 쌓여 갈 수록 모던C++ 진수를 잘 알게 되겠죠. 저게 쉽다 어렵다 사실  이건 중요한 문제는 아닙니다. 사람마다 다르니까요.

    네 제가 이 글에서 말하고 싶은 바는 다르다에 방점이 찍힙니다.

    웹프론트개발 혹은 자바 백,미들웨어 개발 보다 C++개발 혹은 뭐 다른거.. 그게 어려운것이거나 나중에 연차가 쌓이면  알아야 하는게 아니라 그냥 다른거라는 말이며 각자 다른 로드맵이 있는거 같습니다

  • sago-associate
    34
    2022-04-09 13:36:37 작성 2022-04-09 13:37:41 수정됨

    난독증이 있으신지 본질을 무너뜨린 채 마녀사냥하는 댓에 질려서 글 내립니다.

    잘 모르시는데 댓 다는 거 웃기신거 같아서 시간낭비라고 생각되네요.

    잘 알면 c/c++ 운운하는게 아니고 장점인 oop개념이나 알고리즘 종류나 왜 포인터를 알아야하는지 복잡도와 배열 등 객체지향은 왜 지금 알면 안되는지 이런 좋은 정보들 쓰시면서 깔끔하게 까시면 되는데 ^^ 노인정에서 알밤 까먹기 같은 뜬구름 잡는 소리를 쓰네요. 그냥 귀찮고 잔소리가 편한 그러신거겠죠.


    그냥 제 생각에는 깡통 코더가 뜨끔하셨는지들 글 제대로 읽지도 않고 그냥 소설을 쓰네요.

    이래서 okky 라고 하나봅니다

    그냥 재밌었어요. 


    댓은 여기까지 달고 아래 댓 다시거나 노십시오. 이 글은 없는 거라 생각합니다

    -4
  • 프매씨
    273
    2022-04-09 14:10:40

    글을 지우셔서 무슨일이 있었는가 싶었는데,  ㅎㅎ.....

    여긴 기록이 다 남습니다...


    https://okky.kr/changes/2744847

  • 무야자키
    1k
    2022-04-09 21:28:33

    저 무료 과외좀 해주세요

  • 로그인을 하시면 댓글을 등록할 수 있습니다.