>  기사  >  백엔드 개발  >  WEB 엔지니어로서 장기적인 관점에서 어떤 언어가 심층 학습에 더 가치가 있습니까?

WEB 엔지니어로서 장기적인 관점에서 어떤 언어가 심층 학습에 더 가치가 있습니까?

WBOY
WBOY원래의
2016-12-01 00:01:161468검색

나만의 기술 스택을 구축하고 싶습니다. 현재 고려 중인 언어에는 PHP, javascript, python, c++, ruby ​​​​go
좋은 추천 사항이 있으면 알려주세요. 감사합니다.
장기적인 관점에서 분석해서 이유도 설명해주세요. 정말 감사합니다!

답글 내용:

1. 프로그래밍 언어는 도구일 뿐입니다. 먼저 능숙해질 수 있는 언어(Python, PHP, Java 등)를 선택하세요.
2. 웹 개발을 위해서는 JavaScript가 필수입니다. 1. JavaScript는 문제가 없으며 빠르게 마스터할 수 있습니다.
3. 프런트엔드 및 백엔드 경로를 포함한 웹 개발. 풀스택 엔지니어가 되고 싶지 않다면 말이죠.
4. 여기서 핵심은 순수 프로그래밍 언어의 문제가 아니라는 것입니다. 배포, 높은 동시성, 데이터베이스 마스터-슬레이브, 읽기 분리 등을 더 많이 공부해야 합니다. 그리고 글쓰기. Nosql, 캐싱, API 개발, 전체 텍스트 검색, 운영 및 유지 관리 등
먼저 능숙해질 수 있는 프로그래밍 언어를 선택하세요. Go에 주목하시면 됩니다. 현재는 심층 학습을 위해 Python을 선택하는 것이 더 나은 선택 중 하나입니다. 언어 전쟁에 휘말리지 마세요!

어떤 언어를 배워야 하는지 물으면 저는 항상 이렇게 대답합니다.

주변에 JAVA 아는 사람 있으면 그냥 JAVA 배우세요.
주변에 JAVA 아는 사람 있어요. JAVA를 알고 있다면 PHP를 배워야 합니다.
주변 사람들이 모른다면 물어보세요.

그 사람이 당신을 무시한다고요?
그를 저녁 식사에 초대하세요!

다음에 무엇을 배워야 할지 알려줄 것입니다.

기술이 아닌 사람을 따르세요.

주변에 프로그래밍을 할 수 있는 사람이 없다면 어떻게 해야 할까요?
나 안 만났어요?
저를 팔로우하고 프론트엔드를 배워보세요! 학업, 프로젝트, 취업을 찾고 계신다면 Java를 추천합니다! 1년 동안 Python을 사용해 본 결과, 다양한 메서드, 라이브러리, 프레임워크를 호출하는 데 익숙해지는 것 외에는 진전이 없다는 것을 느꼈습니다. 과감하게 Java로 전환하세요.

파이썬 메모리는 어떻게 재활용되나요?
참조 카운팅.
그럼 어쩌죠?
모르겠어요...

파이썬 매개변수는 값으로 전달되나요, 아니면 참조로 전달되나요?
뭐?

Python의 동시성에 대해 말씀해 주실 수 있나요?
아니요, GIL이 있다는 것만 알고 다른 건 모르겠어요...

Java는 메모리를 어떻게 재활용하나요?
먼저 자바는 메모리를 힙 영역과 가상머신 스택 영역으로 나눈다...
도달성 분석을 활용... 안전점... 직렬, parNew, 병렬 scavenge CMS... 메모리 보장.. .

동시성에 대해 이야기해 보겠습니다
오프셋 잠금, 경량 잠금, 중량 잠금... 휘발성 키워드의 의미...

오버로딩과 다시 작성에 대해 이야기할 수 있나요? 자바?
오버로딩의 최하위 계층은 정적 다중 디스패치를 ​​사용합니다. 메소드의 정적 매개변수 유형에 따라 어떤 버전의 메소드가 컴파일 타임에 결정되며, 오버라이딩은 동적이지만 단일 할당을 사용하며 이에 따라 해당 메소드가 선택됩니다. 받는 사람의 유형에 따라 ...

파이썬을 배우는 것이 좋지 않다는 말은 아닙니다. 좋은 언어와 나쁜 언어는 없으며 단지 적합하고 더 적합하기 때문입니다. 대신 c/c++, java, c# 등과 같은 정적인 유형의 언어에 대한 상대적으로 탄탄한 기초를 다진 다음 Python과 같은 스크립트 언어를 사용하면 절반의 노력으로 두 배의 결과를 얻을 수 있다고 생각합니다. 처음으로 스크립트 언어를 배우는 것은 매우 공허한 느낌입니다.

웹을 하기 때문에 자바를 추천합니다. Java를 배우면 많은 기업에서 사용하고 있다는 장점이 있고, 원하면 더 자세히 배울 수 있습니다. 스크립팅 언어는 최고의 전문가가 아니며 API 조정만 할 수 있습니다. 기본 메커니즘의 경우 단계별로 학습할 수 있는 관련 정보가 거의 없습니다. 소스 코드를 직접 보라고 말하지 마세요. 우리는 모두 평범한 사람들입니다. 대단한 신은 아닙니다.

위 내용은 지극히 저의 소견입니다. 영어. 웹 개발은 매우 복잡하고 힘든 작업이며 대부분의 경우 HTTP 프로토콜, 데이터베이스 링크 문자열, CSS, HTML, JavaScript 구문 및 개발 워크플로 지원, Angular, jQuery 프레임워크와 같은 다양한 규칙을 처리해야 합니다. ..

배우는 데만 2년이 걸렸는데, es6이 jQuery를 밀어내고, typescript가 Coffeescript를 밀어낸 것처럼, 다른 게 원본을 밀어냈습니다. nodeJS처럼 PHP, elixir, f#, Ruby, julia, Python도 같은 분야에서 싸우고 있습니다.

경험이 있는 사람으로서 제가 드리고 싶은 조언은

컴퓨터를 리눅스 시스템으로 바꾸고 C언어로 정적 파일 서버를 구현한 뒤 자바스크립트를 사용하는 것입니다. 제3자를 참조하지 않도록 노력하세요. 도서관의 경우 로그인하고 댓글을 동적으로 업데이트할 수 있는 작은 웹사이트를 만든 다음 클라우드 서버를 구입하여 실시간으로 배포하세요.

가장 독창적인 방법을 사용하고 어떤 프레임워크도 사용하지 않도록 노력하세요. 이 과정이 완료되면 최소한 뼈대가 생길 것입니다.

왜 Linux 시스템인가? 운영체제가 어떻게 작동하는지 더 간단하게 알려줍니다.

왜 C 언어인가요? C 언어는 일이 어떻게 이루어지는지 더 직접적으로 알려줍니다.

JavaScript, 방대한 오픈 소스 코드, nodeJS의 단순한 철학이 게임의 규칙과 플레이 방법을 더욱 진실되게 보여줄 수 있는 이유입니다. (먼저 강박장애 환자에 대한 대문자 사용과 배려에 주의해주세요...)
고려하고 있는 언어부터 살펴보겠습니다:

PHP : backend 이 선택적 경로는 학습 임계값이 낮고 빠른 개발에 적합합니다. 그러나 성능은 평범합니다(PHP7은 웹용으로 설계된 언어로서 아직까지는 없습니다). 최근 몇 년간 많은 움직임이 있었고 JS나 Python만큼 좋지는 않습니다. 다행스럽게도 시장 점유율이 높고 수요가 상대적으로 많습니다. 학습과 경쟁이 점차 증가하고 있습니다.(질문에 답할 때 PHP를 깊이 배우는 것을 권장하지 않습니다.)
JavaScript: 프런트엔드 및 백엔드 경로는 필수이며 현재 매우 인기가 있습니다. JavaScript를 잘 배우면 재정적 자유를 얻는 데 도움이 될 수 있지만... 단점은 지식 시스템이 점점 더 커지고, 더 많은 분기와 수많은 프레임워크가 있다는 것입니다. 잘 배우는 것은 거의 불가능합니다. JS도 백엔드에서 마스터해야 합니다. 그렇지 않으면 JS가 인기가 많은 오늘날의 세계에서는 백엔드에서 JS를 이해하지 못하면 프론트엔드와 통신하기가 어렵습니다. JS는 단순한 웹 스크립팅 언어에서 풀스택 웹 개발 언어로 변모했습니다. 요즘에는 JS 커뮤니티와 심지어 Facebook과 같은 실리콘 밸리 회사도 JS에 오픈 소스 기여를 하고자 합니다. 게다가 비동기를 위해 탄생한 Node.js, 심지어 네이티브 앱 개발 분야에 진출한 React까지 모든 오픈소스 기술은 일종의 웹의 블랙 기술이 될 것이라고 감히 묻는다. 해? (깊이 공부할 수 있는 학습정신이 있는 개발자에게 추천)
Python : 백엔드와 운영, 유지보수 선택과목이라고는 하지만 실제로는 수강하지 않고서는 기본적으로 불가능하다. 오늘날의 스타트업은 Python을 선호합니다. 어떤 면에서는 Python이 PHP와 매우 유사하지만 Python은 많은 일을 할 수 있습니다. 저는 Python을 Swiss Army Knife에 비유하고 싶습니다. PHP는 그 근처에도 없습니다. 효율성은 두 가지 측면에서 비롯됩니다. 성능 측면에서 언어 자체는 평균적인 성능을 가지고 있지만, 개발 측면에서는 효율성이 매우 높다는 점도 인기의 중요한 이유입니다. WEB의 경우 운영 및 유지 관리 방향도 있는데, Python이 특히 중요합니다. 물론 운영 및 유지 관리를 하고 싶지 않을 수도 있습니다. Python을 깊이 배우면 더 많은 괴짜가 되고 작업이 더 자동화됩니다. 우수한 Python 직업은 또한 많은 급여를 제공합니다(모든 엔지니어가 깊이 배우는 것이 권장되지만 반드시 이것에만 집중할 필요는 없습니다). (2016.11.15 추가: Python의 뛰어난 성능 솔루션은 PyPy 구현입니다. 공식 버전에 따라 조정이 필요하지만 Python과 그 성능에 관심이 있습니다. 기본 구현을 이해하고 싶다면, PyPy를 주의 깊게 공부하세요 )
C++: 저급 엔지니어의 필수 코스입니다. 웹 엔지니어가 C++를 깊이 있게 공부하고 싶다면 마조히즘적인 성향이 있을 수도 있습니다. 제가 EE 학사학위는 하드웨어에 관한 것이고, C++는 우리가 사용하는 분야입니다. 웹서버 등 로우레벨 개발을 추구한다면 C++를 심도있게 공부할 수 있고, 서버용 C++는 기본적으로 게임 분야입니다. 그리고 C++은 몇 년을 깊이 공부해도 아무것도 알 수 없습니다. 넓은 의미에서 웹 개발에 종사한다면 마음이 있다면 다른 것을 공부해야 합니다. 것들. (권장하지 않음)
Ruby: 개인 개발자를 위한 선택 과목 The Eagles의 "Hotel California"를 들어보셨나요? 이 노래는 너무 유명해서 이글스의 다른 훌륭한 노래들도 그 빛을 잃게 만들었습니다. Ruby라면 RoR 프레임워크임에 틀림없습니다. RoR은 너무 유명해서 Ruby에 대해 다른 기대를 갖기 어렵습니다. 그런데 Ruby에는 RoR 외에 또 무엇이 있을까요? 네, 그리고 그 루비 같은 문법도요. Ruby를 작성하는 것은 매우 즐겁고 원하는 것은 무엇이든 할 수 있습니다. 하지만 죄송합니다. 때로는 너무 많은 자유가 팀 개발에 필요한 것이 아닙니다. Ruby를 배울 수 있습니다. 개인 개발자를 위한 선택 과정이라고 정의합니다. 어쩌면 이 언어가 기업가 정신에 더 적합할 수도 있습니다... 물론 Ruby가 실리콘 밸리에서 매우 인기가 있다고 말씀하시겠지만, 이곳은 중국입니다. 또 다른 요점은 Ruby가 결국 섬나라에서 태어났다는 것입니다. 일본어를 잘 구사하지 못하더라도 여전히 그 지역 사회에 통합되고 싶습니까? (권장하지 않음)
Golang: 하위 수준 엔지니어를 위한 선택 언어입니다. 이는 여전히 웹의 하위 계층을 위한 언어입니다. 올바른 분류는 "시스템 프로그래밍"이라고 불리는 C/C++와 동일합니다. 언어". 이해가 되시나요? ? 결국 그는 새로운 시대에 태어나 뛰어난 병렬 프로그래밍 능력을 갖고 태어난 셈이다. 2016년 10월 TIOBE 순위에서 바둑은 강력한 추진력을 보여 바둑을 배우는 사람들은 대체적으로 구글의 랩을 받아들이고 싶어한다. 그것도 탄력을 받고 있으니 지켜봐야하고 아직 불안하지 마세요. (안내 없음) (2016.11.15 추가: 현재 Go의 성숙한 웹 프레임워크에는 고릴라와 국내 비고가 포함되어 있으므로 직접 검색하고 알아볼 수 있습니다.)

아, 이후 검색해 보니 네트워크 프로그래밍의 첫 번째 언어인 Java를 언급하지 않은 것으로 나타났습니다. 이것은 인생의 정점에 도달하는 중요한 방법 중 하나입니다. 언어를 배우지 마세요.
프레임워크, 도구, 그리고 가장 중요한 원칙을 알아보세요. 이것은 단지 취향의 문제일 뿐입니다.
js Python ruby ​​​​go의 상태는 증가하고 php는 감소하며 java는 변경되지 않습니다.
무엇이든 배울 수 있습니다. JS 단순성은 아름답다 배움에는 끝이 없다! 다양한 기술과 다양한 경로!
성명:
본 글의 내용은 네티즌들의 자발적인 기여로 작성되었으며, 저작권은 원저작자에게 있습니다. 본 사이트는 이에 상응하는 법적 책임을 지지 않습니다. 표절이나 침해가 의심되는 콘텐츠를 발견한 경우 admin@php.cn으로 문의하세요.