プログラミングの未来のための11の予測

時間より速く飛ぶ唯一のものは技術の進歩です。昼食後、チップ設計の友人は、ムーアの法則により、休暇中であっても毎週チップセットを0.67%速くする必要があるという巧妙な説明ですぐに言い訳をしました。もし彼がそうしなかったら、チップは2年ごとに速度が2倍になることはなかったでしょう。

2017年が到来した今、将来のプログラミングスキルの構築にどこに賭けるかを知るためだけに、技術の変化を先取りする時が来ました。

モノのインターネットのセキュリティ上の問題の増大から、あらゆる場所での機械学習に至るまで、プログラミングの将来を予測することはますます困難になっています。

クラウドはムーアの法則を打ち負かします

チップ会社が壁にぶつかったと主張する否定論者がいます。80年代と90年代のハルシオン時代のように、2年ごとにチップ速度が2倍になることはなくなりました。おそらく-しかし、チップ間の境界がこれまで以上に定義されていないので、それはもはや問題ではありません。

以前は、机の上のボックスにあるCPUの速度が重要でした。なぜなら、内部のシリコンハムスターがホイールを回転させるのと同じくらい速くしか行けなかったからです。数年ごとに大きくて速いハムスターを購入すると、生産性も2倍になります。

しかし、今では机のCPUが画面に情報をほとんど表示しません。ほとんどの作業はクラウドで行われ、何人のハムスターがあなたの仕事に取り組んでいるかは明らかではありません。あなたがグーグルを検索するとき、彼らの巨大な雲はあなたのための正しい答えを見つけるために10、20、さらには1,000匹のハムスターを捧げることができます。

プログラマーにとっての課題は、各ユーザーの問題に十分な計算能力を弾力的に展開して、ソリューションが十分に速くなり、ユーザーが飽きて競合他社のサイトに迷い込まないようにする賢い方法を見つけることです。利用できる電力は十分にあります。クラウド企業はユーザーの混乱に対処できるようにしますが、並行して簡単に機能するアルゴリズムを見つけて、サーバーが同期して機能するように調整する必要があります。

IoTセキュリティはさらに恐ろしいものになるでしょう

この過去の秋に展開されたMiraiボットネットは、次世代のモノのインターネットを作成しているプログラマーへの目覚めの呼びかけでした。これらの巧妙な小さなデバイスは、他のコンピューターと同じように感染する可能性があり、インターネット接続を使用して大混乱を引き起こし、戦争の犬を解散させることができます。そして、誰もが知っているように、犬はインターネット上の誰にでもなりすますことができます。

問題は、ガジェットの現在のサプライチェーンにソフトウェアを修正するメカニズムがないことです。ガジェットのライフサイクルは通常、製造工場から倉庫、そして最後にユーザーまでの長い旅から始まります。組み立てから最初の使用までに最大10か月間展開することは通常ありません。ガジェットは、これらの長く長引く月の間に世界中の半分に出荷されます。彼らは輸送用コンテナで待っている箱の中に座っています。それから彼らは大きな箱の店または倉庫のパレットに座ります。それらが開梱されるまでに、何かが彼らに起こった可能性があります。

課題は、すべてを追跡することです。時計が変わるたびに煙探知器の電池を更新するのは難しいです。しかし今、私たちはオーブントースター、衣類乾燥機、そして家の中のほとんどすべてについて疑問に思う必要があります。ソフトウェアは最新ですか?すべてのセキュリティパッチが適用されていますか?デバイスの数が多いため、ホームネットワークの監視についてインテリジェントなことを行うのが難しくなっています。私のワイヤレスルーターに接続されているIPアドレスを持つデバイスは30以上ありますが、そのうちの24だけのIDを知っています。スマートファイアウォールを維持したいのであれば、適切なスマートなもののために適切なポートを開くことに夢中になります。

これらのデバイスに任意のコードを実行する機会を与えることは、祝福と呪いです。プログラマーが巧妙なタスクを実行し、ユーザーに最大限の柔軟性を持たせたい場合は、プラットフォームをオープンにする必要があります。それがメーカー革命とオープンソースの創造性が栄える方法です。しかし、これはまた、ウイルス作成者にこれまで以上に多くの機会を与えます。彼らがする必要があるのは、特定のドライバーを更新していないウィジェットの1つのブランドを見つけることだけです-ボイラ、彼らはホストボットにプライミングされた何百万ものウィジェットを見つけました。

ビデオは新しい方法でウェブを支配します

HTML標準化委員会がビデオタグをHTML自体に埋め込み始めたとき、彼らはおそらく娯楽を作り直すという壮大な計画を持っていませんでした。彼らはおそらくプラグインからの不具合を解決したかっただけです。ただし、基本的なビデオタグはJavaScriptコマンドに応答するため、基本的にプログラム可能です。

それは大きな変化です。過去には、ほとんどのビデオは非常に受動的に消費されてきました。あなたはソファに座って再生ボタンを押し、ビデオの編集者があなたが見るべきだと決めたものを見る。その猫の動画を見ている人は誰でも、猫の動画の作成者が決めたのと同じ順序で猫を見ることができます。確かに、いくつかの早送りですが、ビデオはスイスの列車と同じくらい規則的に結論に向かっています。

JavaScriptによるビデオの制御は制限されていますが、最も洗練されたWebデザイナーは、シームレスなキャンバスでビデオをWebページの他の部分と統合する巧妙な方法を考えています。これにより、ユーザーは物語がどのように展開され、ビデオと対話するかを制御できるようになります。作家、アーティスト、編集者が何を想像するかは誰にもわかりませんが、それを実現するにはプログラミングの才能が必要です。

最も洗練されたウェブサイトの多くは、すでに巧妙な場所でしっかりとビデオを実行しています。すぐに彼らは皆、物を動かしたいと思うでしょう。IMGJPEGファイルでタグを付けるだけでは十分ではありません。あなたはビデオをつかむ必要があるでしょう-そしてブラウザの世界を断片化した標準の問題に対処する必要があります。

コンソールは引き続きPCに取って代わります

ゲーム機に腹を立てるのは難しい。ゲームは素晴らしく、グラフィックは素晴らしいです。彼らは私たちが居間でリラックスして悪者を撃ったりサッカーをしたりすることを夢見るための素晴らしいビデオカードと比較的安定したソフトウェアプラットフォームを構築しました。

居間のコンソールはほんの始まりに過ぎません。家の残りのアイテムのメーカーは同じ道をたどっています。彼らはオープンソースのエコシステムを選択することもできましたが、メーカーは独自のクローズドプラットフォームを構築しています。

これは市場を断片化し、プログラマーがすべてをまっすぐに保つことを困難にします。ある照明スイッチで実行されるものは、別のスイッチでは実行されません。ヘアドライヤーはトースターと同じプロトコルを話すかもしれませんが、おそらくそうではありません。プログラマーにとっては、スピードを上げるための作業が増え、作業を再利用する機会が少なくなります。

データは王様のままです

2016年の米国大統領選挙後、単語スリングの専門家はデータスリングの専門家をからかっており、統計分析のすべてが愚かさの練習であったことを示唆しています。予測は劇的に間違っていて、ビッグデータの人々は見栄えが悪かった。

彼らはどのようにしてこの結論に達したのですか?ある数値のセット(予測)を別の数値のセット(選挙結果)と比較することによって。彼らはまだデータを必要としていました。

データは私たちがインターネットで見る方法です。光は私たちに現実世界についての情報をもたらしますが、数字はオンラインのすべてについて私たちに教えてくれます。不完全な数字に基づいて悪い予測をする人もいるかもしれませんが、それは数字の収集と解釈をやめるべきだという意味ではありません。

データの収集、照合、キュレーション、および解析は、企業にとって引き続き最も重要な仕事の1つです。意思決定者には数字が必要であり、プログラマーは引き続き、理解しやすい方法でデータを配信する必要があります。これは答えが完璧になるという意味ではありません。文脈と直感は引き続き役割を果たしますが、ドナルド・トランプが選出されないと予測した人が数人いるという理由だけで、データを整理する必要性がなくなるわけではありません。これは、より大きく、より速く、よりデータ集約型のソフトウェアを構築する必要性に終わりがないため、プログラマーにとってより多くの作業を意味します。

機械学習が新しい標準機能になります

大学の子供たちが「データ構造」と呼ばれるコースを受講すると、祖父母がコードを書いたときの生活がどのようなものであったかを学び、「データベース」と呼ばれる層の存在に頼ることができませんでした。本物のプログラマは、Oracle、MySQL、またはMongoDBの助けを借りずに、データでいっぱいのテーブルを格納、ソート、および結合する必要がありました。

機械学習アルゴリズムは、その飛躍を遂げるまでに数年かかります。現在、プログラマーとデータサイエンティストは、複雑な分析を実行するために独自のコードの多くを作成する必要があります。間もなく、Rのような言語やいくつかの最も賢いビジネスインテリジェンスツールは特別なものではなくなり、ほとんどのソフトウェアスタックで通常の機能になり始めます。それらは、PowerPointセールスデッキの4つまたは5つの特別なスライドから、当然のことと思われる建築図面の小さな長方形になります。

それは一夜にして起こることはなく、それがどのような形になるかは明確ではありませんが、最適なソリューションを見つける機械学習アルゴリズムに依存するビジネスプランがますます増えていることは明らかです。

PCが衰退し続けるにつれて、UIデザインはより複雑になります

毎日、PCを使用する理由が1つ少ないようです。スマートフォン、居間コンソール、タブレットの台頭の間、まだPCにしがみついているように見えるのは、宿題を提出する必要のあるサラリーマンと学生だけです。

これは、プログラマーにとって課題となる可能性があります。以前は、ソフトウェアやWebサイトのユーザーがキーボードとマウスを持っていると簡単に推測できました。現在、多くのユーザーはどちらも持っていません。スマートフォンユーザーは、26文字すべてを入れるスペースがほとんどないガラススクリーンに指を押し込んでいます。コンソールユーザーは、リモコンの矢印キーを押しています。

タッチイベントはクリックイベントとは少し異なるため、Webサイトのデザインはますます難しくなっています。ユーザーの精度はさまざまで、画面のサイズも大きく異なります。すべてをまっすぐに保つことは容易ではなく、今後数年で悪化するだけです。

開放性の終わり

PCの通過は、特定のフォームファクターのゆっくりとした死だけではありません。それは、特にオープンで居心地の良い市場の死にかけています。PCの死は可能性の終わりになります。

PCが最初に出荷されたとき、プログラマーはコードをコンパイルしてディスクにコピーし、それらのディスクをziplockバッグに入れて、世界中で購入することができました。仲買人も、門番も、「お母さん、よろしいですか」と私たちに尋ねる厳しい中心力もありませんでした。

コンソールはしっかりとロックされています。資本を投資せずにその市場に参入する人は誰もいません。アプリストアはもう少しオープンですが、それでも私たちができることを制限する壁に囲まれた庭です。確かに、彼らは正しいフープを飛び越えるプログラマーにまだ開かれていますが、間違った動きをした人は誰でも投げることができます。(どういうわけか、マルウェアがすり抜ける間、彼らは常に私たちのアプリを遅らせています。図を見てください。)

この区別はオープンソースにとって重要です。フロッピーディスクをバギーで販売するだけではありません。コードをコンパイルして実行する機能が失われるため、コードを共有する機能が失われます。PCの終わりは、開放性の終わりの大きな部分です。今のところ、これを読んでいる人のほとんどは、おそらくコードをコンパイルして実行できるまともなデスクトップを持っていますが、それはゆっくりと変化しています。

コードを書いて共有する機会を持つ人は少なくなります。次世代にプログラムを教える必要性についてのすべての話について、配布されるオープンコードの実用的なベクトルは少なくなっています。

自律輸送はここにとどまります

車だけではありません。道路の必要性に邪魔されない自律型飛行機を作りたいという人もいます。他の人は、非常に軽量な旅行のために自律型スケートボードを作りたいと思っています。それが動くと、どこに行くべきかを教えることを夢見ているハッカーもいます。

プログラマーは、人々が画面に表示するものを制御しません。彼らは人々がどこに行くか、そして彼らが世界とどのように相互作用するかを制御します。そして、人々はゲームの一部にすぎません。私たちのものもすべて自律的に動きます。

ダウンタウンの有名なシェフからの夕食が必要な場合は、暖房付きのチャンバーを備えた自律型スケートボードがあなたの家にそれをもたらすかもしれません。芝生を刈り取りたい場合は、自律型芝刈り機が近所の子供に取って代わります。

そしてプログラマーは、最初のインターネット革命の間に持っていたクールなアイデアをすべて使用することができます。インターネット上でポップアップ広告が悪いと思った場合は、プログラマーに報酬が支払われて、自律型ローラースケートが新しいレストランのキッチンベントを通り過ぎるまで待ってください。まだお腹が空いていますか?

法律は新しい限界を見つけるでしょう

私たちの論文の検索が合理的であることが何を意味するのかについての議論が始まったとき、権利章典ではインクがほとんど乾いていない。200年以上経った今でも、詳細については議論を続けています。

テクノロジーの変化は、法律の新しい道を切り開きます。数年前、最高裁判所は、車両追跡技術には令状が必要であると決定しました。しかし、それは警察がトラッカーを車に植えたときだけです。誰かがWaze、Googleマップ、または私たちの場所をキャッシュする他の何百ものアプリのいずれかから追跡データを召喚するときにどのルールが適用されるのか、誰も本当に知りません。

マシンの動作に影響を与えるのはどうですか?データをダウンロードすることは1つのことですが、データを変更することも恐ろしく魅力的です。警察(または民間の俳優)が文書、ヘッダー、またはビットを偽造することは公正ですか?標的が真のテロリストなのか、それとも単にメーターに餌を与えずに駐車禁止の場所に長時間駐車した人々なのかは重要ですか?