Ambang kemasukan: tinggi, rendah, sederhana
Di kalangan pengaturcara, anda sering mendengar tentang "ambang kemasukan" - konsep yang mencerminkan jumlah usaha yang diperlukan untuk "junior" individu untuk menguasai bahasa pengaturcaraan pada tahap yang mencukupi untuk menulis program serius pertamanya dan mencari pekerjaan. "Ambang kemasukan" terdiri daripada pengetahuan:- ciri sintaks dan nuansa bahasa;
- perpustakaan;
- algoritma dan struktur data.
Web atau bukan Web?
Web
Pengaturcara web boleh dibahagikan kepada pembangun Frontend dan Backend . Perlu memahami maksud istilah ini. Pembangun "Frontend" berurusan dengan apa yang dipanggil bahagian pelanggan - perkara yang akan dilihat oleh pengguna. “Backend” ialah bahagian perisian dan perkakasan perkhidmatan - yang dijalankan pada pelayan. Untuk pembangun Frontend memutuskan bahasa pengaturcaraan yang hendak dipilih, yang mesti ada ialah JavaScript dan rangka kerjanya: Angular JS, React dan lain-lain. Dialek JS tidak sepopular induknya, tetapi juga boleh berguna: CoffeeScript, TypeScript. Terdapat juga kilat AS, sebelum ada JScript dan VBScript, tetapi hanya dinosaur yang ingat itu =) Selain itu, anda perlu memahami HTML dan CSS .Bukan Web (Perusahaan, Desktop, Mudah Alih)
Saya secara khusus mengumpulkan bahasa pengaturcaraan ini ke dalam kategori dengan nama yang begitu pelik. Kebanyakannya boleh digunakan untuk menulis aplikasi perusahaan, desktop, dan juga mudah alih. Python , OOLP yang mudah difahami, telah menjadi sangat popular baru-baru ini disebabkan oleh pembangunan Pembelajaran Mesin : penganutnya menggunakan Python secara meluas. ML adalah bidang yang agak muda dalam IT, dan walaupun buah pertama telah diterima, saya tidak akan tergesa-gesa untuk menyelami industri ini apabila memilih bahasa pengaturcaraan. Pertama, anda perlu SANGAT pandai dalam matematik. Kedua, gelombang populariti mungkin berjalan dengan cara yang sama seperti "chain blok" atau "teknologi nano". Di samping itu, seperti yang anda ingat, Python digunakan dalam pembangunan web. C++ : klasik, semuanya dibina berdasarkan "tambah". Bahasa ini adalah nenek moyang semua OOLP yang popular, dan seorang pemula pastinya perlu memberi perhatian kepadanya. Banyak aplikasi popular berdasarkannya. Tetapi kebarangkalian tinggi untuk "menembak diri sendiri" dan sintaks yang sukar difahami menafikan kemungkinan seorang pemula menguasai mastodon pengaturcaraan ini. Kotlin - Java untuk hipster - gabungan gila OOP dan pengaturcaraan berfungsi. Baru-baru ini popular kerana pembangun berpengalaman yang beralih dari Java ke Kotlin dengan ketara meningkatkan produktivitinya. Pembangun yang berpengalaman akan cepat terbiasa dengan bahasa ini. Ngomong-ngomong, perkara yang sama berlaku untuk Scala, tetapi Kotlin popular di Android. Java mudah dipelajari oleh pemula. Termasuk, terima kasih kepada JavaRush : di sinilah saya memahami cara memilih bahasa pengaturcaraan =) Sintaks Java adalah jelas, ada kemungkinan "menembak diri sendiri", tetapi tidak kritikal.OOP atau POP?
Pendekatan prosedur
Pendekatan berorientasikan prosedur melibatkan penulisan program yang terdiri daripada pernyataan berurutan yang boleh dihimpunkan menjadi satu keseluruhan untuk menyelesaikan pelbagai masalah tertentu dengan berkesan. Bahasa-bahasa ini termasuk: C , PureBasic dan Pascal . Perkara yang sama yang membawa keputusasaan kepada pelajar sekolah menengah dan rendah. Terdapat juga GO yang agak muda . Walau bagaimanapun, kebiasaan dengan bahasa prosedur sangat berguna untuk pembangun yang berpotensi. Bagi saya, rendaman dalam bahasa prosedur dikaitkan dengan sistem Mathematica (Wolfram) dan aktiviti penyelidikan universiti. Terima kasih kepada pendekatan algoritma yang betul dan prosedur mudah, bergerak secara linear dari permulaan program hingga ke penghujungnya, saya dapat mengira nilai yang berkaitan dengan fizik teori moden. Terima kasih kepada bahasa "berurutan" ini anda mula memahami bahawa kadang-kadang lebih mudah untuk menulis kod daripada mengira sendiri. Mempelajari PPP menyediakan latihan algoritma yang baik, yang hampir selalu ingin dilihat oleh majikan dalam diri calon apabila mengambil pekerja. Asas segala-galanya dan semua orang dalam IT dibina berdasarkan bahasa prosedur, jadi jangan memandang rendah mereka. Ngomong-ngomong, pemula yang memutuskan bahasa pengaturcaraan yang hendak dipilih untuk dipelajari sering berfikir bahawa multithreading adalah hak eksklusif OOP. Ini adalah salah. Bahasa pengaturcaraan prosedural juga membolehkan anda melakukan pengiraan selari.Pendekatan berorientasikan objek
Mereka yang bermula dengan bahasa prosedur selalunya mempunyai pengetahuan yang baik tentang matematik, algoritma dan struktur data (ini disebabkan oleh penekanan pada bidang pengetahuan ini di universiti teknikal). Walau bagaimanapun, dalam realiti moden, pengaturcara yang berjaya selalunya mereka yang telah menguasai pendekatan lain untuk pengaturcaraan - berorientasikan objek. Ideologi OOP memungkinkan untuk membina sistem yang benar-benar global. Keistimewaan pendekatan ini adalah persamaannya dengan dunia nyata:- pelbagai objek berinteraksi antara satu sama lain dan wujud secara bebas antara satu sama lain.
- objek mempunyai hierarki dan mampu menerima pakai atau mengubah tingkah laku nenek moyang mereka.
- Anda boleh beroperasi dengan konsep abstrak, tetapi hanya objek yang benar-benar sedia ada boleh berinteraksi.
Contoh Bahasa berorientasikan prosedur ialah alat untuk menyelesaikan masalah tertentu. Dan jika tugas anda telah mengalami perubahan, walaupun kecil, kemungkinan besar anda perlu menghabiskan masa dan usaha untuk menulis semula semua 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ова архитектура у конкретного процессора. «Написано однажды —работает всегда».
-
Документация.
Pangkalan dokumentasi terluas: dokumentasi Oracle rasmi, portal latihan, komuniti yang sentiasa membangun. Jawapan kepada kebanyakan soalan yang timbul semasa pembangunan boleh didapati dalam beberapa minit, perkara utama ialah memahami apa yang perlu ditaip ke dalam enjin carian =)
-
Populariti.
Java ialah bahasa pengaturcaraan paling popular di dunia: sebagai tambahan kepada pembangun Android dan web yang disebutkan di atas, hampir setiap pembangun perusahaan kali pertama menulis dalam Java. Perusahaan ialah pembangunan dalaman yang diperlukan untuk keperluan syarikat besar.
Setiap tahun, pembenci meramalkan "kematian Java", mereka berkata: " Oracle akan berhenti menyokongnya, dan secara umum anda melakukan perkara karut ." Ini adalah salah! Versi baharu Java dijanjikan akan dikeluarkan setiap enam bulan. Inovasi dan ciri terpenting versi terkini boleh dibaca di sini .
Bagi saya, lambdas di Java 8 adalah revolusi dan penemuan, apatah lagi versi baharu! Sekarang saya sedang mengusahakan projek "retrograde", jadi saya tidak mendalami inovasi, tetapi hakikat bahawa Java masih hidup adalah fakta.
-
Android.
Android dengan yakin telah menduduki lebih daripada 80% pasaran telefon mudah alih selama 4 tahun yang lalu; TV, pemain media dan juga sistem media dalam kereta beroperasi di bawah sistem pengendalian ini. Dan pembangunan untuk OS ini dijalankan terutamanya di Jawa. Bayangkan apa prospek yang dibuka. Apabila saya mendapat pekerjaan sebagai pembangun Android, saya mula berminat: berapakah kos produk yang saya bangunkan? Ternyata harga setahun adalah lebih kurang $5. Persoalan yang munasabah timbul: dari mana datangnya dana untuk pejabat ini, untuk gaji, kuki, meja tenis, robot dan "perkara bagus" lain? Ini soal kuantiti: aplikasi kami mempunyai 20 juta pengguna.
-
Gaji.
Dan untuk pencuci mulut: gaji pemaju Java adalah salah satu yang tertinggi dalam industri. Anda akan belajar pengaturcaraan untuk tujuan tertentu: untuk mendapatkan pekerjaan yang baik.
Populariti bahasa pengaturcaraan
Apabila memilih bahasa pengaturcaraan, anda perlu memikirkan matlamat utama pembelajaran - mendapatkan pekerjaan pertama anda. Untuk menilai populariti bahasa yang berbeza, saya pergi ke portal pengambilan popular dan mula melihat bilangan kekosongan untuk pelbagai permintaan untuk Moscow. Anda boleh lihat hasilnya di bawah.Jawa: | 277 |
ular sawa: | 227 |
php: | 188 |
c#: | 147 |
c++: | 131 |
delima: | 40 |
skala: | 24 |
kotlin: | 20 |
KEPUTUSAN
Inilah perkara yang perlu diberi perhatian oleh pemula apabila memilih bahasa pengaturcaraan:- Populariti (Java secara konsisten menduduki kedudukan utama);
- Ambang kemasukan (Untuk Java - purata: julat kecekapan yang diperlukan oleh majikan agak luas);
- Bahan yang tersedia (tidak ada portal yang serupa dengan JavaRush dalam bahasa Rusia, oleh itu, tapak tangan pergi untuk meneka siapa =));
- Bidang aplikasi: lebih banyak industri di mana bahasa pengaturcaraan boleh digunakan, lebih ramai pakar diperlukan dalam pasaran. Saya sudah bercakap tentang merentas platform, tetapi saya tidak akan jemu mengulanginya.
GO TO FULL VERSION