프로그래밍의 미래에 대한 11 가지 예측

시간보다 빠르게 날아가는 유일한 것은 기술의 진보입니다. 점심 식사 후 칩 설계 친구는 무어의 법칙이 휴가 중에도 매주 0.67 % 더 빠르게 칩셋을 만들어야한다는 솜씨 좋은 설명으로 빠르게 변명했습니다. 그렇지 않다면 2 년마다 칩의 속도가 두 배가되지 않을 것입니다.

이제 2017 년이 왔으므로 미래를위한 프로그래밍 기술을 구축하는 데 베팅 할 위치를 알 수 있도록 기술 변화를 미리 살펴볼 때입니다.

사물 인터넷의 증가하는 보안 문제에서 모든 곳의 기계 학습에 이르기까지 프로그래밍의 미래는 예측하기가 점점 더 어려워지고 있습니다.

클라우드는 무어의 법칙을 무너 뜨릴 것입니다

칩 회사가 벽에 부딪쳤다 고 주장하는 반대자들이 있습니다. 그들은 더 이상 80 년대와 90 년대의 반기 시대에했던 것처럼 2 년마다 칩 속도를 두 배로 늘리지 않습니다. 아마도-그러나 칩 사이의 경계가 그 어느 때보 다 덜 정의되어 있기 때문에 더 이상 중요하지 않습니다.

과거에는 책상에있는 상자의 CPU 속도가 중요했습니다. 내부의 실리콘 햄스터가 바퀴를 돌릴 수있는 속도만큼만 빠르게 이동할 수 있었기 때문입니다. 몇 년마다 더 크고 빠른 햄스터를 사면 생산성도 두 배가됩니다.

그러나 이제 책상 위의 CPU는 화면에 정보를 거의 표시하지 않습니다. 대부분의 작업은 얼마나 많은 햄스터가 작업 중인지 명확하지 않은 클라우드에서 수행됩니다. 구글을 검색 할 때, 그들의 거대한 클라우드는 10, 20, 심지어 1,000 마리의 햄스터를 당신에게 맞는 답을 찾는 데 바칠 수 있습니다.

프로그래머의 과제는 각 사용자의 문제에 충분한 컴퓨팅 성능을 탄력적으로 배포하여 솔루션이 충분히 빠르게 제공되고 사용자가 지루해 지거나 경쟁 사이트로 방황하지 않도록하는 영리한 방법을 찾는 것입니다. 사용 가능한 많은 전력이 있습니다. 클라우드 회사는 수많은 사용자를 처리 할 수 ​​있도록하지만 병렬로 쉽게 작동하는 알고리즘을 찾은 다음 서버가 동시에 작동하도록 배치해야합니다.

IoT 보안은 더 무서워 질 것입니다

지난 가을에 전개 된 미라이 봇넷은 차세대 사물 인터넷을 만들고있는 프로그래머들에게 일깨워주는 일이었습니다. 이 영리한 작은 장치는 다른 컴퓨터와 마찬가지로 감염 될 수 있으며 인터넷 연결을 사용하여 혼란을 일으키고 전쟁의 개를 몰아 낼 수 있습니다. 그리고 모두가 알고 있듯이 개는 인터넷에서 누구 인 것처럼 가장 할 수 있습니다.

문제는 현재의 가제트 공급망에 소프트웨어 수정 메커니즘이 없다는 것입니다. 가제트의 수명주기는 일반적으로 제조 공장에서 창고까지, 그리고 마지막으로 사용자까지의 긴 여행으로 시작됩니다. 조립과 최초 사용 사이에 최대 10 개월 동안 펼쳐지는 것은 일반적이지 않습니다. 가제트는 그 길고 긴 몇 달 동안 전 세계 반쯤 배송됩니다. 그들은 선적 컨테이너에서 기다리는 상자에 앉아 있습니다. 그런 다음 대형 상자 상점이나 창고의 팔레트 위에 앉습니다. 포장을 풀 때 쯤이면 어떤 일이 벌어 질 수도 있습니다.

문제는 모든 것을 추적하는 것입니다. 시계가 바뀔 때마다 연기 감지기의 배터리를 업데이트하기는 어렵습니다. 그러나 이제 우리는 토스터 오븐, 의류 건조기 및 집에있는 거의 모든 것에 대해 궁금해 할 것입니다. 소프트웨어가 최신입니까? 모든 보안 패치가 적용 되었습니까? 장치의 수는 홈 네트워크 모니터링에 대해 지능적인 작업을 수행하기 어렵게 만듭니다. 내 무선 라우터에 연결된 IP 주소가있는 장치가 30 개가 넘고 그중 24 개의 ID 만 알고 있습니다. 스마트 방화벽을 유지하고 싶다면 올바른 스마트 기기를위한 올바른 포트를 열어야합니다.

이러한 장치에 임의의 코드를 실행할 수있는 기회를주는 것은 축복이자 저주입니다. 프로그래머가 영리한 작업을 수행하고 사용자가 최대한의 유연성을 가질 수 있도록하려면 플랫폼이 열려 있어야합니다. 이것이 제작자 혁명과 오픈 소스 창의성이 번성하는 방법입니다. 그러나 이것은 또한 바이러스 제작자에게 이전보다 더 많은 기회를 제공합니다. 그들이해야 할 일은 특정 드라이버를 업데이트하지 않은 하나의 위젯 브랜드를 찾는 것뿐입니다.

비디오는 새로운 방식으로 웹을 지배 할 것입니다

HTML 표준위원회가 비디오 태그를 HTML 자체에 삽입하기 시작했을 때 그들은 아마도 엔터테인먼트를 다시 만들 계획이 없었을 것입니다. 그들은 아마도 플러그인의 결함을 해결하고 싶었을 것입니다. 그러나 기본 비디오 태그는 JavaScript 명령에 응답하므로 기본적으로 프로그래밍이 가능합니다.

그것은 큰 변화입니다. 과거에는 대부분의 비디오가 매우 수동적으로 소비되었습니다. 소파에 앉아 재생 버튼을 누르고 동영상 편집자가보아야한다고 결정한 내용을 확인합니다. 고양이 비디오를 보는 모든 사람들은 고양이 비디오 제작자가 결정한 동일한 순서로 고양이를 봅니다. 물론 몇 가지 빨리 감기지만 스위스 열차만큼 규칙적인 동영상으로 결론을 내립니다.

JavaScript의 비디오 제어는 제한적이지만 가장 멋진 웹 디자이너는 원활한 캔버스에서 비디오를 나머지 웹 페이지와 통합하는 영리한 방법을 찾고 있습니다. 이를 통해 사용자는 내러티브가 펼쳐지고 비디오와 상호 작용하는 방식을 제어 할 수 있습니다. 작가, 아티스트, 편집자가 상상할 수있는 것이 무엇인지 아무도 확신 할 수 없지만이를 실현하려면 프로그래밍 재능이 필요합니다.

가장 멋진 웹 사이트 중 상당수는 이미 영리한 위치에서 동영상을 제대로 실행하고 있습니다. 곧 그들은 모두 움직이는 것을 원할 것입니다. IMGJPEG 파일에 태그를 붙이는 것만으로는 충분하지 않습니다 . 비디오를 가져 와서 브라우저 세계를 분열시킨 표준 문제를 처리해야합니다.

콘솔은 계속해서 PC를 대체 할 것입니다.

게임 콘솔에 화를 내기가 어렵습니다. 게임은 훌륭하고 그래픽은 놀랍습니다. 그들은 우리가 거실에서 휴식을 취하고 악당을 쏘거나 축구를 던지는 꿈을 꿀 수 있도록 훌륭한 비디오 카드와 비교적 안정적인 소프트웨어 플랫폼을 구축했습니다.

거실 콘솔은 시작에 불과합니다. 나머지 집의 항목 제작자는 같은 길을 따르고 있습니다. 오픈 소스 생태계를 선택할 수도 있었지만 제조업체는 자체적으로 폐쇄 형 플랫폼을 구축하고 있습니다.

이것은 시장을 파편화하고 프로그래머가 모든 것을 똑바로 유지하기 어렵게 만듭니다. 한 전등 스위치에서 실행되는 것은 다른 전등 스위치에서 실행되지 않습니다. 헤어 드라이어는 토스터와 동일한 프로토콜을 말할 수 있지만 아마도 그렇지 않을 것입니다. 프로그래머가 작업 속도를 높이고 작업을 재사용 할 기회를 줄이는 것은 더 많은 작업입니다.

데이터는 왕으로 남을 것입니다

2016 년 미국 대선 이후, 말투 전문가들은 데이터를 매기는 전문가들을 놀림으로써 그들의 모든 통계 분석이 어리 석음에 대한 연습이었다고 제안했습니다. 예측은 극적으로 틀렸고 빅 데이터 사람들은 나빴습니다.

그들은 어떻게이 결론에 도달 했습니까? 한 숫자 세트 (예측)를 다른 숫자 세트 (선거 결과)와 비교합니다. 그들은 여전히 ​​데이터가 필요했습니다.

데이터는 우리가 인터넷에서 보는 방식입니다. 빛은 우리에게 실제 세계에 대한 정보를 제공하지만 숫자는 온라인의 모든 것에 대해 알려줍니다. 어떤 사람들은 불완전한 숫자를 바탕으로 잘못된 예측을 할 수도 있지만 그렇다고해서 숫자를 수집하고 해석하는 것을 중단해야한다는 의미는 아닙니다.

데이터 수집, 대조, 큐레이팅 및 파싱은 계속해서 기업에서 가장 중요한 작업 중 하나가 될 것입니다. 의사 결정자는 숫자가 필요하며 프로그래머는 이해하기 쉬운 방식으로 데이터를 제공해야합니다. 그렇다고 답이 완벽하다는 의미는 아닙니다. 맥락과 직관은 계속해서 역할을 할 것이지만 데이터를 엉망으로 만드는 필요성은 단순히 도널드 트럼프가 당선되지 않을 것이라고 예측 한 소수의 사람들 때문에 사라지지 않을 것입니다. 이는 프로그래머에게 더 많은 작업을 의미합니다. 더 크고 더 빠르고 더 데이터 집약적 인 소프트웨어를 구축해야 할 필요성이 끝이 보이지 않기 때문입니다.

기계 학습이 새로운 표준 기능이 될 것입니다.

대학에 다니는 아이들이 "데이터 구조"라는 과정을 수강하면 조부모가 코드를 작성하고 "데이터베이스"라는 레이어의 존재에 의존 할 수 없었을 때의 삶이 어땠는지 알게됩니다. 실제 프로그래머는 Oracle, MySQL 또는 MongoDB의 도움없이 데이터로 가득 찬 테이블을 저장, 정렬 및 조인해야했습니다.

기계 학습 알고리즘은 이러한 도약에서 몇 년 밖에 걸리지 않습니다. 현재 프로그래머와 데이터 과학자는 복잡한 분석을 수행하기 위해 자체 코드를 많이 작성해야합니다. 머지 않아 R과 같은 언어와 가장 영리한 비즈니스 인텔리전스 도구 중 일부는 특별하지 않고 대부분의 소프트웨어 스택에서 일반적인 기능이 될 것입니다. 그들은 파워 포인트 세일즈 데크의 4 ~ 5 개의 특수 슬라이드에서 당연하게 여겨지는 건축 도면의 작은 직사각형으로 바뀔 것입니다.

하룻밤 사이에 일어나지 않을 것이며 정확히 어떤 형태가 될지 명확하지 않지만 점점 더 많은 비즈니스 계획이 최고의 솔루션을 찾는 기계 학습 알고리즘에 의존한다는 것은 분명합니다.

PC가 계속 퇴색함에 따라 UI 디자인은 더욱 복잡해질 것입니다.

매일 PC를 사용하는 이유가 하나 적어 보입니다. 스마트 폰, 거실 콘솔, 태블릿의 등장 사이에서 여전히 PC에 집착하는 것처럼 보이는 사람들은 과제를 제출해야하는 직장인과 학생뿐입니다.

이것은 프로그래머에게 도전이 될 수 있습니다. 예전에는 소프트웨어 나 웹 사이트 사용자가 키보드와 마우스를 가지고 있다고 생각하기 쉬웠습니다. 이제 많은 사용자가 둘 다 가지고 있지 않습니다. 스마트 폰 사용자는 26 개의 글자를 모두 넣을 수있는 공간이 거의없는 유리 화면에 손가락을 대고 있습니다. 콘솔 사용자는 리모컨에서 화살표 키를 누르고 있습니다.

터치 이벤트가 클릭 이벤트와 약간 다르기 때문에 웹 사이트 디자인이 까다로워지고 있습니다. 사용자는 정밀도가 다르며 화면 크기가 크게 다릅니다. 모든 것을 똑바로 유지하는 것은 쉽지 않으며 앞으로 몇 년 동안 더 나빠질 것입니다.

개방성의 끝

PC의 추월은 특정 폼 팩터의 느린 죽음 만이 아닙니다. 특히 개방적이고 환영하는 시장이 죽어 가고 있습니다. PC의 죽음은 가능성의 종결이 될 것입니다.

PC가 처음 출시되었을 때 프로그래머는 코드를 컴파일하고 디스크에 복사 한 다음 해당 디스크를 지퍼백에 넣으면 전 세계에서 구입할 수있었습니다. 중개인도 문지기도 없었고 우리에게“어머니, 내가해도 될까요?”라고 말하도록 요구하는 엄격한 중앙 부대도 없었습니다.

콘솔은 단단히 잠겨 있습니다. 자본 투자 없이는 아무도 그 시장에 뛰어 들지 않습니다. 앱 스토어는 좀 더 개방적이지만 여전히 우리가 할 수있는 일을 제한하는 벽으로 둘러싸인 정원입니다. 물론, 그들은 올바른 농구를 뛰어 넘는 프로그래머들에게 여전히 열려 있지만, 잘못된 행동을하는 사람은 누구든지 던져 질 수 있습니다. (어쨌든 그들은 맬웨어가 빠져 나가는 동안 항상 우리의 앱을 지연시키고 있습니다.

이러한 구분은 오픈 소스에서 중요합니다. 플로피 디스크를 헐렁하게 파는 것만이 아닙니다. 코드를 컴파일하고 실행할 수있는 능력을 잃어 버리기 때문에 코드를 공유하는 능력을 잃고 있습니다. PC의 끝은 개방성의 끝에서 큰 부분을 차지합니다. 현재로서는이 글을 읽는 대부분의 사람들이 코드를 컴파일하고 실행할 수있는 괜찮은 데스크톱을 가지고있을 것입니다. 그러나 그것은 천천히 변화하고 있습니다.

코드를 작성하고 공유 할 기회가있는 사람은 거의 없습니다. 차세대 프로그래밍 교육의 필요성에 대한 모든 논의에서 배포 할 오픈 코드를위한 실용적인 벡터는 더 적습니다.

자율 교통이 여기에 있습니다.

자동차 만이 아닙니다. 일부는 도로의 필요성에 방해받지 않는 자율 비행기를 만들고 싶어합니다. 다른 사람들은 매우 가벼운 여행을 위해 자율 주행 스케이트 보드를 만들고 싶어합니다. 이동하면 일부 해커는 어디로 가야할지 알려주고 싶어합니다.

프로그래머는 사람들이 화면에서 보는 것을 제어하지 않습니다. 그들은 사람들이 어디로 가고 세상과 상호 작용하는 방법을 제어합니다. 그리고 사람들은 게임의 일부일뿐입니다. 우리의 모든 것 역시 자율적으로 움직일 것입니다.

시내에서 유명한 요리사의 저녁 식사를 원한다면 난방 실이있는 자율 스케이트 보드가 집으로 가져갈 수 있습니다. 잔디를 깎고 싶다면 자율 잔디 깎이가 이웃 아이를 대신 할 것입니다.

그리고 프로그래머는 첫 번째 인터넷 혁명 동안 가지고 있던 멋진 아이디어를 모두 사용할 수 있습니다. 팝업 광고가 인터넷에서 나쁘다고 생각했다면 프로그래머가 새로운 레스토랑의 주방 통풍구를지나 자율 롤러 스케이트를 돌려 보내도록 돈을받을 때까지 기다리십시오. 아직 배고파?

법은 새로운 한계를 찾을 것입니다

우리 논문이 합리적이라는 것이 무엇을 의미하는지에 대한 논쟁이 시작되었을 때 권리 장전의 잉크는 거의 마르지 않았습니다. 200 년이 지난 지금, 우리는 여전히 세부 사항을 논쟁하고 있습니다.

기술의 변화는 법에 대한 새로운 길을 열어줍니다. 몇 년 전 대법원은 차량 추적 기술에 영장이 필요하다고 결정했습니다. 그러나 그것은 경찰이 추적기를 차에 심을 때만입니다. 누군가가 Waze, Google Maps 또는 우리 위치를 캐시하는 수백 개의 다른 앱에서 추적 데이터를 소환 할 때 어떤 규칙이 적용되는지 아무도 모릅니다.

기계 작동 방식에 영향을주는 것은 어떻습니까? 데이터를 다운로드하는 것도 한 가지이지만 데이터를 변경하는 것도 무섭게 유혹적입니다. 경찰 (또는 개인 행위자)이 문서, 헤더 또는 비트를 위조하는 것이 공정합니까? 표적이 진정한 테러리스트이거나 단순히 계량기를 공급하지 않고 주차 금지 구역에 너무 오래 주차 한 사람들인지는 중요합니까?