Hamısını idarə etmək üçün bir dil

Kod qatının altında gizlənən dil, öyrənilmək arzusu ilə zəifləyir.

Hamısını idarə etmək üçün bir dil

Bu yazıya görə, “ilk olaraq hansı dili öyrənmək üçün proqramlaşdırma” sorğusu 517 milyon axtarış nəticəsini qaytarır. Bu saytların hər biri xüsusi bir dili tərifləyəcək və onların 90%-i Python və ya JavaScript-i tövsiyə edəcək.

Sözü uzatmadan qeydlərə davam etmək istərdim ki, bu 517 milyon veb-saytın hamısı səhvdir və ilk olaraq öyrənməli olduğunuz dil budur. fundamental məntiq.

Sadəcə kodlaşdırmağı bilmək kifayət deyil. Bazar institut və kursların məzunları ilə o qədər doymuşdur ki, kiçik vəzifə praktiki olaraq mövcud deyil*. Müasir dünyada uğur qazanmaq üçün həm kodlaşdırmalı, həm də qabaqcıl fundamental məntiqi təfəkkürə malik olmalısınız.

*bundan sonra, unutmayın ki, bu tərcümədir və müəllif üçün və sizin ölkənizdə əmək bazarında vəziyyət fərqli ola bilər (həmçinin digər nüanslar), lakin bu, özlüyündə orijinal məqaləni daha da pisləşdirmir - təqribən. tərcümə

İlk informatika dərsim

Mənim informatika ilə ilk tanışlığım 10-cu sinifdə götürdüyüm seçmə fənn olub. Elə ilk gün sinifə girərkən qarşımda çoxlu vedrə dondurma və müxtəlif əlavələr görüb çox sevindim. Hamı əyləşəndən sonra müəllim elan etdi:

“Bu gün özümüz hazırladığımız dondurmaların dadına baxacağıq. Ancaq bir şərtlə: desertin necə hazırlanacağı ilə bağlı konkret təlimatların siyahısını tərtib etməlisən, mən onlara əməl edəcəyəm”.

"Problem yoxdur" deyə düşündüm, "bu dərs uzun olmayacaq." Bir dəqiqə ərzində xəyallarımın dondurması üçün mükəmməl resepti qeyd etdim:

  1. Bir qaba üç qaşıq moruqlu dondurma tökün və qoyun
  2. Şokolad sousunu açın və eyni qaba iki yemək qaşığı əlavə edin
  3. Çırpılmış kremi qaba əlavə edin
  4. Hamısını şəkər çubuqları ilə səpin və üstünə bir albalı qoyun

Müəllimim - o sevimli metaforada "kompüter" - əvvəllər görmədiyimdən daha istehzalı, hərfi bir performans göstərdi. O, hətta qapağına belə toxunmadan dondurma vedrəsini bir çömçə ilə canfəşanlıqla döyməyə başladı.

"Yaxşı, yaxşı, amma əvvəlcə onu açmalısan!" - deyə qışqırdım, ləzzəti mümkün qədər tez almağa çalışdım.

“Sən bunu təlimatlarda yazmamısan və mən sənə dondurma hazırlaya bilmədim. NÖVBƏTİ!"

Gəlin 2-ci cəhdə sürətlə irəliləyək

  1. Qapağı çıxararaq moruqlu dondurmanı açın
  2. Bir qaba üç qaşıq moruqlu dondurma tökün və qoyun
  3. Şokolad sousunu açın və eyni qaba iki yemək qaşığı əlavə edin
  4. Çırpılmış kremi qaba əlavə edin
  5. Hamısını şəkər çubuqları ilə səpin və üstünə bir albalı qoyun

Yaxşı, indi mütləq heç bir problem olmamalıdır. Hər halda, kulinariya şah əsərimi hazırlamaq üçün bütün inqrediyentlərin açıq olmasına əmin oldum.

Müəllim qapağı çıxardı, çömçə götürdü və bir qaba üç qaşıq dondurma qoydu. "Nəhayət, mənim gözəl dondurmam gerçəkləşməyə başladı!" Sonra şokolad sousunu açıb qaba iki xörək qaşığı əlavə etdi. O, "iki xörək qaşığı şokolad sousu əlavə etmədi" - belə düşünməyin - o, əlbəttə ki, qaşıqları özləri qaba qoydu. Onlarda sous yoxdur. Yenə deyirəm, hər şeyi dəqiq yazmağa zəhmət çəkmədim. Qalanları eyni ruhda etdikdən sonra bir kasa dondurma və çırpılmış qaymaq dənizinin altında çətinliklə nəzərə çarpan iki yemək qaşığı aldım. Üstündə bir cüt şəkər çubuğu vardı.

Deyəsən, bu anda nəhayət ağlıma gəldi: kompüter vakuumda məntiqdir. O, ətrafdakı şəraitdən xəbərsizdir və heç bir fərziyyə irəli sürmür. O, yalnız aydın şəkildə tərtib edilmiş göstərişləri yerinə yetirir və onlara sözbəsöz əməl edir.

Son nəticəm uzun, lakin zəruri sınaq və səhvlər seriyasının nəticəsi idi:

  1. Əgər bunu etməmisinizsə, aşağıdakı paketlərin hər birini açın: moruqlu dondurma, şokolad sousu, çırpılmış qaymaq, şəkər çubuqları.
  2. Bir qab çıxarın və qarşınıza qoyun
  3. Dondurma çömçəsini götürün və üç qaşıq moruqlu dondurmanı bir-bir qaba qoyun. Dondurma qabını yenidən yerinə qoyun.
  4. Şokolad sousundan bir banka götürün, sousu ovuşdurun və bir kaşığın içini bir qaba tökün. Çömçə və tökmə prosesini bir daha təkrarlayın. Qaşığı və bankanı yenidən yerinə qoyun.
  5. Çırpılmış krem ​​paketini tərs götürün və qabın üzərindən tutaraq 3 saniyə ərzində dondurmanın üzərinə tökün, sonra bağlamanı yerinə qaytarın.
  6. Bir banka şəkər çubuqları götürün, təxminən qırx çubuq bir qaba tökün və bankanı geri qoyun.
  7. Albalı qabından bir albalı götürüb dondurmanın üstünə qoyun.
  8. Tələbəyə hazır dondurma və bir qaşıq ilə bir qab verin.

Sonuncu məqam xüsusilə vacib idi, çünki onsuz sondan əvvəlki vaxt müəllim sadəcə dondurmamı yeməyə başladı.

Ancaq bu proqramlaşdırmadır. Kompüter üçün diqqətli təlimatlar toplusunun yaradılması stressi. Əslində, hər bir proqramlaşdırma dilinin gəldiyi şey budur - yazı təlimatları.

Proqramlaşdırma sahəsində karyera

Proqramlaşdırma o yerə çatmışdır ki, iş təsviri kimi tək “proqramçı” sözünü işlətmək çətin olduğu kimi, vahid sənaye kimi müzakirə etmək çətindir. Tamamilə fərqli dilləri bilən iki tərtibatçı bazar tərəfindən eyni dərəcədə tələb oluna bilər, bu o deməkdir ki, inkişaf etmək bacarığı konkret bir dili bilməkdən daha vacibdir. Bütün uğurlu tərtibatçılar tərəfindən paylaşılan universal atributdur fundamental məntiq.

Ən yaxşı proqramçı koda yeni bucaqdan baxmağı bacarandır. Və bu, əsaslı şəkildə vacibdir, çünki əksər proqram məhsulları pis kodun sənədsiz fraqmentləri toplusudur. Onları daim bir araya gətirmək, lazım olduqda boşluqları doldurmaq lazımdır. Fərqli nöqtələri bir xəttlə birləşdirə bilməyən insanlar həmişəlik kənarda qalmalı olacaqlar.

Bütün bunlar məni bu dəfə qalın hərflərlə başqa bir bəyanata gətirir: fundamental biliklər proqramçı üçün həmişə birinci dərəcəli olub və olacaq.

Dillər gəlir və gedir. Çərçivələr köhnəlir və şirkətlər istifadə etdikləri texnologiya yığınını dəyişdirərək tələbata cavab verirlər. Heç vaxt dəyişməyəcək bir şey varmı? Bəli - hər şeyin əsasında dayandığı üçün fundamental adlanan fundamental bilik!

Fundamental bilikləri necə təkmilləşdirmək olar

Hamısını idarə etmək üçün bir dilKristoferin fotosu Jeschke haqqında Unsplash

Əsas məntiqi təfəkkürünüzü təkmilləşdirmək üçün başlanğıc nöqtəsi axtarırsınızsa, buradan başlamağa çalışın:

Proqramınızın mürəkkəbliyini bilin

Həmçinin çağırılır Böyük O “Alqoritmin mürəkkəbliyi” proqramı icra etmək üçün lazım olan vaxtın onun daxil edilən məlumatların ölçüsündən asılılığına aiddir. (n). İstifadə olunan alqoritmlərin nəbzində barmağınızı saxlamaq mühüm addımdır.

Məlumat strukturlarınızı bilin

Məlumat strukturları hər bir müasir proqramın mərkəzindədir. Hansı vəziyyətdə hansı strukturdan istifadə edəcəyini bilmək öz başına bir intizamdır. Məlumat strukturları iş vaxtının mürəkkəbliyi ilə birbaşa bağlıdır və yanlış strukturun seçilməsi əsas performans problemlərinə səbəb ola bilər. Massivdə elementin tapılmasıdır O (n), bu, massivlərdən giriş məlumatları kimi istifadənin yüksək qiymətini göstərir. Hash cədvəlinin axtarışı − O (1), bu o deməkdir ki, bu halda dəyəri axtarmaq vaxtı elementlərin sayından asılı deyil.

İnsanlar müsahibə üçün yanıma gəldilər və iddia etdilər ki, bir massivdə axtarış hash cədvəli vasitəsilə axtarmaqdan daha sürətlidir. Bu, onları işə götürməməyiniz üçün ən etibarlı əlamət idi - məlumat strukturlarınızı bilin.

Oxumaq / izləmək / dinləmək

Bəyənirəm saytlar UdemyPluralsight и KodAcademy - Yeni proqramlaşdırma dillərini öyrənmək üçün əla seçimdir. Ancaq əsaslar üçün ümumi kodlaşdırma prinsipləri, təcrübələri və üslubları haqqında kitablara müraciət edin. Ən çox tövsiyə olunan kitablar “Dizayn nümunələri”, “Refaktorinq. Mövcud Kodun Təkmilləşdirilməsi”, “Mükəmməl Kod”, “Təmiz Kod” və “Praqmatist Proqramçı”. Nəhayət, hər bir tərtibatçı nüsxəsini saxlamalıdır "Alqoritmlər"əlində.

Təcrübə edin!

Yumurtaları qırmadan omlet bişirmək olmaz. kimi saytlar HackerRankKod müharibələriCoderByte, TopCoder и LeetCode məlumat strukturları və alqoritmlər haqqında biliklərinizi yoxlamaq üçün minlərlə maraqlı bulmacalar təklif edin. Bəyəndiyiniz problemi həll etməkdə şansınızı sınayın, həllinizi Github-da yerləşdirin və sonra başqalarının buna necə yanaşdığına baxın. Bu bizi son nöqtəyə gətirir:

Başqalarının kodunu oxuyun

İnkişaf yolunda gedərkən edə biləcəyiniz ən böyük səhv onu təkbaşına getməkdir. Proqram təminatının inkişafı əsasən komanda işidir. Biz standartları birlikdə yaradırıq, birlikdə səhv edirik və bütün uğursuzluqlara baxmayaraq birlikdə daha yaxşı oluruq. Başqalarının kodunu oxumağa sərf olunan vaxt yaxşı nəticə verəcəkdir. Sadəcə bunun yaxşı kod olduğundan əmin olun.

Verə biləcəyim ən yaxşı məsləhət odur ki, hələ nəyisə bilmədiyin üçün heç vaxt utanma. Artıq deyildiyi kimi, bizim sənayemiz nəhəngdir və texnologiyanın həcmi sonsuzdur. Ümumi bir mənzərə yaratmaq üçün çox vaxt və səy tələb olunur, konkret bir şeydə peşəkar olmaq üçün daha çox və öz sahənizdə bacarıqlarınızı artırmaq üçün daha böyük bir sıra tələb olunur. Özüm buna nail olanda sizə xəbər verəcəyəm.

Mənbə: www.habr.com

Добавить комментарий