- 작성자가 질문을 받을 수 있는 게시판입니다.
- AMA는 Ask me anything (무엇이든 물어보세요)라는 뜻입니다.
Date | 19/11/08 23:20:19수정됨 |
Name | [익명] |
Subject | 프로그래머입니다 |
작성자가 본문을 삭제한 글입니다. 0
|
반갑습니다. 추측컨데 제가 오프라인에서 만나뵌 분 같기도 하고......
Qt만 10년 넘게 사용했습니다. 믿거나 말거나지만 얼마전에는 KDAB에서 스카웃 제의도 있었고요...... -o-a
C++이 C에 객체지향을 얹은 언어란 이야기는 그래도 C++03까지는 대충(......) 맞는 소리였는데, C++11이 들어오면서 더이상 유효하지 않게 되었다고 생각합니다.
해서...... 아무리 그래도 어쩔 수 없이 C++로 GUI를 짜게 된다면 어떤 라이브러리를 쓰고 싶으신가요?
(꼭 Qt가 아니더라도, 다른 것들도 많지요. wxWidgets, IUP, FLTK, FOX, JUCE, libui, ......)
Qt만 10년 넘게 사용했습니다. 믿거나 말거나지만 얼마전에는 KDAB에서 스카웃 제의도 있었고요...... -o-a
C++이 C에 객체지향을 얹은 언어란 이야기는 그래도 C++03까지는 대충(......) 맞는 소리였는데, C++11이 들어오면서 더이상 유효하지 않게 되었다고 생각합니다.
해서...... 아무리 그래도 어쩔 수 없이 C++로 GUI를 짜게 된다면 어떤 라이브러리를 쓰고 싶으신가요?
(꼭 Qt가 아니더라도, 다른 것들도 많지요. wxWidgets, IUP, FLTK, FOX, JUCE, libui, ......)
예 필요하다고 생각합니다. 소프트웨어의 완성도가 아무리 높아도 아이템 자체가 똥이면 회사가 돈을 벌 수 없거든요.
(물론 반대로 아이템이 좋더라도 소프트웨어의 완성도가 똥인 경우에도 마찬가지 얘기라고 생각합니다.
유저들이 앱스토어에서 받은 뒤 버벅거리고 튕기는거 보고 3분안에 지우겠죠)
프로그래머들 중에 시장에 먹힐만한 사업아이템을 잘 구상할 수 있는 사람은 생각보다 많지 않습니다.
기획자에게 있어 사업아이템 구상능력 외에 필요할 것 같은 능력이라면..
이게 개발시에 구현 가능성이 얼마나 될지를 가늠하는 능력이겠네요. ... 더 보기
(물론 반대로 아이템이 좋더라도 소프트웨어의 완성도가 똥인 경우에도 마찬가지 얘기라고 생각합니다.
유저들이 앱스토어에서 받은 뒤 버벅거리고 튕기는거 보고 3분안에 지우겠죠)
프로그래머들 중에 시장에 먹힐만한 사업아이템을 잘 구상할 수 있는 사람은 생각보다 많지 않습니다.
기획자에게 있어 사업아이템 구상능력 외에 필요할 것 같은 능력이라면..
이게 개발시에 구현 가능성이 얼마나 될지를 가늠하는 능력이겠네요. ... 더 보기
예 필요하다고 생각합니다. 소프트웨어의 완성도가 아무리 높아도 아이템 자체가 똥이면 회사가 돈을 벌 수 없거든요.
(물론 반대로 아이템이 좋더라도 소프트웨어의 완성도가 똥인 경우에도 마찬가지 얘기라고 생각합니다.
유저들이 앱스토어에서 받은 뒤 버벅거리고 튕기는거 보고 3분안에 지우겠죠)
프로그래머들 중에 시장에 먹힐만한 사업아이템을 잘 구상할 수 있는 사람은 생각보다 많지 않습니다.
기획자에게 있어 사업아이템 구상능력 외에 필요할 것 같은 능력이라면..
이게 개발시에 구현 가능성이 얼마나 될지를 가늠하는 능력이겠네요.
개발능력이 베이스로 있으면 저절로 갖춰지는 능력이겠지만
개발능력이 없더라도 개발자들과 커뮤니케이션하는 짬이 쌓이면 되는 것 같습니다
아 그리고 문서화 능력. 쓸데없는 문서를 만드는 게 아니라 구체적이고 간결하면서 필요한 말은 다 들어있는 문서를 쓰는 능력. 이거 중요하쥬
(물론 반대로 아이템이 좋더라도 소프트웨어의 완성도가 똥인 경우에도 마찬가지 얘기라고 생각합니다.
유저들이 앱스토어에서 받은 뒤 버벅거리고 튕기는거 보고 3분안에 지우겠죠)
프로그래머들 중에 시장에 먹힐만한 사업아이템을 잘 구상할 수 있는 사람은 생각보다 많지 않습니다.
기획자에게 있어 사업아이템 구상능력 외에 필요할 것 같은 능력이라면..
이게 개발시에 구현 가능성이 얼마나 될지를 가늠하는 능력이겠네요.
개발능력이 베이스로 있으면 저절로 갖춰지는 능력이겠지만
개발능력이 없더라도 개발자들과 커뮤니케이션하는 짬이 쌓이면 되는 것 같습니다
아 그리고 문서화 능력. 쓸데없는 문서를 만드는 게 아니라 구체적이고 간결하면서 필요한 말은 다 들어있는 문서를 쓰는 능력. 이거 중요하쥬
글쎄요 요구사항이 명확하게 지정된 문서랑 상식적인 일정만 줘도 ok 같습니다
이런 요구사항 문서는 나쁩니다:
- 유저의 적당한 커스터마이징을 지원해야 한다. (뭐가 적당한 커스터마이징인지는 니가 생각하라고..)
이런 요구사항 문서는 ok입니다:
- 플래티넘 이상의 등급 유저에게 다음과 같은 확장 기능을 지원한다:
1. 무료 도메인 지원. 기간은 1년. 30일 체험판을 사용하던 유저일 경우 체험판의 남은 이용기간을 가산한다.
2. 방문자 프로필 보기 지원. 방문자의 메일에 직접 연락할 수 있는 권한과 방문자의 1... 더 보기
이런 요구사항 문서는 나쁩니다:
- 유저의 적당한 커스터마이징을 지원해야 한다. (뭐가 적당한 커스터마이징인지는 니가 생각하라고..)
이런 요구사항 문서는 ok입니다:
- 플래티넘 이상의 등급 유저에게 다음과 같은 확장 기능을 지원한다:
1. 무료 도메인 지원. 기간은 1년. 30일 체험판을 사용하던 유저일 경우 체험판의 남은 이용기간을 가산한다.
2. 방문자 프로필 보기 지원. 방문자의 메일에 직접 연락할 수 있는 권한과 방문자의 1... 더 보기
글쎄요 요구사항이 명확하게 지정된 문서랑 상식적인 일정만 줘도 ok 같습니다
이런 요구사항 문서는 나쁩니다:
- 유저의 적당한 커스터마이징을 지원해야 한다. (뭐가 적당한 커스터마이징인지는 니가 생각하라고..)
이런 요구사항 문서는 ok입니다:
- 플래티넘 이상의 등급 유저에게 다음과 같은 확장 기능을 지원한다:
1. 무료 도메인 지원. 기간은 1년. 30일 체험판을 사용하던 유저일 경우 체험판의 남은 이용기간을 가산한다.
2. 방문자 프로필 보기 지원. 방문자의 메일에 직접 연락할 수 있는 권한과 방문자의 1촌 목록을 볼 수 있는 권한을 지원해야 한다. 방문자가 프로필 보이기 설정을 '완전 비공개'로 한 경우에는 이 지원 기능의 대상에서 제외된다.
(※ 기술적 구현 시 유의 사항: 개별 페이지의 방문자 목록은 암호화해서 사내에서 접근할 수 없도록 할 것. 보안 관련 소비자 컴플레인 있었음.)
3. ...
이런 요구사항 문서는 나쁩니다:
- 유저의 적당한 커스터마이징을 지원해야 한다. (뭐가 적당한 커스터마이징인지는 니가 생각하라고..)
이런 요구사항 문서는 ok입니다:
- 플래티넘 이상의 등급 유저에게 다음과 같은 확장 기능을 지원한다:
1. 무료 도메인 지원. 기간은 1년. 30일 체험판을 사용하던 유저일 경우 체험판의 남은 이용기간을 가산한다.
2. 방문자 프로필 보기 지원. 방문자의 메일에 직접 연락할 수 있는 권한과 방문자의 1촌 목록을 볼 수 있는 권한을 지원해야 한다. 방문자가 프로필 보이기 설정을 '완전 비공개'로 한 경우에는 이 지원 기능의 대상에서 제외된다.
(※ 기술적 구현 시 유의 사항: 개별 페이지의 방문자 목록은 암호화해서 사내에서 접근할 수 없도록 할 것. 보안 관련 소비자 컴플레인 있었음.)
3. ...
당연히 std::thread를 씁니다. std::scoped_lock 등 RAII를 지원하는 C++ 라이브러리의 수혜를 포기해야 할 이유가 없죵.
애초에 std::thread 내부에서 pthread를 쓰는 구현체가 많고요
여기다 필요할 시 boost::asio 등을 얹습니다
애초에 std::thread 내부에서 pthread를 쓰는 구현체가 많고요
여기다 필요할 시 boost::asio 등을 얹습니다
https://www.educative.io/courses/grokking-the-system-design-interview/m2yDVZnQ8lG
개발자의 개발 방법론을 이해하시고 싶으시다면 이거 한번 읽어보시는 걸 추천합니다.
개발자의 개발 방법론을 이해하시고 싶으시다면 이거 한번 읽어보시는 걸 추천합니다.
심심하시면 저기 나와 있는 grokking the system design interview에서 인스타 설계 파트 말고 다른 거 보셔도 괜찮습니다.
주니어 레벨 개발자들에게는 필독에 가까운 면접 대비 자료인데 개발 지식을 이해하고 싶은 타 부서 사람에게도 유용할 거라 생각합니다
주니어 레벨 개발자들에게는 필독에 가까운 면접 대비 자료인데 개발 지식을 이해하고 싶은 타 부서 사람에게도 유용할 거라 생각합니다
전에 소개 받은 적이 있어 codereview stack exchange를 사용하려 할 때 지금 제일 어려운 문제는 제가 짠 코드들 중 어떤 것을 올려봐야할지 모르겠다는 것이랑, 용도에 맞지 않다는 이유로 리젝당하는 경우가 워낙 많았던 부분입니다.
현재 취업준비생이기 때문에 작성하는 코드들은 대부분 leetcode와 같은 곳에서 푼 문제들인데 이들 중 어떤 녀석들을 질문에 올려봐야하는 걸까요?
제가 코드리뷰를 받아보고자 하는 목적은 제가 작성한 코드들을 더 효율적으로 유지보수하기 편한 형태로 구성하려면 어떻게 해야하는가 입니다.
또 위 싸이트들을 이용할 때 알아두어야할 것이 있을까요? ... 더 보기
현재 취업준비생이기 때문에 작성하는 코드들은 대부분 leetcode와 같은 곳에서 푼 문제들인데 이들 중 어떤 녀석들을 질문에 올려봐야하는 걸까요?
제가 코드리뷰를 받아보고자 하는 목적은 제가 작성한 코드들을 더 효율적으로 유지보수하기 편한 형태로 구성하려면 어떻게 해야하는가 입니다.
또 위 싸이트들을 이용할 때 알아두어야할 것이 있을까요? ... 더 보기
전에 소개 받은 적이 있어 codereview stack exchange를 사용하려 할 때 지금 제일 어려운 문제는 제가 짠 코드들 중 어떤 것을 올려봐야할지 모르겠다는 것이랑, 용도에 맞지 않다는 이유로 리젝당하는 경우가 워낙 많았던 부분입니다.
현재 취업준비생이기 때문에 작성하는 코드들은 대부분 leetcode와 같은 곳에서 푼 문제들인데 이들 중 어떤 녀석들을 질문에 올려봐야하는 걸까요?
제가 코드리뷰를 받아보고자 하는 목적은 제가 작성한 코드들을 더 효율적으로 유지보수하기 편한 형태로 구성하려면 어떻게 해야하는가 입니다.
또 위 싸이트들을 이용할 때 알아두어야할 것이 있을까요?
https://codereview.stackexchange.com/questions/231375/simulation-to-find-the-minimum-number-of-patrollers-to-cover-a-wall
이게 제가 답변을 받은 유일한 질문인데, 이것 같은 경우는 답변자 분께서 질문을 어떻게 수정해야한다는 코멘트까지 다 달아주셨어서 그대로 수정했기 때문에 저렇게 된 것이지 원래는 저거로 negative vote도 받은 질문이었거든요.
https://codereview.stackexchange.com/tour 들어가서 읽어봤는데도 잘 모르겠더라구요.
아, 그리고 이번에 혼자 공부하는 것이 안 좋다는 생각이 들어서 취업 준비 스터디를 막 시작한 참인데, 현재 leetcode의 weekly contest와 geeksforgeeks의 interview question을 가지고 이야기하는 방식으로 하고 있습니다.
그런데 같이 공부한다는 게 처음이라 많은게 어색하더라구요. 같이 공부할 때 가지고 있으면 좋은 태도 같은 것에는 어떤 것이 있을까요? 위에 혼자 공부하지 말라는 이야기를 적어두셨길래 질문드립니다.
현재 취업준비생이기 때문에 작성하는 코드들은 대부분 leetcode와 같은 곳에서 푼 문제들인데 이들 중 어떤 녀석들을 질문에 올려봐야하는 걸까요?
제가 코드리뷰를 받아보고자 하는 목적은 제가 작성한 코드들을 더 효율적으로 유지보수하기 편한 형태로 구성하려면 어떻게 해야하는가 입니다.
또 위 싸이트들을 이용할 때 알아두어야할 것이 있을까요?
https://codereview.stackexchange.com/questions/231375/simulation-to-find-the-minimum-number-of-patrollers-to-cover-a-wall
이게 제가 답변을 받은 유일한 질문인데, 이것 같은 경우는 답변자 분께서 질문을 어떻게 수정해야한다는 코멘트까지 다 달아주셨어서 그대로 수정했기 때문에 저렇게 된 것이지 원래는 저거로 negative vote도 받은 질문이었거든요.
https://codereview.stackexchange.com/tour 들어가서 읽어봤는데도 잘 모르겠더라구요.
아, 그리고 이번에 혼자 공부하는 것이 안 좋다는 생각이 들어서 취업 준비 스터디를 막 시작한 참인데, 현재 leetcode의 weekly contest와 geeksforgeeks의 interview question을 가지고 이야기하는 방식으로 하고 있습니다.
그런데 같이 공부한다는 게 처음이라 많은게 어색하더라구요. 같이 공부할 때 가지고 있으면 좋은 태도 같은 것에는 어떤 것이 있을까요? 위에 혼자 공부하지 말라는 이야기를 적어두셨길래 질문드립니다.
다른 사람이 C를 버리고 C++로 갈아타는지에 대해서는 그다지 신경쓰지 않습니다만
제가 C를 버리고 C++를 선호하는 이유는 아주 많은데..
3가지를 꼽자면 RAII, constexpr, 다양한 기능 지원으로 요약되겠네요
1. RAII
C에서는 리소스를 동적으로 할당한 뒤 언젠가 해제해줘야 합니다. 그냥 포인터도 그렇고 FILE* 등도 fclose를 해줘야하죠
C++에서는 그럴 필요가 없습니다 vector, fstream 등은 객체주기가 끝날 때 메모리를 자동으로 해제해 줍니다
(new/delete 등은 쓰지 않습니다. 쓰는 인간은 틀니압수..
임베디드에서 pool allocator 쓸... 더 보기
제가 C를 버리고 C++를 선호하는 이유는 아주 많은데..
3가지를 꼽자면 RAII, constexpr, 다양한 기능 지원으로 요약되겠네요
1. RAII
C에서는 리소스를 동적으로 할당한 뒤 언젠가 해제해줘야 합니다. 그냥 포인터도 그렇고 FILE* 등도 fclose를 해줘야하죠
C++에서는 그럴 필요가 없습니다 vector, fstream 등은 객체주기가 끝날 때 메모리를 자동으로 해제해 줍니다
(new/delete 등은 쓰지 않습니다. 쓰는 인간은 틀니압수..
임베디드에서 pool allocator 쓸... 더 보기
다른 사람이 C를 버리고 C++로 갈아타는지에 대해서는 그다지 신경쓰지 않습니다만
제가 C를 버리고 C++를 선호하는 이유는 아주 많은데..
3가지를 꼽자면 RAII, constexpr, 다양한 기능 지원으로 요약되겠네요
1. RAII
C에서는 리소스를 동적으로 할당한 뒤 언젠가 해제해줘야 합니다. 그냥 포인터도 그렇고 FILE* 등도 fclose를 해줘야하죠
C++에서는 그럴 필요가 없습니다 vector, fstream 등은 객체주기가 끝날 때 메모리를 자동으로 해제해 줍니다
(new/delete 등은 쓰지 않습니다. 쓰는 인간은 틀니압수..
임베디드에서 pool allocator 쓸때는 custom allocator나 pmr 등을 씁니다)
2. constexpr
컴파일 타임에 구할 수 있는 값들은 컴파일 타임에 계산해주도록 할 수 있기 때문에 C에 비해 더 빠릅니다
극단적인 예로 애커만 함수를 보죠 (https://en.wikipedia.org/wiki/Ackermann_function#Example_expansions)
C에서 A(3, 15)를 구하려면 캐싱을 안하면 아예 불가능할거고 캐싱을 해도 프로그램이 뻗을 수 있습니다.
C++에선 중간결과를 컴파일 타임에 전부 계산해주기 때문에 수초 안에 계산이 됩니다
3. 다양한 기능 지원
수학과라고 하셨으니 수학과스러운 예를 들면..
정규분포 샘플링만 해도 C에서는 갖은 똥꼬쑈를 해야 하죠
// C
float rand_normal() {
static bool have_spare = false;
static double rand1 = 0.0, rand2 = 0.0;
if(have_spare) {
have_spare = false;
return sqrt(rand1) * sin(rand2);
}
have_spare = true;
rand1 = rand() / ((double) RAND_MAX);
if(rand1 < 1e-100) rand1 = 1e-100;
rand1 = -2 * log(rand1);
rand2 = (rand() / ((double) RAND_MAX)) * TWO_PI;
return sqrt(rand1) * cos(rand2);
}
// C++
mt19937 gen(random_device{}());
normal_distribution<> N {0, 1}; // standard normal
for (size_t i = 0; i < 1'000; i++) {
cout << N(gen) << 'n';
}
깔-끔
제가 C를 버리고 C++를 선호하는 이유는 아주 많은데..
3가지를 꼽자면 RAII, constexpr, 다양한 기능 지원으로 요약되겠네요
1. RAII
C에서는 리소스를 동적으로 할당한 뒤 언젠가 해제해줘야 합니다. 그냥 포인터도 그렇고 FILE* 등도 fclose를 해줘야하죠
C++에서는 그럴 필요가 없습니다 vector, fstream 등은 객체주기가 끝날 때 메모리를 자동으로 해제해 줍니다
(new/delete 등은 쓰지 않습니다. 쓰는 인간은 틀니압수..
임베디드에서 pool allocator 쓸때는 custom allocator나 pmr 등을 씁니다)
2. constexpr
컴파일 타임에 구할 수 있는 값들은 컴파일 타임에 계산해주도록 할 수 있기 때문에 C에 비해 더 빠릅니다
극단적인 예로 애커만 함수를 보죠 (https://en.wikipedia.org/wiki/Ackermann_function#Example_expansions)
C에서 A(3, 15)를 구하려면 캐싱을 안하면 아예 불가능할거고 캐싱을 해도 프로그램이 뻗을 수 있습니다.
C++에선 중간결과를 컴파일 타임에 전부 계산해주기 때문에 수초 안에 계산이 됩니다
3. 다양한 기능 지원
수학과라고 하셨으니 수학과스러운 예를 들면..
정규분포 샘플링만 해도 C에서는 갖은 똥꼬쑈를 해야 하죠
// C
float rand_normal() {
static bool have_spare = false;
static double rand1 = 0.0, rand2 = 0.0;
if(have_spare) {
have_spare = false;
return sqrt(rand1) * sin(rand2);
}
have_spare = true;
rand1 = rand() / ((double) RAND_MAX);
if(rand1 < 1e-100) rand1 = 1e-100;
rand1 = -2 * log(rand1);
rand2 = (rand() / ((double) RAND_MAX)) * TWO_PI;
return sqrt(rand1) * cos(rand2);
}
// C++
mt19937 gen(random_device{}());
normal_distribution<> N {0, 1}; // standard normal
for (size_t i = 0; i < 1'000; i++) {
cout << N(gen) << 'n';
}
깔-끔
프로그래밍을 평생 업으로 할 계획이다. 웹쪽엔 관심이 없다 - C++
프로그래밍을 평생 업으로 할 계획이고 웹쪽에 관심이 있다 - Javascript
프로그래밍을 업으로 삼을 생각은 없는데 코딩은 재미있다. 내가 하는 업무를 효율화하고 싶다 - Python
코딩은 재미가 없다 - 프로그래밍을 하지 않는다
프로그래밍을 평생 업으로 할 계획이고 웹쪽에 관심이 있다 - Javascript
프로그래밍을 업으로 삼을 생각은 없는데 코딩은 재미있다. 내가 하는 업무를 효율화하고 싶다 - Python
코딩은 재미가 없다 - 프로그래밍을 하지 않는다
Programming Principles and Practice using C++ 2nd,
A Tour of C++ 2nd 추천합니다.
A Tour of C++ 2nd 추천합니다.
제대로 된 교육 자료가 별로 없는게 가장 아쉽죠.
좋은 교육이 되려면 두 가지 조건을 만족해야 해요.
1. 학습자에게 공감과 동기부여를 이끄는 커뮤니케이션 능력이 뛰어난가?
2. 교육자가 "팩트"를 제대로 알고 있는가?
다른 분야는 2번이 상대적으로 덜 중요할지 모르겠지만 프로그래밍 교육에 있어서 두 가지 조건을 모두 만족시키는 것은 중요해요.
1번을 만족하지 못하면 학습자가 코드 몆줄 짜다가 재미없어서 gg쳐버리고,
2번을 만족하지 못하면 기능 추가보다 버그 추가를 많이 해서 일터에 없는게 나은 허접한 개발자만 ... 더 보기
좋은 교육이 되려면 두 가지 조건을 만족해야 해요.
1. 학습자에게 공감과 동기부여를 이끄는 커뮤니케이션 능력이 뛰어난가?
2. 교육자가 "팩트"를 제대로 알고 있는가?
다른 분야는 2번이 상대적으로 덜 중요할지 모르겠지만 프로그래밍 교육에 있어서 두 가지 조건을 모두 만족시키는 것은 중요해요.
1번을 만족하지 못하면 학습자가 코드 몆줄 짜다가 재미없어서 gg쳐버리고,
2번을 만족하지 못하면 기능 추가보다 버그 추가를 많이 해서 일터에 없는게 나은 허접한 개발자만 ... 더 보기
제대로 된 교육 자료가 별로 없는게 가장 아쉽죠.
좋은 교육이 되려면 두 가지 조건을 만족해야 해요.
1. 학습자에게 공감과 동기부여를 이끄는 커뮤니케이션 능력이 뛰어난가?
2. 교육자가 "팩트"를 제대로 알고 있는가?
다른 분야는 2번이 상대적으로 덜 중요할지 모르겠지만 프로그래밍 교육에 있어서 두 가지 조건을 모두 만족시키는 것은 중요해요.
1번을 만족하지 못하면 학습자가 코드 몆줄 짜다가 재미없어서 gg쳐버리고,
2번을 만족하지 못하면 기능 추가보다 버그 추가를 많이 해서 일터에 없는게 나은 허접한 개발자만 양산하거든요.
한국어로 된 자료 중 잘하는 프로그래머가 뭘 제대로 알고 쓰는 소수의 자료는 1번이 안되어 주목을 못받고
제대로 된 소프트웨어 한번 만들어본적 없는 사람이 글빨 잘 풀어내는 자료가 더 많은데 그런 건 2번이 안 되죠.
한국의 개발자 풀에서 그런 교육 생태계가 자생할 수 있을 거라 생각하지 않아서 (그게 가능한 나라는 영어권, 중국어권밖에 없다고 봅니다)
영어권 웹에서 접할 수 있는 수많은 양질의 자료를 누군가가 계속 큐레이팅해서 가져오고 홍보해야 한다고 생각합니다
좋은 교육이 되려면 두 가지 조건을 만족해야 해요.
1. 학습자에게 공감과 동기부여를 이끄는 커뮤니케이션 능력이 뛰어난가?
2. 교육자가 "팩트"를 제대로 알고 있는가?
다른 분야는 2번이 상대적으로 덜 중요할지 모르겠지만 프로그래밍 교육에 있어서 두 가지 조건을 모두 만족시키는 것은 중요해요.
1번을 만족하지 못하면 학습자가 코드 몆줄 짜다가 재미없어서 gg쳐버리고,
2번을 만족하지 못하면 기능 추가보다 버그 추가를 많이 해서 일터에 없는게 나은 허접한 개발자만 양산하거든요.
한국어로 된 자료 중 잘하는 프로그래머가 뭘 제대로 알고 쓰는 소수의 자료는 1번이 안되어 주목을 못받고
제대로 된 소프트웨어 한번 만들어본적 없는 사람이 글빨 잘 풀어내는 자료가 더 많은데 그런 건 2번이 안 되죠.
한국의 개발자 풀에서 그런 교육 생태계가 자생할 수 있을 거라 생각하지 않아서 (그게 가능한 나라는 영어권, 중국어권밖에 없다고 봅니다)
영어권 웹에서 접할 수 있는 수많은 양질의 자료를 누군가가 계속 큐레이팅해서 가져오고 홍보해야 한다고 생각합니다
목록 |
|