11 prediksi untuk masa depan pemrograman

Satu-satunya hal yang terbang lebih cepat dari waktu adalah kemajuan teknologi. Suatu kali setelah makan siang, seorang teman perancang chip segera minta diri dengan penjelasan cekatan bahwa menurut Hukum Moore, dia harus membuat chipnya disetel 0,67 persen lebih cepat setiap minggu, bahkan saat sedang berlibur. Jika tidak, kecepatan chip tidak akan berlipat ganda setiap dua tahun.

Sekarang tahun 2017 telah tiba, saatnya untuk mempertimbangkan perubahan teknologi di masa depan, jika hanya untuk membantu Anda mengetahui di mana harus menempatkan taruhan Anda dalam membangun keterampilan pemrograman untuk masa depan.

Dari meningkatnya masalah keamanan pada internet of things hingga machine learning di mana pun, masa depan pemrograman semakin sulit diprediksi.

Awan akan mengalahkan Hukum Moore

Ada penentang yang mengklaim perusahaan chip telah menemui jalan buntu. Mereka tidak lagi menggandakan kecepatan chip setiap dua tahun seperti yang mereka lakukan selama tahun-tahun tenang di tahun 80-an dan 90-an. Mungkin - tetapi itu tidak masalah lagi karena batas antara chip kurang ditentukan dari sebelumnya.

Dulu, kecepatan CPU di dalam kotak di meja Anda penting karena, yah, Anda hanya bisa melaju secepat hamster silikon di dalam dapat memutar rodanya. Membeli hamster yang lebih besar dan lebih cepat setiap beberapa tahun juga akan melipatgandakan produktivitas Anda.

Tetapi sekarang CPU di meja Anda hampir tidak menampilkan informasi di layar. Sebagian besar pekerjaan dilakukan di cloud di mana tidak jelas berapa banyak hamster yang mengerjakan pekerjaan Anda. Saat Anda menelusuri Google, awan besar mereka dapat menyediakan 10, 20, bahkan 1.000 hamster untuk menemukan jawaban yang tepat untuk Anda.

Tantangan bagi pemrogram adalah menemukan cara-cara cerdas untuk secara elastik menyebarkan daya komputasi yang cukup untuk setiap masalah pengguna sehingga solusinya datang cukup cepat dan pengguna tidak merasa bosan dan berkeliaran ke situs pesaing. Ada banyak daya yang tersedia. Perusahaan cloud akan membiarkan Anda menangani banyaknya pengguna, tetapi Anda harus menemukan algoritme yang bekerja dengan mudah secara paralel, lalu mengatur agar server bekerja secara sinkron.

Keamanan IoT hanya akan semakin menakutkan

Botnet Mirai yang dibuka pada musim gugur yang lalu adalah panggilan untuk para programmer yang menciptakan generasi selanjutnya dari internet of things. Perangkat kecil yang pintar ini dapat terinfeksi seperti komputer lainnya, dan mereka dapat menggunakan koneksi internet mereka untuk membuat kekacauan dan membiarkan anjing perang menyelinap. Dan seperti yang diketahui semua orang, anjing bisa berpura-pura menjadi siapa saja di internet.

Masalahnya adalah rantai pasokan gadget saat ini tidak memiliki mekanisme apa pun untuk memperbaiki perangkat lunak. Siklus hidup gadget biasanya dimulai dengan perjalanan panjang dari pabrik ke gudang dan terakhir ke pengguna. Tidak biasa hingga 10 bulan untuk membuka antara perakitan dan penggunaan pertama. Gadget tersebut dikirim ke belahan dunia lain selama bulan-bulan yang panjang dan tersisa itu. Mereka duduk di dalam kotak menunggu di kontainer pengiriman. Kemudian mereka duduk di atas palet di toko kotak besar atau di gudang. Pada saat mereka dibongkar, apa pun bisa terjadi pada mereka.

Tantangannya adalah melacak semuanya. Cukup sulit untuk memperbarui baterai di detektor asap setiap kali jam berganti. Tapi sekarang kita harus bertanya-tanya tentang oven pemanggang roti kita, pengering pakaian kita, dan hampir semua yang ada di rumah. Apakah perangkat lunak tersebut mutakhir? Apakah semua patch keamanan telah diterapkan? Jumlah perangkat membuat lebih sulit untuk melakukan apa pun yang cerdas tentang memantau jaringan rumah. Ada lebih dari 30 perangkat dengan alamat IP yang terhubung ke router nirkabel saya, dan yang saya tahu identitasnya hanya 24 perangkat. Jika saya ingin mempertahankan firewall pintar, saya akan gila membuka port yang tepat untuk hal-hal pintar yang tepat.

Memberi perangkat ini kesempatan untuk menjalankan kode arbitrer adalah berkah dan kutukan. Jika pemrogram ingin melakukan tugas-tugas cerdas dan membiarkan pengguna memiliki fleksibilitas maksimum, platform harus terbuka. Begitulah revolusi pembuat dan kreativitas open source berkembang. Tapi ini juga memberi penulis virus lebih banyak kesempatan daripada sebelumnya. Yang perlu mereka lakukan hanyalah menemukan satu merek widget yang belum memperbarui driver tertentu - voilà, mereka telah menemukan jutaan widget yang disiapkan untuk menghosting bot.

Video akan mendominasi web dengan cara baru

Ketika komite standar HTML mulai menyematkan tag video ke dalam HTML itu sendiri, mereka mungkin tidak memiliki rencana besar untuk membuat ulang hiburan. Mereka mungkin hanya ingin menyelesaikan gangguan dari plugin. Tetapi tag video dasar merespons perintah JavaScript, dan itu membuatnya pada dasarnya dapat diprogram.

Itu adalah perubahan besar. Dulu, sebagian besar video dikonsumsi dengan sangat pasif. Anda duduk di sofa, menekan tombol putar, dan melihat apa yang menurut editor video harus Anda lihat. Semua orang yang menonton video kucing itu melihat kucing dalam urutan yang sama yang ditentukan oleh pembuat video kucing. Tentu, beberapa video maju cepat tetapi video menuju ke kesimpulan mereka dengan keteraturan sebanyak kereta Swiss.

Kontrol JavaScript atas video terbatas, tetapi perancang web paling apik sedang mencari cara cerdas untuk mengintegrasikan video dengan sisa halaman web dalam kanvas yang mulus. Ini membuka kemungkinan bagi pengguna untuk mengontrol bagaimana narasi terungkap dan berinteraksi dengan video. Tidak ada yang bisa memastikan apa yang akan dibayangkan oleh penulis, artis, dan editor, tetapi mereka membutuhkan bakat pemrograman untuk mewujudkannya.

Banyak situs web paling apik sudah memiliki video yang berjalan dengan ketat di tempat-tempat pintar. Segera mereka semua ingin memindahkan barang. Tidaklah cukup untuk memberi IMGtag dengan file JPEG. Anda harus mengambil video - dan menangani masalah standar yang telah memecah dunia browser.

Konsol akan terus menggantikan PC

Sulit untuk marah pada konsol game. Permainannya bagus, dan grafiknya luar biasa. Mereka telah membangun kartu video yang bagus dan platform perangkat lunak yang relatif stabil bagi kita untuk bersantai di ruang tamu dan bermimpi tentang menembak orang jahat atau melempar bola.

Konsol ruang tamu hanyalah permulaan. Pembuat barang untuk bagian rumah lainnya mengikuti jalan yang sama. Mereka bisa saja memilih ekosistem open source, tetapi pabrikan sedang membangun platform tertutup mereka sendiri.

Ini memecah pasar dan mempersulit pemrogram untuk menjaga semuanya tetap lurus. Apa yang berjalan di satu sakelar lampu tidak akan berjalan di sakelar lainnya. Pengering rambut mungkin menggunakan protokol yang sama dengan pemanggang roti, tetapi mungkin tidak. Lebih banyak pekerjaan bagi programmer untuk mempercepat dan lebih sedikit peluang untuk menggunakan kembali pekerjaan kita.

Data akan tetap menjadi raja

Setelah pemilihan presiden AS tahun 2016, para pakar yang mengolok-olok para pakar data-slinging, menunjukkan bahwa semua analisis statistik mereka adalah latihan dalam kebodohan. Prediksi sangat salah, dan orang-orang big data terlihat buruk.

Bagaimana mereka sampai pada kesimpulan ini? Dengan membandingkan satu set angka (prediksi) dengan set angka lainnya (hasil pemilu). Mereka masih membutuhkan datanya.

Data adalah cara yang kita lihat di internet. Cahaya memberi kita informasi tentang dunia nyata, tetapi angka memberi tahu kita tentang segala hal secara online. Beberapa orang mungkin membuat prediksi buruk berdasarkan angka yang tidak sempurna, tetapi itu tidak berarti kita harus berhenti mengumpulkan dan menafsirkan angka tersebut.

Pengumpulan, penyusunan, kurasi, dan penguraian data akan terus menjadi salah satu pekerjaan terpenting bagi perusahaan. Pengambil keputusan membutuhkan angka-angka, dan pemrogram akan terus ditugaskan untuk mengirimkan data dengan cara yang lebih mudah dipahami. Ini tidak berarti jawabannya akan sempurna. Konteks dan intuisi akan terus berperan, tetapi kebutuhan untuk memperebutkan data tidak akan hilang hanya karena beberapa orang memperkirakan bahwa Donald Trump tidak akan terpilih. Ini berarti lebih banyak pekerjaan untuk programmer, karena kebutuhan kita untuk membangun perangkat lunak yang lebih besar, lebih cepat, dan lebih intensif data tidak akan berakhir.

Pembelajaran mesin akan menjadi fitur standar baru

Ketika anak-anak di perguruan tinggi mengikuti kursus yang disebut "Struktur Data", mereka mempelajari seperti apa kehidupan saat kakek-nenek mereka menulis kode dan tidak dapat bergantung pada keberadaan lapisan yang disebut "database". Pemrogram sejati harus menyimpan, mengurutkan, dan menggabungkan tabel yang penuh dengan data, tanpa bantuan Oracle, MySQL, atau MongoDB.

Algoritme pembelajaran mesin tinggal beberapa tahun lagi untuk membuat lompatan itu. Saat ini programmer dan data scientist perlu menulis banyak kode mereka sendiri untuk melakukan analisis yang kompleks. Segera, bahasa seperti R dan beberapa alat intelijen bisnis yang paling cerdas akan berhenti menjadi khusus dan mulai menjadi fitur reguler di sebagian besar tumpukan perangkat lunak. Mereka akan berubah dari empat atau lima slide khusus di dek penjualan PowerPoint menjadi persegi panjang kecil dalam gambar arsitektur yang dianggap biasa.

Itu tidak akan terjadi dalam semalam, dan tidak jelas persis seperti apa bentuknya, tetapi jelas bahwa semakin banyak rencana bisnis bergantung pada algoritma pembelajaran mesin untuk menemukan solusi terbaik.

Desain UI akan menjadi lebih rumit karena PC terus memudar

Setiap hari sepertinya ada satu alasan yang lebih sedikit bagi Anda untuk menggunakan PC. Di antara maraknya smartphone, konsol ruang tamu, dan tablet, satu-satunya orang yang tampaknya masih bergantung pada PC adalah pekerja kantoran dan siswa yang perlu menyerahkan tugas.

Ini bisa menjadi tantangan bagi para programmer. Dulu mudah untuk berasumsi bahwa pengguna perangkat lunak atau situs web akan memiliki keyboard dan mouse. Sekarang banyak pengguna yang tidak memiliki keduanya. Pengguna smartphone memasukkan jari mereka ke dalam layar kaca yang hampir tidak memiliki ruang untuk 26 huruf. Pengguna konsol menekan tombol panah pada remote.

Merancang situs web semakin rumit karena peristiwa sentuhan sedikit berbeda dari peristiwa klik. Pengguna memiliki jumlah presisi yang berbeda dan ukuran layar sangat bervariasi. Tidak mudah untuk menjaga semuanya tetap lurus, dan itu hanya akan menjadi lebih buruk di tahun-tahun mendatang.

Akhir dari keterbukaan

Berlalunya PC tidak hanya kematian lambat dari faktor bentuk tertentu. Ini adalah sekaratnya pasar yang sangat terbuka dan ramah. Kematian PC akan menutup kemungkinan.

Ketika PC pertama kali dikirim, programmer dapat mengkompilasi kode, menyalinnya ke disk, memasukkan disk tersebut ke dalam kantong ziplock, dan dunia dapat membelinya. Tidak ada perantara, tidak ada penjaga gerbang, tidak ada kekuatan sentral yang tegas yang meminta kami untuk mengatakan, "Ibu, boleh?"

Konsol terkunci rapat. Tidak ada yang masuk ke pasar itu tanpa investasi modal. Toko aplikasi sedikit lebih terbuka, tetapi mereka masih taman bertembok yang membatasi apa yang dapat kami lakukan. Tentu, mereka masih terbuka untuk pemrogram yang melompati rintangan yang benar tetapi siapa pun yang membuat langkah yang salah dapat dilempar. (Entah bagaimana mereka selalu menunda aplikasi kami saat malware lolos. Ayo bayangkan.)

Perbedaan ini penting untuk open source. Ini bukan hanya tentang menjual floppy disk dalam bentuk kantong. Kami kehilangan kemampuan untuk berbagi kode karena kami kehilangan kemampuan untuk mengkompilasi dan menjalankan kode. Ujung PC adalah bagian besar dari ujung keterbukaan. Untuk saat ini, sebagian besar orang yang membaca ini mungkin memiliki desktop yang layak yang dapat mengkompilasi dan menjalankan kode, tetapi itu perlahan berubah.

Lebih sedikit orang yang memiliki kesempatan untuk menulis kode dan membagikannya. Untuk semua pembicaraan tentang kebutuhan untuk mengajar generasi berikutnya tentang program, ada lebih sedikit vektor praktis untuk kode terbuka untuk didistribusikan.

Transportasi otonom ada di sini untuk tinggal

Bukan mobil sendiri. Beberapa ingin membuat pesawat otonom yang tidak terbebani oleh kebutuhan akan jalan raya. Yang lain ingin membuat skateboard otonom untuk perjalanan yang sangat ringan. Jika itu bergerak, beberapa peretas bermimpi mengatakan ke mana harus pergi.

Pemrogram tidak akan mengontrol apa yang dilihat orang di layar. Mereka akan mengontrol ke mana orang pergi dan bagaimana mereka berinteraksi dengan dunia. Dan orang-orang hanyalah bagian dari permainan. Semua barang kami juga akan bergerak secara mandiri.

Jika Anda ingin makan malam dari koki terkenal di pusat kota, skateboard otonom dengan ruang berpemanas dapat membawanya ke rumah Anda. Jika Anda ingin rumput Anda dipotong, mesin pemotong rumput otonom akan menggantikan anak tetangga.

Dan pemrogram dapat menggunakan semua ide keren yang mereka miliki selama revolusi internet pertama. Jika menurut Anda iklan pop-up buruk di internet, tunggu sampai programmer dibayar untuk mengalihkan sepatu roda otonom Anda melewati ventilasi dapur restoran baru. Lapar belum?

Hukum akan menemukan batasan baru

Tinta pada Bill of Rights hampir tidak mengering ketika perdebatan tentang apa artinya pencarian dokumen kita agar masuk akal dimulai. Sekarang, lebih dari 200 tahun kemudian, kami masih memperdebatkan detailnya.

Perubahan teknologi membuka jalan baru bagi hukum. Beberapa tahun lalu, Mahkamah Agung memutuskan bahwa teknologi pelacakan kendaraan membutuhkan surat perintah. Tapi itu hanya ketika polisi memasang pelacak di dalam mobil. Tidak ada yang benar-benar tahu aturan apa yang berlaku ketika seseorang memanggil data pelacakan dari Waze, Google Maps, atau salah satu dari ratusan aplikasi lain yang menyimpan cache lokasi kita.

Bagaimana dengan mempengaruhi cara mesin beroperasi? Mengunduh data adalah satu hal, tetapi sangat menggoda untuk mengubah data juga. Apakah adil bagi polisi (atau aktor swasta) untuk memalsukan dokumen, header, atau bit? Apakah penting jika targetnya adalah teroris sejati atau hanya orang yang telah memarkir terlalu lama di tempat terlarang tanpa memberi meteran?