Як быць праграмістам

Аўтар: John Stephens
Дата Стварэння: 1 Студзень 2021
Дата Абнаўлення: 2 Ліпень 2024
Anonim
Гайд по Як-9. World of Warplanes
Відэа: Гайд по Як-9. World of Warplanes

Задаволены

Стаць праграмістам - гэта назапашвальны працэс, які з цягам часу фарміруе вашыя навыкі, і ён можа ператварыцца ў цікавую і карысную працу (інтэлектуальна, разумова і фінансава). ). Гэты падручнік не абяцае вам чароўнага спосабу лёгка стаць праграмістам, і паслядоўнасць этапаў не так важная, але вы зразумееце, як стаць праграмістам. у праграміста ў адной з сучасных абласцей праграмавання.

Крокі

  1. Прайдзіце ўводны курс па адным (альбо ўсіх) з наступных прадметаў:
    • Лагічнасць
    • Дыскрэтная матэматыка
    • Мова праграмавання (пачаткоўцу лепш за ўсё вывучыць C ++ / Java / Python)


    Джын Лінецкі, мс

    Заснавальнік і тэхнічны дырэктар стартапа Джын Лінецкі з'яўляецца заснавальнікам стартапа і інжынерам праграмнага забеспячэння ў раёне заліва Сан-Францыска. Ён працуе ў высокатэхналагічнай індустрыі больш за 30 гадоў, а ў цяперашні час з'яўляецца тэхнічным дырэктарам Poynt, тэхналагічнай кампаніі, якая вырабляе разумныя гандлёвыя прылады для бізнесу.

    Джын Лінецкі, мс
    Заснавальнік і тэхнічны дырэктар пачаткоўцаў

    Вам не патрэбна ступень кадавання. Хоць вывучэнне моў праграмавання карысна, Джын Лінескі, інжынер-праграміст і заснавальнік стартапа, кажа: "Карысная ці некая ступень спрэчна. там вы можаце разглядаць праграмаванне як працэс навучання - вы будзеце вучыцца на памылках ".


  2. Даведайцеся пра такія паняцці баз дадзеных, як табліцы, погляды / запыты і працэдуры. Для гэтага вы можаце выкарыстоўваць любы просты пакет баз дадзеных, напрыклад:
    • MS Access
    • DB V
    • Fox Pro
    • Парадокс
    • MySQL - гэта добрая база дадзеных для навучання, бо яна бясплатная, часта выкарыстоўваецца, і базы дадзеных часта атрымліваюць доступ з дапамогай SQL-запытаў.

  3. Вырашыце, якім тыпам распрацоўшчыка вы хочаце быць. Праграмісты звычайна адносяцца да адной з наступных катэгорый:
    • вэб-распрацоўшчык
    • Настольны праграміст прыкладанняў
      • Арыентаваны на аперацыйную сістэму праграміст (звязаны з адной аперацыйнай сістэмай альбо наборам аперацыйных сістэм)
      • Незалежны распрацоўшчык ад платформы
    • Распаўсюджаны праграміст прыкладанняў
    • Бібліятэкі / платформа / структура / асноўны праграміст
    • Сістэмны праграміст
      • Праграміст персаналу ядра
      • Драйвер-праграміст
      • Кампілятар праграміста
    • Вучоны-праграміст
  4. Даследуйце тэхналогіі і мовы праграмавання, якія адносяцца да абранай вамі вобласці праграмавання. У наступных раздзелах будуць раздзелены задачы розных тыпаў праграмавання. рэклама

Спосаб 1 з 6: Інтэрнэт-праграмаванне

  1. Зразумець, што трэба для Інтэрнэт-праграмавання. Вэб-дадаткі - гэта праграмныя кампаненты, прызначаныя для працы над архітэктурай Інтэрнэту. Гэта азначае, што доступ да прыкладанняў ажыццяўляецца праз праграмнае забеспячэнне для аглядальніка, напрыклад Firefox ці Internet Explorer. Гэтыя прыкладання размешчаны на вяршыні Інтэрнэт-архітэктуры, а гэта значыць, што для гэтага не патрабуецца рэальнае падключэнне да Інтэрнэту. Гэта азначае, што вэб-прыкладанні пабудаваны на аснове стандартных вэб-тэхналогій, такіх як:
    • HTTP
    • FTP
    • POP3
    • SMTP
    • TCP
    • Пратаколы IP
    • HTML
    • XML
    • Холад
    • ASP
    • JSP
    • PHP
    • ASP.NET
  2. Праверце розныя старонкі, каб убачыць, як яны звычайна выглядаюць. (Пстрыкнуўшы правай кнопкай мышы, затым выбраўшы View Source (праглядзець зыходны код) альбо націснуўшы F12). Вы павінны шукаць разнастайнасць у тыпе / змесце вэб-сайта, а не ў колькасці вэб-старонак, якія вы бачыце. Наогул вам трэба наведаць па меншай меры адну старонку для кожнага з наступных тыпаў вэб-сайтаў:
    • Старонкі пра ўвядзенне кампаніі (камерцыйныя кампаніі, некамерцыйныя кампаніі / арганізацыі, дзяржаўныя структуры)
    • Інструменты вэб-індэксацыі (пошукавыя сістэмы, мета-пошукавыя сайты, выдзеленыя пошукавыя сістэмы, каталогі)
    • Сайты здабычы дадзеных
    • Асабістыя старонкі
    • Сайты дакументацыі / энцыклапедыі (Wiki, табліцы дадзеных, тэхнічныя характарыстыкі і каталогі кіраўніцтва карыстальніка, блогі і часопісы, навіны і навінавыя сайты, жоўтыя старонкі ...)
    • Сацыяльныя сайты (сацыяльныя парталы, закладкі і інтэрнэт-сайты для нататак)
    • Сайты для супрацоўніцтва (уключаючы ўсе вышэйпералічаныя катэгорыі, такія як вікі і блогі)
  3. Вывучыце хаця б адзін метад / метад мазгавога штурму і праграмнае забеспячэнне, якое выкарыстоўваецца для гэтага. Прыклады: графікі мазгавога штурму і праграмнае забеспячэнне MS Visio.

  4. Пазнаёмцеся са структурай сайта. Гэта стварэнне канцэптуальных картаў сайта, картаў сайта і навігацыйных структур.
  5. Прайдзіце інтэнсіўны курс навучання графічнаму дызайну. Паспрабуйце вывучыць хаця б адзін праграмны пакет графічнага рэдагавання / маніпуляцыі (Не патрабуецца, але настойліва рэкамендуецца).

  6. Вывучыце асновы Інтэрнэт-інфраструктуры. Яна ўключае ў сябе разуменне асноўнай ідэі:
    • Агульныя пратаколы вэб-службы (HTTP, FTP, SMTP і POP3 альбо IMAP4)
    • Праграмнае забеспячэнне для вэб-сервера (пераважна праграмнае забеспячэнне для платформы, на якой вы будзеце ў першую чаргу працаваць з ім)
    • Праграмнае забеспячэнне для Інтэрнэту.
    • Сервернае і кліенцкае праграмнае забеспячэнне для электроннай пошты

  7. Вывучайце мовы HTML і CSS. Вам таксама можа спатрэбіцца пакет "Што вы бачыце - тое і атрымліваеце (WYSIWYG) (Што вы бачыце - тое і атрымліваеце)" для рэдагавання HTML.
  8. Вывучыце XML і звязаныя з XML тэхналогіі, такія як XSL і XPath (неабавязкова, але рэкамендуецца).
  9. Стварайце простыя статычныя вэб-старонкі, пакуль вы не азнаёміцеся і не азнаёміцеся з HTML.
  10. Вывучыце кліенцкую мову сцэнарыяў. Большасць карыстальнікаў вывучаюць JavaScript. Іншыя вывучаюць VBScript, але ён не сумяшчальны з большасцю аглядальнікаў.
  11. Пазнаёмцеся з вывучанай вамі мовай сцэнарыяў кліента. Паспрабуйце зрабіць усё, што ад вас залежыць, толькі на гэтай мове. Працягвайце рух толькі тады, калі вы хоць бы знаёмыя з мовай сцэнарыяў кліента.
  12. Вывучыце хаця б адну мову праграмавання на серверы. Калі вы вырашыце абмежавацца серверным праграмным забеспячэннем, вывучыце мовы праграмавання, якія падтрымліваюцца гэтым праграмным забеспячэннем. Калі няма, вывучыце хаця б адну мову праграмавання для кожнага сервернага праграмнага забеспячэння.
  13. Стварыце пілотны праект для сябе пасля таго, як скончыце вывучаць мову праграмавання сервера.
  14. Наладзьце свой уласны вэб-сайт і пачніце эксперыментаваць са сваім у Інтэрнэце. рэклама

Спосаб 2 з 6: Праграмаванне жывата для настольных праграм

  1. Зразумець, што рабіць з праграмаваннем настольных праграм. Большасць настольных праграмістаў складаюць код для бізнес-рашэнняў, таму знаёмства з бізнесам, арганізацыйнымі структурамі і фінансавымі структурамі зэканоміць шмат часу.
  2. Вывучэнне розных архітэктур камп'ютэрнага абсталявання. Будзе цікавы фундаментальны курс дызайну лічбавых схем і яшчэ адзін - кампутарнай архітэктуры. Аднак некаторыя людзі думаюць, што навучыцца гэтаму пачаткоўцу даволі складана, таму чытання двух-трох падручнікаў (накшталт гэтага і гэтага) дастаткова. Пасля гэтага вы зможаце вярнуцца да гэтага этапу пасля вывучэння першай мовы праграмавання.
  3. Вывучыце элементарную мову праграмавання (для дзяцей). Не саромейцеся вывучаць такую ​​мову толькі таму, што вы занадта старыя, каб вас называлі "дзіцем". Прыкладам такіх моў праграмавання з'яўляецца Scratch. Гэтыя мовы праграмавання могуць значна паменшыць складанасць вывучэння вашай першай мовы праграмавання. Аднак гэты крок неабавязковы, вы таксама можаце зрабіць яго да папярэдняга.
  4. Даведайцеся пра працэдурныя, аб'ектна-арыентаваныя і функцыянальныя мадэлі праграмавання.
  5. Прайдзіце базавы курс адной з моў працэдурнага праграмавання. Якую б мову вы ні абралі пазней, вам усё роўна спатрэбіцца пэўная ступень працэдурнага праграмавання. Акрамя таго, праграмісты лічаць, што працэдурнае праграмаванне з'яўляецца самым простым зыходным пунктам для разумення ідэі праграмавання ў цэлым.
  6. Вывучыце хаця б адзін удасканалены метад мадэлявання, напрыклад UML або ORM.
  7. Пачніце пісаць якое-небудзь маленькае кансольнае прыкладанне альбо нешта падобнае. Вы можаце выкарыстоўваць невялікія практыкаванні ў кнігах па праграмаванні. Для гэтага абярыце інструмент для напісання праграм у адпаведнасці з мовай праграмавання, якую вы збіраецеся напісаць.
  8. Прайдзіце больш прасунуты курс на выбранай вамі мове праграмавання. Пераканайцеся, што вы разумееце наступныя паняцці і можаце адносна лёгка іх ужываць, перш чым рухацца далей:
    • Уваходныя і выхадныя звесткі для карыстальнікаў праграмы.
    • Лагічны паток і паток выканання праграм на працэдурных мовах.
    • Абвясціць, прызначыць і параўнаць зменныя.
    • Аператары галіны ў праграмаванні, напрыклад if..then..else і select / switch..case.
    • Цыклічныя выказванні накшталт while..do, do.. While / пакуль, for..next.
    • Сінтаксіс вашай мовы праграмавання для стварэння і выкліку працэдур і функцый.
    • Тыпы дадзеных і кіраванне імі.
    • Вызначаныя карыстальнікам тыпы дадзеных (запісы / структуры / адзінкі) і іх выкарыстанне.
    • Калі ваша мова падтрымлівае перагрузку функцый, зразумейце яе.
    • Метады доступу да памяці абранай вамі мовы (паказальнікі, як чытаць змесціва любой ячэйкі ...)
    • Калі ваша мова падтрымлівае перагрузку аператара, зразумейце яе.
    • Калі ваша мова падтрымлівае паказальнікі функцый, зразумейце гэта.
  9. Ужывайце перадавыя метады, якія вы даведаліся.
    • Аб'ектна-арыентаваная мадэль.

  10. Прайдзіце базавы курс хаця б на адной іншай мове праграмавання ў іншай мадэлі праграмавання. Вы павінны вывучыць па адной мове праграмавання для кожнай мадэлі, як гэта робяць большасць прасунутых праграмістаў. Аднак звычайна варта пачынаць з мовы, нейкі час працаваць над ёй, прымяняць свае веды і практыкаваць яе. Пасля практычнага вопыту праграмавання вывучыце новую мову. Паспрабуйце адзін з наступных моўных масіваў:
    • Мадэль лагічнага праграмавання.
    • Мадэль функцыянальнага праграмавання.

  11. Паспрабуем параўнаць дзве мовы праграмавання, якія вы вывучылі да гэтага часу. Ацаніце моцныя і слабыя бакі кожнай мовы. Звычайна гэта робяць:
    • Вазьміце ранейшы просты шаблон працы з першай мовай праграмавання і перапішыце яго на другую мову праграмавання.
    • Стварыце новы праект і паспрабуйце яго на абедзвюх мовах. Часам у залежнасці ад таго, які праект вы абралі і якую мову вы абралі, наўрад ці вы зможаце зрабіць гэта на любой мове!
    • Параўнайце, як табліцу хуткага пошуку альбо зводную табліцу, паміж двума падобнымі выказваннямі на дзвюх мовах і унікальнымі асаблівасцямі кожнага.
    • Паспрабуйце знайсці спосаб імітаваць унікальныя характарыстыкі адной з моў у іншай.

  12. Вывучыце паняцці праграмавання на адной з моў, якую вы вывучылі. Большасць моў праграмавання маюць версіі / бібліятэкі, якія падтрымліваюць візуалізацыю і іншыя тыпы праграмавання, якія дапамагаюць у камунікацыі і таму падобнае. Вы можаце зрабіць гэта:
    • Вывучыце папярэдняе праграмаванне падзей. Большасць візуальных праграм у пэўнай ступені залежыць ад падзей і апрацоўкі падзей (з выкарыстаннем абранай вамі мовы праграмавання).
    • Паспрабуйце як мага больш настольных праграм і даведайцеся, чым яны займаюцца. Большасць кампаній, якія займаюцца распрацоўкай праграмнага забеспячэння, прадастаўляюць карыстальнікам тэставыя (бэта-версіі) прадукты для тэставання праграмнага забеспячэння. Такім чынам, будзьце ў курсе дасягненняў карыстацкага інтэрфейсу.
    • Прачытайце некаторыя артыкулы ці ўрокі па графічным карыстацкім інтэрфейсе.
  13. Пачніце ўжываць свае веды ў невялікіх праграмных праектах, якія вы распрацоўваеце. Паспрабуйце прымяніць свае навыкі праграмавання да праблем, з якімі вы сутыкаецеся кожны дзень. Напрыклад, напісаць праграму для пакетнага перайменавання файлаў, наглядна параўнаць тэкставыя файлы, скапіяваць імёны файлаў у каталог у памяць / тэкставы файл і г.д. Памятай, спачатку ўсё так проста.
  14. Стварыце віртуальны "выпускны праект". Завяршыце праект да канца, ужываючы метады візуалізацыі, якія вы даведаліся да гэтага часу.
  15. Пашырце сваё разуменне візуальных фреймворкаў / бібліятэк / пакетаў, якія вы раней засвоілі, прайшоўшы прасунутыя курсы, звяртаючы больш увагі на дэталі і вывучаючы дадатковыя парады і рэкамендацыі. ваша праца з інтэрнэт-рэсурсаў.
  16. Шукайце іншыя пакеты / бібліятэкі візуальных элементаў для вашай мовы праграмавання і вывучайце іх.
  17. Прайдзіце курс графікі (не графічны дызайн). Гэта будзе вельмі карысна праграмістам, якія хочуць пісаць прывабныя элементы карыстацкага інтэрфейсу.
  18. Станьце праграмістам гульні (неабавязкова). Гульнявое праграмаванне да гэтага часу ў асноўным лічыцца настольным. Калі вы плануеце стаць распрацоўшчыкам гульняў, вам трэба будзе даведацца больш пра праграмаванне гульняў пасля выканання гэтых дзеянняў. Графічны курс патрабуецца для графічных праграмістаў, а другой мовай на папярэдніх этапах павінна быць мова лагічнага / функцыянальнага праграмавання (трэба выбраць Prolog альбо Lisp). рэклама

Спосаб 3 з 6: размеркаванае праграмаванне прыкладанняў

  1. Даведайцеся пра размеркаванае праграмаванне прыкладанняў. Шмат хто лічыць размеркаванае праграмаванне прыкладанняў адным з самых складаных у засваенні і патрабуе багатых ведаў у галіне кампутараў і камунікацыйных тэхналогій.
  2. Хуткі агляд галасавых сістэм і іх апаратнага забеспячэння. Гэты крок неабавязковы. Аднак вельмі карысна разумець сеткавыя тапалогіі.
  3. Пазнаёмцеся з апаратнай архітэктурай і сеткавымі прыладамі, такімі як цэнтральныя канцэнтратары (канцэнтратары), камутатары і маршрутызатары (маршрутызатары).
  4. Прайдзіце курс пратаколаў і асноў. Вам трэба добра разумець мадэль злучэння Open System Connection (OSI), Ethernet, IP, TCP, UDP і HTTP, перш чым пачаць праграмаваць размеркаваныя прыкладання.
  5. Вывучыце мову XML і азнаёмцеся з ім.
  6. Пачніце з вывучэння мовы сцэнарыяў для інтэрпрэтатара каманд. Для праграмавання на аснове Windows гэта можа быць любы сцэнар, які працуе з хостам сцэнарыяў Windows. Для праграмавання на аснове Linux будзе дастаткова сцэнарыяў Bash і Perl. JavaScript настойліва рэкамендуецца для гэтага на абедзвюх платформах па наступных прычынах:
    • Ён падтрымліваецца большасцю інструментаў сцэнарыяў у любой аперацыйнай сістэме (Windows Scripting Host падтрымлівае JavaScript па змаўчанні, большасць дыстрыбутываў Linux мае пакет падтрымкі сцэнарыяў JavaScript) .
    • Многія праграмісты лічаць, што гэта лягчэй вучыцца.
    • Ён мае сінтаксіс, атрыманы з ALGOL, які дазваляе вам азнаёміцца ​​з многімі іншымі мовамі праграмавання, калі вам трэба выбраць другую мову праграмавання C, C ++, C #, Java і J #, усе маюць сінтаксіс, атрыманы з ALGOL.
    • Вывучыўшы JavaScript, вы пазнаёміцеся са сцэнарыямі кліентаў для вэб-старонак, што, відавочна, з'яўляецца карысным пабочным эфектам!
  7. Па-першае, ужывайце працэдурнае праграмаванне толькі на абранай вамі мове сцэнарыяў. Затым вы можаце выкарыстоўваць больш дасканалыя шаблоны і метады праграмавання ў адпаведнасці з вашым мовай сцэнарыяў і тым, што ён падтрымлівае. Усе мовы сцэнарыяў у той ці іншай ступені звязаны з працэдурным праграмаваннем.
  8. Выкарыстоўвайце мову сцэнарыяў, якую вы навучыліся пісаць сцэнарыі, якія ажыццяўляюць сувязь паміж машынамі. Даведайся, што для гэтага трэба. Дастаткова простай кантактнай інфармацыі.
  9. Пераключыцеся на настольную мову праграмавання / сцэнарыяў. Лепшы - гэта мова з некалькімі парадыгмамі, як Python. Папярэдняе вывучэнне гэтай другой мовы. Java з'яўляецца мовай выбару для большасці праграмістаў па многіх прычынах. Аднак C # дапамагае стварыць больш хуткі імпульс у гэтым масіве. Java і C # аддаюць перавагу па наступных прычынах:
    • Яны з'яўляюцца аб'ектна-арыентаванымі мовамі праграмавання, якія дапамагаюць праграмістам вялікіх груп пазбягаць рэалізацыі частак, таму што ўсе яны маюць магчымасць падтрымліваць кампаненты (г.зн. кодавыя блокі, мяжа пераклад, выкананы для пэўнага задання, можа быць выкарыстаны ў іншых праграмах)
    • Яны ў пэўнай ступені падтрымліваюць праграмаванне на аснове падзей, а таксама ОО (аб'ектна-арыентаванае) і працэдурнае праграмаванне.
    • Структура, на якой пабудавана мова, характарызуецца размеркаваным характарам (у выпадку з Java).
    • Для апрацоўкі сетак ёсць гатовыя пакеты праграмавання, альбо з адкрытым зыходным кодам, альбо ўбудаваныя ў фреймворк; Гэта дазваляе распрацоўнікам лёгка працаваць над прадуктамі іншых людзей.
  10. Больш засяродзьцеся на асноўных моўных асаблівасцях, асабліва на функцыях, якія падтрымліваюць працу ў сетках. Звяртайце менш увагі на элементы карыстацкага інтэрфейсу, такія як выдача інфармацыі, дызайн і метады рабочага акна, і элементы карыстацкага інтэрфейсу.
  11. Прайдзіце навучальны курс па архітэктуры і дызайне размеркаваных прыкладанняў. Вы можаце вучыцца з дапамогай кніг, Інтэрнэт-падручнікаў або акадэмічных курсаў. У любым выпадку, аднак, вам трэба зразумець архітэктуру размеркаваных прыкладанняў і яе канцэпцыі.
  12. Даведайцеся, як ствараць службовыя кампаненты, а таксама выкарыстоўваць абраную вамі мову праграмавання.
  13. Вывучыце адну ці некалькі наступных тэхналогій. Па меншай меры, вам варта прайсці іх усе. Большасць распрацоўшчыкаў размеркаваных прыкладанняў вывучаюць не толькі адну ці дзве мовы праграмавання, але па меншай меры адну мову праграмавання для кожнай аперацыйнай сістэмы. Гэта таму, што калі вы хочаце, каб ваша прыкладанне было "распаўсюджана", вы павінны прадаставіць па меншай меры адну яго версію для кожнай папулярнай аперацыйнай сістэмы.
    • Архітэктура брокера агульных запытаў аб'ектаў (CORBA)
    • Пратакол простага доступу да аб'ектаў (SOAP)
    • Асінхронны JavaScript і XML (AJAX) (асінхронны JavaScript і XML)
    • Размеркаваная кампанентная аб'ектная мадэль (DCOM) (Размеркаваная кампанентная аб'ектная мадэль)
    • .NET Remoting (рашэнне для апрацоўкі аддаленых вылічэнняў)
    • Вэб-службы XML
    рэклама

Метад 4 з 6: Бібліятэка / Платформа / Фреймворк / Асноўнае праграмаванне

  1. Зразумець, што такое асноўнае праграмаванне. Асноўныя праграмісты - гэта проста прасунутыя праграмісты, якія пераўтвараюць прыкладанні для праграмавання ў коды праграмавання для выкарыстання іншымі праграмістамі.
  2. Калі вы гэтага не зрабілі, вывучыце мову праграмавання, якая дапамагае ствараць шматразовыя кампаненты / пакеты.
  3. Прайдзіце прасунуты курс UML і ORM. Большасць распрацоўшчыкаў бібліятэк выкарыстоўвае адзін або абодва з іх.
  4. Прайдзіце курс інжынерыі праграмнага забеспячэння.
  5. Па меншай меры, вывучыце модульныя канцэпцыі і метады праграмавання на аснове кампанентаў, аб'ектна-арыентаванае і арыентаванае на падзеі. Чым больш мадэляў праграмавання і моў вы разумееце, тым больш паспяховым вы атрымаеце ў якасці распрацоўшчыка бібліятэкі / пакета.
  6. Даведайцеся больш пра розныя аперацыйныя сістэмы і платформы праграмавання, якія падтрымліваюцца імі.
  7. Сфакусуйце свае намаганні на незалежных ад платформы структурах, мовах праграмавання і тэхналогіях.
  8. Калі на мовах, якія вы вывучалі да гэтага часу, ёсць версіі стандартаў ANSI / ISO / IEEE / W3C, авалодаеце стандартамі. Паспрабуйце выкарыстоўваць стандартныя коды, калі толькі можаце.
  9. Паспрабуйце імітаваць простыя бібліятэкі, якія гатовыя, асабліва бібліятэкі з адкрытым зыходным кодам. Гэта вельмі карысна на пачатковых этапах станаўлення распрацоўшчыкам бібліятэк / пакетаў. Пачніце з простых пакетаў, такіх як прамежкавыя навуковыя вылічэнні і пакеты пераўтварэння адзінак. Калі вы студэнт, скарыстайцеся дысцыплінамі, якія не адносяцца да праграмавання, спрабуючы рэалізаваць іх ураўненні і памнажэнне навукі ў якасці бібліятэк.
  10. Шукайце і спрабуйце пакеты з адкрытым зыходным кодам у вашым полі праграмавання. Спачатку загрузіце двайковыя файлы / выканальныя файлы пакета. Паспрабуйце выкарыстоўваць яго і выявіце яго моцныя і слабыя бакі. Пасля завяршэння загрузіце зыходны код і паспрабуйце даведацца, як гэта робіцца. Паспрабуйце ўзнавіць гэтыя бібліятэкі альбо іх часткі. Перш за ўсё, зрабіце гэта пасля таго, як вы ўбачылі зыходны код, а потым зрабіце гэта, перш чым убачыце зыходны код. На пазнейшых этапах паспрабуйце ўдасканаліць гэтыя бібліятэкі.
  11. Вывучыце розныя падыходы да распаўсюджвання і разгортвання кампанентаў для праграмістаў.
    • Часта праграмісты бібліятэк / пакетаў схільныя рэкурсіўна і / або неаднаразова думаць пра ўсе праблемы, якія ім прадстаўляюцца. Успрымайце кожную праблему як сукупнасць меншых задач (шэраг больш простых задач) альбо як ітэратыўны працэс скарачэння аб'ёму праблемы да меншага аб'ёму, а потым Укладвайце дыяпазоны адзін на аднаго.
    • Распрацоўшчыкі бібліятэк / пакетаў, як правіла, абагульняюць. Гэта значыць, калі перад імі ставіцца простая канкрэтная праблема, яны часта думаюць пра больш агульную праблему і спрабуюць вырашыць гэтую агульную праблему так, каб яна аўтаматычна вырашыла меншыя праблемы.
    рэклама

Спосаб 5 з 6: Сістэмнае праграмаванне

  1. Зразумець, што прадугледжвае сістэмнае праграмаванне. Сістэмны праграміст займаецца "навукай" праграмавання, а не яго канкрэтнымі рэалізацыямі. Не прывязвайце сябе да пэўнага фону.
  2. Выканайце першыя тры этапы, каб стаць праграмістам для настольных праграм.
  3. Прайдзіце ўступны курс па лінейнай алгебры.
  4. Прайдзіце курс вылічальнай тэхнікі.
  5. Прайдзіце дыскрэтны курс матэматыкі і / або лагікі.
  6. Пазнаёмцеся з рознымі асноўнымі аперацыйнымі сістэмамі. Гэта можна зрабіць:
    • Зразумець, як усталёўваюцца аперацыйныя сістэмы.
    • Даведайцеся, як усталяваць розныя аперацыйныя сістэмы на адзін ПК (неабавязкова, але рэкамендуецца).
    • Усталюйце некалькі аперацыйных сістэм. Не ўсталёўвайце ў сістэму любы іншы убудова; замест гэтага выкарыстоўвайце толькі асноўныя функцыі, прадастаўленыя аперацыйнай сістэмай.
  7. Прайдзіце курс (альбо, магчыма, прачытайце кнігу) пра архітэктуру камп'ютэрнага абсталявання [[.
  8. Развіваць разуменне розных камп'ютэрных апаратных платформаў.
  9. Пачніце з мовы зборкі абранай аперацыйнай сістэмы / апаратнай платформы. Пазней вы даведаецеся дадатковую мову зборкі для іншых аперацыйных сістэм / платформаў.
  10. Вывучыце мовы ANSI C і C ++, а таксама працэдурныя паняцці.
  11. Зразумейце і практыкуйце стандартныя бібліятэкі C / C ++ на абранай вамі платформе. Асаблівая ўвага варта надаць стандартнай бібліятэцы шаблонаў (STL) і, магчыма, актыўнай бібліятэцы шаблонаў (ATL).
  12. Шукайце ў Інтэрнэце рэсурсы, кнігі і курсы, каб зразумець асаблівасці C на платформе па вашаму выбару.
  13. Патрэніруйцеся ў пашыранай генерацыі кода на C і C ++.
  14. Даведайцеся больш прасунутую мову зборкі.
  15. Прайдзіце курс дызайну аперацыйнай сістэмы.
  16. Знайдзіце і прачытайце матэрыялы на пэўнай платформе па вашаму выбару. Гэта будзе прасцей, калі вы выберыце аперацыйную сістэму на аснове Unix. Асвоіце сістэму, над якой вы будзеце працаваць пазней.
  17. Займайцеся тым, што атрымліваеце. Давайце спачатку створым некалькі невялікіх сістэмных утыліт. Звычайна дапамагае, калі вы:
    • Паспрабуйце ўзнавіць невялікія інструменты, даступныя ў вашай сістэме.
    • Паспрабуйце перанесці ўтыліты, даступныя ў іншых аперацыйных сістэмах, на свае.
  18. Вывучайце мовы ў тым парадку, у якім яны найбольш карысныя. Гэта адзіны масіў, дзе першая мова праграмавання навучылася мець сваё значэнне.Спачатку вывучыце ANSI C, а не C ++, C #, Java ці D. Затым вывучыце C ++.
    • Абмяжуйце першую мову C і толькі C, таму што сістэмы праграмавання патрабуюць ад праграмістаў азнаямлення з наступнымі паняццямі:
      • Складзіце фактычны і ўвесь зыходны код.
      • Выходныя файлы аб'екта нізкага ўзроўню.
      • Бінарныя коды.
      • Праграмаванне машыннай мовы / мовы зборкі на нізкім узроўні. Шмат хто лічыць, што мова C адначасова альтэрнатыўная і лягчэйшая для вывучэння мова асамблеі. Ён таксама падтрымлівае ўстаўку кода зборкі ў код, калі заўгодна, і гэта проста працэдура (напрыклад, зборка).
    рэклама

Метад 6 з 6: Навука пра праграмаванне

  1. Ведайце, чым займаецца праграміст. Навукоўцы-праграмісты - вельмі прасунутыя праграмісты, якія замест распрацоўкі прыкладанняў распрацоўваюць вылічальныя тэхналогіі, такія як кадаванне, мовы праграмавання і алгарытмы здабычы дадзеных. Гэтая ступень рэдка дасягаецца без паглыбленых акадэмічных даследаванняў.
  2. Сукупныя навуковыя веды адпавядаюць 4-гадовай ступені ў галіне інфарматыкі. Гэтага можна дасягнуць адным з наступных спосабаў:
    • Прайдзіце сапраўдную навуковую ступень (што часта бывае).
    • Знайдзіце план курса для такой ступені ў адным з даступных універсітэтаў і вывучыце прадметы самастойна альбо прайдзіце прыватныя курсы. Тэарэтычна вы можаце гэтага дасягнуць, але вы павінны пайсці першым шляхам.
  3. Абярыце спецыялізаваны масіў. Будзьце больш канкрэтныя, тым лепш. Гэта залежыць ад вашых пераваг. Аднак наступны спіс асноўных тэм у галіне камп'ютэрнага праграмавання:
    • Алгарытмы праектавання (некалькі прыкладаў знайсці, класіфікаваць, кадзіраваць, дэкадаваць і выяўляць памылкі ў сувязі)
    • Дызайн / аптымізацыя моў праграмавання / кампілятары
    • Масівы штучнага інтэлекту (распазнаванне малюнкаў, распазнаванне прамовы, апрацоўка натуральнай мовы, нейронныя сеткі)
    • Робататэхніка
    • Навуковае праграмаванне
    • Супер вылічэнне
    • Аўтаматызаванае праектаванне / мадэляванне (CAD / CAM)
    • Віртуальная рэальнасць
    • Камп'ютэрная графіка (Камп'ютэрную графіку часта блытаюць з графічным дызайнам альбо дызайнам графічнага карыстацкага інтэрфейсу.) Камп'ютэрная графіка - гэта вобласць даследаванняў таго, як прадстаўляць і маніпуляваць графікай у камп'ютэрных сістэмах. разлік).
  4. Разгледзім магчымасць атрымаць вышэйшую навуковую ступень. Вы можаце працягнуць праграму навучання ў магістратуры або дактарантуры.
  5. Вывучыце мовы і тэхналогіі праграмавання, якія адпавядаюць абранай вобласці праграмавання. рэклама

Парада

  • Незалежна ад тыпу праграмавання, які вы хочаце паспрабаваць, і любога ўзроўню, які вы хочаце дасягнуць, падумайце пра тое, каб прайсці заняткі ў мясцовай школе альбо грамадскім каледжы. Няхай вас не палохаюць такія тэрміны, як "Інфарматыка". Любы занятак, які вы не патрабуеце, не патрабуе першапачатковых патрабаванняў, будзе сканцэнтраваны на выкладанні асноў праграмавання, але папярэдне пракансультуйцеся з выкладчыкам альбо ментарам. Пераканайцеся, што гэта тое, што вы шукаеце, бо заняткі накшталт "Камп'ютэрныя навыкі" могуць больш засяродзіцца на прывыканні да офісных прыкладанняў ці нечым падобным.