Apakah Oberon benar-benar "Pascal yang lebih baik"? [Tutup]

12

Membaca Niklaus Wirth , orang dapat memperhatikan bahwa terlepas dari popularitas Pascal, ia tidak senang bahwa Oberon (sebagai penerus Pascal dan Modula yang "dipoles") tidak mendapatkan banyak popularitas. Saya tidak pernah melakukan apa pun di Oberon, tetapi membaca halaman Oberon For Pascal Developers Saya benar-benar tidak menyukai banyak perubahan sebagai pengembang Delphi / pascal, misalnya

  • memaksa kata-kata yang dipesan untuk selalu huruf besar
  • membuat bahasa case-sensitive
  • menyingkirkan jenis enumerasi

Apa pendapat Anda tentang Oberon, apakah ini benar-benar "Pascal yang lebih baik" dari sudut pandang Anda?

Maksee
sumber
3
Oberon tampak seperti gema yang jauh dari era Ada / Pascal dalam pemrograman. Ini mungkin sedikit lebih baik daripada bahasa Pascal asli Wirth, tapi jelas itu lebih rendah daripada Turbo Pascal / Delphi.
mojuba
2
@mojuba, itu sepertinya jawaban untuk saya ...
glenatron
Bukankah ini sudah ditutup sekali? Apa yang terjadi pada riwayat edit?
Robert Harvey
Saya memiliki daya tarik singkat dengan Oberon di tahun-tahun kuliah saya. Saya berharap saya tahu lebih banyak tentang hal itu untuk memiliki pendapat.
Barry Brown
1
Membutuhkan kata-kata yang dicadangkan dengan huruf besar akan menjadi pemecah kesepakatan bagi saya. Saya menemukan huruf kecil lebih mudah dibaca.
GrandmasterB

Jawaban:

8

Ya, saya akan menyebut Oberon Pascal yang lebih baik. Dengan Oberon, Profesor Wirth sampai pada inti pemrograman berorientasi objek dengan ekstensi tipe dan variabel prosedur. Saya merasa elegan bahwa Oberon adalah bahasa yang lebih kecil dari Pascal dengan kekuatan yang jauh lebih besar.

Oberon 2 membawa bahasa ini selangkah lebih maju dengan mengikat metode pada rekaman.

Saya tidak suka kata-kata yang ditulis dalam huruf besar. Saya menemukan sintaks perbaikan dengan menghilangkan banyak dimulai dan berakhir.

Oberon digunakan untuk menulis sistem operasi yang sangat menarik yang dijelaskan dalam Project Oberon: Desain Sistem Operasi dan Kompiler .

Blake
sumber
Setuju, Oberon lebih baik. Masalah dengan Oberon adalah terlambat. Banyak yang lainnya mengalami peningkatan pada Fortran, Basic, Pascal, C, sehingga Oberon memiliki pesaing yang hebat. Kemudian, bahasa hanyalah bagian dari solusi. Bahasa 'terbaik' memiliki perpustakaan yang baik, atau infrastruktur. Javascript bagus karena ikatan dengan aplikasi web. Kemudian, reaksi lebih besar lagi, dibangun di atas JS. Siapa yang peduli dengan kesederhanaan bahasa? Kami ingin objek sederhana seperti bereaksi komponen untuk membangun aplikasi web.
Roland
6

Lebih baik, dan lebih buruk, dalam berbagai cara:

Sangat menyenangkan memiliki pengumpulan sampah, dan fasilitas untuk pemrograman modular dan Berorientasi Objek. Ini adalah bahasa yang relatif kecil; mudah diurai, dan diimplementasikan.

Kurangnya pencacahan adalah hal yang menyakitkan (memang, dalam dialek Oberon yang kami gunakan, kami menambahkannya kembali).

Relatif dengan bahasa yang lebih modern, minimalisnya sedikit brutal, dan memperlakukan string sebagai array karakter dalam bahasa apa pun adalah mengerikan.

Tentu saja, Pascal telah berkembang sedikit juga, misalnya lihat Komponen Pascal.

grrussel
sumber
Bagaimana Anda mengetik ekstensi pada tipe yang disebutkan dalam dialek Oberon Anda yang diperluas? Alasan saya bertanya: Profesor Wirth mengatakan dia tidak bisa melihat cara yang baik untuk melakukannya, dan itulah sebabnya dia menghapus jenis yang disebutkan dari bahasa.
John R. Strohm
2
Sebenarnya, saya percaya bahwa terlepas dari namanya, Component Pascal adalah penerus Oberon, bukan Pascal (kecuali secara tidak langsung, tentu saja). Ini berjalan seperti Algol-X (tidak pernah diimplementasikan) -> Algol-W -> Pascal -> Modula (tidak pernah diimplementasikan) -> Modula-2 -> Oberon -> (beberapa revisi Oberon) -> Komponen Pascal.
Jörg W Mittag
2
Wirth adalah seorang purist; ia memutuskan bahwa lebih baik kehilangan jenis keamanan enum untuk diperpanjang dan ortogonalitas. Kami menulis banyak kode yang mendapat manfaat dari pengecekan jenis enum, di mana tabrakan nilai insidental akan menghasilkan kesalahan yang halus. Singkatnya, karena kita mengendalikan seluruh basis kode Oberon, dan kompiler, kita melakukannya tanpa mengetikkan ekstensi pada enum, untuk mencegah kelas kesalahan program yang sangat menjengkelkan.
grrussel