Bagaimana memahami seorang pemula, bahasa apa yang harus dipilih untuk profesi yang diinginkan?

Penafian: teks ini tidak disarankan untuk dibaca anak-anak di bawah usia 13 tahun (mereka harus membuat kebijakan privasi terpisah), senior, middle, orang dengan mental yang lemah, pecinta bahasa VBA dan ALGOL, serta wanita hamil. Semua hal di atas adalah pendapat pribadi dari penulis yang tidak memadai dan tidak ditetapkan di sini dengan tujuan menabur perselisihan di antara penganut pengetikan statis dan dinamis. Ayo pergi: Thread baru (). Mulai ()



Sejujurnya, artikel ini telah lama matang, karena saya telah mengalami diskusi, holivar dan artikel serupa belakangan ini, di mana penulis dan peserta mengajukan berbagai hipotesis sejauh pemahaman mereka sebagai jawaban atas pertanyaan judul. Dan seluruh maknanya bermuara pada argumentasi membingungkan yang sama dengan kalimat hiasan yang tertulis di atas.

Saya telah datang jauh dari sperma ke programmer dari seorang remaja yang suka pascal dan windows 3.11, untuk seorang pria yang tidak menyukai apa pun kecuali gulungan dan terminal. Jadi sekarang saya akan menjelaskan semuanya kepada Anda dan bahkan, mungkin, menunjukkan beberapa gambar. Pergilah.

Jadi bahasa pemrograman mana yang harus dipilih?


Kebodohan dari semua pertanyaan semacam itu adalah bahwa Anda tidak bisa menjadi programmer bola bersyarat dalam ruang hampa. Seorang programmer sekarang bukan ahli matematika diskrit di masa lalu, untuk siapa perangkat lunak dan perangkat keras adalah yang kedua. Dalam kebanyakan kasus, programmer sekarang adalah pengrajin yang bekerja dalam kerangka "jendela" teknologi saat ini. Selain itu, ini adalah "jendela" mobil yang bergerak, tempat Anda berlari. Teknologi terus berubah, dan kami terpaksa, seperti Alice Carroll, melarikan diri untuk tetap di tempat. Jika Anda setidaknya menggunakan Google favorit saya, Anda tidak akan punya waktu untuk memahami satu Android API, dan sudah ada setengah dari fitur yang sudah usang, mereka juga mengencangkan sekrup ...
Ahem, ya, ya, artikel seperti untuk pemula, mari kita cari tahu. Untuk memulainya, Anda masih harus menentukan apa sebenarnya yang ingin Anda lakukan? Area, well, setidaknya sekitar?

Tidak mengerti apa-apa?


Mulai belajar konstruk algoritmik. Cabang, loop, struktur data, diagram blok. Ini sangat membantu untuk mentransfer (transfer, bukan copy-paste dari Wikipedia!) Algoritma dan blok diagram ke bahasa pemrograman nyata.

Apa bahasa untuk memulai jika Anda ingin meletakkan dasar?


Pada prinsipnya, apapun. Karena Anda hanya perlu belajar cara menulis program sederhana, memahami variabel apa, operator, mengeksplorasi algoritma klasik, seperti pencarian maksimum, pengurutan, pencarian biner, dll. Selanjutnya, turun ke OOP dan struktur data, karena Anda akan diminta pada wawancara, bagaimana vektor berbeda dari daftar!

Tetapi bagaimana jika Anda membutuhkan bahasa untuk tugas-tugas terapan ?
Ya, dan Anda tidak ingin menjadi seorang programmer. Mungkin Anda adalah seorang ilmuwan yang perlu mengurai file teks dengan rantai DNA, atau investor dengan ide untuk menulis robot perdagangan. Di sini saya akan menyarankan Python, semoga penganut bahasa lain memaafkan saya. Python adalah bahasa dengan kemampuan memusingkan dan ambang masuk yang rendah. Pada mulanya, bahkan pada mulanya, bagi pemula tampaknya ini semacam bahasa β€œpendidikan” yang mudah (sampai Anda mulai menyodoknya menjadi coroutine dan fungsional).

Nah, katamu, tapi ke mana harus pergi selanjutnya ? Bukan python tunggal ...? Tentu saja tidak. Di mana itu menarikmu? Web? Desktop? Skrip? Tingkat sistem Telepon genggam? Anda, sayang, putuskan, tidak ada solusi universal!

Seperti membangun situs? Baiklah, mari kita menulis seperti burung beo di sini: html, javascript dan lain-lain seperti mereka (masih ada python dengan django dan beberapa lainnya diam-diam mengintai di sana)

Ingin layanan web yang keras? PHP, node.js, ruby, Java dan Python yang sama.

Ingin lebih dekat dengan perangkat keras dan sistem operasi? Pegang C / C ++ (hanya jangan tembak kaki Anda sendiri dan potong sendiri, meskipun semua orang pergi ke sana menggunakan gips). Ngomong-ngomong, saya akan menyarankan semua programmer untuk setidaknya berurusan dengan dasar-dasar C / C ++ dan kelas dasar dari STL, Anda tahu, itu membantu untuk kemudian melihat GC dengan mata yang berbeda. Jika sepotong besi jatuh di kepala Anda, pelajari assembler.

Ingin skrip, parse, tambang, bekerja dengan data besar, membangun model, menulis bot, mengelola OS dan banyak lagi?Ambil sudah disuarakan Python3 +. Jika lebih banyak bekerja dengan data - Anda masih dapat mengambil R.

Bermimpi menulis aplikasi desktop? Di sini apa pun! Meskipun Delphi menerimanya! Lelucon, tentu saja. Di sini Anda perlu melihat pada sistem apa untuk menulis, dan apakah cross-platform diperlukan. Misalnya, kode Python atau Java akan portabel. C / C ++ harus dibangun secara terpisah untuk setiap platform.

Ingin tahu inti java? Jadi Anda sudah tahu mengapa Anda perlu java. Tidak tahu? Bagaimana Anda menjelaskan sekarang mengapa Anda membutuhkannya? Pernahkah Anda melihat udara? Namun demikian, seseorang tidak dapat hidup tanpanya. :)

Tentu saja ada barang mewah, Kotlin, misalnya. Yang keren, bahasa ini membunuh teman lama saya, dijuluki NPE, yah, saat dia membunuh - dia terluka! Saya hanya tidak mengerti bagaimana mempelajarinya secara normal untuk orang yang tidak mengenal java? Tidak, "Hello world" ditulis dengan mudah dan tanpa Java, tapi saya tidak tahu lebih jauh.

Mungkin Anda memutuskan untuk menulis game? Ada banyak desainer siap pakai, Unity3D yang sama, serta mesin dua dimensi, biasanya langsung di bawah banyak platform. Anda sudah melihat di sana sendiri: C #, Java, dll. Dan semua ini dipoles dari atas oleh pengetahuan tentang berbagai protokol transfer data, sistem operasi, kerangka kerja, enkripsi dan kriptografi, otorisasi dan otentikasi, XML, JSON, teknologi basis data, perlindungan aplikasi, sistem kontrol versi dan banyak lagi.

Sekarang saya akan membuka rahasia terbesar bagaimana menjadi seorang programmer: program! Apa pun! Tulis program bahkan ketika tidak ada yang membutuhkannya. Menulis karena Anda membutuhkannya, bukan orang lain. Terus-menerus bersandar pada ketidakmampuan, mengisi celah-celah ini dan sekali lagi bersandar pada yang baru. Dan selama ada cukup memori di semua kemungkinan cache kepala Anda.

Bagaimana lagi Anda bisa menjawab pertanyaan: "Bahasa apa yang harus dipelajari?". Jelas yang akan Anda ajak bicara.

Hormat kami, Edward Koch,
Dosen di Sekolah Internasional IT and Cybersecurity HackerU

All Articles