Ambang entri: dhuwur, kurang, medium
Antarane programer, sampeyan bisa kerep krungu bab "ambang entri" - konsep sing nuduhake jumlah gaweyan sing dibutuhake kanggo "junior" individu kanggo master basa program ing tingkat cekap kanggo nulis program serius pisanan lan golek proyek. "Ambang entri" kalebu kawruh:- fitur sintaksis lan nuansa basa;
- perpustakaan;
- algoritma lan struktur data.
Web utawa ora Web?
Web
Programer web bisa dipérang dadi pangembang Frontend lan Backend . Perlu dimangerteni apa tegese istilah kasebut. Pangembang "Frontend" menehi hasil karo sing diarani sisih klien - apa sing bakal dideleng pangguna. "Backend" minangka bagean piranti lunak lan piranti keras saka layanan - apa sing mlaku ing server. Kanggo pangembang Frontend sing mutusake basa pamrograman sing kudu dipilih, sing kudu ditindakake yaiku JavaScript lan kerangka kerjane: Angular JS, React lan liya-liyane. Dialek JS ora populer kaya wong tuwane, nanging bisa uga migunani: CoffeeScript, TypeScript. Ana uga lampu kilat AS, sadurunge ana JScript lan VBScript, nanging mung dinosaurus sing elinga =) Kajaba iku, sampeyan kudu ngerti HTML lan CSS .Non-Web (Enterprise, Desktop, Mobile)
Aku khusus nglumpukake basa pamrograman kasebut dadi kategori kanthi jeneng sing aneh. Umume bisa digunakake kanggo nulis perusahaan, desktop, lan malah aplikasi seluler. Python , OOLP sing gampang dimangerteni, bubar dadi populer amarga pangembangan Machine Learning : para penganut akeh nggunakake Python. ML minangka wilayah sing cukup enom ing IT, lan sanajan woh-wohan pisanan wis ditampa, aku ora bakal cepet-cepet nyilem ing industri iki nalika milih basa pamrograman. Kaping pisanan, sampeyan kudu pinter matematika. Kapindho, gelombang popularitas bisa uga padha karo "blockchain" utawa "nanoteknologi". Kajaba iku, nalika sampeyan ngelingi, Python digunakake ing pangembangan web. C ++ : klasik, kabeh wis dibangun ing basis saka "plus". Basa iki minangka leluhur saka kabeh OOLP sing populer, lan pamula mesthine kudu menehi perhatian. Akeh aplikasi populer adhedhasar iku. Nanging kemungkinan dhuwur "nembak dhewe ing sikil" lan sintaks sing angel dimangerteni negate kemungkinan pamula nguwasani program mastodon iki. Kotlin - Java kanggo hipsters - campuran gila OOP lan program fungsional. Bubar populer amarga pangembang sing berpengalaman sing ngalih saka Jawa menyang Kotlin kanthi signifikan nambah produktivitas. Pangembang sing berpengalaman bakal cepet digunakake ing basa iki. Miturut cara, padha ditrapake kanggo Scala, nanging Kotlin populer ing Android. Jawa iku gampang kanggo pamula sinau. Kalebu, thanks kanggo JavaRush : ing kene aku ngerti carane milih basa pamrograman =) Sintaks Java jelas, ana kemungkinan "nembak dhewe ing sikil", nanging ora kritis.OOP utawa POP?
Pendekatan prosedural
Pendekatan berorientasi prosedur kalebu nulis program sing kasusun saka statement sekuensial sing bisa dirakit dadi siji kanggo ngrampungake masalah tartamtu kanthi efektif. Basa kasebut kalebu: C , PureBasic lan Pascal . Semono uga sing ndadekke rasa kuciwa marang para siswa SMA lan SMP. Ana uga GO sing relatif enom . Nanging, akrab karo basa prosedural migunani banget kanggo pangembang potensial. Kanggo kula, kecemplung ing basa prosedural digandhengake karo sistem Mathematica (Wolfram) lan kegiatan riset universitas. Thanks kanggo pendekatan algoritmik sing tepat lan tata cara sing prasaja, obah kanthi linear saka wiwitan program nganti pungkasan, aku bisa ngetung nilai sing cocog karo fisika teoritis modern. Thanks kanggo basa "sekuensial" iki, mula sampeyan ngerti manawa kadhangkala luwih gampang nulis kode tinimbang ngitung dhewe. Sinau PPP nyedhiyakake latihan algoritma sing apik, sing meh tansah pengin dideleng ing calon nalika nyewa. Dasar kabeh lan kabeh wong ing IT dibangun ing basa prosedural, mula aja ngremehake. Miturut cara, pamula sing mutusake basa pamrograman sing dipilih kanggo sinau asring mikir manawa multithreading minangka prerogatif eksklusif OOP. Iki salah. Basa pemrograman prosedural uga ngidini sampeyan nindakake petungan paralel.Pendekatan berorientasi obyek
Wong-wong sing miwiti nganggo basa prosedural paling kerep duwe kawruh sing apik babagan matématika, algoritma lan struktur data (iki amarga penekanan ing bidang kawruh ing universitas teknis). Nanging, ing kasunyatan modern, programer sukses asring sing wis nguwasani pendekatan liyane kanggo program - object-oriented. Ideologi OOP ndadekake iku bisa kanggo mbangun sistem saestu global. Keanehan pendekatan iki yaiku mirip karo jagad nyata:- macem-macem obyek sesambungan karo saben liyane lan ana independen saka saben liyane.
- obyek duwe hirarki lan bisa ngadopsi utawa ngganti prilaku leluhure.
- Sampeyan bisa operate karo konsep abstrak, nanging mung obyek tenan ana bisa sesambungan.
Tuladha Basa berorientasi prosedural minangka alat kanggo ngrampungake masalah tartamtu. Lan yen tugas sampeyan wis ngalami owah-owahan, sanajan cilik, sampeyan bakal kudu nglampahi wektu lan gaweyan kanggo nulis ulang kabeh algoritma. Представим программу, описывающую автосалон, который продает легковые и грузовые автомобor, How новые, так и подержанные. В proceduresном языке для каждого an object нужно описать функции, обрабатывающие ввод or вывод данных для нового легкового, нового грузового, б/у легкового и б/у грузового автомобилей. А что предлагает ООП? При an objectно-ориентированном подходе нужно просто описать базовый класс ТРАНСПОРТ, который будет хранить в себе характеристики, присущие и тому, и другому типу автомобилей:
И методы для ввода-вывода информации. Затем создадим an objectы, наследующие характеристики класса ТРАНСПОРТ: ЛЕГКОВУШКА и ГРУЗОВИК. Они содержат уточнённую информацию, присущую именно таким видам транспорта, а также методы ввода-вывода. Внезапно руководство салона решило расширить ассортимент и продавать еще и мотоциклы. Процедурный подход предложит переписать всю логику для новых и б/у мотоциклов с самого начала, в то время How ООП-язык позволит просто создать новый an object МОТОЦИКЛ, наследующий все характеристики суперкласса ТРАНСПОРТ и содержащий уточнения. А что будет, если добавлять разные транспортные средства? Процедурная реализация будет требовать больших трудозатрат, чем ООП. Причем чем больше ассортимент, тем меньше нужно будет делать манипуляций с an objectми. |
- ООП предполагает независимую разработку отдельных модулей, предоставляя программисту or команде выбирать способ и границы соприкосновений и обмена информацией.
- Разбиение на небольшие модули намного проще для восприятия, чем монолитные proceduresы. Благодаря этому сторонний разработчик быстро разберется в твоем codeе, а ты при необходимости войдешь в новый проект.
- Изменение одного an object может ниHow не отразиться на взаимодействии с другим, но способно повлиять на иерархию дочерних an objectов. Освоив такой подход, расширение и доработка программы становится тривиальной задачей.
-
Кроссплатформенность.
Java работает везде благодаря JVM —виртуальной машине Java. Один из главных плюсов этого языка — кроссплатформенность: не нужно думать о том, Howую библиотеку подключить, Howова архитектура у конкретного процессора. «Написано однажды —работает всегда».
-
Документация.
Basis dokumentasi paling jembar: dokumentasi Oracle resmi, portal pelatihan, komunitas sing terus berkembang. Jawaban kanggo paling pitakonan sing muncul sajrone pembangunan bisa ditemokake ing sawetara menit, sing utama yaiku ngerti apa sing kudu diketik ing mesin telusur =)
-
Popularitas.
Java minangka basa pamrograman sing paling populer ing donya: saliyane pangembang Android lan web sing kasebut ing ndhuwur, meh saben pangembang perusahaan pisanan nulis ing Jawa. Enterprise minangka pangembangan internal sing dibutuhake kanggo kabutuhan perusahaan gedhe.
Saben taun, para sengit prédhiksi "mati Jawa", ujare: " Oracle bakal mandheg ndhukung, lan umume sampeyan nindakake omong kosong ." Iki salah! Versi Jawa anyar dijanjekake bakal dirilis saben nem sasi. Inovasi lan fitur paling penting saka versi paling anyar bisa diwaca kene .
Kanggo kula, lambdas ing Jawa 8 minangka revolusi lan panemuan, ora kanggo sebutno versi anyar! Saiki aku lagi nggarap proyek "retrograde", mula aku ora nyelidiki inovasi, nanging kasunyatan sing urip ing Jawa iku kasunyatan.
-
Android.
Android kanthi yakin nguwasani luwih saka 80% pasar ponsel sajrone 4 taun kepungkur; TV, pamuter media lan malah sistem media ing mobil beroperasi ing sistem operasi iki. Lan pangembangan kanggo OS iki ditindakake utamane ing Jawa. Bayangake apa prospek sing mbukak. Nalika aku entuk pakaryan minangka pangembang Android, aku dadi kasengsem: pinten biaya prodhuk sing lagi dikembangake? Pranyata rega saben taun kira-kira $5. Pitakonan sing cukup muncul: saka ngendi dana kanggo kantor iki, kanggo gaji, cookie, meja tenis, robot lan "barang-barang apik" liyane? Iku masalah kuantitas: aplikasi kita duwe 20 yuta pangguna.
-
Gajih.
Lan kanggo panganan cuci mulut: gaji pangembang Jawa minangka salah sawijining sing paling dhuwur ing industri. Sampeyan bakal sinau pemrograman kanggo tujuan tartamtu: entuk kerja sing apik.
Popularitas basa pamrograman
Nalika milih basa pamrograman, sampeyan kudu mikir babagan tujuan utama sinau - entuk kerja pertama. Kanggo netepake popularitas basa sing beda-beda, aku lunga menyang portal rekrutmen populer lan wiwit ndeleng nomer lowongan kanggo macem-macem panjalukan kanggo Moskow. Sampeyan bisa ndeleng asil ing ngisor iki.Jawa: | 277 |
python: | 227 |
php: | 188 |
c#: | 147 |
c++: | 131 |
rubi: | 40 |
skala: | 24 |
kotlin: | 20 |
Asil
Mangkene apa sing kudu digatekake pamula nalika milih basa pamrograman:- Popularitas (Jawa terus-terusan manggoni posisi utama);
- Ambang entri (Kanggo Jawa - rata-rata: jangkoan kompetensi sing dibutuhake dening majikan cukup jembar);
- Bahan sing kasedhiya (ora ana portal sing padha karo JavaRush ing basa Rusia, mula palem bisa ngira sapa =));
- Wilayah aplikasi: luwih akeh industri ing ngendi basa pamrograman bisa digunakake, luwih akeh spesialis sing dibutuhake ing pasar. Aku wis ngomong babagan cross-platform, nanging aku ora bakal bosen mbaleni.
GO TO FULL VERSION