- Masa depan pengaturcaraan mungkin akan melihat perpindahan dari JavaScript, dengan pengenalan WebAssembly menjadikan web sasaran kompilasi yang lebih menarik untuk bahasa lain.
- Penulis berharap bahawa apa sahaja yang menggantikan JavaScript akan menampilkan struktur data terbina dalam, bentuk literal untuk objek, koleksi, dan jenis primitif, lambdas dengan penutupan, dan sintaks yang minimum, antara ciri-ciri lain. IDEs visual, yang membolehkan pemodelan mudah dan visualisasi hubungan reaktif dalam sistem, mungkin akan menjadi norma dalam pengaturcaraan. Ini akan difasilitasi oleh pemikiran semula radikal bagaimana untuk memodelkan program secara visual, mengurangkan kekacauan visual dan overhead pendawaian.
- Masa depan pengaturcaraan juga mungkin melibatkan pengaturcaraan genetik, di mana populasi program calon dihasilkan dan ditapis berdasarkan keupayaan mereka untuk lulus ujian, dan pengaturcaraan AI, di mana sistem AI menganalisis kod, mencari potensi bug dan kelemahan, dan mencadangkan ujian yang perlu ditulis.
- Baru-baru ini kami mendengar bahawa platform web mendapat sasaran penyemak imbas baru yang dipanggil WebAssembly (lihat Apa itu WebAssembly: The Dawn of A New Era untuk Butiran). WASM menjadikan platform web sebagai sasaran kompilasi yang lebih menarik untuk bahasa lain. Itu meninggalkan kita tertanya -tanya apa yang mungkin berlaku selepas JavaScript.
Saya bukan peminat C (saya pengguna yang pulih dan penderita C), tetapi saya peminat banyak perkara yang dibina dengannya, termasuk enjin Unreal, yang sangat baik apabila disusun kepada JavaScript. Tidak ada alasan yang baik untuk menulis segala -galanya di JavaScript selama -lamanya. Sudah tiba masanya untuk melihat masa depan.
Saya telah menggunakan dan benar -benar menikmati Coffeescript dari semasa ke semasa, yang membantu memberi inspirasi kepada banyak ciri ES6 baru. Coffeescript terasa lebih mudah daripada JavaScript. Ia mempunyai sintaks yang lebih ringkas, namun menambah banyak keupayaan ekspresif yang tidak wujud dalam ES5. Sudah tentu, saya akan mempermudahkan Coffeescript lebih banyak lagi dengan menghilangkan kata kunci kelas beracun. Saya suka biola dengan Haskell juga. Tetapi bahasa -bahasa ini mewakili masa kini.
jadi apa yang boleh kita lakukan seterusnya?
Apa sahaja yang menangkap api selepas JS, saya harap ia mempunyai ciri -ciri ini:
- struktur data terbina dalam yang tidak berubah dan tidak dapat dipertahankan secara lalai.
- Bentuk literal untuk objek, koleksi, dan jenis primitif.
- Jenis nombor lalai yang lebih baik untuk kebanyakan kes penggunaan.
- Jenis struktur tersuai, termasuk sokongan yang baik untuk jenis binari peringkat rendah (bonus jika kita mendapat sintaks harfiah yang boleh ditentukan).
- lambdas dengan penutupan.
- tali pinggang utiliti berfungsi terbina dalam. Sama dengan API RXJS yang boleh dilihat.
- Sokongan asli untuk objek dan komposisi kilang. Sesuatu seperti setem terbina dalam.
- Jaminan Realtime untuk Pemprosesan & Penjadualan Ketepatan Latensi Rendah untuk Apl seperti Permainan, Muzik & Pengeluaran Video, DSP, Aplikasi Saintifik, Penyegerakan Sistem Diedarkan, dan lain-lain ...
- sintaks minimum, serupa dengan Ruby, Python, atau Coffeescript. Sekarang saya mempunyai peluang untuk mendapatkan selesa tanpa pendakap keriting dan titik koma di mana -mana, saya rasa kurang terkurung oleh sintaks.
Sokongan kelas pertama untuk pengaturcaraan reaktif
dibakar ke dalam bahasa, API yang mudah dan konsisten di sekeliling semua ini:
- aliran.
- sumber data berterusan (input UI, masa, imej vektor, dll ...).
- Koleksi termasuk tatasusunan dan objek.
API ini harus digunakan dengan cara yang sama tanpa mengira sama ada data mengalir melalui fungsi satu nilai pada satu masa (iaitu hasil yang boleh dilakukan / penjana), sebagai tindak balas kepada peristiwa yang dipancarkan (mis. Aliran gaya nod), atau sumber data yang berterusan seperti itu Sebagai audio, isyarat elektrik, input UI, sensor, bahkan perkara-perkara bebas masa seperti grafik vektor, dan lain-lain ...
API terbina dalam seperti ini boleh membungkus semua jenis, yang berpotensi untuk memudahkan sintaks, juga.
Untuk perspektif yang benar -benar berwawasan tentang bagaimana semua perkara reaktif ini berfungsi, lihat teori umum kereaktifan.
alat yang lebih baik
Unreal Engine 4 Blueprint
- IDE visual yang hebat untuk memodelkan dan menggambarkan hubungan reaktif dengan mudah dalam sistem. Fikirkan noflo dengan ux yang lebih baik.
- debugging perjalanan masa (Contoh dengan JavaScript) Diaktifkan oleh struktur data yang tidak berubah. Debugging perjalanan masa membolehkan anda dengan mudah berulang-alik dalam sejarah program hidup anda yang hidup.
- disusun kepada JS & WASM sokongan hebat untuk penyemak imbas dan nod.
- alat analisis yang lebih baik kedua -dua statik dan runtime / dinamik. Direka khusus untuk membantu menjadikan program lebih diramalkan dengan menganalisis graf pergantungan reaktif. Ini juga boleh membuat laporan visual yang hebat, termasuk laporan kerumitan, dan rajah marmar untuk membantu anda memahami dan meramalkan tingkah laku program anda.
rajah marmar untuk .merge ()
ide visual akan menjadi norma
Mereka yang biasa dengan pengaturcaraan berasaskan aliran/dataflow akan memberitahu anda bahawa ia bukan sesuatu yang baru. Alat pengaturcaraan visual telah wujud selama beberapa dekad, dan setakat ini tidak dapat menggantikan pengaturcaraan berasaskan teks.
Apa yang akan mendorong ini di atas kelebihan adalah pemikiran semula radikal bagaimana untuk memodelkan program secara visual yang akan mengurangkan kekacauan visual dan overhead pendawaian yang melanda penyelesaian pengaturcaraan berasaskan aliran.
Kebanyakan inovasi dalam ruang ini tidak berlaku dalam persekitaran pengaturcaraan sama sekali. Sebaliknya, ia berlaku dalam aplikasi pengeluaran di mana pemodelan aliran data adalah tugas utama. Tidak ada yang lebih digambarkan daripada aplikasi pengeluaran audio.Aplikasi pengeluaran audio biasanya mengarahkan audio mentah melalui rangkaian pemproses kesan. Dalam istilah pengaturcaraan, anda boleh memikirkan pemproses kesan sebagai peta berfungsi: fungsi tulen yang dipanggil untuk setiap elemen dalam senarai, di mana unsur -unsur tersebut sesuai dengan kepingan sampel audio.
Kebanyakan aplikasi audio model proses ini secara visual dengan mensimulasikan mesin dan kabel sebenar dalam fesyen skeuomorfik. Antara muka pengguna skeuomorfik adalah salah satu yang cuba mencontohi antara muka pengguna objek asal yang dimodelkan dalam perisian.
Masalah dengan reka bentuk skeuomorfik adalah bahawa ia dengan setia menghasilkan semula kebanyakan kekacauan antara muka pengguna dan ketidakcekapan asal. Dalam aplikasi intensif data seperti pengeluaran audio, kekacauan itu kelihatan sangat biasa dengan pengaturcara: wayar kelihatan seperti spageti - sesuatu yang semua pemaju yang baik tahu kita harus mengelakkan.
bayareamodularmeet-George P. Macklin-(CC BY-SA 2.0)
Saluran Kesan Langsung Ableton. Aliran data kiri ke kanan.
Saluran Renoise, masing -masing dengan rantaian kesan. Data mengalir ke atas ke bawah.
<span>const channel = input => { </span> <span>return input </span> <span>.filter() </span> <span>.gain() </span> <span>.limit(); </span><span>}; </span> <span>export default channel;</span>Jika anda berfikir tentang ini dengan teliti, ia menjadi jelas bahawa anda boleh melakukan lebih banyak daripada pemprosesan isyarat audio & digital (DSP) dengan model ini. Sebagai contoh, anda boleh menggunakannya untuk laluan model visual dan middleware di Express, di mana laluan diwakili oleh saluran, dan middleware diwakili oleh kesan:
UI yang diilhamkan oleh Renoise Hypothetical ke Laluan Program.
Sudah tentu, ini menunjukkan bahawa setiap kesan dalam rantai perlu bertindak pada input dengan API yang dikongsi. Di sinilah konsep pengaturcaraan fungsional dan reaktif bersinar. Sangat mudah untuk menyediakan API bersatu atas sebarang jenis koleksi, termasuk aliran permintaan rangkaian. Dalam pengaturcaraan berfungsi, mereka membungkus API dipanggil kunctor. Dalam bahasa Inggeris biasa, functor adalah sesuatu yang boleh dipetakan.
Jika ini agak seperti fiksyen sains, lihatlah TreeLine. Ia melakukan sesuatu yang sangat serupa hari ini. Lihatlah laluan pos /pendaftaran ini dimodelkan di TreeLine. Ia menyulitkan kata laluan pengguna, kemudian membuat model pengguna, kemudian bertindak balas dengan status 200 OK. Setiap langkah itu boleh dianggap sebagai kesan saluran:
treeline: data mengalir ke atas ke bawah.
Pengaturcaraan genetik
Pengaturcaraan genetik adalah proses mensimulasikan sistem evolusi alam semula jadi dengan menghasilkan populasi program calon dan menapis program yang tidak lulus ujian. Calon -calon yang lulus ujian bertahan dan membentuk asas generasi akan datang.
Pengaturcaraan genetik menawarkan kemungkinan peningkatan berterusan, automatik pada kod panas dan algoritma kritikal. Terdapat potensi sebenar untuk menunjukkan algoritma pengaturcaraan genetik di repositori GIT dan secara automatik mendorong generasi baru perisian kepada pengeluaran apabila penduduk bertambah baik pada versi yang digunakan sebelumnya.
pengaturcaraan AI-Assisted
Scott Ingram-Dual Neuron (CC BY-NC 2.0)
Dengan kata lain, jangka panjang, AI mempunyai peluang yang sangat nyata untuk menjadi alat pengaturcaraan yang tidak ternilai. Malah, mudah untuk membayangkan masa depan di mana AI boleh menghasilkan program tanpa bantuan manusia sama sekali.
Kesimpulan
Apa sahaja yang akan datang, mengharapkan ia menjadi lonjakan kuantum dalam teknologi dan inovasi. Masa depan akan berada di sini lebih awal daripada yang anda fikirkan.
Soalan Lazim (Soalan Lazim) Mengenai WebAssembly dan Masa Depannya
Apakah perbezaan utama antara JavaScript dan WebAssembly? Walau bagaimanapun, ia mempunyai batasannya, terutamanya apabila ia berkaitan dengan aplikasi intensif prestasi. WebAssembly, sebaliknya, adalah format arahan binari yang membolehkan kod berjalan pada kelajuan berhampiran asli dengan memanfaatkan keupayaan perkakasan biasa. Ia direka untuk menjadi mesin maya peringkat rendah yang menjalankan kod pada kelajuan berhampiran asli, menjadikannya sesuai untuk tugas-tugas seperti permainan, reka bentuk bantuan komputer, penyuntingan video, dan simulasi saintifik. Ganti JavaScript?
Tidak, WebAssembly tidak direka untuk menggantikan JavaScript. Sebaliknya, ia bertujuan untuk bekerja bersama JavaScript, yang membolehkan pemaju memilih alat yang tepat untuk pekerjaan itu. JavaScript sangat bagus untuk membina laman web dan aplikasi yang dinamik dengan antara muka pengguna yang kompleks, sementara WebAssembly lebih sesuai untuk tugas-tugas yang berintensifkan prestasi. Format binari yang lebih cekap untuk web. Format binari ini membolehkan kod itu dihuraikan dan dilaksanakan dengan lebih cepat daripada JavaScript. Di samping itu, WebAssembly direka untuk menjadi mesin maya peringkat rendah yang menjalankan kod pada kelajuan berhampiran asli, yang merupakan rangsangan prestasi yang signifikan untuk tugas-tugas yang berintensifkan prestasi.
Ya, anda boleh menggunakan WebAssembly dalam projek web semasa anda. Pelayar yang paling moden menyokong webassembly, dan terdapat beberapa alat yang boleh membantu anda menyusun kod anda ke webassembly. Mempunyai sokongan terbaik untuk disusun ke WebAssembly. Walau bagaimanapun, matlamatnya adalah untuk menyokong sebanyak mungkin bahasa pada masa akan datang. Terdapat juga usaha berterusan untuk menambah sokongan untuk bahasa lain seperti Python, Go, dan Java. Ia beroperasi dalam persekitaran kotak pasir yang sama seperti JavaScript, yang bermaksud ia mempunyai sekatan akses yang sama. Di samping itu, kerana ia adalah format binari peringkat rendah, ia kurang terdedah kepada jenis serangan tertentu yang biasa dengan JavaScript. beberapa cara. Sebagai contoh, anda boleh memanggil fungsi JavaScript dari WebAssembly, dan sebaliknya. Anda juga boleh lulus data antara kedua -dua, walaupun ini memerlukan beberapa kerja manual.
Apakah masa depan WebAssembly?
Masa depan WebAssembly kelihatan menjanjikan. Ia sudah disokong oleh semua pelayar utama, dan faedah prestasinya menjadikannya pilihan yang menarik untuk pemaju web. Memandangkan lebih banyak bahasa mendapat sokongan untuk disusun ke WebAssembly, kita boleh mengharapkan untuk melihatnya digunakan dalam pelbagai aplikasi yang lebih luas. Ia mempunyai beberapa batasan. Sebagai contoh, ia kini tidak mempunyai akses langsung ke DOM, yang bermaksud anda perlu menggunakan JavaScript untuk mana -mana manipulasi DOM. Walau bagaimanapun, terdapat usaha yang berterusan untuk menangani batasan ini dan lain -lain. Laman web webassembly rasmi adalah tempat yang bagus untuk bermula, kerana ia memberikan gambaran menyeluruh mengenai teknologi. Terdapat juga banyak tutorial dan panduan yang tersedia dalam talian yang dapat membantu anda memulakan dengan webassembly.
Atas ialah kandungan terperinci Masa Depan Pengaturcaraan: WebAssembly & Life After JavaScript. Untuk maklumat lanjut, sila ikut artikel berkaitan lain di laman web China PHP!

Saya membina aplikasi SaaS multi-penyewa berfungsi (aplikasi edTech) dengan alat teknologi harian anda dan anda boleh melakukan perkara yang sama. Pertama, apakah aplikasi SaaS multi-penyewa? Aplikasi SaaS Multi-penyewa membolehkan anda melayani beberapa pelanggan dari Sing

Artikel ini menunjukkan integrasi frontend dengan backend yang dijamin oleh permit, membina aplikasi edtech SaaS yang berfungsi menggunakan Next.Js. Frontend mengambil kebenaran pengguna untuk mengawal penglihatan UI dan memastikan permintaan API mematuhi dasar peranan

JavaScript adalah bahasa utama pembangunan web moden dan digunakan secara meluas untuk kepelbagaian dan fleksibiliti. 1) Pembangunan front-end: Membina laman web dinamik dan aplikasi satu halaman melalui operasi DOM dan kerangka moden (seperti React, Vue.js, sudut). 2) Pembangunan sisi pelayan: Node.js menggunakan model I/O yang tidak menyekat untuk mengendalikan aplikasi konkurensi tinggi dan masa nyata. 3) Pembangunan aplikasi mudah alih dan desktop: Pembangunan silang platform direalisasikan melalui reaktnatif dan elektron untuk meningkatkan kecekapan pembangunan.

Trend terkini dalam JavaScript termasuk kebangkitan TypeScript, populariti kerangka dan perpustakaan moden, dan penerapan webassembly. Prospek masa depan meliputi sistem jenis yang lebih berkuasa, pembangunan JavaScript, pengembangan kecerdasan buatan dan pembelajaran mesin, dan potensi pengkomputeran IoT dan kelebihan.

JavaScript adalah asas kepada pembangunan web moden, dan fungsi utamanya termasuk pengaturcaraan yang didorong oleh peristiwa, penjanaan kandungan dinamik dan pengaturcaraan tak segerak. 1) Pengaturcaraan yang didorong oleh peristiwa membolehkan laman web berubah secara dinamik mengikut operasi pengguna. 2) Penjanaan kandungan dinamik membolehkan kandungan halaman diselaraskan mengikut syarat. 3) Pengaturcaraan Asynchronous memastikan bahawa antara muka pengguna tidak disekat. JavaScript digunakan secara meluas dalam interaksi web, aplikasi satu halaman dan pembangunan sisi pelayan, sangat meningkatkan fleksibiliti pengalaman pengguna dan pembangunan silang platform.

Python lebih sesuai untuk sains data dan pembelajaran mesin, manakala JavaScript lebih sesuai untuk pembangunan front-end dan penuh. 1. Python terkenal dengan sintaks ringkas dan ekosistem perpustakaan yang kaya, dan sesuai untuk analisis data dan pembangunan web. 2. JavaScript adalah teras pembangunan front-end. Node.js menyokong pengaturcaraan sisi pelayan dan sesuai untuk pembangunan stack penuh.

JavaScript tidak memerlukan pemasangan kerana ia sudah dibina dalam pelayar moden. Anda hanya memerlukan editor teks dan penyemak imbas untuk memulakan. 1) Dalam persekitaran penyemak imbas, jalankan dengan memasukkan fail HTML melalui tag. 2) Dalam persekitaran Node.js, selepas memuat turun dan memasang node.js, jalankan fail JavaScript melalui baris arahan.

Cara Menghantar Pemberitahuan Tugas di Quartz terlebih dahulu Apabila menggunakan pemasa kuarza untuk menjadualkan tugas, masa pelaksanaan tugas ditetapkan oleh ekspresi cron. Sekarang ...


Alat AI Hot

Undresser.AI Undress
Apl berkuasa AI untuk mencipta foto bogel yang realistik

AI Clothes Remover
Alat AI dalam talian untuk mengeluarkan pakaian daripada foto.

Undress AI Tool
Gambar buka pakaian secara percuma

Clothoff.io
Penyingkiran pakaian AI

AI Hentai Generator
Menjana ai hentai secara percuma.

Artikel Panas

Alat panas

PhpStorm versi Mac
Alat pembangunan bersepadu PHP profesional terkini (2018.2.1).

ZendStudio 13.5.1 Mac
Persekitaran pembangunan bersepadu PHP yang berkuasa

Muat turun versi mac editor Atom
Editor sumber terbuka yang paling popular

SecLists
SecLists ialah rakan penguji keselamatan muktamad. Ia ialah koleksi pelbagai jenis senarai yang kerap digunakan semasa penilaian keselamatan, semuanya di satu tempat. SecLists membantu menjadikan ujian keselamatan lebih cekap dan produktif dengan menyediakan semua senarai yang mungkin diperlukan oleh penguji keselamatan dengan mudah. Jenis senarai termasuk nama pengguna, kata laluan, URL, muatan kabur, corak data sensitif, cangkerang web dan banyak lagi. Penguji hanya boleh menarik repositori ini ke mesin ujian baharu dan dia akan mempunyai akses kepada setiap jenis senarai yang dia perlukan.

Versi Mac WebStorm
Alat pembangunan JavaScript yang berguna