CodeGym /Blog Jawa /Acak /Milih basa pamrograman
John Squirrels
tingkat
San Francisco

Milih basa pamrograman

Diterbitake ing grup
Aku pisanan nemokake program ing sekolah, ing pelajaran babagan ilmu komputer. Iki kalebu sawetara panjelasan sing nyenengake babagan cara kerja sistem nomer n-ary. Lan, mesthi, ana tes sing mbutuhake sampeyan nulis situs web sampeyan dhewe. Ing wektu iku, misale jek ora ana pendhudhukan sing luwih mboseni. Sepira salahku! Sayange, program ilmu komputer sekolah menengah ora menehi gambaran lengkap babagan karya IT, lan ora nerangake carane milih basa pamrograman. Sadurunge takon "Basa pamrograman apa sing kudu daksinaoni?", pamula kudu ngerti basa apa sing ana ing njaba lan kepiye bedane. Milih basa pamrograman - 1

Ambang entri: Dhuwur, kurang, medium

Programer asring ngomong babagan "ambang entri" - konsep sing nuduhake jumlah gaweyan sing dibutuhake kanggo "pangembang junior" tartamtu kanggo nguasai basa pamrograman kanthi cukup kanggo nulis program serius sing sepisanan lan golek kerja. "Ambang entri" kalebu kawruh babagan:
  • kekhasan sintaksis lan nuansa basa
  • perpustakaan
  • algoritma lan struktur data.
Makarya ing Excel bisa uga diarani jinis pemrograman. Miturut cara, program kantor sing akrab iki ora gampang kaya sing katon. Kanggo siji pangguna, batesan entri bisa dadi kemampuan kanggo nggawe tabel. Kanggo liyane, bisa uga kawruh babagan rumus rumit lan makro. Ing kasus apa wae, ambang iki cilik. Sabanjure teka quasi-basa, kayata 1C -programming. Banjur ana basa sing paling gampang kanggo sinau, contone PHP . Salajengipun, kita duwe basa kanthi sintaksis asli (biasane asale saka basa Inggris) sing ora mbutuhake sampeyan nangani manajemen memori, contone, Jawa lan JS . Banjur ana basa sing mbutuhake penanganan memori sing ati-ati, struktur data, lan algoritma, contone, C lanC++ . Basa multi-paradigma enom, contone, Scala , mbok menawa ambang entri paling dhuwur, amarga nguwasani wong-wong mau mbutuhake sampeyan nyilem menyang akeh paradigma pemrograman. Nanging sadurunge milih basa, sampeyan kudu mutusake apa sing arep ditindakake sabanjure: berkembang kanggo web, perusahaan, desktop, utawa piranti seluler .

Web utawa ora web?

Web

Programer web bisa dipérang dadi pangembang Frontend lan Backend . Sampeyan kudu ngerti apa tegese istilah kasebut. Pangembang frontend melu ing sisih klien, yaiku apa sing dideleng pangguna. "Backend" yaiku babagan manipulasi lan nyimpen data - bagean saka layanan sing mlaku ing server. Kanggo pangembang Frontend sing mutusake basa pamrograman sing bakal dipelajari, kerangka JavaScript lan JavaScript (Angular JS, React lan liya-liyane) penting. Dialek JS, kayata CoffeeScript lan TypeScript, ora populer kaya wong tuwa, nanging uga bisa migunani. Ana uga Flash AS, lan ana JScript lan VBScript, nanging mung dinosaurus sing ngelingi iki =) Kajaba iku, sampeyan kudu ngerti HTML.lan CSS . Milih basa pamrograman - 2Akeh pemula mikir yen JavaScript lan Jawa meh padha. Aja bingung basa-basa iki. JS biyen diarani "LiveScript" lan entuk jeneng saiki mung amarga popularitas tembung "Jawa". Kanggo pangembang backend web , PHP, Python, Ruby, Perl, lan Java cocok. Kene aku arep fokus ing PHP (kita bakal ngomong bab basa liyane mengko). PHP minangka salah sawijining basa sing paling gampang disinaoni, duwe ambang entri sing sithik. Miturut survey pangembang web sing kondhang, Ruby alon-alon nanging mesthi entuk popularitas - dheweke disenengi amarga ringkes lan kaendahane.

Ora web (perusahaan, desktop, seluler)

Aku sengaja nggabungake basa pamrograman ing ngisor iki menyang kategori iki kanthi jeneng aneh. Sampeyan bisa nggunakake umume kanggo nulis aplikasi perusahaan, desktop, lan malah seluler. Python minangka basa pemrograman berorientasi obyek sing gampang dimangerteni lan bubar dadi populer amarga mesin learning wutah (ML): Pangembang ML nggunakake Python kanthi ekstensif. MLminangka wilayah sing cukup anyar ing IT, lan sanajan kita wis ndeleng woh, aku ora bakal cepet-cepet menyang industri iki nalika milih basa pamrograman. Pisanan, sampeyan butuh pangerten sing BAIK babagan matematika. Kapindho, gelombang popularitas bisa uga padha karo "blockchain" utawa "nanoteknologi". Yen ngandika, sampeyan bisa uga kelingan sing Python digunakake ing pembangunan web. C++: basa klasik ngendi kabeh wis dibangun ing operator "plus-plus". Basa iki minangka leluhur saka kabeh basa pemrograman berorientasi obyek sing populer, lan para pamula mesthine kudu menehi perhatian. Akeh aplikasi populer wis ditulis nggunakake. Nanging kesempatan sing apik kanggo "nembak dhewe ing sikil" lan sintaks sing angel dimangerteni nggawa kemungkinan nul yen pamula bakal nguwasani program mastodon iki. Kotlin, kang kaya Jawa kanggo hipsters, punika campuran edan OOP lan program fungsi. Iki wis populer amarga kasunyatane pangembang sing berpengalaman sing ngalih saka Jawa menyang Kotlin bisa nambah produktivitas kanthi serius. Pangembang sing berpengalaman bakal cepet kepenak ing basa pamrograman iki. Miturut cara, bab sing padha ditrapake kanggo Scala, nanging Kotlin misuwur ing donya Android. Basa Jawa gampang disinau kanggo pamula. Utamane kanthi bantuan CodeGym =) sintaksis Jawa bisa dingerteni lan sanajan ana risiko "nembak dhewe ing sikil", ora kritis.

OOP utawa POP?

Pendekatan prosedural

Pendekatan berorientasi prosedur nyakup nulis program sing kasusun saka statement sekuensial sing bisa dirakit dadi sakabehe kanggo ngrampungake masalah tartamtu kanthi efektif. Basa kasebut kalebu C , PureBasic lan Pascal . Tegese, basa-basa kang ndadekake para siswa SMA lan sarjana. Ana uga GO sing relatif enombasa. Sing jarene, akrab karo basa prosedural migunani banget kanggo pangembang potensial. Kecemplungku ing basa prosedural teka karo sistem Wolfram Mathematica lan riset universitas. Algoritma sing tepat lan prosedur sing prasaja, obah kanthi linear saka wiwitan program nganti pungkasan, ngidini aku ngetung nilai sing cocog karo fisika teoritis modern. Basa pamrograman "sekuensial" iki mung kanggo mbantu sampeyan ngerti yen kadhangkala luwih gampang nulis kode sing nindakake petungan kanthi manual. Learning procedure-oriented programming (POP) nyedhiyakake latihan algoritma sing apik, sing meh tansah pengin dideleng dening majikan ing calon kerja. Pancen kabeh ing IT dibangun kanthi dhasar basa prosedural, mula aja disepelekake. Miturut cara, pamula sing mutusake basa pamrograman sing kudu dipelajari asring mikir yen mung basa OOP sing ndhukung multithreading. Iki ora bener. Basa pamrograman prosedural uga ngidini komputasi paralel. Milih basa pamrograman - 3

Pendekatan berorientasi obyek

Wong-wong sing miwiti nganggo basa prosedural biasane ngerti babagan matematika, algoritma, lan struktur data (amarga penekanan universitas teknis ing wilayah kasebut). Isih, kasunyatan saiki yaiku programer sing sukses biasane sing wis nguwasani pendekatan sing beda kanggo program: paradigma berorientasi obyek. Ideologi OOP ngidini sampeyan mbangun sistem sing sejatine global. Fitur pendekatan iki yaiku mirip karo jagad nyata:
  • Objek sing beda-beda sesambungan karo siji liyane lan ana kanthi bebas.
  • Objek duwe hierarki lan bisa ngadopsi utawa ngowahi prilaku para leluhure.
  • Sampeyan bisa nggunakake konsep abstrak, nanging mung obyek sing bener ana bisa sesambungan.

Tuladha

Basa berorientasi prosedur minangka piranti kanggo ngrampungake masalah tartamtu. Yen tugas sampeyan ganti, malah rada, sampeyan kudu nglampahi wektu lan gaweyan kanggo nulis ulang kabeh algoritma.

Bayangake program sing nggambarake dealer mobil sing adol mobil lan truk, sing anyar lan bekas. Ing basa prosedural, sampeyan kudu nemtokake fungsi sing ngolah input utawa output data kanggo saben entitas: mobil anyar, truk anyar, mobil bekas, lan truk bekas. Apa sing ditawakake OOP? Kanthi pendekatan berorientasi obyek, kita mung kudu nemtokake kelas dasar Kendaraan sing nyimpen karakteristik sing dituduhake dening kabeh jinis kendaraan:

  • Gawe
  • pamindahan engine
  • Daya kuda
  • taun
  • Anyar utawa digunakake
  • Rega

Lan cara kanggo njupuk lan ngirim informasi. Banjur kita nggawe obyek sing marisi karakteristik kelas Kendaraan: Mobil lan Truk. Dheweke ngemot informasi sing ana gandhengane karo jinis kendaraan kasebut, uga cara input / output.

Ujug-ujug, manajemen dealer mutusake kanggo nggedhekake lineup kanthi nawakake motor. Ing pendekatan prosedural, kita kudu nggawe maneh kabeh logika kanggo motor anyar lan bekas, nalika basa OOP ngidini kita nggawe kelas Motorcycle anyar sing marisi kabeh karakteristik saka superclass Kendaraan lan ngemot refinements khusus motor.

Lan apa sing bakal kelakon yen kita nambah macem-macem kendaraan? Implementasi prosedural mbutuhake karya luwih akeh tinimbang OOP. Apa maneh, luwih gedhe lineup, luwih sithik operasi sing nglibatake obyek sing dibutuhake.

Dadi, OOP minangka gaya pemrograman sing ngidini sampeyan nggabungake data lan metode dadi siji entitas lan bisa digunakake minangka obyek sing manunggal. Entitas bisa disusun ing hirarki lan sesambungan karo siji liyane tanpa nyelidiki rincian implementasi internal siji liyane. Aku bakal nuduhake telung alasan kenapa OOP minangka pendekatan sing luwih maju kanggo aku:
  1. OOP melu pangembangan modul individu, ngidini programmer utawa tim milih cara lan wates kontak lan ijol-ijolan informasi.
  2. Kode sing dipérang dadi modul cilik luwih gampang diwaca tinimbang prosedur monolitik. Akibaté, wong njaba bisa ngerti kode sampeyan kanthi cepet, lan uga, sampeyan bisa gabung karo proyek anyar yen perlu.
  3. Siji kelas bisa diganti tanpa mengaruhi interaksi liyane, nanging owah-owahan kuwi bisa mengaruhi hirarki obyek anak. Sawise sampeyan wis nguwasani pendekatan iki, ngembangake lan ngowahi program dadi ora pati penting.
Elinga yen siji pendekatan ora konflik karo liyane, nanging OOP isih luwih dhuwur ing hirarki. Dadi, kenapa aku nyaranake basa Jawa? Aku bakal nyorot alasan ing ngisor iki:
  1. Cross-platform.

    Java bisa digunakake ing endi wae amarga mesin virtual Java (JVM). Salah sawijining kaluwihan utama basa iki yaiku sifat lintas platform: ora perlu mikir babagan perpustakaan sing bakal ditambahake utawa arsitektur prosesor tartamtu. "Tulis sepisan, mlayu menyang endi wae."

  2. Dokumentasi.

    Ana basis dokumentasi sing gedhe banget: dokumentasi Oracle resmi, portal pelatihan, lan komunitas sing terus berkembang. Jawaban kanggo akeh pitakonan sing muncul sajrone pembangunan bisa ditemokake ing sawetara menit. Sing utama yaiku ngerti apa sing kudu dilebokake ing mesin telusur =)

  3. Popularitas.

    Java minangka basa pamrograman sing paling populer ing donya: saliyane pangembang Android lan web sing kasebut ing ndhuwur, meh kabeh pangembang perusahaan nulis ing Jawa. Perusahaan nuduhake pangembangan perusahaan internal sing dibutuhake kanggo kabutuhan perusahaan gedhe.

    Saben taun, para haters prediksi "mati Jawa". Dheweke ujar, " Oracle bakal mandheg ndhukung. Sampeyan pancene mbuang wektu. " Iki ora bener! Dheweke janji bakal ngeculake versi anyar Jawa saben nem sasi.

    Kanggo kula, ekspresi lambda ing Jawa 8 iku revolusioner lan wahyu, kanggo ngomong apa-apa saka versi anyar! Aku saiki lagi nggarap proyek "warisan", mula aku ora nyelidiki inovasi-inovasi sing paling anyar, nanging nyatane Jawa isih urip.

    Milih basa pamrograman - 4
  4. Android.

    Sajrone 4 taun kepungkur, Android terus-terusan nyekel luwih saka 80% pasar ponsel . TV, pamuter media, lan malah sistem infotainment mobil mbukak ing sistem operasi iki. Lan pangembangan app kanggo OS iki kedadeyan utamane ing Jawa. Bayangake prospek sing mbukak. Nalika aku entuk proyek minangka pangembang Android, Aku kepingin weruh carane akeh prodhuk aku ngembangaken worth? Ternyata, regane kira-kira $5 saben taun. Sing dadi pitakonan, "Banjur saka ngendi dhuwit kanggo kantor iki, gaji, kamar cemilan, meja ping-pong, robot, lan tunjangan liyane? Jawaban kasebut ana ing volume: aplikasi kita duwe 20 yuta pangguna.

  5. Gajih.

    Lan saiki icing ing jajan: gaji pangembang Jawa iku salah siji sing paling dhuwur ing industri. Sawise kabeh, sampeyan lagi ngrancang sinau program kanggo tujuan tartamtu: kanggo entuk kerja sing apik.

Popularitas basa pamrograman

Ana sumber informasi resmi, mula ayo goleki. Miturut TIOBE , Jawa ana ing peringkat siji wiwit Oktober 2019. Ing peringkat PYPL , Jawa peringkat nomer loro, adoh saka JS lan saingan karo Python sing trendi.

Kesimpulan

Minangka pamula mikir babagan milih basa pamrograman, iki sing kudu digatekake:
  • Popularitas (Jawa terus-terusan ngenggoni posisi utama)
  • Ambang entri (kanggo Jawa, iku medium: majikan mbutuhake sawetara katrampilan sing cukup jembar)
  • Materi sing kasedhiya (sugeng rawuh ing CodeGym =))
  • Bidang aplikasi: luwih akeh lapangan ing ngendi basa pamrograman digunakake, luwih akeh spesialis sing dibutuhake ing pasar. Aku wis kasebut carane Jawa ndhukung pembangunan lintas-platform, nanging aku ora bosen kanggo mbaleni.
Mesthi wae, ana pitfalls ing endi wae, nanging sing njupuk langkah maju: mung sampeyan bisa milih basa pamrograman sing bakal dipilih. Good luck ing sinau!
Komentar
TO VIEW ALL COMMENTS OR TO MAKE A COMMENT,
GO TO FULL VERSION