프레임 워크가 새로운 프로그래밍 언어 인 7 가지 이유

1980 년대에 괴짜 싸움을 시작하는 가장 쉬운 방법은 좋아하는 프로그래밍 언어가 최고라고 선포하는 것이 었습니다. C, Pascal, Lisp, Fortran? 프로그래머는 if-then-else 절을 ​​만드는 특별한 방법이 당신의 방식보다 우월한 이유를 정확히 설명하는 데 몇 시간을 보냈습니다.

그때였습니다. 오늘날 세계가 몇 가지 간단한 표준에 수렴했기 때문에 구문과 구조와 관련된 전투는 대부분 끝났습니다. 세미콜론, 중괄호 및 C, Java 및 JavaScript의 차이점은 사소합니다. 타이핑과 클로저에 대한 흥미로운 논쟁은 여전히 ​​존재하지만 대부분은 자동화가 격차를 좁히기 때문에 논쟁의 여지가 있습니다. 데이터 유형을 지정하는 것을 좋아하지 않는 경우 컴퓨터가 사용자가 의미하는 바를 정확하게 추론 할 수있는 좋은 기회가 있습니다. 상사가 자바 스크립트를 원하지만 자바를 좋아한다면 크로스 컴파일러는 정적으로 입력 된 모든 자바를 브라우저에서 실행할 준비가 된 축소 된 자바 스크립트로 변환합니다. 기술이 뒷받침 할 때 싸우는 이유는 무엇입니까?

오늘날 흥미로운 행동은 프레임 워크에 있습니다. 새로운 과정을 계획하기 위해 Johns Hopkins University의 다른 교수진과 함께 앉았을 때 프레임 워크가 대화를 지배했습니다. Angular가 Ember보다 낫습니까? Node.js가 전부입니까?

우리는 인터넷의 기초가되는 가장 중요한 소프트웨어 패키지의 아키텍처를 탐색하는 설문 조사 과정을 설계했습니다. 이것이 오늘날의 인터넷을 둘러싸고있는 가장 중요한 소프트웨어 패키지의 아키텍처를 탐색하는 설문 조사 과정에 적합한 활동의 ​​중심이었습니다.

이러한 의미에서 프레임 워크는 새로운 프로그래밍 언어입니다. 현대 코딩의 최신 아이디어, 철학 및 실용성을 찾을 수있는 곳입니다. 일부는 불타 오르지 만 많은 사람들이 프로그래밍의 새로운 기본 구성 요소가되고 있습니다. 다음은 프레임 워크 트렌드를 촉진하는 7 가지 측면이며 프레임 워크를 괴상한 싸움을위한 새로운 인기 온상으로 만듭니다.

대부분의 코딩은 API를 함께 묶습니다.

소프트웨어를 작성하려면 프로그래밍 언어에 대한 모든 지식을 배포하여 코드를 최대한 활용해야 할 때가있었습니다. 포인터, 함수 및 범위의 복잡성을 마스터하는 것이 합리적이었습니다. 코드의 품질은 올바른 작업을 수행하는 데 달려 있습니다. 오늘날 자동화는이 대부분을 처리합니다. 코드에 쓸모없는 문장을 남겨도 걱정하지 마십시오. 컴파일러는 죽은 코드를 제거합니다. 포인터를 매달린 채로두면 가비지 수집기가이를 알아낼 것입니다.

게다가 지금 코딩의 관행이 다릅니다. 대부분의 코드는 이제 긴 API 호출 줄입니다. API 호출 사이에 가끔 데이터 형식이 재 지정되지만 이러한 작업도 일반적으로 다른 API에서 처리됩니다. 운이 좋은 소수의 사람들은 우리 기계의 내장을 위해 영리하고 비트가 뛰는 포인터 저글링 코드를 작성할 수 있지만 우리 대부분은 더 높은 계층으로 작업합니다. API간에 파이프를 실행하기 만하면됩니다.

이 때문에 API가 어떻게 작동하고 무엇을 할 수 있는지 이해하는 것이 더 중요합니다. 어떤 데이터 구조가 허용됩니까? 데이터 세트가 커지면 알고리즘이 어떻게 작동합니까? 이와 같은 질문은 구문이나 언어에 관한 질문보다 오늘날 프로그래밍의 중심이됩니다. 실제로 한 언어에서 다른 언어로 루틴을 간단하게 호출 할 수있는 도구가 많이 있습니다. 예를 들어 C 라이브러리를 Java 코드에 연결하는 것은 비교적 간단합니다. API를 이해하는 것이 중요합니다.

거인의 어깨는 서있을 가치가 있습니다

당신이 얼랭이나 다른 새로운 언어의 제자가되었다고 상상 해보세요. 안정적이고 버그가없는 앱을 작성하기위한 최고의 플랫폼을 제공한다고 결정합니다. 이것은 좋은 감정이지만 Java 또는 PHP에서 사용할 수있는 모든 코드를 선택한 최신 언어로 다시 작성하려면 몇 년이 걸릴 수 있습니다. 물론, 당신의 코드는 훨씬 더 나아질 수 있지만 그럴만 한 가치가 있습니까?

프레임 워크는 우리 앞에 온 사람들의 노력을 활용할 수있게 해줍니다. 우리는 그들이 선택한 아키텍처가 마음에 들지 않을 수 있고 구현 세부 사항에 대해 논쟁 할 수도 있지만 불만을 억제하고 차이점을 감당할 방법을 찾는 것이 더 효율적입니다. 프레임 워크를 통해 코드베이스의 모든 장점과 단점을 상속하는 것이 훨씬 쉽습니다. 더 인기있는 프레임 워크 중 하나가 아닌 좋아하는 새 언어로 모든 것을 직접 작성하여 마초 경로를 선택하면 단순히 프레임 워크 제작자와 해당 API에 맡기는 것만 큼 빠르게 새로운 선택의 크림을 즐길 수 없습니다.

구문이 아니라 아키텍처를 아는 것이 중요합니다.

대부분의 코딩이 API 호출을 함께 묶는 경우 언어의 특이성을 학습하는 데 큰 이점이 없습니다. 물론 Java가 객체의 정적 필드를 초기화하는 방법에 대한 전문가가 될 수 있지만 Lucene 또는 JavaDB 또는 기타 코드 더미의 기능을 활용하는 방법을 알아내는 것이 훨씬 낫습니다. Objective-C 컴파일러의 최적화 루틴을 익히는 데 몇 달을 할애 할 수 있지만 최신 Apple 코어 라이브러리의 내용을 익히면 코드가 비명을지를 것입니다. 프레임 워크가있는 언어의 구문보다 프레임 워크의 까다로운 세부 사항을 훨씬 더 많이 배울 것입니다.

우리 코드의 대부분은 라이브러리의 내부 루프에서 대부분의 시간을 보냅니다. 언어에 대한 세부 사항을 정확하게 파악하면 도움이 될 수 있지만 라이브러리에서 진행되는 작업을 아는 것은 상당한 성과를 거둘 수 있습니다.

알고리즘이 지배

프로그래밍 언어를 배우면 변수에 숨겨져있는 데이터를 다루는 데 도움이 될 수 있지만 여기까지만하면됩니다. 진짜 장애물은 알고리즘을 올바르게 만드는 것이며 일반적으로 프레임 워크에 의해 정의되고 구현됩니다.

많은 프로그래머는 표준 알고리즘 및 데이터 구조를 다시 구현하는 데 시간을 소비하는 것이 위험하고 낭비 적이라는 것을 이해합니다. 물론 필요에 따라 조금 조정할 수는 있지만 미묘한 실수를 할 위험이 있습니다. 프레임 워크는 수년에 걸쳐 광범위하게 테스트되었습니다. 이는 소프트웨어 인프라에 대한 우리의 공동 투자를 나타냅니다. "그리드에서 벗어나"다른 사람의 노력을 버리고 자신의 두 손으로 알고리즘 캐빈을 구축하는 것이 합리적 일 때의 예는 많지 않습니다.

올바른 접근 방식은 프레임 워크를 연구하고이를 최대한 활용하는 방법을 배우는 것입니다. 잘못된 데이터 구조를 선택하면 선형 작업을 입력 크기의 2 차 함수 인 시간이 걸리는 작업으로 바꿀 수 있습니다. 일단 바이러스가 퍼지면 그것은 큰 번거 로움입니다.