Алардын баарын башкара турган бир тил

Код катмарынын астында катылган тил, үйрөнүүнү эңсеп, алсыратат.

Алардын баарын башкара турган бир тил

Бул жазылган учурда, "биринчи кайсы тилди үйрөнүүнү программалоо" деген суроо 517 миллион издөө натыйжасын берет. Бул сайттардын ар бири белгилүү бир тилди мактайт жана алардын 90%ы Python же JavaScriptти сунуштайт.

Сөздү көпкө созбостон, мен бул 517 миллион веб-сайттын баары туура эмес жана биринчи кезекте сиз үйрөнүшүңүз керек болгон тилди айткым келет. негизги логика.

Жөн гана коддоону билүү жетишсиз. Рынок институттардын жана курстардын бутуруучулеруне ушунчалык толуп кеткендиктен кенже кызмат орду иш жузунде токтоп калды*. Бүгүнкү дүйнөдө ийгиликке жетүү үчүн сиз коддуу жана алдыңкы логикалык ой жүгүртүүгө ээ болушуңуз керек.

*мындан ары, бул котормо экенин унутпаңыз жана автор үчүн жана сиздин өлкөдө эмгек рыногунун абалы ар кандай болушу мүмкүн (ошондой эле башка нюанстар), бирок бул өзү түпнуска макаланы начарлатпайт - болжол менен. котормо

Менин биринчи информатика сабагы

Менин информатикага биринчи жолу 10-класста тапшырган тандоом болду. Класска кирген биринчи күнү эле менин алдымда көп чака балмуздактарды жана ар кандай кошумчаларды көрүп сүйүндүм. Баары отургандан кийин мугалим жар салды:

«Бүгүн биз өзүбүз даярдаган балмуздактардан даам татабыз. Бирок бир шарт менен: сен десертти кантип даярдоо боюнча конкреттүү көрсөтмөлөрдүн тизмесин түзүшүң керек, мен аларды аткарам».

"Эч нерсе эмес," деп ойлодум мен, "бул сабак көпкө созулбайт". Бир мүнөттүн ичинде мен кыялымдагы балмуздактын эң сонун рецептин жазып алдым:

  1. Кашыктап, үч кашык малина балмуздактарын идишке салыңыз
  2. Шоколад соусун ачып, ошол эле идишке эки аш кашык кошобуз
  3. идишке камкаймак кошуу
  4. Баарын кант таякчасынан себелеп, үстүнө алчаны салабыз

Менин мугалимим - ошол сүйкүмдүү метафорадагы "компьютер" - мен эч качан көргөндөн алда канча мыскылдуу, түзмө-түз аткарууну көрсөттү. Ал ынталуулук менен балмуздак челектин капкагын да тийгизбей, кашык кашык менен тиштей баштады.

"Макул, макул, бирок адегенде ачыш керек!" – деп кыйкырып жибердим, тамагын тезирээк алууга аракет кылып.

«Сен муну нускамада жазган жоксуң, мен сага балмуздак жасай алган жокмун. КИЙИНКИ!"

Келгиле, №2 аракетти алдыга жылдыралы

  1. Капкагын алып, малина балмуздактарын ачыңыз
  2. Кашыктап, үч кашык малина балмуздактарын идишке салыңыз
  3. Шоколад соусун ачып, ошол эле идишке эки аш кашык кошобуз
  4. идишке камкаймак кошуу
  5. Анын баарын кант таякчаларынан себелеп, үстүнө алчаны коюңуз

Ооба, азыр эч кандай көйгөй болбошу керек. Болбосо, мен кулинардык шедевримди жасоо үчүн бардык ингредиенттер ачык экенине ынандым.

Мугалим капкакты алып, кашыктап, үч кашык балмуздактан идишке салды. "Акыры, менин кооз балмузагым ишке ашты!" Анан шоколад соусун ачып, идишке эки аш кашык кошту. Ал "эки аш кашыктан шоколад соусун кошкон" жок - антип ойлобоңуз - ал, албетте, кашыктарды идишке салды. Аларда соус жок. Дагы, мен баарын так жазып убара болгон жокмун. Калганы ошол эле маанайда жасалгандан кийин, мен бир табак балмуздак жана эки кашык алдым, камкаймак деңизинин астында араң байкалды. Үстүндө бир жуп кант таякчасы бар экен.

Ушул учурда мага түшүнүктүү болду окшойт: компьютер бул боштуктагы логика. Ал курчап турган жагдайлардан кабары жок жана эч кандай божомолдобойт. Ал так түзүлгөн көрсөтмөлөрдү гана аткарат жана аларды сөзмө-сөз аткарат.

Менин акыркы натыйжам узак, бирок зарыл болгон сыноолордун жана каталардын натыйжасы болду:

  1. Эгерде сиз муну жасай элек болсоңуз, анда төмөнкү таңгактардын ар бирин ачыңыз: малинадан жасалган балмуздак, шоколад соусу, камкаймак, кант таякчалары.
  2. Бир идишти алып чыгып, алдыңызга коюңуз
  3. Балмуздак кашыкчасын алып, үч кашык малина балмуздактарын бирден идишке салыңыз. Балмуздак кашыкчасын кайра ордуна коюңуз.
  4. Бир банка шоколад соусун алып, соусту сүзүп, идишке бир аш кашыктын ичин куюңуз. Кашыктоо жана куюу процессин дагы бир жолу кайталаңыз. Кашык менен банканы кайра ордуна коюңуз.
  5. Камкаймактын таңгагын тескери алып, аны идиштин үстүнөн кармап, балмуздактын үстүнө 3 секунда куюп, анан таңгакты өз ордуна кайтарыңыз.
  6. Бир банка кант таякчасын алып, кыркка жакын таякчаны идишке куюп, банканы кайра кой.
  7. Алча идишинен бир алчаны алып, балмуздактын үстүнө коюңуз.
  8. Окуучуга даяр балмуздак салынган идишти жана кашыкты бер.

Акыркы пункт өзгөчө маанилүү болду, анткени ансыз мугалим акыркы убакта менин балмуздакымды жей баштады.

Бирок бул программалоо. Компьютер үчүн кылдат нускамаларды түзүү стресс. Негизинен, ар бир программалоо тили мына ушундан келип чыгат - инструкцияларды жазуу.

Программалоо боюнча карьера

Программист деген жалгыз сөздү кызматтык мүнөздөмө катары колдонуу кыйын болгондой эле, программалоону бирдиктүү тармак катары талкуулоо кыйынга турган деңгээлге жетти. Эки иштеп чыгуучу рынок тарабынан бирдей суроо-талапка ээ болушу мүмкүн, алар такыр башка тилдерди билишет, бул конкреттүү тилди билүүсүнө караганда өнүгүү жөндөмдүүлүгү маанилүү экенин билдирет. Бардык ийгиликтүү иштеп чыгуучулар тарабынан бөлүшүлгөн универсалдуу атрибут болуп саналат негизги логика.

Эң мыкты программист - бул кодду жаңы бурчтан карай алган адам. Жана бул принципиалдуу мааниге ээ, анткени программалык продуктылардын көбү жаман коддун документтештирилбеген фрагменттеринин жыйындысы. Алар ар дайым чогулуп, керектүү кемчиликтерди толтуруу керек. Бир-биринен айырмаланган чекиттерди бир сызык менен туташтыра албаган адамдар түбөлүк четте калышат.

Мунун баары мени дагы бир декларацияга алып келет, бул жолу жоон менен: фундаменталдык билим программист үчүн ар дайым биринчи орунда болуп келген жана боло берет.

Тилдер келет жана кетет. Алкактар ​​эскирип, компаниялар талапка жооп берип, алар колдонгон технологиялык стекти өзгөртүүдө. Эч качан өзгөрбөй турган бир нерсе барбы? Ооба - фундаменталдык билим, ал фундаменталдык деп аталат, анткени ал бардык нерсенин негизинде жатат!

Фундаменталдык билимди кантип өркүндөтүү керек

Алардын баарын башкара турган бир тилКристофердин сүрөтү Jeschke боюнча Unsplash

Эгерде сиз фундаменталдуу логикалык ой жүгүртүүңүздү өркүндөтүү үчүн баштапкы чекит издеп жатсаңыз, бул жерден баштап көрүңүз:

Программаңыздын татаалдыгын билиңиз

Ошондой эле деп аталат Big O "Алгоритмдин татаалдыгы" программаны аткарууга кеткен убакыттын анын кириш маалыматтарынын өлчөмүнө көз карандылыгын билдирет. (Н). Колдонулуп жаткан алгоритмдердин кагылышына манжаңызды кармап туруу маанилүү кадам болуп саналат.

Маалымат структураларыңызды билиңиз

Маалымат структуралары ар бир заманбап программанын өзөгүн түзөт. Кайсы учурда кайсы структураны колдонууну билүү өзүнчө бир дисциплина. Маалымат структуралары иштөө убактысынын татаалдыгына түздөн-түз байланыштуу жана туура эмес структураны тандоо фундаменталдуу аткаруу көйгөйлөрүнө алып келиши мүмкүн. Массивдеги элементти табуу O (N), бул массивдерди киргизүү маалыматтары катары колдонуунун кымбаттыгын көрсөтөт. Хэш таблицасын издөө - O (1), бул учурда маанини издөө убактысы элементтердин санына көз каранды эмес дегенди билдирет.

Адамдар мага интервью алуу үчүн келип, массив аркылуу издөө хэш таблицасы аркылуу издөөгө караганда тезирээк деп ырасташты. Бул аларды жумушка албашыңыздын эң ишенимдүү белгиси болду - маалымат структураларыңызды билиңиз.

Окуу / көрүү / угуу

сыяктуу сайты UdemyPluralsight и CodeAcademy - Жаңы программалоо тилдерин үйрөнүү үчүн эң сонун тандоо. Бирок негиздер үчүн жалпы коддоо принциптери, практикалары жана стилдери боюнча китептерди караңыз. Эң көп сунушталган китептер: “Дизайн үлгүлөрү”, “Рефакторинг. Бар болгон кодду өркүндөтүү, "Мыкты код", "Таза код" жана "Прагматист программист". Акыр-аягы, ар бир иштеп чыгуучу көчүрмөсүн сакташы керек "Алгоритмдер" колдо.

Практика!

Жумуртканы сындырбай, бышырылган жумуртканы бышырууга болбойт. сыяктуу сайттар HackerRankCodeWarsCoderByte, TopCoder и LeetCode маалымат структуралары жана алгоритмдер боюнча билимиңизди текшерүү үчүн миңдеген кызыктуу табышмактарды сунуштаңыз. Өзүңүзгө жаккан көйгөйдү чечүүдө бактыңызды сынап көрүңүз, чечимиңизди Githubга жайгаштырыңыз, анан башкалар ага кандай мамиле кылганын көрүңүз. Бул бизди акыркы пунктка алып келет:

Башка адамдардын кодун оку

Өнүгүү жолуна бара жатканда кетире турган эң чоң жаңылыштык - бул жалгыз баруу. Программалык камсыздоону иштеп чыгуу негизинен команданын аракети. Биз стандарттарды чогуу түзөбүз, бирге ката кетиребиз жана бардык ийгиликсиздиктерге карабастан, чогуу жакшыраак болобуз. Башкалардын кодун окууга сарпталган убакыт жакшы натыйжа берет. Бул жакшы код экенине ынаныңыз.

Макул, мен бере турган эң жакшы кеңеш - сиз бир нерсени билбегениңизден эч качан уялбаңыз. Жогоруда айтылгандай, биздин өнөр жайыбыз эбегейсиз жана технологиянын көлөмү чексиз. Жалпы сүрөттү түзүү үчүн көп убакыт жана күч талап кылынат, конкреттүү бир нерседе профессионал болуу үчүн, ал эми өзүңүздүн чөйрөңүздөгү жөндөмүңүздү өркүндөтүү үчүн дагы көп күч талап кылынат. Мен өзүм буга жеткенимде сизге кабарлайм.

Source: www.habr.com

Комментарий кошуу