JavaRush /Blog Java /Random-MS /Satu bahasa untuk memerintah mereka semua

Satu bahasa untuk memerintah mereka semua

Diterbitkan dalam kumpulan
Terdapat bahasa yang terletak di bawah setiap lapisan kod, dalam mana-mana bahasa pengaturcaraan. Dan dia menunggu untuk ditemui... Terjemahan dan penyesuaian artikel oleh Eric Girois daripada komuniti pengaturcaraan Better on Medium. Satu bahasa untuk memerintah mereka semua - 1Apabila saya menulis artikel ini, bilangan pertanyaan carian dalam gaya "bahasa pengaturcaraan apa yang perlu dipelajari" melebihi 517 juta (!). Setiap halaman daripada senarai hasil carian memberitahu tentang kelebihan bahasa tertentu berbanding yang lain, dan dalam 90% kes anda akan disyorkan perkara yang sama, seperti Python, JavaSctipt (atau sesuatu daripada 3 penilaian berwibawa teratas bagi bahasa bahasa. rating semasa untuk Julai ada di sini ;) Biar saya berani dan secara rasmi tidak bersetuju dengan semua 517 juta keputusan dan mengatakan bahawa bahasa pengaturcaraan pertama yang perlu anda pelajari ialah logik . Tidak cukup hanya mengetahui cara menulis kod. Pasaran penuh sesak dengan graduan pelbagai kursus, itulah sebabnya kedudukan pemaju junior pada dasarnya tidak lagi wujud. Untuk berjaya dalam realiti ini, anda bukan sahaja perlu menulis kod, tetapi juga mempunyai minda yang logik.

Pelajaran sains komputer pertama saya

Perkenalan pertama saya dengan sains komputer berlaku dalam kelas elektif dalam gred sepuluh. Saya datang ke kelas dan merasakan perasaan gembira: terdapat sekumpulan kotak ais krim dan balang sirap di dalam kelas. Apabila kami mengambil tempat duduk, guru mengumumkan: “Hari ini kami akan membuat hari Ahad ( pencuci mulut yang diperbuat daripada ais krim dan sirap - nota editor ). Tetapi dengan satu syarat: anda perlu menulis arahan yang tepat untuk menyediakan pencuci mulut, dan saya akan mengikutinya.” “ Tidak mengapa ,” saya fikir, “ ia akan menjadi mudah .” Dalam hanya seminit, saya mencatat arahan yang sempurna: Letakkan tiga sudu ais krim raspberi dalam cawan Tuangkan dua sudu sirap coklat ke dalam cawan itu Tambah krim putar ke dalam cawan Tambah taburan dan sebiji ceri ke bahagian atas hari Ahad. guru—bertindak sebagai “komputer”—mengikut arahan dengan tepat, dia melakukan persembahan paling kaustik yang pernah saya lihat. Dia mula "menyerang" kotak kadbod aiskrim dengan marah, tetapi penutup tahan lama itu tetap tidak cedera. "Baiklah, mula-mula buka tudung," kataku, berharap untuk mendapatkan pencuci mulut dengan cepat. "Anda gagal menulis arahan dengan betul untuk saya, jadi malangnya saya tidak dapat membuat Ahad SETERUSNYA untuk anda!"

Cepat ke hadapan untuk mencuba #2

Buka sekotak ais krim raspberi dengan menanggalkan penutup Letakkan tiga sudu ais krim raspberi dalam cawan Buka sirap coklat dan tambah dua sudu besar ke dalam cawan itu Buka krim putar dan masukkan sedikit ke dalam cawan Tambah taburan dan sebiji ceri ke atas. pada hari ahad saya yakin saya telah memaku yang ini sekali. Guru membuka penutup, mencedok tiga sudu aiskrim dan memasukkannya ke dalam cawan. Akhirnya, Ahad saya hampir siap! Dia kemudian membuka sirap coklat dan memasukkan dua sudu besar ke dalam cawan. Tetapi bukan dua sudu sirap - hanya sudu, tanpa itu! Arahan saya sekali lagi tidak cukup tepat. Apabila semuanya selesai, saya menerima secawan aiskrim, dua sudu logam, satu tan krim putar, dan kira-kira 300 sudu taburan. Nampaknya pada masa itu semuanya menjadi jelas kepada saya: komputer adalah entiti yang dipandu oleh logik tulen. Dia tidak faham konteks dan tidak membuat andaian. Dia mengikuti satu set arahan yang ketat dan mengikutinya ke surat itu. Arahan terakhir untuk membuat hari Ahad adalah sangat panjang lebar, tetapi ia adalah perlu: ​​Jika belum dibuka, buka pembungkusan semua item berikut: Ais Krim Raspberi, Sirap Coklat, Topping dan Krim Whipped Ambil secawan daripada rak dan letakkan di hadapan anda Ambil satu sudu ais krim dan, Satu demi satu, sudu dan letakkan tiga sudu ais krim ke dalam cawan. Apabila semuanya selesai, letakkan sudu di atas meja. Dapatkan sudu sirap coklat jika anda belum memilikinya. Kemudian ambil satu sudu sirap coklat dan tuangkan ke dalam cawan. Lakukan tindakan ini dua kali. Letakkan sirap coklat di atas rak apabila siap. Terbalikkan botol krim putar dan tekan butang berhampiran muncung botol dengan jari anda selama tiga saat, kemudian kembalikan botol ke kedudukan asalnya. Taburkan 40 butir taburan di atas aiskrim dan sirap coklat di dalam cawan, kemudian kembalikan taburan shaker ke kedudukan asalnya. Keluarkan satu ceri dari balang ceri dan letakkan dengan teliti di atas hari Ahad. Beri pelajar Ahad dan sudu pencuci mulut. Perintah terakhir dalam arahan adalah sangat penting, kerana tanpa itu guru mula makan hari Ahad sendiri. Inilah realiti pengaturcaraan - anda perlu memberikan arahan yang paling tepat kepada komputer. Pada dasarnya, semua bahasa pengaturcaraan terdiri daripada arahan.

Kerjaya dalam Pembangunan Perisian

Pembangunan perisian berada pada tahap pembangunannya di mana bercakap mengenainya sebagai industri yang berasingan nampaknya terlalu umum. Dan kedudukan "pembangun perisian" kedengaran samar-samar dalam hal ini. Dua pembangun dengan set kemahiran yang berbeza mungkin mempunyai permintaan yang sama dalam pasaran kerja, yang menunjukkan bahawa kerjaya yang berjaya dalam pembangunan memerlukan lebih daripada kemahiran pengaturcaraan. Pembangun yang berpengalaman mempunyai sifat biasa yang berasingan daripada logik pengaturcaraan . Pembangun terbaik adalah kuat dalam pemikiran kritis. Ini penting kerana kebanyakan projek pembangunan perisian adalah mimpi buruk patchwork yang kurang didokumentasikan. Seseorang yang berfikiran kritis akan mengambil masa untuk mengumpul semua data dan mengisi kekosongan. Oleh itu, pakar-pakar yang tidak dapat menghubungkan fakta ke dalam satu keseluruhan tertinggal di belakang. Semua ini membawa kepada satu lagi kenyataan yang sangat penting: Asas sains komputer - kedua-dua sekarang dan pada masa hadapan - adalah yang utama. Mereka lebih penting daripada keupayaan untuk menulis kod. Bahasa popular datang dan pergi. Rangka kerja menjadi usang, dan syarikat bertindak balas terhadap permintaan pasaran yang berubah-ubah dengan menggabungkan timbunan teknologi yang digunakan. Apa yang kekal tidak berubah? Asas asas.

Bagaimana untuk membangunkan pemikiran logik

Logik dan pemikiran kritis boleh dan harus dikembangkan. Saya menasihati anda untuk memberi perhatian kepada perkara berikut:

1. Kaji keberkesanan algoritma dalam persekitaran masa jalan

Dikenali sebagai tatatanda Big-O digunakan untuk menerangkan kerumitan algoritma. Jika anda dapat menilai kod anda dalam istilah Big O dan menganalisis bilangan langkah yang dilakukan berbanding masa yang diluangkan, pertimbangkan bahawa anda telah mengambil langkah pertama ke arah yang betul.

2. Pelajari struktur data

Struktur data adalah asas bagi setiap program yang kompleks. Mengetahui jenis yang terbaik untuk digunakan dalam kes ini adalah kemahiran penting. Struktur data secara langsung berkaitan dengan kerumitan algoritma, kerana memilih struktur yang salah boleh membunuh program.

3. Baca/tonton/dengar

Nah, untuk memahami asas, baca buku tentang konsep reka bentuk, amalan terbaik dan gaya pengekodan. Mereka yang belajar pengaturcaraan sangat disyorkan untuk membaca:
  • “Teknik reka bentuk berorientasikan objek. Corak Reka Bentuk” (E. Gamma R. Helm R. Johnson J. Vlissides),
  • “Pemfaktoran semula. Memperbaiki kod sedia ada” (M. Fowler),
  • "Kod Sempurna" (S. McConnell)
  • “Kod Bersih” (B. Martin)
  • "Pengaturcara Pragmatik" (E. Hunt)
  • "Algoritma: pembinaan dan analisis" (T. Cormen, C. Leiserson, R. Rivest dan K. Stein)

4. Berlatih!

Anda tidak boleh menjadi pemain cello yang baik tanpa latihan selama beratus-ratus jam. Amalan harian adalah kunci kejayaan pengaturcaraan. Hari ini terdapat banyak platform dalam talian di mana anda boleh menemui beribu-ribu tugas yang memerlukan pemahaman tentang struktur dan algoritma data (HackerRank, LeetCode, CodeWars dan lain-lain).
Masalah pengaturcaraan Java, daripada mudah kepada kompleks, tersedia di JavaRush. Terdapat lebih daripada 1200 daripadanya dalam kursus ini. Dan juga projek mini dan permainan tugasan .
Bagi saya, cara paling berkesan untuk bekerja dengan platform sedemikian ialah memikirkan pendekatan unik untuk masalah tersebut dan menyiarkan penyelesaian anda di Github. Kemudian lihat penyelesaian teratas untuk masalah yang sama dan analisis pendekatan pengaturcara lain. Ini membawa kita kepada petua terakhir kami:

5. Menganalisis kod orang lain

Kesilapan utama dalam pembelajaran pengaturcaraan dan pada peringkat awal kerja ialah pengasingan diri. Pembangunan perisian adalah bidang yang sebahagian besarnya bergantung pada kerja berpasukan. Kami mencipta piawaian bersama-sama, membuat kesilapan, dan dari semasa ke semasa (sekali lagi, melalui percubaan dan kesilapan) kami memikirkan perkara yang paling berkesan. Mengambil masa untuk membaca kod pembangun berpengalaman akan membuahkan hasil. Hanya pastikan kod itu benar-benar baik.

Kesimpulan

Nasihat peribadi: jangan pernah malu dengan apa yang anda tidak (belum) tahu. Seperti yang dinyatakan di atas, industri ini sangat besar, bilangan bahasa yang luar biasa, dan terdapat lautan maklumat. Ia memerlukan banyak masa dan usaha untuk membentuk sekurang-kurangnya idea umum pengaturcaraan, lebih banyak lagi untuk mendapatkan pengalaman, dan berkali-kali lebih banyak untuk menjadi profesional sebenar. Apabila saya akhirnya berjaya, saya akan memberitahu anda :)
Komen
TO VIEW ALL COMMENTS OR TO MAKE A COMMENT,
GO TO FULL VERSION