Apakah membuat bahasa scripting untuk pengalaman belajar pribadi saya sepadan?
Alasan saya bertanya adalah bahwa ada begitu banyak bahasa pemrograman yang tersedia, saya tahu bahasa saya tidak akan pernah ada gunanya selain memberikan pengalaman belajar yang baik. Namun, saya melihat kekurangan dengan hanya mencoba menjadikan bahasa scripting sebagai pengalaman belajar: akan membutuhkan banyak waktu dan upaya di mana saya bisa melakukan sesuatu yang lebih "produktif."
Apakah menciptakan bahasa pemrograman (termasuk menulis konsep tujuan, sintaksis, filosofi, interpreter, dll.) Sepadan dengan waktu, upaya, dan pengalaman belajar? Atau adakah proyek lain yang bisa saya manfaatkan lebih banyak?
Jawaban:
Bangun Keterampilan Anda DAN Portofolio Anda
Menurut saya itu akan menjadi pengalaman belajar yang sangat baik karena akan:
Jadi saya melihat ini sebagai produk, bermanfaat, dan keseluruhan "sepadan".
Memulai
Sekarang Anda dapat menggunakan pendekatan yang berbeda, tergantung pada berapa banyak waktu yang Anda rencanakan untuk dihabiskan untuk ini ...:
Mulai dari Kecil
Saya lebih suka Anda memulai dari yang kecil . Tidak ada yang pernah, yang saya tahu, menulis langsung bahasa yang luar biasa begitu saja. Anda tersandung dan jatuh, dan gagal, dan gagal dan gagal . Kemudian Anda berhasil, karena berhasil tetapi masih menyebalkan, jadi Anda mulai dari awal lagi. Dan Anda menambahkan fitur-fitur baru dan akhirnya menjadi keren, tetapi tiba-tiba Anda menyadari bahwa ada konsep dasar yang Anda buat kacau pada awalnya. Jadi Anda mulai lagi ...
Tampaknya sangat mendidik bagi saya.
Silakan (dan bagikan tautannya dengan kami).
Kecil, seperti "pendek"
Tapi sekali lagi, saya sarankan Anda mulai dari yang kecil . Jangan takut jika orang mengatakan akan membutuhkan banyak kode dan waktu. Belum tentu, jika Anda tidak bertujuan untuk bahasa yang rumit. Alan Kay dan insinyur Xerox PARC lainnya diduga mengembangkan versi awal Smalltalk yang sesuai pada selembar kertas , sebagai tujuan untuk keseness (baca Xerox PARC: Dealer Lightning untuk perincian tentang sejarah PARC ). Tampaknya pendekatan yang bagus, mendidik, dan terkendala (asalkan tidak mengorbankan keterbacaan).
Kecil, seperti dalam "dibatasi"
Anda tidak perlu langsung mendukung sistem tipe canggih, fungsi tingkat tinggi dan campuran 42 paradigma yang berbeda. Itu bisa saja bahasa ekspresi matematika.
Gunakan kembali (dan Intip) Pengetahuan Lainnya
Anda mungkin juga ingin melihat alat yang digunakan untuk menulis bahasa dari awal. Anda dapat mengimplementasikan kembali semuanya sendiri, tetapi mungkin perlu juga melihat lexers dan parser generator yang ada, misalnya.
Dan jelas, Anda mungkin ingin membaca tentang konstruksi kompiler pada umumnya.
Sekarang, jika kami mengubah pertanyaan Anda menjadi "apakah ini akan menjadi penggunaan waktu Anda yang PALING produktif?" itu menjadi masalah yang sama sekali berbeda :)
Ada banyak proyek pembelajaran lain yang bisa Anda tangani, dan itu akan melatih dan menunjukkan keterampilan Anda dengan baik, jika tidak lebih baik. Itu tergantung apa yang ingin Anda tuju.
sumber
Saya katakan maju.
Menerapkan bahasa pemrograman mencakup berbagai topik, dan Anda akan belajar banyak tentang cara kerja berbagai hal. Anda mungkin akan hidup melalui setengah lusin upaya yang gagal, tetapi pengalaman belajar sangat berharga.
sumber
Merancang dan mengimplementasikan bahasa pemrograman (mainan tapi lengkap) sebenarnya adalah salah satu (wajib?) Latihan di salah satu kelas CS divisi atas saya (baik kelas kompiler atau survei bahasa pemrograman, saya lupa yang ...)
Jadi setidaknya satu profesor CS berpikir demikian.
Anda akan berakhir dengan apresiasi yang jauh lebih baik untuk semua "kebiasaan" yang dimiliki bahasa lain.
sumber
Butuh beberapa saat untuk melakukannya. Apakah Anda berencana untuk mempertahankannya?
Saya berasumsi status keuangan Anda tidak terbatas, jadi saya akan mengatakan bahwa itu tidak sebanding dengan waktu. Anda dapat menghabiskan waktu Anda untuk proyek-proyek bermanfaat lainnya yang dapat menghasilkan uang bagi Anda. Ingatlah ini mungkin bukan jawaban yang Anda cari, tetapi dari sudut pandang logis, saya akan mengatakan bahwa bahasa pemrograman Anda mungkin bukan proyek yang tepat saat ini. Saya akan mempertimbangkannya jika Anda seorang ilmuwan komputer yang sudah pensiun, dan merasa perlu untuk berkontribusi pada industri. Tampaknya Anda memiliki hasrat yang kuat untuk pemrograman, dan itu hebat. Tapi, membangun bahasa scripting baru? Itu akan menjadi proyek yang sangat panjang. Pada saat itu Anda bisa membangun banyak aplikasi yang dapat Anda masukkan ke dalam portofolio Anda. Saya pikir pertanyaannya adalah:
sumber
Saran saya kepada Anda adalah
Jangan menemukan kembali roda
Anda harus bertanya pada diri sendiri:
Saya mengerti bahwa Anda ingin memiliki lebih banyak pengalaman belajar dan untuk alasan itu secara pribadi saya pikir menciptakan kerangka kerja akan memberi Anda lebih banyak pengalaman belajar dan dengan bonus yang Anda / tim Anda / komunitas dapat menggunakannya kembali nanti, daripada membuat skrip.
Dan komik xkcd ini sedikit relevan, cukup ubah "standar" menjadi "bahasa" juga:
sumber