오랫동안 프로그래머들은 지식의 범위를 두고 겉으로는 타당한 주장을 해왔는데,
프로그래밍 언어 하나만 능숙하면 됩니다
사실 이 문장은 극단적으로 치닫지만 않는다면 괜찮습니다. 그러나 실생활에서 많은 사람들이 이 문장을 잘못 해석하고 일방적으로 이해하고 있습니다. 간단하게 말씀드리자면, 누워 계시다면 조용히 묵상해 보시기 바랍니다.
요즘 시대에 소위 '과목의 숙달'은 생각만큼 간단하지 않습니다. PHP를 예로 들어보겠습니다.
PHP를 어느 정도 능숙하게 다룰 수 있나요? 단지 문법이 너무 익숙해서 그런 걸까요? 모든 PHP 기능을 외우고 계십니까?
PHP 초보자가 많습니다.
1. js를 배우지 마세요. 별 차이 없을 거에요. ECMAScript는 새로운 언어인 줄 알았는데, CommonJS, babel, webpack 등은 들어본 적도 없어요.)
2. 데이터베이스를 모르겠어요 (추가, 삭제만 합니다.) , 수정, 확인해도 상관없음)
3. 리눅스를 배우지 않음(컴퓨터를 켜고 끌 수 있는지 여부에 차이 없음),
4. 디자인 패턴
5. 다른 보조 백엔드 언어를 배우지 않음 (PHP가 만능이라고 생각함)
6. http 프로토콜을 전혀 이해하지 못함(PHP는 웹 페이지만 할 수 있다고 생각함) )
7. redis나 memcached를 전혀 모른다(모든 것이 PHP 호출 mysql로 직접 수행됨)
8. 배포되지 않음(웹사이트가 한 컴퓨터에서 실행될 수 있다고 생각)
추천 강좌: PHP 고급 로드맵: PHP 초보자부터 고수까지 꼭 봐야 할 고급 루트 강좌
불행하게도 총에 맞을 경우 . 그렇다면 당신이 PHP에 능숙하다고 생각하는지 물어보겠습니다. 그렇다면 문제는 마스터리(mastery)가 어디에 있는가 하는 것입니다. PHP로 무엇을 할 수 있나요? 위의 내용 중 하나도 모르고 관련 지식을 배우는 데 매우 저항하는 경우(저항하지 않아도 상관 없음) PHP 구문에 능숙하면 된다고 생각합니다. 당신은 나가야합니다.
내 관점은 소위 한 과목의 숙달이다. 특정 언어나 문법에 능숙하다는 의미가 아니라 특정 분야의 개발 루틴에 능숙하다는 의미입니다. 이 루틴을 마스터하기 위해서는 이 루틴을 구현하는 데 사용되는 언어에 익숙해지는 것 외에도 마스터해야 할 것이 너무 많습니다. 어떤 학생들은 그러면 나는 PHP를 배우지 않고 Java로 전환할 것이라고 말할 수도 있습니다.
그럼 스스로 생각해 보세요. 좋은 웹사이트를 만들려면 Java를 사용하지 않더라도 데이터베이스, JS, Linux, 디자인 패턴, xxxxxx(여기서는 10,000 단어 생략)를 배워야 합니다. .
그렇다면 소위 '한 과목에 능숙하다'는 말은 어디서 나오는 걸까요?
늙은 몸으로 말씀드리겠습니다(웹사이트 분야를 예로 들면, 한 점만으로 모든 것을 다루지 마세요):
아주 오래전 그 당시에는 인터넷이 발달하지 않았고, 휴대폰은 아직 노키아 3310s 수준이었고, 기업 데이터의 양도 매우 적었고, 각종 기술도 미성숙한 상태였습니다. 당시 우리는 중소기업을 위한 웹사이트를 개발하고 있었습니다. 실제로 특정 언어의 구문을 이해하고 액세스나 mysql 또는 sqlserver를 추가, 삭제, 수정 및 쿼리하기만 하면 됩니다.
그런데 나이는 묻지 마세요.