Saya memutuskan untuk melakukan wawancara dengan salah satu teman Amerika saya - Rob Vugteveen. Dia bekerja sebagai programmer FORTRAN pada 1980-an, jadi itu pengalaman yang cukup unik.
Rob Vugteveen, Carson City, Nevada, ASK: Hai Rob. Saya pernah mendengar Anda bekerja sebagai programmer Fortran bertahun-tahun yang lalu. Benarkah itu Bagaimana industri saat itu?R: Selamat pagi, Kirill.
Pada 1980-an saya mencari nafkah sebagai programmer FORTRAN di industri pertambangan, terutama dalam pengolahan data eksplorasi dan menyajikannya secara grafis. Kami menggunakan minicomputer VAX dari Digital Equipment Corporation. Ini adalah waktu ketika PC desktop semakin populer, dan bahasa prosedural seperti FORTRAN ditantang oleh bahasa berorientasi objek. Juga, sistem tampilan grafis bergeser dari terminal sel-karakter ke tampilan berbasis-jendela.
FORTRAN ("FORmula TRANslation") dibangun untuk program intensif komputasi, dan FORTRAN tidak memiliki perpustakaan grafik sendiri untuk menampilkan informasi. Ada perusahaan yang menjual perpustakaan subrutin FORTRAN besar untuk menyediakan kemampuan itu. Ini belum dirancang untuk semakin populernya teknologi X-window.
Ketika kami terpaksa pindah dari komputer VAX yang mahal ke PC yang lebih murah, kami harus menulis program hybrid menggunakan FORTRAN untuk perhitungan dan C ++ untuk tampilan. Awalnya agak berantakan. Saya meninggalkan pekerjaan itu untuk sesuatu yang sama sekali berbeda (membangun museum pertambangan) dan tidak benar-benar melakukan pemrograman sejak itu.
FORTRAN masih digunakan sampai sekarang dalam penelitian ilmiah untuk pekerjaan intensif komputasi, tetapi saya yakin ini telah diadaptasi untuk bekerja dengan sistem tampilan grafis melalui subrutin eksternal yang ditulis dalam kode berorientasi objek.
K: Seperti apa proyek paling menarik Anda di Fortran (atau FORTRAN, seperti yang disebut sebelumnya)?R: Saya sedang menulis perangkat lunak perencanaan tambang untuk tambang tembaga lubang terbuka. Kontur ketinggian tambang akan digambar di layar seperti peta. Seorang insinyur tambang dapat menggunakan mouse untuk menggambar poligon di sekitar bagian dari tambang di mana bumi akan diledakkan dan dihilangkan. Perangkat lunak akan meminta kueri 3-dimensi data lubang bor dan menentukan berapa banyak tembaga yang akan dipulihkan dari bagian bumi itu. Salah satu tugas saya adalah menulis kode untuk memodifikasi garis kontur untuk memperhitungkan materi yang dihapus. Saya harus menemukan prosedur itu dari awal, dan butuh lebih dari seminggu untuk mengembangkan algoritma untuk setiap jenis persimpangan garis yang mungkin. Kami menganggap operasi ini begitu saja sekarang setiap kali kami membuat operasi vektor di Adobe Illustrator atau AutoCAD. Tapi itu tidak ada saat itu, dan saya sangat puas telah menemukan cara untuk melakukannya.
K: Apa kesuksesan terbaik Anda dengan itu?R: Saya menemukan bahwa algoritme saya juga bisa "mengembalikan material" ke dalam lubang terbuka dengan membalik arah yang diambil poligon. Itu berarti insinyur pertambangan dapat membuat tempat pembuangan limbah di tanah yang tidak lagi memiliki bijih tembaga di bawahnya. Itu adalah terobosan dalam kemampuan desain program.
K: Apa kekacauan terburuk Anda?R: Kadang-kadang algoritma modifikasi kontur akan masuk ke loop tanpa akhir, dan memaksa insinyur untuk mematikan program dan memulai lagi. Saya menemukan kasus khusus ketika titik pada kontur asli dan titik pada poligon insinyur memiliki koordinat yang persis sama. Algoritme saya tidak mengantisipasi kemungkinan itu dan mengasumsikan poligon tidak dapat setepat itu. Namun, setelah beberapa hari debugging, saya memperbaiki algoritme untuk bekerja dalam semua kasus.
K: Komputer dan bahasa pemrograman membuat kemajuan besar sejak itu. Bagaimana perasaan Anda tentang perubahan ini?R: Ketika komputer menjadi lebih kecil, lebih kuat, dan lebih murah, orang jadi semakin berharap dari mesin mereka. Pemrogram terus mendorong batas pada apa yang bisa dilakukan. Pemrograman berorientasi objek adalah hal besar, dan variasi bahasa C sangat populer. Fortran masih merupakan mesin pengolah angka untuk banyak aplikasi ilmiah dan teknik, tetapi aplikasi Fortran dibungkus dengan kulit luar dari kode berorientasi objek untuk lebih banyak fungsi grafis dan input pengguna. Bahasa-bahasa yang lebih khusus sepertinya muncul ketika daya komputasi meningkat, dengan Java tumbuh dari Sun Microsystems (kemudian diakuisisi oleh Oracle) dan menjadi Javascript (dari Netscape). Sistem operasi UNIX mengambil alih, MS-DOS memberi jalan ke Windows, dan sejumlah besar bahasa pemrograman muncul setiap dekade sejak itu. Sebagian besar dibangun di atas pengembangan sebelumnya untuk menjadi lebih mudah digunakan dan menambah fungsionalitas, seperti mendistribusikan tugas-tugas komputasi dalam utas paralel di banyak prosesor dan sumber daya lainnya.
Saya senang membaca minggu ini bahwa C ++ baru-baru ini menyusul Python dalam tiga bahasa pemrograman yang paling banyak digunakan. Kemungkinan peringkat tiga teratas akan terus berubah karena daya pemrosesan meningkat, kemampuan perangkat keras meluas, dan lebih banyak aplikasi dikembangkan yang belum dibayangkan. Bahkan dengan semua bahasa lainnya, masih banyak aplikasi ilmiah dan teknik baru yang ditulis dalam bahasa Fortran, dan bahasa tersebut terus ditingkatkan. Versi terbaru adalah Fortran 2018.
Lelucon Fortran favorit saya memerlukan sedikit pengaturan: Di Fortran, variabel yang dimulai dengan huruf I, J, K, L, M, dan N (antara I dan N seperti dalam INteger) secara implisit disimpan sebagai bilangan bulat di komputer. Yang dimulai dengan huruf lain disimpan sebagai angka nyata dalam memori. Jadi leluconnya adalah:Tuhan itu nyata ... kecuali dinyatakan secara eksplisit bilangan bulat.K: Saya pernah mendengar Anda sedang mempelajari JavaScript sekarang. Apa yang membuat Anda memutuskan untuk kembali ke industri TI?R: Dalam pekerjaan saya saat ini, saya menggunakan produk Adobe pada sejumlah besar gambar. Adobe memiliki kemampuan scripting yang dapat diimplementasikan menggunakan Javascript. Saya ingin mempelajarinya sehingga saya bisa lebih efisien dengan memproses set besar gambar dan melakukan hal-hal yang tidak dapat dengan mudah dilakukan dari fungsionalitas berbasis menu dari program-program tersebut.
Saya juga menggunakan QuickBase, dan beberapa fungsi yang saya inginkan ternyata bergantung pada panggilan eksternal yang dapat ditulis dalam Javascript.
Anehnya, saya tidak pernah mengikuti kelas Fortran atau C ++ ketika saya masih kuliah atau sesudahnya. Saya mempelajarinya sendiri dengan menentukan apa yang ingin saya lakukan dan mencari cara untuk mewujudkannya. Javascript tampaknya sedikit lebih rumit untuk pendekatan itu, jadi saya mengandalkan YouTube untuk instruksi online. Kita akan melihat seberapa cepat saya bisa menjadi produktif dengan cara itu.
K: Anda juga baru mulai belajar WordPress. Bisakah Anda memberi tahu kami tentang pengalaman Anda membuat situs web?R: Saya membuat situs web pertama untuk pusat pengunjung yang saya buat di tambang tembaga pada tahun 1997. Saya mulai menggunakan Apple iWeb, kemudian pindah ke Adobe Dreamweaver ketika iWeb terbukti tidak memadai. Saya terus situs selama lima tahun sampai saya meninggalkan perusahaan itu pada tahun 2002.
Saya tidak benar-benar membangun situs web lagi hingga 2016 ketika saya sedang mencari pekerjaan dan ingin membuat resume online untuk calon majikan untuk melihat kemampuan saya. Saya memilih WIX sebagai cara untuk mendapatkan sesuatu dengan cepat, lalu saya menggunakannya untuk bereksperimen dengan situs web lain hanya untuk bersenang-senang.
Sekarang saya ingin belajar WordPress dengan seorang teman di Ukraina yang telah berbaik hati untuk melatih saya.
K: Jawaban bagus, Rob! Terima kasih telah meluangkan waktu Anda untuk menjawab semua pertanyaan ini.