Jalur Migrasi Bahasa Pemrograman

Jalur Migrasi Bahasa Pemrograman

Ketika saya sedang mempersiapkan beberapa informasi latar belakang pribadi untuk klien potensial, saya meninjau semua bahasa pemrograman yang saya miliki pengalamannya. Saya mencantumkan bahasa yang paling saya kuasai di resume saya. Namun, terpikir oleh saya bahwa jika saya harus membuat daftar semua bahasa yang telah saya kerjakan, maka klien akan menjadi kewalahan dengan resume dan hanya menulis saya sebagai kepala bit total atau toons bodoh. Tetapi ketika saya merenungkan semua lingkungan yang berbeda ini, saya menyadari betapa menyenangkannya saya terlibat dengan industri pengembangan perangkat lunak, dan bahwa banyak kesenangan itu berkaitan dengan proses pembelajaran. Saya pikir inilah yang membuat seorang programmer yang baik. Bukan hanya kemampuan menulis kode, atau membuat aplikasi yang sangat kreatif, tetapi kemampuan untuk belajar. Mari kita akui! Jika seorang programmer tidak memiliki keterampilan belajar yang baik, maka programmer tersebut akan memiliki karir yang sangat singkat.

Sebagai latihan, saya akan membuat daftar Jalur Migrasi Bahasa Pemrograman saya. Saya akan tertarik untuk mendengar dari programmer lain apa PLMP mereka juga. Ini dia:

* Komodor Vic-20 Basic

* Commodore Vic-20 6502 Assembler

* Commodore 64 6510 Assembler (Banyak nighters dengan yang satu ini!)

*IBM BASIC

* IBM Assembler (Hubungan kebencian saya dengan pengalamatan segmen.)

* dBASE II (Wow! Pemrograman terstruktur.)

* GWBasic

* Turbo Pascal (Terima kasih, Tuan Kahn! $49 terbaik yang pernah saya habiskan!)

* Turbo C

* dBASE III+ (Keren, report generator dBASE II saya sekarang hanya membutuhkan waktu 2 jam untuk dijalankan, bukan 7.)

* Clipper/Foxbase

* dBASE IV

* dBASE SQL

* Microsoft C (Pertama di bawah DOS, kemudian di bawah Windows 3.1)

* SuperBase (Pertama di bawah Amiga DOS, kemudian untuk MS Windows)

* SQL Windows (Apa yang terjadi dengan ini? Gupta?)

* Visual Basic 2.0

* Delphi

* Visual Basic 3.0

* Akses Dasar / Word Basic (Microsoft)

* Newton Script (Bahasa “elegan” pertama saya)

* Visual Basic 4.0 & 5.0

* HTML

* FormLogic (untuk Apple Newton)

* Codewarrior C untuk Palm OS

* Visual Basic 6.0

* NS BASIC untuk Palm OS & Windows CE

* Pembuat File 5

* Bentuk Satelit

* Visual C++

* REAL Basic untuk Mac 9.x & OSX

* Jawa

* Codewarrior C++ untuk Palm OS

* Appforge untuk Palm OS & Pocket PC

* C#

* FileMaker Pro 7.0

Wah! Ini bukan hanya latihan yang bagus untuk merefleksikan semua bahasa yang pernah saya gunakan, tetapi juga contoh bagus tentang bagaimana bahasa dan teknologi telah berkembang selama 25 tahun terakhir. Saya yakin bahwa saya akan menambahkan lebih banyak lagi ke PLMP ini dalam waktu dekat. Dan seperti kebanyakan programmer yang saya tahu, ada banyak lagi yang ingin saya pelajari tetapi tidak punya waktu.

Latihan bagus lainnya adalah mengangkat ini sebagai topik diskusi dengan sekelompok pemrogram setelah hari yang panjang dan menyenangkan di setiap pameran dagang teknis. Sebagai contoh, beberapa waktu yang lalu, setelah hari yang panjang di Konferensi Pengembang OS/2 di Seattle (Ya, berkencan dengan diri saya sendiri di sini.), Saya mengangkat topik pemrograman 6502 Bahasa Perakitan. Ini saat makan malam sekitar jam 7 malam. Percakapan yang dihasilkan bermigrasi ke lobi hotel di mana berlanjut hingga sekitar jam 2 pagi.

Meta-Bahasa dan kegunaannya untuk Pemrograman Berbasis Pengguna

Meta-bahasa menggambarkan struktur informasi untuk memungkinkan informasi ini dicari dengan lebih mudah oleh sistem perangkat lunak. XML (eXtensible Markup Language) telah muncul sebagai yang paling penting dari Meta-bahasa ini dan merupakan dasar untuk banyak bahasa. Standar XML penting untuk Web Semantik, banyak sistem penalaran berbasis komputer, dan untuk komunikasi antara aplikasi perangkat lunak yang berbeda. Representasi alternatif informasi tidak boleh digunakan dalam sistem apa pun yang sedang dikembangkan sekarang kecuali jika penulis telah memeriksa standar berbasis XML dan menemukan bahwa standar tersebut tidak mencukupi. Situasi seperti itu sangat tidak mungkin. Setiap sistem perangkat lunak yang tidak menggunakan standar ini akan mengalami kesulitan berkomunikasi dengan sistem perangkat lunak lain. Penggunaan standar generik tetap membuka kemungkinan komunikasi dengan jangkauan seluas mungkin dari sistem perangkat lunak lain. Penggunaan standar spesifik domain menargetkan komunikasi ke domain tertentu.

Extensible Markup Language XML merupakan standar penting dalam pengembangan ontologi. Bahasa ini memungkinkan untuk konstruksi dokumen teks di mana hubungan antara konsep diwakili. Karena merupakan standar yang diterima, XML dapat digunakan pada semua jenis komputer. Perkembangan lebih lanjut seperti Resource Description Framework RDF menambahkan lapisan standarisasi semantik, di atas sintaks standar XML. Hal ini juga memungkinkan untuk mewakili diagram, dan informasi grafis menggunakan berbagai XML yang disebut Scalable Vector Graphics (SVG).

Bahasa standar terbuka ini dapat digunakan untuk mengembangkan kode program model. Diusulkan agar perangkat lunak dan informasi yang diwakili oleh perangkat lunak, dipisahkan tetapi direpresentasikan dengan cara pencarian standar terbuka yang sama. Perangkat lunak dan informasi yang dimanipulasinya hanyalah informasi yang memiliki kegunaan yang berbeda, tidak ada alasan mengapa perangkat lunak harus direpresentasikan secara berbeda direpresentasikan secara berbeda dari informasi lainnya. Jadi XML dapat digunakan baik sebagai input dan output informasi oleh aplikasi, dan untuk definisi model itu sendiri. Model dapat membaca atau menulis informasi yang diwakilinya, dan informasi tersebut dapat membaca atau menulis ke model. Rekursi ini memungkinkan ‘pemrograman meta’. Pemrograman meta adalah penulisan program oleh program lain. Tujuan dari ini adalah untuk menyediakan serangkaian lapisan bertingkat yang menerjemahkan representasi visual masalah yang relatif mudah digunakan untuk dimodelkan, ke dalam kode yang dapat dijalankan oleh kompiler dan interpreter saat ini. Ini untuk memudahkan non-programmer yang melek komputer untuk menentukan instruksi ke komputer, tanpa belajar dan menulis kode dalam bahasa komputer. Untuk mencapai hal ini, setiap lapisan perangkat lunak atau informasi harus dapat membaca kode atau informasi yang direpresentasikan dalam yang lain. Kode dan informasi hanya dipisahkan sebagai masalah pilihan desain untuk membantu pemahaman manusia, mereka dapat direpresentasikan dengan cara yang sama menggunakan jenis bahasa standar terbuka yang sama.

Pemrograman