>  기사  >  백엔드 개발  >  프로그래밍은 누구나 배워야 한다고 하는데, 어떤 언어를 배우면 좋을까요?

프로그래밍은 누구나 배워야 한다고 하는데, 어떤 언어를 배우면 좋을까요?

WBOY
WBOY원래의
2016-10-09 08:33:141268검색

저는 거의 30살이고, 현재 직업은 공공기관 회계사라서 일상생활에서 프로그래밍이 필요하지 않습니다.
하지만 저는 프로그래밍에 관심이 있었습니다. 고등학교를 졸업하고 몇 년 후에 웹사이트 만드는 법을 스스로 배웠습니다. 웹사이트를 만들어서 수입을 올리면 아마 수십만. 5년 정도 지나면서 점차 일을 그만두었습니다. 예전에는 주로 CMS와 SEO에 의존했고, PHP는 초급 수준의 기술이 아니었습니다.
요즘 사회가 너무 빨리 발전하고 있어서 아직은 일하면서 남는 시간을 활용해서 언어를 잘 배우고 싶어요. 혹시라도 나중에 도움이 될지도 모르겠습니다. 어떤 언어를 배워야 할지 모르겠습니다.

답글 내용:

공공기관 회계사...
과거(2000년쯤) 공공기관 회계사들이 뭘 배웠는지 아시나요?
Visual FoxPro
과거에는 관련 소프트웨어가 그리 많지 않았고 필요에 따라 자동 처리 스크립트를 작성해야 했던 경우가 많았습니다. 직관적이었고, 시기적절한 피드백도 제공되어 업무 효율을 크게 향상시킬 수 있었습니다(당시 xls를 쉽게 가져올 수 있었습니다).

다음은 개인적인 견해입니다.
잠재적인 작업 요구 사항: Excel의 VBA(반복 노동을 크게 줄이는 도구), Visual FoxPro(우선 순위가 낮음, 결국 너무 오래되었지만 어렵습니다) 이것으로 처리해야 할 오래된 데이터가 무엇인지 말해보세요)
자신의 관심과 취미를 위해: 무엇이든 가능합니다. Python을 배워 크롤러를 작성하고, Raspberry Pi를 가지고 스마트 컨트롤러를 만들고, 편의를 위해 휴대폰에 작은 프로그램을 직접 만들어 블로그를 만들어 녹음하는 등의 작업을 합니다. 관심이 있고 배우려는 의지가 있다는 것이 핵심입니다. 프로그래밍은 누구나 배워야 한다고 하는데, 어떤 언어를 배우면 좋을까요? 회계사님, Excel의 VBA를 원활하게 사용하면 일상 업무의 속도가 크게 빨라질 수 있다고 생각하는 이유는 무엇입니까?
코드 작성으로 얼마나 많은 작업을 수행할 수 있는지 확인하기 위해 작업을 3회 이상 반복하여 코드를 작성하세요. Python이나 golang을 배우세요. 웹사이트의 프런트엔드를 구축할 때 여전히 html, css, javascript라는 세 가지 기존 버전을 사용해야 합니다.
그리고 Python을 사용해야 합니다.

파이썬의 모듈은 성숙하고 " 빠른 결과".

거의 다 끝났습니다. 그래도 '하위 레이어'를 탐색하려면 C로 이동하세요. C++에 속지 마세요. 재미로 배우는 것은 좋지만 큰 함정입니다.

C의 '모듈'과 '기초'도 매우 성숙해졌지만... 일반적으로 C를 배우면 "결과가 빠르지 않을 것"입니다.C의 "기초"는 운영 체제 커널이기 때문입니다. C의 "API"는 기본적으로 시스템 호출입니다(즉, "Unix 환경의 고급 프로그래밍"). 이 시점에서는 C 컴파일러가 내뱉는 어셈블리가 무엇인지 이해할 수 있어야 합니다. 그런 다음 운영 체제 커널, 컴파일러, 바이너리 도구 등에 문의하여 이러한 "저수준"이 어떻게 작동하는지 파악합니다("프로그래머의 자기 계발", "컴퓨터 시스템에 대한 심층적 이해", "Linux 장치 참조). 드라이버") ", "Linux 커널 설계 및 구현", "Linux 커널에 대한 심층적 이해", "심층적인 Linux 커널 아키텍처"...). C의 이 함정은 실제로 매우 큽니다(C++가 그것을 없애도록 두지 마십시오. C의 철학은 - 씹을 수 있는 한 모든 것이 기본적으로 건조하다는 것입니다... C++, 이것이 아닐 수도 있습니다. 경우에 따라 시간을 낭비하는 대신 C++의 멋진 트릭을 낭비하는 대신 건조한 것을 먹는 것이 좋습니다.)... 커널 소스 코드를 읽으려면 Makefile, 쉘 스크립트, 링커 스크립트, asm을 이해해야 하기 때문입니다. , 물론 하드웨어 아키텍처 등도 조금 알고 계시지만 상관없습니다. 어차피 커널 작성에 관한 책에서 언급될 것이고, 그러면 관련 지식 포인트를 직접 확인할 수 있을 뿐입니다. 시간.

물론, 데이터 구조와 알고리즘의 기초는 최소한 이진 트리, 레드-블랙 트리, 검색을 위해 작성될 수 있습니다(복사도 마찬가지). 알고리즘으로는 기본 정렬 및 병합 정렬, 빠른 정렬, 순열 및 조합 생성, DFS BFS 및 기타 기본 검색이 필요합니다.

C는 빨리 효과가 없습니다. 일반적으로 말하면, 나는 한동안 웹 크롤러에 대한 글을 쓰지 않을 것입니다. 하지만… 아마도 그만한 가치가 있을 것입니다.

C의 재귀를 지웁니다. 함수 스택 프레임을 생성 및 삭제하는 방법, 이를 어셈블리 코드로 변환하는 방법, 재귀를 스택 구조 + 루프 불변으로 변환하는 방법. 그러면 어떤 루프라도 재귀로 표현할 수 있지만 스택 구조가 없는 루프로는 재귀를 표현할 수 없다는 결론을 추론할 수 있습니다. 즉, 재귀는 (스택 구조가 없는) 루프보다 더 강력한 계산 능력을 가지고 있습니다. 재귀 함수의 컴퓨팅 성능은 튜링 머신의 컴퓨팅 성능과 동일합니다. 그래서 우리는 전통적으로 컴퓨터 과학/예술 문으로 들어섰습니다.

한 번 시작하면 부담 없이 플레이할 수 있습니다.

먼저 통역사를 작성해서 가지고 놀 수 있습니다. 이를 위해서는 오토마타에 대한 기본적인 이론적 지식("오토마타 이론, 언어 및 계산 입문")을 준비한 다음 편집 도서("컴파일 원리")를 찾아 읽어야 합니다. 몇 가지 더 ("컴파일 원리") 원리 및 실습", "컴파일러 아키텍처")를 전체적으로 살펴보겠습니다. "집에서 만드는 프로그래밍 언어" 같은 통역사 작성 방법을 알려주는 다른 책을 찾아보세요. 그런 다음 복사하십시오. 복사한 후에는 컴파일 원리를 읽고 다시 복사해 보세요. 이런 것.
이는 컴퓨터 언어가 좋지 않거나 구현이 형편없더라도 실제로 충분히 복잡한 컴퓨터 언어를 작성할 수 있다는 의미입니다.

그럼 부담없이 놀아보세요.

예를 들어 Lisp 시스템에서는 먼저 Scheme으로 플레이하는 것이 좋습니다.
Prolog, Haskell, Ruby, io, Erlang... 시간이 나면 모두 플레이해 보세요.
어쨌든 현재 어떤 언어를 배우든 일반적으로 시간이 많이 걸리지 않습니다. 그냥 시작하고 싶다면 실제로는 어떤 언어도 배울 필요가 없습니다. 일시적으로 배우고 스타일을 모방하면 기본적으로 괜찮은 글을 쓸 수 있습니다. 즉, 이것이 실제 플레이이다.
어쨌든 언어는 직접 작성하셔도 됩니다. 이때는 '맛'을 기르는 것입니다.

그러면 이를 가지고 놀 수 있습니다. 예를 들어 저는 커널에 능숙하지 않지만 커널을 찾으면 컴파일에서 코드의 위치와 특정 코드 부분을 찾을 수 있습니다. 이론은 실제로 더 다양하게 작성될 수 있습니다. 또는 특정 데이터 구조와 알고리즘의 구현이 더 흥미롭습니다. 이를 작성하는 방법에 대해 생각하고 다른 사람이 작성한 방법과 비교해 보세요. 하다.

글쎄, 사실 아무리 재미있게 놀아도 그것만으로는 부족해요. 이 수준에서는 아주 낮다고는 할 수 없지만 그렇게 높지는 않을 것 같습니다. 아직 알려지지 않은 것이 너무 많습니다. 그러나 아마도 삶의 기쁨은 여기에 있을 것입니다. 파이썬을 추천합니다

취업을 하고 싶다면 php, java, python, javascript 등의 언어를 배우지 않는 것이 좋습니다. 전문 소프트웨어 엔지니어라면 이 언어를 배우는 것이 유일한 선택입니다. 이 언어를 사용하세요. 언어 회사가 많고 일자리도 쉽게 찾을 수 있습니다.


단, 질문의 대상은 회계사입니다. 프로그래밍을 배우는 것은 주로 업무에 대한 관심과 실질적인 도움에 의한 것이므로 창구 학습을 제안합니다. 시스템 하의 .net 기술 시스템, 그리고 .net 플랫폼 하에서 선호하는 언어 c#. .net 플랫폼과 c#을 배우는 이유


질문자는 프로그래밍을 배우는 이유 중 하나를 언급했습니다. 관심 때문에. 관심사이기 때문에 취업을 고려할 필요는 없습니다. 가장 멋지고 강력한 언어를 배우는 것이 당연합니다. C#이 최선의 선택입니다. 소프트웨어 개발 업계에는 정말 많은 프로그래밍 언어가 있습니다. 가장 멋진 구문, 가장 편리하고 가장 강력한 기능을 갖춘 언어를 찾고 싶다면 바로 C#입니다.


물론 현재 함수형 프로그래밍 언어 중 일부는 구문 측면에서 C#을 압도할 수 있지만, 이는 전문가가 아닌 사람들이 함수형 프로그래밍 언어를 배우기에는 정말 적합하지 않다고 생각합니다. 일반 프로그래밍 언어는 배우는 것보다 더 어렵기 때문에 간단한 것을 익히는 데 에너지를 사용하는 것이 좋습니다. 결국 프로그래머가 아닌 사람의 주된 일은 프로그래밍이 아닙니다. 그러나 함수형 프로그래밍에 관심이 있다면 .net 플랫폼의 f#도 좋은 선택입니다.


두 번째 포인트는 유용하다는 것입니다. 대상은 서른 살이고 수년 동안 회계 분야에서 일해 왔습니다. 직업을 바꾸어 프로그래머가 되는 것은 불가능하다고 생각합니다. 즉, IT 업계에서 가장 널리 사용되는 언어를 배울 필요가 없다는 의미입니다. 실무 학습을 선택하는 것입니다. 여전히 C#이 첫 번째 선택이라는 것은 의심의 여지가 없습니다. Microsoft 기술을 사용하여 소프트웨어를 개발할 때의 한 가지 특징은 서로 다른 플랫폼에서도 프로그래밍 개념이 동일하다는 것입니다. 즉, C#을 사용하여 웹 사이트를 개발하는 방법을 배우면 C#을 사용하여 Windows 클라이언트를 개발하는 방법으로 원활하게 전환할 수 있습니다. 터미널 애플리케이션, windows10 uwp 애플리케이션(windows 포함) Phone), Windows 쉘 스크립트, 그리고 더욱 놀라운 점은 C#을 사용하여 Android 및 iOS 애플리케이션을 개발할 수도 있다는 것입니다. 이는 단순히 Microsoft의 . net 및 C#에도 누가 할 수 있나요? .net과 C#만 배우면 앞으로 원하는 소프트웨어를 무엇이든 개발할 수 있고, 일을 잘하는 척도 할 수 있습니다.
또 다른 문제는 개발 환경입니다. 다른 언어로 프로그램을 개발한다면 실행 환경, IDE, 서버, 각종 구성 등을 잔뜩 설치해야 하는데, 전문 프로그래머라면 말할 것도 없습니다. 질문의 대상이 초보자는 아니지만 이런 일을 하려면 여전히 많은 에너지가 필요합니다. 그러나 .net 설치 환경은 놀라울 정도로 사용자 친화적입니다. 단 하나의 설치 패키지와 마우스 클릭만으로 필요한 모든 것이 준비됩니다. 게다가, 다른 언어를 배울 때, Linux 사용법을 배워야 하는 경우도 있는데, 이는 비전문 실무자에게는 추가적인 부담이 됩니다. .net 및 C# 사용법을 배우면 Windows 서버 사용에 대한 걱정이 없습니다. Windows PC와 동일합니다.


마지막으로 코드 작성에도 경험이 필요하고, 코드 타이핑도 활발해야 하므로 어떤 IDE를 사용하느냐가 매우 중요합니다. 시중의 IDE에 대해 논하자면 세계 1위는 Microsoft의 Visual Studio일 것입니다. VS를 코딩과 디버깅에 사용하는 것은 다른 IDE가 흉내낼 수 없을 정도로 재미있습니다.

그러니 망설이지 말고 서둘러 .net과 c#을 배워보세요

논쟁하러 온 게 아닙니다... 영어를 배우라고 제안합니다... 저는 지금 Python 코드를 작성하고 있습니다. 사실, 어떤 언어를 사용하는지는 여러분에게 더 중요합니다.
PHP를 알고 있다면 PHP를 계속 사용하는 것이 더 적합합니다. 최하위 수준이 마음에 들면 C와 어셈블리만 배우세요. 마이크로컨트롤러 개발 버전, 회로 설계 서적 몇 권, 일부 부품, 납땜 인두, 오실로스코프를 구입하면 몇 가지 장치를 만들 수 있습니다. (안전에 주의하세요)

Scheme, Haskell 등 고급 함수형 프로그래밍을 좀 더 배워보세요. 당신이 그것을 잘 배운 후에는 기능적 매니아의 고급 집단에 합류할 수 있습니다.

js와 py를 배우는 것이 더 실용적입니다. 웹사이트를 구축하려면 크롤러를 작성하는 것만으로도 충분합니다.

정말 모르겠으면 C++를 배우세요.
성명:
본 글의 내용은 네티즌들의 자발적인 기여로 작성되었으며, 저작권은 원저작자에게 있습니다. 본 사이트는 이에 상응하는 법적 책임을 지지 않습니다. 표절이나 침해가 의심되는 콘텐츠를 발견한 경우 admin@php.cn으로 문의하세요.