Apakah COBOL masih layak dipelajari? [Tutup]


23

Apakah belajar COBOL masih masuk akal?


9
Itu akan menjadi sekitar 9990, tidak yakin apakah Anda hidup selama itu.
Toon Krijthe

4
@ Gallecat --- Hanya jika masalah Y10K tidak diselesaikan oleh perusahaan atau individu yang tidak malas sebelumnya, kan ?!
Mark C

2
Ingatlah bahwa COBOL saja tidak akan membuat Anda jauh. Anda harus men-stack stack untuk OS yang ingin Anda gunakan. Misalnya, pada mesin IBM, Anda membutuhkan VSAM, MVS Atau Z, CICS, ISPF, mungkin IMS dan ISPF, Panvalet / Easytrieve, JCL selain COBOL.
NoChance

2
cobol.com terlihat sangat Web 2.0-ish dan mereka memberikan mesin kopi! Jika itu tidak modern dan pragmatis dan memasukkan kata kunci maka saya tidak tahu apa.
Raphael R.

Anda bisa mendapatkan penghasilan tetap jika berhasil dan menemukan toko COBOL.

Jawaban:


26

Saya kira tidak, kecuali Anda sudah berada di ceruk pasar tempat COBOL masih dipertahankan.


13
70% dari infrastruktur yang ada berjalan pada COBOL. Dari menggesek kartu debit di ATM, hingga membuat reservasi pesawat online, hingga merutekan panggilan telepon seluler. Semua yang berjalan pada COBOL (atau sangat bergantung pada itu.) Ini bukan ceruk atau lingkungan warisan. Sebagian besar sistem ini telah berjalan hampir tanpa gangguan dan baik selama beberapa dekade (track record yang jauh lebih baik daripada yang kita miliki di Java dan .NET), dan jumlah programmer COBOL berkurang. Ingin mendapat banyak $$$? Posisikan diri Anda untuk kekurangan COBOL yang luar biasa yang akan terjadi dalam waktu sekitar satu dekade.
luis.espinal

14
@ luis.espinal: tidak, ini adalah mitos yang umum, dan persentase 70% tidak lagi benar. Penggunaan COBOL terus menurun, dan pada akhirnya kita akan menyingkirkannya. Dan ... COBOL terlibat dalam perutean panggilan telepon? Saya kira tidak. Mungkin dalam penagihan panggilan telepon, tetapi bahkan di sana tidak mungkin hari ini.
Wizard79

6
@Lorenzo - 70% mitos? Tidak terlibat dalam telekomunikasi? Bisakah Anda mencadangkan klaim itu? Kami bahkan tidak menghitung keterlibatannya dalam pengiriman (puluhan K kontainer / tahun), atau dalam industri Perawatan Kesehatan. Saya tidak tahu bagaimana tempat Anda bekerja, tetapi di sini di Amerika Utara (dan di banyak tempat lain), COBOL ada dalam jumlah besar, dan berfungsi dengan baik . Mengapa seseorang memerlukan risiko dalam menulis ulang sesuatu yang berfungsi dan itu adalah misi yang penting ? Saya ingin berfantasi saya akan menulis ulang semua di Jawa atau C ++, tetapi ada fantasi, dan ada rekayasa perangkat lunak dan ekonomi perangkat lunak.
luis.espinal

9
@ luis.espinal: karena saya telah bekerja di industri telekomunikasi, saya tahu pasti bahwa perangkat pertukaran telepon tidak menggunakan COBOL ... mereka didasarkan pada perangkat keras dan firmware khusus. Beberapa perusahaan masih menggunakan COBOL untuk penagihan dan akuntansi, tetapi yang baru (seperti operator seluler) mengandalkan teknologi yang berbeda bahkan untuk itu. Peralihan sedang berlangsung.
Wizard79

8
@ luis.espinal: ipar saya bekerja untuk perusahaan telekomunikasi besar, menulis perangkat lunak untuk sakelar baru. Saya benar-benar menjamin Anda bahwa dia TIDAK menggunakan COBOL!
Bob Jarvis - Reinstate Monica

36

Tidaaaak, tentu saja tidak. Bagaimanapun, COBOL adalah bahasa mati. Atau itu?

Masalah dengan pandangan itu adalah bahwa programmer di situs seperti ini biasanya bekerja dengan perusahaan teknologi tinggi, berjalan cepat (dan sama-sama cepat habis). Bagi mereka COBOL adalah bahasa mati - tidak ada tempat untuk dilihat. Belum beberapa lama sekarang, ini benar.

Tetapi COBOL tidak diperuntukkan bagi mereka. Ada lebih banyak hal untuk industri perangkat lunak daripada ini. Komputer tidak diciptakan untuk orang dengan kebutuhan irasional untuk meningkatkan dan mengganti yang lama dengan yang baru setiap saat. Mereka dibuat untuk tujuan bisnis.

Anda ingin melihat COBOL? Pergi ke perusahaan yang memproses penggajian, atau menangani pengiriman barang, atau pengiriman (seperti di kapal), atau menangani rekening bank Anda. Ada sistem kode besar yang tidak terlihat di luar sana yang praktis tidak terlihat oleh pengguna, dan kebanyakan dari mereka tidak pernah memikirkannya meskipun mereka menjumpainya dalam satu atau lain cara setiap hari (ATM?)

Tidak, itu tidak mati. Tapi itu pasti "warisan" ... atau bukan?

Sekali lagi, tergantung bagaimana Anda melihatnya. Saat ini, banyak orang akan menggunakan Java, C, atau apa pun selain COBOL, menulis ulang dari awal ... memperkenalkan bug baru sambil berjalan, secara alami. Itu tidak mengatakan COBOL tidak memiliki bug, dan kebiasaan. Itu, sebanyak bahasa berikutnya. Tentu saja. Tetapi dalam "masa COBOL", perusahaan yang menangani bug lebih serius daripada biasanya (asuransi, bank) cenderung menghasilkan kode berkualitas lebih tinggi dengan kelompok layanan berkualitas khusus; hari ini, ada tenggat waktu di mana waktu dan anggaran selalu menang atas kualitas. Juga, sistem ini pada awalnya dikembangkan untuk periode yang lebih lama saat itu dibandingkan dengan yang setara sekarang.

Jika beberapa perangkat lunak telah bekerja selama lebih dari 30 tahun, di mana insentif untuk beralih? Seluruh perusahaan bangkrut karena mereka mengabaikan pepatah lama "jika tidak rusak, jangan perbaiki."Banyak yang mencoba untuk menulis ulang hal itu ... maka penulisan ulang pertama harganya sangat mahal, kemudian yang kedua harganya lebih mahal ... dan tidak ada yang baru & lebih baik yang berhasil menggantikannya. Seperti yang saya katakan, industri ini cepat terbakar, dan juga cenderung cepat lupa.

Pada 70-an COBOL sudah mati atau sekarat segera, C / C ++ akan memerintah. Kemudian lagi di awal 80-an Pascal mengambil alih. Kemudian pada tahun 90-an itu Jawa sebagai THE Language ...

Pikirkan Unisys Mapper, dBase, Clipper, Cold fusion ... apakah orang bahkan mengingatnya? Masing-masing dari mereka akan menjadi penggali kubur untuk COBOL.

Mempertimbangkan itu, dan fakta bahwa itu bagus untuk memproses volume transaksi yang tinggi, pemrosesan batch atau pemrosesan yang berorientasi pada transaksi, dan bahwa seseorang dapat mengkompilasi (tanpa kesalahan) subrutin yang ditulis 30 tahun sebagai kode COBOL dan panggilan terkelola itu dari COBOL.NET yang dikelola harus orang ingin pergi Windows dan .NET, saya mengalami kesulitan menemukan pengganti yang cocok untuk itu. (Saya juga kesulitan menemukan teknologi Microsoft yang bertahan lebih dari satu dekade.)

Ya, kode COBOL baru sedang ditulis hari ini. Orang hanya harus tahu ke mana harus mencari.

Bagi mereka yang menertawakan COBOL, IMHO, itu seperti menertawakan Piramida Mesir, mereka ada di sana dari 5000 tahun dan mereka masih akan ada di sana dalam 5000 tahun mendatang, sementara perumahan "hello world" hari ini yang membutuhkan 24 kontrol untuk bekerja akan dihapus, diganti, dilupakan bulan depan.

Jadi di mana semua programmer COBOL itu?

Ah, karena di sinilah letak kesulitannya. Masalahnya adalah bahwa banyak dari mereka tidak memiliki latar belakang ilmu komputasi. Banyak dari mereka bukan programmer profesional (seperti lulusan universitas dari program CS / SE). Sebagian besar, mereka adalah orang-orang di usia akhir 30-an-50-an, dari semua bidang keahlian, dilatih sepenuhnya oleh perusahaan khusus untuk pekerjaan itu. Jadi mereka bukan "programmer COBOL" - pelatihan yang mereka dapatkan khusus untuk perusahaan yang sangat dipromosikan dari dalam. Dan itu membuat mereka sangat tidak terlihat.


9
Memiliki pola pikir iPhone / desktop / Web 2.0 adalah cara yang baik untuk melupakan luasnya dunia komputasi.
Paul Nathan

8
Jadi di mana semua programmer COBOL itu? Mengemudi taksi.
johnc

1
@ johnc - dari mana Anda mendapatkannya? 70% dari infrastruktur yang ada berjalan pada COBOL, dan ada kekurangan programmer COBOL. Mungkin sulit untuk mendapatkan pekerjaan jika Anda hanya mengenal COBOL di masa dot-com (kita berbicara satu dekade sekarang). Tapi sekarang??? Man, COBOL akan menjadi permintaan tinggi dalam waktu sekitar satu dekade hanya karena kekritisan sistem tersebut dan kekurangan pengembang perangkat lunak yang tahu (atau cukup pintar untuk mengambil kesempatan) untuk bekerja dengan COBOL.
luis.espinal

2
@ luis.espinal Saya sepenuhnya (dan dengan susah payah) sadar akan masalah yang kita hadapi dengan kurangnya programmer COBOL, namun komentar saya diucapkan, agak sembrono saya akui, dari pengalaman. Di Australia, setidaknya, hampir setiap sopir taksi yang saya temui, dalam dekade terakhir, yang bukan imigran baru-baru ini (dan mungkin beberapa yang pernah), telah menjadi mantan programmer COBOL. Mungkin kebetulan, dan saya mengatakan ini tidak membuat keputusan pribadi pada pengemudi taksi, imigran atau pengembang COBOL. Ini hanyalah sebuah pengamatan.
johnc

2
@ johnc - Saya tidak meragukan kata-kata Anda, tetapi saya menemukan bahwa pengamatan itu sulit dipercaya.
Benteng

16

Jika Anda dapat melihat diri Anda sebagai programmer COBOL, maka lakukanlah. Masih ada miliaran baris yang ditulis dalam COBOL yang membutuhkan pemeliharaan.

Sebenarnya, tidak ada yang namanya pengetahuan yang tidak perlu, jadi perluas pengetahuan dan peluang lebih luas yang Anda miliki.


1
Karena tidak ada pengetahuan yang tidak perlu, saya menominasikan Intercal untuk bahasa berikutnya yang Anda pelajari!
Tikhon Jelvis

@TikhonJelvis: Terlalu mudah, terlalu mudah. Malbolge adalah yang Anda cari.
Magus

15

COBOL

Apakah belajar itu masuk akal?
Yah, itu ceruk dan ada banyak pekerjaan kode warisan yang perlu dipertahankan dan tidak bisa ditulis ulang. Jadi, meskipun ini bukan pilihan bagi banyak programmer, ini adalah perspektif untuk penghasilan tetap bagi individu.

Namun, jika Anda tertarik untuk menciptakan solusi baru, daripada perlahan-lahan memperbaiki yang sudah ada sejak puluhan tahun, COBOL mungkin bukan bahasa yang tepat.


8

Banyak perusahaan Eropa masih sangat mengandalkan mainframe yang berjalan seperti program z / vse dan cobol. Ada permintaan untuk programmer cobol terampil yang tidak ada yang berpikir pasar akan mengisi yang menaikkan gaji, banyak.

Pertanyaannya seharusnya, "apakah saya akan mengembangkan sesuatu yang baru menggunakan cobol?" karena hampir semuanya adalah pemeliharaan atau variasi dari hal-hal penting misi yang ada.


5

Saya dulu bekerja untuk IBM di mana kode COBOL dan PL / I ditulis setiap hari. Juga dari perusahaan besar yang mengandalkan mainframe IBM seperti banyak bank yang membutuhkan ribuan transaksi per detik, bahasa-bahasa itu masih sangat banyak digunakan.

Jika Anda tidak ingin bekerja di tempat seperti itu (Itu sebabnya saya hanya bekerja di sana selama 6 bulan) maka jangan berpikir untuk belajar bahasa-bahasa itu.


Bekerja pada tulang punggung ekonomi, menangani jenis lalu lintas itu, yang tentunya akan dilihat sebagai teknik yang bagus dan peluang bisnis oleh banyak orang.
luis.espinal

5

Kami menulis kode Cobol baru setiap hari, dan kami terus mencari programmer baru. Pasokannya terlalu kecil di sini.


5
Itu benar-benar menakutkan tetapi menarik. Saya tidak pernah bertemu programmer cobol hidup (dan saya bukan ayam musim semi)
Tim

3
Kenapa menakutkan? Anda mungkin tidak pernah bertemu seorang programmer Lisp ...

@ Tim Ada seorang pria dari MicroFocus yang menulis artikel tentang Proyek Kode - semuanya dalam COBOL ... untuk .NET! Sangat aneh melihat COBOL diperbarui dengan teknologi yang lebih modern.
MetalMikester

2
@ Talbjorn - Saya dulu kode di lisp dan tahu programmer lisp. Mungkin saya hanya bodoh dan bias tetapi apa yang saya tahu tentang cobol tidak mendorong saya untuk berpikir tinggi membuat kode LEBIH BANYAK dalam bahasa itu.
Tim

1
Lisp digunakan untuk proyek yang menarik, dan merupakan bahasa yang menarik dalam dirinya sendiri. Begitu juga C ++, Ruby on Rails, Smalltalk, dan Haskell. Cobol digunakan untuk aplikasi bisnis yang membosankan, dan menarik hanya untuk orang-orang yang harus membuat kompiler dan alat untuk itu. Pada dasarnya, anak-anak keren tidak menggunakan Cobol, dan saya menggunakan "keren" dengan longgar untuk memasukkan saya. Anda harus pergi ke berbagai tempat, seperti sekolah bisnis, untuk menemukan orang-orang Cobol.
David Thornley

4

Jika Anda ingin memiliki pekerjaan sebagai programmer COBOL, maka tentu saja, silakan dan pelajari.

Untuk alasan lain, seperti mencoba mempelajari sesuatu yang bermanfaat yang dapat membantu Anda dengan teknik pemrograman modern, tidak, jangan repot-repot.


IMO, teknik pemrograman modern tidak ada hubungannya dengan bahasa pemrograman dan lebih banyak hubungannya dengan metodologi perangkat lunak. Ada pengembang yang belum melihat apa pun kecuali bahasa OO dalam kehidupan ahli waris, namun belum dapat menggambarkan seperti apa desain OO yang bagus. Prinsip pemrograman dan rekayasa perangkat lunak yang baik melampaui bahasa pemrograman. Saya akan membayangkan seorang pengembang muda dengan keterampilan yang layak akan memiliki pengalaman belajar rekayasa perangkat lunak yang lebih baik berurusan dengan warisan "prosedural" yang hilang daripada lapisan lain dari kerak prosedural yang ditulis di Jawa (saya adalah pengembang Java btw.)
luis.espinal

3

Pada tahun 2000 saya membaca statistik bahwa ada lebih banyak baris COBOL yang ditulis daripada semua bahasa lain digabungkan.
Tambahkan ke bahwa jaminan IBM bahwa setiap dek TEKS (kode objek), dikompilasi pada sistem MVS dapat dieksekusi pada semua sistem MVS mereka dan Anda memiliki jaminan bahwa akan ada pemrograman COBOL sekitar selama matahari bersinar.


6
Jika Anda memikirkan fakta betapa verba COBOL, tidak heran ;-).
Oliver Weiler

3

Saya dapat memberi tahu Anda bagaimana saya "mempelajarinya":
saya dipekerjakan untuk bekerja dengannya, tidak tahu apa itu, dan tidak kesulitan mempelajarinya dalam semalam.

Jadi, jika Anda membutuhkannya, Anda bisa mempelajarinya. Tidak perlu membebani diri Anda dengan pengetahuan yang tidak berguna. Tidak ada yang menarik di dalamnya atau keterlibatannya kecuali Anda memiliki kebutuhan praktis yang nyata untuk itu.

Jawaban umum: pelajari prinsip-prinsip pengkodean, bukan implementasinya yang spesifik (seperti bahasa, dll.)


2

Saya tidak akan menghabiskan waktu untuk itu.
Bagaimanapun, COBOL adalah blok bangunan dari banyak program aplikasi warisan yang sangat penting untuk beberapa Perusahaan Besar mulai 20 \ 30 tahun yang lalu.
Jadi, jika Anda disewa untuk perusahaan yang memiliki bagian dari bisnis intinya di COBOL, ada kemungkinan Anda harus mulai mempelajarinya.


Seperti? (15 karakter)
TheLQ

@TheLQ Bank atau perusahaan Asuransi mulai 20 \ 30 tahun yang lalu memiliki fondasi perangkat lunak mereka di COBOL.
systempuntoout

2

Pelajari jika Anda suka, mengetahui cara kerja (atau dulu bekerja) tidak bisa menjadi hal yang buruk.

Namun saya akan merekomendasikan untuk tidak terlalu menekankan keterampilan COBOL Anda dalam resume Anda.

Di beberapa tempat (misalnya, di Lembah Silikon tempat saya tinggal) memiliki COBOL dalam resume Anda akan menjadi kewajiban. Oh tentu, Anda mungkin menemukan tempat di sana-sini yang membutuhkan keahlian Anda, dan dalam hal ini silakan dan beriklan ke tempat-tempat itu saja . Namun secara umum, bantulah diri Anda dan lupa untuk menyebutkan bahwa Anda tahu COBOL.

Jadi ya, pelajari jika Anda penasaran, tapi jangan beri tahu siapa pun.


1

Mungkin tidak layak dari perspektif pasar kerja, tetapi Anda mungkin ingin melihatnya hanya untuk merasakan bagaimana hal-hal dilakukan "di hari baik". ^^


Satu-satunya waktu (saya pikir) di mana pasar buruk bagi COBOL adalah selama kiamat dot-com dengan e-hype dan semuanya.
luis.espinal

1

Dari sudut pandang pribadi saya akan mengatakan bahwa ada hal-hal yang lebih baik untuk dipelajari terlebih dahulu. Namun, banyak perusahaan besar memiliki investasi sangat besar dalam basis kode COBOL mereka yang mungkin tidak akan pernah bisa mereka tinggalkan, menciptakan industri bagi para programmer COBOL untuk mempertahankan basis kode serta menulis kode baru. Perusahaan tempat saya bekerja adalah perusahaan finansial besar dan teknologi kami bagi pengembang kira-kira 30% COBOL, 40% Jawa, dan 30% C #.


2
bisa, ya, tapi mengapa - kode kerja adalah kode kerja.

0

Saya baru saja mencari "cobol" di situs web pekerjaan terbesar di Australia. Ini mengembalikan 87 hasil, dan (dari skim cepat) mereka sebagian besar tampaknya menjadi posisi pemeliharaan warisan di bank dan lembaga keuangan. Sebagian besar jelas lebih baik dibayar daripada lebih banyak pekerjaan berbasis bahasa "modern" - mungkin karena kelangkaan pengalaman Cobol.

Jadi ya, sepertinya Cobol akan layak dipelajari jika Anda 1) tidak keberatan melakukan pemeliharaan warisan dan 2) Anda ingin masuk ke ceruk yang dibayar dengan baik dan mungkin tidak terlalu kompetitif karena itu adalah sesuatu yang dipelajari beberapa orang lagi.

(Saya berasumsi pasar Cobol akan serupa di sebagian besar ekonomi Dunia Pertama, tetapi bisa saja salah?)


Bahkan perbankan / asuransi / PA perlahan berevolusi menjadi teknologi yang lebih modern. Jadi sekarang memasuki ceruk ini mungkin baik, tetapi apa yang akan terjadi ketika akhirnya semua kode warisan dan ceruk pasarnya akan hilang?
Wizard79

@ Lorenzo: Ya, ini bisa dikatakan tentang spesialisasi apa pun di bidang kami (bahkan semua bidang pada umumnya). Pelatihan ulang. misalnya. Pengemudi lokomotif uap harus berlatih ulang dan menjadi penggerak lokomotif diesel atau listrik, dll. :)
Bobby Tables

Tapi COBOL sudah menjadi ceruk ... idenya adalah, jika Anda merangkul COBOL sekarang, Anda mungkin perlu melatih kembali lebih cepat daripada teknologi lainnya.
Wizard79

1
@ Lorenzo - Tidak, tidak juga. Fakta bahwa mereka tidak menjadi arus utama di cs univ.'s tidak secara otomatis menjadikan mereka niche. Itu berarti Anda tidak bergerak dalam lingkaran di mana Anda bertemu mereka. Berapa banyak pekerja yang bekerja di produksi jalur mobil yang Anda kenal? Arsitek angkatan laut? Pilot pesawat? Apakah Anda pikir mereka ceruk juga? (dan juga, untuk kedua kategori contoh ini Anda akan kesulitan menemukan iklan pekerjaan). Kita harus tahu ke mana harus mencari.
Benteng

1
@ Lorenzo - apakah Anda benar-benar percaya bahwa semua kode COBOL dan FORTRAN dan basis pengetahuan pada akhirnya akan ditulis ulang? Maksudku, serius. Saya belum pernah bertemu seseorang di industri dan akademisi yang percaya hal seperti itu mungkin, apalagi diinginkan . Sama jeleknya dengan COBOL (reaksi subyektif), sistem-sistem itu bekerja dengan baik, jauh lebih baik daripada e-crap yang telah kita bangun sejak masa dot-com. Itu bukti kualitas industri. Lebih baik teknik dan ekonomi untuk mempertahankan sistem itu daripada menulis
ulangnya

0

Pikirkan tentang jenis domain masalah yang ingin Anda gunakan. Biasanya domain tersebut memiliki serangkaian bahasa yang umumnya digunakan untuk tujuan tersebut. Jika COBOL cocok dengan itu, silakan.

Tidak mungkin saya akan menyentuh kobol atau domain masalah yang sering menggunakannya dengan tiang 10 kaki. Saya lebih suka membalik burger.

Juga pertimbangkan jika bahasa menawarkan beberapa bonus / peningkatan kemampuan / konsep pemrograman Anda. Saya tidak bisa memikirkan apa pun yang bisa dilakukan COBOL / mengimplementasikan / fitur yang tidak dilakukan dengan lebih baik atau dapat diperlihatkan dengan lebih baik dalam bahasa lain.

Anda dan orang lain mungkin merasa berbeda.


0

Masih ada banyak sistem warisan di luar sana yang ditulis dalam COBOL. Apakah Anda ingin mempertahankannya atau mem-port-nya ke bahasa pemrograman lain, masih ada baiknya mempelajari COBOL.

Tidak peduli apa itu, beberapa pengetahuan dalam berbagai bahasa pemrograman akan menjadi nilai tambah karena pengetahuan yang Anda miliki memungkinkan Anda untuk memilih bahasa pemrograman atau pendekatan untuk kebutuhan proyek yang berbeda. Anda dapat menggunakan pengetahuan Anda dalam bahasa pemrograman untuk membuat kode yang lebih baik, lebih bersih dan lebih efisien dan untuk menghindari jebakan.


Dalam tahun 2004 hingga 2005, saya terlibat dalam proyek modernisasi Angkatan Laut di negara saya yang memindahkan sekitar 200KSLOC dari Ada83 ke Ada95 dan sekitar 25KSLOC dari COBOL68 dan COBOL74 ke Ada95. Saya belajar COBOL pada tahun 1987 dan sudah pasti sepadan dengan waktu dan upaya untuk belajar COBOL. Saya tidak bisa membayangkan jika saya tidak memiliki pengetahuan COBOL sebelumnya.
Adrian Hoe
Dengan menggunakan situs kami, Anda mengakui telah membaca dan memahami Kebijakan Cookie dan Kebijakan Privasi kami.
Licensed under cc by-sa 3.0 with attribution required.