Як стати програмістом

Щоб стати програмістом, потрібно розвивати свої навички день у день, з року в рік. Програмування може приносити задоволення і користь (для розуму, духу і фінансову). У цій статті ми не наводимо методи, які дозволили б вам магічним чином перетворитися в фахівця, і послідовність кроків необов`язково повинна бути такою. Ця інформація дасть вам загальні знання про те, як можна стати програмістом в одній із сучасних сфер розробки.

кроки

  1. Become a Programmer Step 1
1. Запишіться на вступний курс з однієї (або за всіма) з наступних дисциплін:
  • логіка;
  • дискретна математика;
  • мова програмування (вивчіть різні парадигми програмування, почавши з паралельного і об`єктно-орієнтованого програмування, а потім переходите до функціонального і логічного. Початківцям краще підходить Ruby / Python / Pascal, а після деякої практики вже можна переходити до C ++ / C # / Java).
РАДА СПЕЦІАЛІСТА
Gene Linetsky, MS

Gene Linetsky, MS

Засновник стартапів і головний інженерДжін Лінецький - засновник стартапів і інженер-програміст з області затоки Сан-Франциско. Пропрацював в індустрії технологій більше 30 років. В даний час є головним інженером в Poynt, технологічної компанії, що виробляє платіжні смарт-термінали для бізнесу.
Gene Linetsky, MS
Gene Linetsky, MS
Засновник стартапів і головний інженер

Щоб навчитися програмувати, необов`язково мати спеціальну освіту. У той час, як курси навчання навичкам програмування можуть бути корисні, Джин Лінецький - засновник стартапів і інженер-програміст - каже: «Допомагає освіту або більше шкодить? Спірне питання. Як би там не було, важливо ставитися до самого процесу програмування як до навчання, адже під час нього ми і вчимося на власних помилках ».

  • Become a Programmer Step 2
    2. Вивчіть базові концепції, включаючи таблиці, запити та процедури. Можна придивитися до будь-якого з наступних продуктів:
  • MS Access;
  • DB V;
  • Fox Pro;
  • Paradox;
  • MySQL також підійде, оскільки це безкоштовна поширена система, і бази даних пов`язані з SQL-запитами.
  • Become a Programmer Step 3
    3. Вирішіть, яким програмуванням ви хочете займатися. Є кілька типів програмування:
  • веб програмування;
  • програмування додатків для комп`ютерів:
  • програмування операційних систем (Фахівець займається розробкою однієї операційної системи або набору систем);
  • програмування, не прив`язані до конкретної платформі.
  • програмування прикладних розподілених систем;
  • програмування бібліотек, платформ, фреймворків, ядер;
  • системне програмування:
  • програмування ядер;
  • програмування драйверів;
  • програмування компіляторів.
  • наукове програмування.
  • Become a Programmer Step 4
    4. Вивчіть технології і мови програмування, пов`язані з тією сферою, яка вам подобається. У наступних розділах цієї статті піде мова про конкретні завдання в різних сферах програмування.
  • Метод 1 з 6:
    Веб програмування
    1. Become a Programmer Step 5
    1. Знайте, що включає в себе веб-програмування. Веб-додатки - це компоненти програмного забезпечення, які надбудовуються над архітектурою інтернету. Це означає, що доступ до додатків здійснюється за допомогою веб-браузера (наприклад, Firefox або Internet Explorer). Ця надбудова необов`язково вимагає активного з`єднання з інтернетом. Це лише означає, що веб-додатки будуються на підставі стандартних веб-технологій, включаючи такі:
  • Become a Programmer Step 6
    2
    перегляньте найрізноманітніші сайти, щоб зрозуміти, як вони побудовані. (Натисніть правою кнопкою миші по будь-якій області, потім «Подивитися джерело» або натисніть F12.) Зверніть увагу на різноманітність інформації та оформлення і не женіться за кількістю. Слід відвідати хоча б по одному з кожного виду сайтів:
  • корпоративний сайт (сайти торгових корпорацій, некомерційних, державних організацій);
  • сайти, що відповідають за індексацію в мережі (пошукові сайти, сайти з пошуком по мета-даними, особливі пошукові системи, директорії);
  • сайти для інтелектуального аналізу даних;
  • особисті сайти;
  • інформаційні та енциклопедичні сайти (вікі-сайти, списки даних, технічної інформації, керівництва користувача із зазначенням директорій, блоги та щоденники, новини і сайти новинних агентств, жовті сторінки і так далі);
  • соціальні сайти (соціальні мережі, сайти для створення закладок і нотаток);
  • коллаборатівного сайти (до цієї категорії відносяться всі сторінки, згадані вище, включаючи вікі-сайти і блоги).
  • Become a Programmer Step 7
    3. Ознайомтеся хоча б з одним методом або технікою мозкового штурму і додатком, яке було створено на основі цього методу. Наприклад, мозковий штурм діаграм і MS Visio.
  • Become a Programmer Step 8
    4. Дізнайтеся, за якою схемою будуються веб-сайти. Так само як створення особливих веб-діаграм, карт сайту та навігації.
  • Become a Programmer Step 9
    5. Запишіться на експрес-курс графічного дизайну. Постарайтеся навчитися користуватися хоча б однією програмою для створення і обробки зображень (це необов`язкова вимога, однак ці навички вам будуть корисні).
  • Become a Programmer Step 10
    6. Ознайомтеся з основами інтернет-інфраструктури. Вам потрібно буде мати хоча б базові знання про:
  • основних протоколах веб-сервісів (HTTP, FTP, SMTP і POP3 або IMAP4);
  • програмах для веб-серверів (Бажано для платформи, з якої ви будете працювати найчастіше);
  • веб-браузерах;
  • серверах електронної пошти і клієнтському програмному забезпеченні.
  • Become a Programmer Step 11
    7. Вивчіть основи HTML і CSS. Для цих цілей можна використовувати програмний пакет «What You See Is What You Get (WYSIWYG)».
  • Become a Programmer Step 12
    8. Вивчіть XML і технології, пов`язані з XML (наприклад XSL і XPath). Робити це не обов`язково, проте ці знання будуть корисні.
  • Become a Programmer Step 13
    9. Почніть створювати прості статичні сайти і робіть це до тих пір, поки не освоїте основи HTML.
  • Become a Programmer Step 14
    10. Вивчіть клієнтський скриптова мова програмування. Найчастіше вивчають jаvascript. Можна також зайнятися VBScript, однак ця мова несумісний з більшістю браузерів.
  • Become a Programmer Step 15
    11. Займіться обраним вами клієнтським скриптовою мовою програмування. Постарайтеся домогтися свого максимуму за допомогою одного цієї мови. Переходьте до наступного кроку лише тоді, коли будете добре орієнтуватися хоча б однією мовою цього типу.
  • Become a Programmer Step 16
    12. Освойте хоча б один серверний мова програмування. Якщо вирішите працювати лише з одним типом програмного забезпечення сервера, вивчіть хоча б один з мов програмування, який використовується для написання цього програмного забезпечення. Якщо будете готові до більшого, вивчіть як мінімум по одній мові програмування на кожен тип програмного забезпечення сервера.
  • Become a Programmer Step 17
    13. Вивчивши мову програмування серверної частини, створіть тестовий проект.
  • Become a Programmer Step 18
    14
    Створіть свій особистий сайт і почніть експериментувати з ним.
  • Метод 2 з 6:
    Програмування додатків для стаціонарного комп`ютера
    1. Become a Programmer Step 19
    1. Дізнайтеся, ніж вам доведеться займатися. Як правило, програмісти пишуть коди для додатків, які використовуються в бізнесі, тому вам слід з`ясувати, як працює бізнес, як він організований і як побудована його фінансова система, з тим щоб заощадити час.
  • Become a Programmer Step 20
    2. Вивчіть різні типи архітектури комп`ютерного обладнання. Буде корисно вивчити основи побудови цифрових схем і комп`ютерної архітектури. Однак деякі фахівці вважають, що на початковому етапі це не потрібно, тому достатньо буде прочитати 2-3 статті на цю тему. Ви зможете повернутися до цього, коли освоїте свою першу мову програмування.
  • Become a Programmer Step 21
    3. вивчіть мова програмування базового рівня. Не соромтеся вивчати те, що вважається дитячим, лише тому, що ви старше. Прикладом такої мови служить Scratch. Такі мови полегшать роботу з вашим першим справжнім мовою програмування. Проте, цей крок не можна вважати обов`язковим. Крім того, зайнятися цим можна і до попереднього кроку.
  • Become a Programmer Step 22
  • Become a Programmer Step 23
    5. Запишись на вступний курс з процедурних мов програмування. Який би мову ви не вибрали пізніше, вам потрібні будуть знання процедурного програмування. Крім того, багато фахівців вважають, що для того щоб зрозуміти програмування в цілому, слід почати з цього.
  • Become a Programmer Step 24
    6. Вивчіть одну з систем просунутого моделювання (наприклад, UML або ORM).
  • Become a Programmer Step 25
    7. Почніть писати невеликі консольні або консолеподобние додатки. Можна використовувати вправи з підручників з програмування. Виберіть інструмент для написання програм на тій мові програмування, з яким ви працюєте.
  • Become a Programmer Step 26
    8. Запишіться на курс з програмування на вибраному вами мовою просунутого рівня. Ви повинні розуміти такі концепції, щоб вміти застосовувати їх з відносною легкістю:
  • введення і виведення інформації клієнтами в програмі;
  • логічний потік і потік виконання програм на процедурних мовах програмування;
  • вибір, призначення і порівняння змінних;
  • створення ключових конструкцій, включаючи if..then..else і select / switch..case;
  • закільцьовування конструкцій, включаючи while..do, do..while / until, for..next;
  • синтаксис вашої мови програмування для створення та назви процедур і функцій;
  • типи даних і способи обробки даних;
  • типи даних, визначені користувачем (записи, структури, одиниці), і їх застосування;
  • якщо ваш язик підтримує функції перевантаження, ви повинні в них розбиратися;
  • способи аналізу пам`яті в обраному вами мовою (покажчики, звуки і так далі);
  • якщо ваш мова програмування підтримує перевантаження операторів, ви повинні знати це;
  • якщо в вашій мові є покажчики на функції, ви повинні розбиратися в них.
  • Become a Programmer Step 27
    9. Почніть застосовувати отримані знання.
  • Become a Programmer Step 28
    10. Пройдіть вступний курс як мінімум по одній мові програмування в інший парадигмі програмування. Слід вивчити одну мову в кожній парадигмі, і, як правило, всі хороші програмісти так і надходять, проте вам достатньо почати з одного, попрацювати з ним, потренуватися, а потім перейти до інших, коли у вас вже буде реальний досвід в програмуванні. Придивіться до однієї з наступних сфер:
  • парадигма логічного програмування;
  • парадигма функціонального програмування;
  • об`єктно-орієнтована парадигма.
  • Become a Programmer Step 29
    11. Спробуйте порівняти дві мови програмування, які ви вже освоїли. Оцініть сильні і слабкі сторони кожного з них. Зазвичай роблять це так:
  • Візьміть простий приклад вашої ранньої роботи на першій мові програмування і перепишіть її, використовуючи другу мову.
  • Створіть новий проект і використовуйте там обидві мови. Можливо, деякі речі вам не вдасться зробити на одному з мов - все буде залежати від обраного вами проекту і мов.
  • Зробіть шпаргалки або порівняйте схожі конструкції в обох мовах і їх відмінності в зведеній таблиці.
  • Знайдіть спосіб повторити конструкції, які є в одній мові, за допомогою іншої мови.
  • Become a Programmer Step 30
    12. вивчіть концепції візуального програмування за допомогою одного з обраних вами мов. Практично у всіх мов програмування є версії або бібліотеки, які підтримують візуальне програмування та інші види консольного або консолеподобного програмування. Зробити це можна в такий спосіб:
  • Пройдіть вступний курс по подієво-керованого програмування. В основному візуальне програмування базується на подіях і обробці подій (за допомогою вибраної мови програмування).
  • Спробуйте попрацювати з великою кількістю програмного забезпечення для стаціонарних комп`ютерів, щоб зрозуміти, що роблять ці програми. Більшість компаній-розробників пропонують бета-версії додатків, якими можна спробувати користуватися. Слідкуйте за розвитком призначеного для користувача інтерфейсу.
  • Читайте статті або керівництва по роботі з графічним призначеним для користувача інтерфейсом.
  • Become a Programmer Step 31
    13. Почніть застосовувати свої знання, розробляючи прості програми. Спробуйте використовувати отримані знання для вирішення повсякденних проблем. Наприклад, пишіть програми, які будуть масово перейменовувати файли, порівнювати текстові файли візуально, копіювати назви документів в певне місце в окремий файл пам`яті або текстовий файл і так далі. Для початку нехай все буде простим.
  • Become a Programmer Step 32
    14. Створіть віртуальний дипломний проект. Зробіть все до кінця, застосовуючи методи візуального програмування, які ви вже освоїли.
  • Become a Programmer Step 33
    15. Поглибити свої знання візуальних схем, бібліотек і програмних пакетів, пройшовши курси для просунутих, приділяючи особливу увагу більш дрібних речей і намагаючись дізнатися якомога більше прийомів роботи зі фреймворками з інтернет-джерел.
  • Become a Programmer Step 34
    16. Пошукайте інші програмні пакети і бібліотеки візуальних елементів для ваших мов програмування і вивчіть їх.
  • Become a Programmer Step 35
    17. Запишіться на курси графіки (НЕ графічного дизайну). Це буде дуже корисно, якщо ви плануєте створювати елементи з красивим призначеним для користувача інтерфейсом.
  • Become a Programmer Step 36
    18. Стати розробником ігор (за бажанням). програмування комп`ютерних ігор вважається програмуванням для стаціонарних комп`ютерів. Якщо ви хочете створювати гри, вам потрібно буде освоїти основи цього програмування після завершення вищеописаних кроків. Вам обов`язково потрібно буде пройти курс програмування ігор, а друга мова програмування, який вам слід вибрати, повинен бути логічним / функціональним мовою (бажано Prolog або Lisp).
  • Метод 3 з 6:
    Програмування прикладних розподілених систем
    1. Become a Programmer Step 37
    1. Почніть займатися програмуванням прикладних розподілених систем. це програмування вважається одним з найскладніших і вимагає найрізноманітніших знань в сфері комп`ютерів та інформаційних технологій.
  • Become a Programmer Step 38
    2. Пройдіть експрес-курс по телефонії і відповідного обладнання. Робити це не обов`язково, проте завдяки такому курсу ви будете краще розуміти мережеву топологію.
  • Become a Programmer Step 39
    3. Ознайомтеся з архітектурою мережевого обладнання та пристроїв, включаючи хаби, свитчи і маршрутизатори.
  • Become a Programmer Step 40
    4. Вивчіть мережеві протоколи і все пов`язане з ними. Вам потрібно буде добре розуміти модель OSI (Open Systems Interconnection - міжнародна програма стандартизації обміну даними між системами різних виробників), Ethernet, IP, TCP,UDP і HTTP. Лише після цього ви зможете почати працювати.
  • Become a Programmer Step 41
    5. Вивчіть мову XML і навчіть користуватися ним.
  • Become a Programmer Step 42
    6. Почніть вивчати мову розподіленого програмування. Якщо мова йде про програмування під Windows, підійде будь-яка мова, який підтримує Windows Scripting Host. При програмуванні під Linux використовуються Bash і Perl. Рекомендується вивчити jаvascript для роботи з обома платформами з наступних причин:
  • jаvascript підтримується практичними всіма скрипт-хостами всіх операційних систем (Windows Scripting Host підтримує jаvascript за замовчуванням, а у більшості дістрібутівовLinux є пакет для підтримки jаvascript).
  • Вважається, що вивчити його простіше.
  • jаvascript будується на синтаксисі ALGOL, а це дозволить вам познайомитися з багатьма іншими мовами програмування, і вибрати друга мова вам буде простіше (C, C++, C #, Java і J # мають в своїй основі синтаксис ALGOL).
  • Ізучаяjаvascript, ви знайомитеся з клієнтським скриптовою програмуванням веб-сторінок, а це означає подвійну користь!
  • Become a Programmer Step 43
    7. Спочатку використовуйте тільки процедурне програмування на одній мові. Пізніше ви зможете застосовувати більш складні прийоми і парадигми, що відповідають вашому скриптова мова і тому, що він підтримує. Все скриптові мови використовують процедурне програмування в тій чи іншій мірі.
  • Become a Programmer Step 44
    8. За допомогою вивченого вами скриптового мови почніть писати скрипти, які будуть змушувати машини спілкуватися. Дізнайтеся, що вам для цього потрібно. Буде досить простого обміну даними.
  • Become a Programmer Step 45
    9. Перейдіть на мову програмування для стаціонарних комп`ютерів. Бажано вибрати мову з декількома парадигмами - наприклад Python. Вивчіть основи цієї мови. Багато хто вибирає Java з різних причин, однак на даний момент все більш і більш популярним стає мова C #. Причини, за якими краще вибирати Java і C #, полягають в наступному:
  • Це об`єктно-орієнтовані мови, які звільняють програмістів у великих командах від необхідності думати про тонкощі впровадження, оскільки обидві мови підтримують компоненти (готові об`єднані одиниці коду, які дозволяють виконувати певні завдання і в інших програмах).
  • Вони підтримують подієво-кероване програмування, а також об`єктно-орієнтоване і процедурне програмування в певній мірі.
  • Фреймворк, на основі якого надбудовується мову, є розподіленим за замовчуванням (в разі Java).
  • Можливість використовувати готові пакети, які відповідають за мережі, тобто пакети для відкритого коду та для вбудованих у фреймворк пакетів. Завдяки цьому програмістам простіше будувати свою роботу на підставі вже існуючого коду.
  • Become a Programmer Step 46
    10
    Приділяйте більше уваги ключових особливостей мови, особливо там, де мова йде про мережі. Менше уваги можна приділити призначеному для користувача інтерфейсу, включаючи такі елементи, як висновок даних, дизайн вікон та інші техніки.
  • Become a Programmer Step 47
    11. Вивчіть основи архітектури прикладних розподілених систем. Це можна зробити самостійно за допомогою книг, інтернет-джерел або на курсах. Що б ви не вибрали, вам буде важливо розуміти основні принципи побудови прикладних розподілених систем.
  • Become a Programmer Step 48
    12. Вивчіть розробку обслуговуються компонентів і сервісів на вибраному вами мовою.
  • Become a Programmer Step 49
    13. Вивчіть одну або декілька з наступних технологій. Рекомендується знати хоча б трохи про них усіх. Більшість програмістів прикладних розподілених систем не обмежуються одним або двома мовами, а вчать як мінімум по одній мові на кожну операційну систему. Це пояснюється тим, що для того щоб зробити додаток розподіленим, вам потрібно буде створити за версією цієї програми як мінімум для основних операційних систем.
  • Загальна архітектура посередника запитів до об`єктів (CORBA)
  • Простий протокол доступу до об`єктів (SOAP)
  • Асинхронний jаvascript і XML (AJAX)
  • Розподілена компонентна об`єктна модель (DCOM)
  • .NET Remoting
  • Веб-сервіси XML
  • Метод 4 з 6:
    Програмування бібліотек, платформ, фреймворків, ядер
    1. Become a Programmer Step 50
    1. Дізнайтеся, що таке програмування ядра. Програмісти ядер - це досвідчені програмісти, які перейшли від розробки додатків до програмування одиниць коду, які могли б використовувати інші програмісти.
  • Become a Programmer Step 51
    2. Вивчіть мову програмування, що підтримує розробку компонентів і пакетів, які можна було б використовувати готовими, якщо ви ще цього не зробили.
  • Become a Programmer Step 52
    3. Пройдіть просунутий курс UML і ORM. Найчастіше використовується або щось одне, або і те, і інше.
  • Become a Programmer Step 53
    4. пройдіть курс програмування програмного забезпечення.
  • Become a Programmer Step 54
    5. Вивчіть як мінімум способи модулярного програмування, програмування на основі компонентного, об`єктно-орієнтованого і подієво-керованого програмування і основні принципи роботи в цих системах. Чим більше парадигм і мов ви будете знати, тим простіше вам буде стати програмістом бібліотек і пакетів.
  • Become a Programmer Step 55
    6. вивчіть різні Операційні системи і фреймворки, які працюють в цих системах.
  • Become a Programmer Step 56
    7. Приділіть особливу увагу фреймоворкам, не залежних від платформи, а також мов програмування і технологій.
  • Become a Programmer Step 57
    8. Якщо мови програмування, які ви вже вивчили, підтримують стандартні версії ANSI/ISO/IEEE/W3C, освойте основи. По можливості використовуйте стандартний код.
  • Become a Programmer Step 58
    9. Спробуйте відтворити прості готові бібліотеки, особливо з відкритим кодом. Це буде дуже корисно на першому етапі. Почніть з простих пакетів (наприклад, переклад одиниць вимірювання або розрахунки середнього рівня складності). Якщо ви вчитеся в університеті, використовуйте інформацію, отриману на інших заняттях, і спробуйте застосовувати рівняння і дані в якості бібліотек.
  • Become a Programmer Step 59
    10. Пошукайте пакети з відкритим кодом і спробуйте попрацювати з ними в своїй сфері програмування. Спочатку скачайте виконавчі і виконувані файли. Почніть працювати з ними, щоб зрозуміти, в чому полягають їхні сильні і слабкі сторони. Потім скачайте вихідний код і постарайтеся розібратися, як він був створений. Спробуйте відтворити бібліотеки або їх частини. Спочатку робіть це після того, як побачите код, а потім - до цього. Коли почнете розбиратися в цьому, спробуйте поліпшити бібліотеки.
  • Become a Programmer Step 60
    11. Вивчіть різні підходи до розподілу і розгортання компонентів для програмістів.
  • Як правило, програмісти бібліотек і пакетів намагаються представити всі завдання в зворотному порядку і / або ітераційно. Спробуйте уявити завдання як сукупність дрібних завдань (послідовність простих дій) або як повторює процес, який дозволяє звести великий масштаб до маленьких, а потім нашарувати отримане один на одного.
  • Програмісти бібліотек і пакетів часто узагальнюють. Коли перед ними є проста і зрозуміла завдання, вони намагаються представити загальну проблему і вирішити її, що автоматично вирішить усі більш дрібні завдання.
  • Метод 5 з 6:
    Системне програмування
    1. Become a Programmer Step 61
    1. Дізнайтеся, що включає в себе системне програмування. Системні програмісти працюють з наукової стороною програмування, а не з конкретними завданнями. Чи не прив`язується до певної платформі.
  • Become a Programmer Step 62
    2. Дотримуйтесь рекомендацій в перших трьох кроках для програмістів додатків для стаціонарних комп`ютерів.
  • Become a Programmer Step 63
    3. Пройдіть вступний курс з лінійної алгебри.
  • Become a Programmer Step 64
    4. Пройдіть курс по розрахункових методів.
  • Become a Programmer Step 65
    5. Пройдіть курс за логікою і / або дискретної математики.
  • Become a Programmer Step 66
    6. Зустрітися з різними операційними системами без надбудов. Це можна зробити наступним чином:
  • З`ясуйте, як встановлюються системи.
  • Навчіться встановлювати операційні системи на комп`ютер (рекомендується).
  • Встановіть більш однієї системи. Не користуйтеся допоміжними пакетами - візьміть лише основний функціонал операційних систем.
  • Become a Programmer Step 67
    7. Пройдіть курс з архітектури комп`ютерного обладнання (або прочитайте літературу на цю тему).
  • Become a Programmer Step 68
    8. Вивчіть особливості різних апаратних платформ.
  • Become a Programmer Step 69
    9. Ознайомтеся з основами мови асемблера обраної вами операційної системи або апаратної платформи. Пізніше вам потрібно буде вивчити мову асемблера інших платформ і систем.
  • Become a Programmer Step 70
    10. Вивчіть мови ANSI C і C ++, а також основні принципи процедурного програмування.
  • Become a Programmer Step 71
    11. Вивчіть стандартні бібліотеки на C / C ++ і почніть використовувати їх на обраної вами платформі. Особливу увагу приділіть бібліотеці стандартних шаблонів (STL) І бібліотеці активних шаблонів (ATL)
  • Become a Programmer Step 72
    12. Щоб зрозуміти, як C / C ++ працює на вашій платформі, читайте інтернет-джерела, книги і курси.
  • Become a Programmer Step 73
    13. Почніть створювати більш складний код на C і C++.
  • Become a Programmer Step 74
    14. Вивчіть більш складні нюанси Assembly.
  • Become a Programmer Step 75
    15. Пройдіть курс розробки операційних систем.
  • Become a Programmer Step 76
    16. Знайдіть і прочитайте документацію по вибраній вами платформі. Вам буде простіше працювати з операційною системою на основі Unix. Вам потрібно буде дуже добре розбиратися в цій системі.
  • Become a Programmer Step 77
    17. Почніть застосовувати отримані знання. Спочатку створюйте невеликі системні утиліти. Буде корисно зробити наступне:
  • Відтворіть невеликі інструменти, які вже є у вашій системі.
  • Спробуйте з`єднати утиліти, які є в інших системах, з вашою системою.
  • Become a Programmer Step 78
    18. Вивчіть мови в тому порядку, в якому це буде найправильніше. Лише в цьому випадку має значення, який у вас перша мова програмування. Краще спочатку вивчити ANSI C, а не C #, Java або D. Потім переходите до C++.
  • Вимога знання мови C і тільки C пов`язано з тим, що системний програміст повинен володіти наступними знаннями:
  • Реальна і повна компіляція вихідного коду.
  • Файли вихідних даних об`єктів нижнього рівня.
  • Сполучні виконавчі файли.
  • Програмування на машинній мові нижнього рівня і програмування на асемблері. Мовою С багатьом простіше вивчати асемблер. Крім того, ця мова дозволяє поміщати мовної код асемблера в основний код в будь-який момент, і це процедурний мову (як і асемблер).
  • Метод 6 з 6:
    наукове програмування
    1. Become a Programmer Step 79
    1. Дізнайтеся, чим займається науковий програміст. Наукові програмісти - це дуже досвідчені фахівці, які розробляють не програми, а технології: шифрування, мови програмування, алгоритми з інтелектуального аналізу даних. Домогтися цього рівня знань без спеціальної освіти і завзяття практично неможливо.
  • Become a Programmer Step 80
    2. Заробите наукові знання, рівноцінні обсягом інформації, що дається в університеті. Це можна зробити декількома способами:
  • Вступите до університету (зазвичай все так і роблять).
  • Дізнайтеся, в чому полягає університетська програма в цій сфері в одному з сучасних університетів, і почніть або займатися на курсах, або вчитися самостійно. Теоретично це дозволить отримати всі необхідні знання, проте найкраще вступити до університету.
  • Become a Programmer Step 81
    3. Виберіть спеціалізацію. Чим більш вузькою вона буде, тим краще. Все залежить від ваших особистих переваг, але ми наведемо список основних сфер в науковому програмуванні:
  • розробка алгоритмів (пошуку, сортування, шифровки даних, розшифровки, визначення помилок в передачі даних);
  • Розробка та оптимізація мов програмування і компіляторів;
  • сфера штучного розуму (розпізнавання повторюваних елементів, мови, обробка природної мови, нейронні мережі);
  • робототехніка;
  • власне наукове програмування;
  • суперкомп`ютери;
  • системи CAD / CAM (комп`ютерне конструювання);
  • віртуальна реальність;
  • комп`ютерна графіка (комп`ютерну графіку часто плутають з графічним дизайном або дизайном графічного призначеного для користувача інтерфейсу. Комп`ютерна графіка - це сфера знань, яка дозволяє дізнатися, як створювати графіку і керувати нею в комп`ютерних системах).
  • Become a Programmer Step 82
    4. Подумайте про отримання наукового ступеня. Спробуйте стати кандидатом в доценти або доцентом.
  • Become a Programmer Step 83
    5. Вивчіть технології і мови програмування, пов`язані з обраним напрямом.
  • Поради

    • Який би вид програмування ви не вибрали і якого рівня ви не хотіли б досягти, подумайте про курсах або університеті. Нехай вас не лякають назви курсів. На будь-яких заняттях, які не передбачають наявність будь-яких особливих знань у студентів, дають основи програмування. Щоб переконатися в тому, що курс вам підходить, обговоріть програму з викладачем. Пам`ятайте, що курс з назвою «Комп`ютерна грамотність» може давати інформацію нема про програмуванні, а про навички використання офісних додатків.
    Cхоже