Ularning barchasini boshqarish uchun bitta til

Kod qatlami ostida yashiringan til zaiflashadi va o'rganishga intiladi.

Ularning barchasini boshqarish uchun bitta til

Ushbu yozilish holatiga ko'ra, "birinchi navbatda qaysi tilni o'rganishni dasturlash" so'rovi 517 million qidiruv natijalarini beradi. Ushbu saytlarning har biri ma'lum bir tilni maqtaydi va ularning 90% Python yoki JavaScript-ni tavsiya qiladi.

Ko'proq cho'zmasdan, men ushbu 517 million veb-saytlarning barchasi noto'g'ri ekanligini rasman e'lon qilmoqchiman va birinchi navbatda siz o'rganishingiz kerak bo'lgan til asosiy mantiq.

Faqat kodlashni bilishning o'zi etarli emas. Bozor institut va kurslar bitiruvchilari bilan shu qadar to'lib ketganki, kichik lavozim amalda to'xtadi*. Bugungi dunyoda muvaffaqiyatga erishish uchun siz kodlash va ilg'or fundamental mantiqiy fikrlashga ega bo'lishingiz kerak.

*bundan keyin, iltimos, bu tarjima ekanligini unutmang va muallif uchun va sizning mamlakatingizdagi mehnat bozoridagi vaziyat boshqacha bo'lishi mumkin (shuningdek, boshqa nuanslar), ammo bu o'z-o'zidan asl maqolani yomonlashtirmaydi - taxminan. tarjima

Mening birinchi informatika darsim

Informatika fanidan birinchi bo‘lib 10-sinfda o‘qiganim tanlov bo‘ldi. Sinfga kirgan birinchi kuniyoq ro‘paramda juda ko‘p chelak muzqaymoq va turli xil qo‘shimchalar turganini ko‘rib, xursand bo‘ldim. Hamma o‘tirgandan keyin o‘qituvchi e’lon qildi:

“Bugun biz o'zimiz tayyorlagan muzqaymoqlarni tatib ko'ramiz. Ammo bitta shart bilan: siz shirinlik tayyorlash bo'yicha aniq ko'rsatmalar ro'yxatini tuzishingiz kerak va men ularga amal qilaman."

"Muammo yo'q," deb o'yladim men, "bu dars uzoq davom etmaydi". Bir daqiqa yoki undan ko'proq vaqt ichida men orzularimdagi muzqaymoq uchun ajoyib retseptni yozib oldim:

  1. Bir piyola ichiga uch qoshiq malinali muzqaymoqni oling va joylashtiring
  2. Shokolad sousini oching va bir xil idishga ikki osh qoshiq qo'shing
  3. Ko'pirtirilgan kremni idishga qo'shing
  4. Hammasini shakar tayoqchalari bilan sepib, ustiga gilos qo'ying

Mening o'qituvchim - bu yoqimli metaforadagi "kompyuter" - men hech qachon ko'rmaganimdan ham istehzoli, tom ma'noda ijro etdi. U muzqaymoq paqirini hatto qopqog'iga ham tegmasdan, bir qoshiq bilan g'ayrat bilan tesha boshladi.

"Yaxshi, yaxshi, lekin avval uni ochishingiz kerak!" – deb xitob qildim noz-ne’matni tezroq olishga urinib.

"Siz buni yo'riqnomada yozmadingiz va men sizga muzqaymoq tayyorlay olmadim. KEYINGISI!"

Keling, №2 urinish uchun oldinga siljaylik

  1. Qopqoqni olib, malinali muzqaymoqni oching
  2. Bir piyola ichiga uch qoshiq malinali muzqaymoqni oling va joylashtiring
  3. Shokolad sousini oching va bir xil idishga ikki osh qoshiq qo'shing
  4. Ko'pirtirilgan kremni idishga qo'shing
  5. Hammasini shakar tayoqchalari bilan sepib, ustiga gilos qo'ying

Xo'sh, endi hech qanday muammo bo'lmasligi kerak. Har holda, men oshpazlik asarimni tayyorlash uchun barcha ingredientlar ochiq ekanligiga ishonch hosil qildim.

O'qituvchi qopqog'ini olib tashladi va uch qoshiq muzqaymoqni idishga solib qo'ydi. "Nihoyat, mening chiroyli muzqaymoqim amalga oshdi!" Keyin u shokolad sosini ochdi va idishga ikki osh qoshiq qo'shdi. U "ikki osh qoshiqdan shokolad sousini qo'shmadi" - shunday deb o'ylamang - u, albatta, qoshiqlarni idishga solib qo'ydi. Ularda sous yo'q. Shunga qaramay, men hamma narsani aniq yozishni ovora qilmadim. Qolganlari xuddi shu ruhda qilinganidan so'ng, men ko'pirtirilgan qaymoq ostida deyarli sezilmaydigan bir piyola muzqaymoq va ikki osh qoshiq oldim. Tepasida bir juft shakar tayoqchasi bor edi.

Aftidan, shu lahzada nihoyat menga tushdi: kompyuter vakuumdagi mantiqdir. U atrofdagi vaziyatlardan bexabar va hech qanday taxminlar qilmaydi. U faqat aniq tuzilgan ko'rsatmalarni bajaradi va ularga so'zma-so'z amal qiladi.

Mening yakuniy natijasim uzoq, ammo zaruriy sinovlar va xatolarning natijasi bo'ldi:

  1. Agar siz hali buni qilmagan bo'lsangiz, quyidagi paketlarning har birini oching: malinali muzqaymoq, shokoladli sous, ko'pirtirilgan qaymoq, shakar tayoqchalari.
  2. Bir piyola oling va oldingizga qo'ying
  3. Bir qoshiq muzqaymoq oling va uchta qoshiq malinali muzqaymoqni birma-bir idishga soling. Muzqaymoq qoshig'ini joyiga qo'ying.
  4. Bir kavanoz shokolad sosini oling, sousni to'kib tashlang va bir osh qoshiq tarkibini idishga quying. Qovurish va quyish jarayonini yana bir marta takrorlang. Qoshiq va bankani joyiga qo'ying.
  5. Ko'pirtirilgan qaymoq paketini teskari qilib oling va uni idish ustida ushlab turing, muzqaymoq ustiga 3 soniya quying, so'ng paketni joyiga qaytaring.
  6. Bir kavanoz shakar tayoqchasini oling, taxminan qirq tayoqni idishga quying va kavanozni orqaga qo'ying.
  7. Gilos kosasidan bitta gilos olib, muzqaymoq ustiga qo'ying.
  8. Talabaga tayyor muzqaymoq va qoshiq bilan bir piyola bering.

Oxirgi nuqta ayniqsa muhim edi, chunki usiz oxirgi paytlarda o'qituvchi shunchaki mening muzqaymoqimni eyishni boshladi.

Lekin bu dasturlash. Kompyuter uchun ehtiyotkorlik bilan ko'rsatmalar to'plamini yaratish stressi. Aslini olganda, har bir dasturlash tilining maqsadi - yozish ko'rsatmalari.

Dasturlash sohasida karyera

"Dasturchi" degan yagona so'zni ish tavsifi sifatida ishlatish qiyin bo'lgani kabi, dasturlash ham yagona soha sifatida muhokama qilish qiyin bo'lgan darajaga yetdi. Ikki ishlab chiquvchi mutlaqo boshqa tillarni bilgan holda bozor tomonidan teng darajada talabga ega bo'lishi mumkin, ya'ni rivojlanish qobiliyati ma'lum bir tilni bilishdan ko'ra muhimroqdir. Barcha muvaffaqiyatli ishlab chiquvchilar tomonidan baham ko'rilgan universal atribut asosiy mantiq.

Eng yaxshi dasturchi kodga yangi burchakdan qaray oladigan dasturchidir. Va bu juda muhim, chunki ko'pgina dasturiy mahsulotlar noto'g'ri kodning hujjatsiz bo'laklari to'plamidir. Ular doimo birlashtirilishi kerak, kerak bo'lganda bo'shliqlarni to'ldirishlari kerak. Bir-biriga bog'liq bo'lmagan nuqtalarni bitta chiziq bilan bog'lay olmaydigan odamlar abadiy chetda qolishlari kerak.

Bularning barchasi meni yana bir deklaratsiyaga olib keladi, bu safar qalin qilib: fundamental bilim har doim dasturchi uchun muhim bo'lgan va bo'ladi.

Tillar keladi va ketadi. Ramkalar eskirib bormoqda va kompaniyalar o'zlari foydalanadigan texnologiya to'plamini o'zgartirish orqali talabga javob berishmoqda. Hech qachon o'zgarmas narsa bormi? Ha - fundamental bilim, u fundamental deb ataladi, chunki u hamma narsaning asosiga kiradi!

Fundamental bilimlarni qanday yaxshilash mumkin

Ularning barchasini boshqarish uchun bitta tilKristofer surati Jeshke haqida Unsplash

Agar siz fundamental mantiqiy fikrlashni yaxshilash uchun boshlang‘ich nuqtani izlayotgan bo‘lsangiz, shu yerdan boshlab ko‘ring:

Dasturingizning murakkabligini biling

Shuningdek, deyiladi Katta O “Algoritm murakkabligi” dasturni bajarish vaqtining kiritilgan ma’lumotlar hajmiga bog‘liqligini bildiradi. (n). Barmog'ingizni ishlatilayotgan algoritmlarning zarbasida ushlab turish muhim qadamdir.

Ma'lumotlar tuzilmalaringizni biling

Ma'lumotlar tuzilmalari har bir zamonaviy dasturning markazidir. Qaysi holatda qaysi tuzilmadan foydalanishni bilish o'ziga xos intizomdir. Ma'lumotlar tuzilmalari ish vaqtining murakkabligi bilan bevosita bog'liq va noto'g'ri tuzilmani tanlash asosiy ishlash muammolariga olib kelishi mumkin. Massivdagi elementni topish O (n), bu massivlarni kirish ma'lumotlari sifatida ishlatishning yuqori narxini ko'rsatadi. Xesh jadvalini qidirish - O (1), ya'ni bu holda qiymatni qidirish vaqti elementlar soniga bog'liq emas.

Odamlar menga intervyu olish uchun kelishdi va massiv bo'yicha qidirish xesh jadvali orqali qidirishdan tezroq ekanligini da'vo qilishdi. Bu ularni ishga olmaslik kerakligining eng ishonchli belgisi edi - ma'lumotlar tuzilmalaringizni biling.

O'qing / tomosha qiling / tinglang

Saytlar yoqadi UdemyPluralsight и CodeAcademy - Yangi dasturlash tillarini o'rganish uchun ajoyib tanlov. Ammo asoslar uchun umumiy kodlash tamoyillari, amaliyotlari va uslublari bo'yicha kitoblarga murojaat qiling. Eng ko'p tavsiya etilgan kitoblar "Dizayn naqshlari", "Refaktoring. Mavjud kodni takomillashtirish, "Perfect Code", "Clean Code" va "Pragmatist Programmer". Va nihoyat, har bir ishlab chiquvchi "nusxasini saqlashi kerak"Algoritmlar" qo'lda.

Amaliyot qiling!

Tuxumni sindirmasdan pishirilgan tuxumni pishirolmaysiz. kabi saytlar HackerRankCodeWarsCoderBayte, TopCoder и LeetCode ma'lumotlar tuzilmalari va algoritmlar haqidagi bilimlaringizni sinab ko'rish uchun minglab qiziqarli jumboqlarni taklif qiling. O'zingizga yoqqan muammoni hal qilishda omadingizni sinab ko'ring, o'z yechimingizni Github-ga joylashtiring va keyin boshqalar unga qanday yondashganini ko'ring. Bu bizni oxirgi nuqtaga olib keladi:

Boshqa odamlarning kodini o'qing

Rivojlanish yo'lidan borishda yo'l qo'yishingiz mumkin bo'lgan eng katta xato - bu yolg'iz o'zi borishdir. Dasturiy ta'minotni ishlab chiqish asosan jamoaviy ishdir. Biz standartlarni birgalikda yaratamiz, birgalikda xato qilamiz va barcha muvaffaqiyatsizliklarga qaramay, birgalikda yaxshiroq bo'lamiz. Boshqa odamlarning kodini o'qish uchun sarflangan vaqt juda yaxshi to'lanadi. Bu yaxshi kod ekanligiga ishonch hosil qiling.

Men beradigan eng yaxshi maslahat - siz hali biror narsani bilmasligingizdan hech qachon uyalmang. Yuqorida aytib o'tilganidek, bizning sanoatimiz juda katta va texnologiya miqdori cheksizdir. Umumiy rasmni yaratish uchun ko'p vaqt va kuch talab etiladi, aniq bir narsada professional bo'lish va o'z sohangizdagi mahoratingizni oshirish uchun ko'proq vaqt talab etiladi. Bunga o'zim erishganimda sizga xabar beraman.

Manba: www.habr.com

a Izoh qo'shish