За да станете програмист, трябва да развиете уменията си ден след ден, от година до година. Програмирането може да се наслади и да се ползва (за ум, дух и финансов). В тази статия ние не цитираме методите, които биха ви позволили да се превърне в специалист, а последователността на стъпките не е задължително да има такива. Тази информация ще ви даде общи познания за това как да станете програмист в едно от модерните райони за развитие.
Стъпка
един.
Регистрирайте се за уводния курс по един (или за всички) от следните дисциплини:- логика;
- Дискретна математика;
- Език за програмиране (проучване на различни програми за програмиране, започвайки с паралелно и обектно-ориентирано програмиране, и след това отидете на функционален и логичен. Ruby / Python / Pascal се вписва по-добре и след някои практики вече можете да преминете към C ++ / c # / Java).
Съвет на специалиста
GENE LINETSKY, MS
Основател на стартиращи и главни инженерификации Liminski - основател на стартиращи и програмист инженер от залива на Сан Франциско. Работи в технологичната индустрия повече от 30 години. Понастоящем основният инженер в Poynt, технологична компания, произвеждаща платежни интелигентни терминали за бизнес.
GENE LINETSKY, MS
Основател на стартиращите и главния инженер
Да се научат да програмирате, по избор получават специално образование. Докато курсовете за обучение на уменията за програмиране могат да бъдат полезни, JIN LAINETS - основател на стартиращите и програмист инженер - казва: "Помага за образование или вреда повече? Спорен проблем. Да бъде така, както може, важно е да се позове на процеса на програмиране като учене, защото по време на него ние се учим по собствените си грешки ".

2. Разгледайте основните понятия, включително таблици, запитвания и процедури. Можете да разгледате някоя от следните продукти:
MS Access;Db v;Fox Pro;Парадокс;MySQL е подходящ и за това, че е безплатна обща система, а базите данни са свързани с SQL заявки.
3. Решете какво програмиране искате да направите. Има няколко вида програмиране:
Уеб програмиранеШпакловкаПрограмиране на приложения за компютри:Програмиране операционна система (Специалист се занимава с разработването на една операционна система или набор от системи);Програмирането не е прикрепено към определена платформа.Програмиране на разпределени системи;Програмиране на библиотеки, платформи, рамки, ядра;Системно програмиране:Програмиране на ядра;Програмиране на драйвери;Програмиране на компилатори.Научно програмиране.
4. Разгледайте технологиите и програмните езици, свързани с сферата, която ви харесва. В следващите раздели на тази статия говорим за специфични задачи в различни области на програмиране.
Метод 1 от 6:
Уеб програмиране
един.
Знайте какво включва уеб програмиране. Уеб приложенията са компоненти на софтуер, които са ускорени в интернет архитектурата. Това означава, че достъпът до приложения се извършва с помощта на уеб браузър (например Firefox или Internet Explorer). Тази надстройка не изисква непременно активна връзка с интернет. Това означава само, че уеб приложенията са изградени въз основа на стандартни уеб технологии, включително следното:

2
Разгледайте Различни сайтове, за да разберат как са построени. (Щракнете с десния бутон върху всяка област, след това "Преглед на източника" или натиснете F12.) Обърнете внимание на разнообразието от информация и дизайн и не преследвайте. Най-малко един от всеки тип сайтове трябва да бъде посетен:
Корпоративен сайт (обекти на търговски корпорации, нестопанска цел, държавни организации);Сайтове, отговорни за индексиране в мрежата (сайтове за търсене, сайтове за търсене на мета данни, специални търсачки, директория);сайтове за интелигентен анализ на данните;лични обекти;Информационни и енциклопедични сайтове (Wiki сайтове, списъци с данни, техническа информация, ръководства за потребителя с директории, блогове и дневници, новини и агенции за новини, жълти страници и т.н.);Социални сайтове (социални мрежи, сайтове за създаване на отметки и бележки);Съвместни сайтове (тази категория включва всички посочени по-горе страници, включително Wiki сайтове и блогове).
3. Проверете поне един метод или техника Мозъчна атака и заявлението, което е създадено въз основа на този метод. Например, обмислете графиките и MS Visio.

4. Разберете какви са графичните уебсайтове. Това включва създаване на специални уеб диаграми, карти на сайтове и навигация.

пет. Регистрирайте се за експресен графичен курс. Опитайте се да научите как да използвате поне една програма за създаване и обработка на изображения (това е незадължително изискване, но тези умения ще бъдат полезни за вас).

6. Проверете основите на интернет инфраструктурата. Ще трябва да имате поне основни познания за:
Основни протоколи за уеб услуги (HTTP, FTP, SMTP и POP3 или IMAP4);програми за Уеб сървъри (за предпочитане за платформата, с която най-често ще работите);уеб браузъри;Имейл сървъри и клиентски софтуер.
7. Разгледайте основите на HTML и CSS. За тези цели можете да използвате софтуерния пакет "Какво виждате е това, което получавате (wysiwyg)".

Осем. Разгледайте XML и XML-свързани технологии (например XSL и XPATH). Не е задължително, но тези знания ще бъдат полезни.

девет. Започнете да създавате прости статични сайтове и го направете, докато не овладеете основите HTML.

10.
Разгледайте езика за програмиране на клиента. Най-често научават jаvascript. Можете също така да направите
VBScript, Този език обаче е несъвместим с повечето браузъри.

единадесет. Вземете софтуерното програмиране на клиента, което сте избрали. Опитайте се да постигнете максимума си с един от този език. Отидете на следващата стъпка само когато можете да навигирате поне един език от този тип.

12. Светлина поне един език за програмиране на сървъри. Ако решите да работите само с един тип сървър софтуер, прочетете поне един от програмните езици, които се използват за запис на този софтуер. Ако сте готови за повече, научете поне един език за програмиране за всеки тип софтуер.

13. Като сте изучавали езика за програмиране на сървъра, създайте тестов проект.

Четиринадесет
Метод 2 от 6:
Програмиране на приложения за стационарен компютър
един.
Разберете какво трябва да направите. Като правило програмистите пишат кодове за приложения, които се използват в бизнеса, така че трябва да разберете как работи бизнесът, как се организира и как е изградена финансовата си система, за да
да спестите време.

2.
Разгледайте различни видове архитектура на компютърна техника. Ще бъде полезно да се изучават основите на строителството
Цифрови схеми и
Компютърна архитектура. Въпреки това, някои експерти смятат, че на началния етап не е необходимо, така че ще бъде достатъчно да се чете 2-3 статии по тази тема. Можете да се върнете към това, когато ще овладеем първия ви език за програмиране.

3. Изследвам програмен език Начално ниво. Чувствайте се свободни да научите какво се смята за детски, само защото сте по-възрастни. Пример за такъв език е нулата. Такива езици ще улеснят първия си език за програмиране. Въпреки това тази стъпка не може да се счита за задължителна. Освен това е възможно да направите това преди предишната стъпка.


пет. Запишете в уводния курс Процедурни езици за програмиране. Каквото и език да избирате по-късно, имате нужда от познания за процесуалното програмиране. Освен това много експерти смятат, че за да разберат програмирането като цяло, трябва да започнете с това.

6. Разгледайте една от усъвършенстваните симулационни системи (например UML или ORM).

7. Започнете да пишете малки конзолни или конзолни приложения. Можете да използвате упражнения от програми за програмиране. Изберете инструмент за писане на програма на езика за програмиране, с който работите.

Осем. Регистрирайте се за курс за програмиране в избраното ниво. Трябва да разберете следните понятия, за да могат да ги приложите с относителна лекота:
Въведете и изведете информация от клиенти в програмата;логически поток и поток на програмно изпълнение в процесуални езици за програмиране;подбор, цел и сравнение на променливите;Създаване на ключови структури, включително ако имаш..Тогава..Друго и Изберете / превключвател..СлучайШпакловкаСтруктури за отстраняване, включително Докато.., ..Докато / до, За..СледващияШпакловкаСинтаксиса на вашия програмен език за създаване и име на процедури и функции;Типове данни и методи за обработка на данни;Потребителски дефинирани типове данни (записи, структури, единици) и тяхното използване;Ако езикът ви поддържа Функции за претоварване, Трябва да ги разберете;Методи за анализ на паметта в избрания от вас език (указатели, звуци и т.н.);Ако езикът ви за програмиране поддържа Оператори претоварване, Трябва да знаете това;Ако на вашия език има указатели за функции, трябва да ги разберете.
девет. Започнете да прилагате знания.

10. Излезте от уводния курс на поне един език за програмиране в друга програмна парадигма. Един от езика трябва да се научи във всяка парадигма и като правило всички добри програмисти идват и правят, но имате достатъчно, за да започнете с една, да работим с нея, да изработите и след това да отидете на другите, когато вече имате истински опит в програмирането. Обърнете внимание на една от следните области:
Парадигма на логическото програмиране;парадигма на функционалното програмиране;Обектно-ориентирана парадигма.
единадесет. Опитайте се да сравните два програмни езика, които вече сте усвоили. Оценявайте силните и слабите страни на всеки от тях. Обикновено го правят така:
Вземете прост пример за ранната си работа в първия език за програмиране и го пренапишете с помощта на втория език.Създайте нов проект и използвайте двата езика там. Може би някои неща, които няма да можете да правите на един от езиците - всичко ще зависи от проекта и езиците, които сте избрали.Направете яслите или сравнете подобни структури на двата езика и техните разлики в шарнирната таблица.Намерете начин да повторите дизайните, които са на един и същи език, като използвате друг език.
12. Разгледайте концепцията Визуално програмиране С един от избраните от вас езици. Почти всички езици за програмиране имат версии или библиотеки, които поддържат визуално програмиране и други видове конзола или конзола - подобно програмиране. Това може да се направи, както следва:
Излезте в уводния курс по програмиране, управлявано от събития. По принцип визуалното програмиране се основава на събития и обработка на събития (използвайки избрания език за програмиране).Опитайте се да работите с голям брой софтуер за фиксирани компютри, за да разберете какво правят тези програми. Повечето разработчици предлагат бета-версии на приложения, на които могат да се ползват. Внимавайте за развитието на потребителския интерфейс.Прочетете статии или ръководства за работа с графичен потребителски интерфейс.
13. Започнете да прилагате знанията си, разработвате прости приложения. Опитайте се да използвате получените знания за решаване на ежедневните проблеми. Например, напишете програми, които ще преименуват файлове, да сравняват визуално текстовите файлове, да копират имената на документите на определено място в отделен файл или текстов файл и така нататък. Да започнем с, нека всичко е просто.

Четиринадесет. Създайте виртуален проект за дипломиране. Направете всичко докрай, като прилагате методи за визуално програмиране, които вече сте усвоили.

Петнадесет години. Задълбочаване на знанията си за визуални схеми, библиотеки и софтуерни пакети, преминаващи курсове за напреднали, обръщайки специално внимание на по-малките неща и нараства, за да научите как повече техники за работа с рамки от интернет източници.

шестнадесет. Потърсете други софтуерни пакети и библиотеки от визуални елементи за вашите програмни езици и ги разгледайте.

17. Регистрирайте се за графични курсове (не графичен дизайн). Ще бъде много полезно, ако планирате да създавате елементи с красив потребителски интерфейс.

18.
Станете разработчик на игри (по избор). Програмиране
Компютърни игри Разглеждани програми за стационарни компютри. Ако искате да създадете игри, ще трябва да овладеете основите на това програмиране след приключването на описаните по-горе стъпки. Ще трябва да преминете през курса за програмиране, а вторият език за програмиране, който трябва да изберете, трябва да бъде логически / функционален език (за предпочитане prolog или lisp).
Метод 3 от 6:
Програмиране на разпределени системи
един.
Започнете програми за програмиране на устройства за програмиране. Това програмиране Счита се за един от най-трудните и изисква голямо разнообразие от знания в областта на компютрите и информационните технологии.

2. Попълнете експресния курс телефония и подходящо оборудване. Не е необходимо да правите това, но благодарение на този курс ще разберете по-добре топологията на мрежата.

3. Вижте архитектурата на мрежовото оборудване и устройства, включително центрове, превключватели и маршрутизатори.

4.
Разгледайте мрежовите протоколи и всички свързани с тях. Ще трябва да разберете добре модела
OSI (Взаимно свързване на отворените системи - Международна програма за стандартизация на данните между системите на различни производители), Ethernet, IP, TCP,
UDP и http. Само след това можете да започнете да работите.

пет. Разгледайте XML езика и ги научете да го използват.

6. Започнете да изучавате езика на разпределеното програмиране. Ако говорим за програмиране на Windows, ще има всеки език, който поддържа Windows скриптов хост. При програмиране под Linux използва се Bash и Perl. Препоръчително е да се проучи jаvascript за работа с двете платформи поради следните причини:
jаvascript се поддържа от практически всички скриптове на всички операционни системи (Windows Scripting Host поддържа jаvascript на jаvascript, и повечето дистрибуциилининук имат пакет за поддръжка на jаvascript).Смята се, че това е улеснено.jаvascript е изграден върху синтаксиса на алгол и това ще ви позволи да се запознаете с много други програмни езици и да изберете втория език, който ще бъдете по-лесни (° С, ° С++, C #, Java и J # са базирани на синтаксис на алгол).Изучаването на jаvascript, вие се запознавате с клиентски скриптове за програмиране на уеб страници и това означава двойна употреба!
7. Първо използвайте само процесуално програмиране на същия език. По-късно можете да използвате по-сложни техники и парадигми, съответстващи на вашия скриптен език и какво подкрепя. Всички скриптови езици използват процедурно програмиране в една или друга степен.

Осем. С помощта на писания език, който сте учили, започнете да пишете скриптове, които ще принудят машините да комуникират. Разберете какво ви трябва. Ще има достатъчно лесен обмен на данни.

девет.
Отидете на езика за програмиране за стационарни компютри. Препоръчително е да изберете език с няколко парадигми - например
Питон. Разгледайте основите на този език. Мнозина избират Java по различни причини, но в момента, в който езикът C # става все по-популярен. Причините, за които е по-добре да изберете Java и C #, са както следва:
Това са обектно-ориентирани езици, които свободните програмисти в големи екипи от необходимостта да мислят за тънкостите на изпълнението, тъй като и двата езика поддържат компонентите (готови интегрирани кодови единици, които ви позволяват да изпълнявате определени задачи и други програми Чест.Те подкрепят програмирането на събития, както и обектно-ориентирано и процедурно програмиране до известна степен.Рамката, въз основа на която езикът е удължен, се разпределя по подразбиране (в случая на Java).Възможност за използване на готови пакети, които са отговорни за мрежата, т.е. пакети за отворен код и за вградени в рамкови пакети. Благодарение на тези програмисти е по-лесно да се изгради работата си въз основа на вече съществуващ код.
10
Обръщай повече внимание Ключови характеристики на езика, особено когато става дума за мрежи. По-малко внимание може да се обърне на потребителския интерфейс, включително елементи като изход за данни, дизайн на прозорци и други техники.

единадесет. Разгледайте основите на архитектурата на приложените разпределени системи. Това може да се направи независимо с помощта на книги, интернет източници или курсове. Каквото и да изберете, ще бъде важно да разберете основните принципи на изграждането на приложни разпределени системи.

12. Разгледа развитието на обслужвани компоненти и Услуги В избрания от вас език.

13. Изследвайте една или повече от следните технологии. Препоръчително е да знаете поне малко за тях. Повечето от програмистите на приложените разпределени системи не се ограничават до един или два езика и те обучават поне един език за всяка операционна система. Това се обяснява с факта, че за да се направи разпространението на приложението, ще трябва да създадете според тази програма за най-малко основните операционни системи.
Обща архитектура посреднически искания за обекти (КорбаЧестПрост достъп до обекти (СапунЧестАсинхронен jаvascript и xml (АяксЧестРазпределен модел на компонент (DcomЧест.Нетно отдалеченоXML уеб услугиМетод 4 от 6:
Програмиране на библиотеки, платформи, рамкиране, ядрено
един. Разберете какъв вид програмиране на ядрото. Ядрените програмисти са опитни програмисти, които са преминали от разработването на приложения към програмните кодове, които могат да използват други програмисти.

2. Разгледайте езика за програмиране, поддържащ развитието на компоненти и пакети, които могат да се използват готови, ако все още не сте го направили.

3. Преминават напреднали UML и Orm курс. Най-често използван или нещо едно или и двете.

4. Минавам през курса Програмиране на софтуер.

пет. Разгледайте най-малко модулни методи за програмиране, програмиране на базата на компонент, обектно-ориентирани и програмирани за събития програмиране и основни принципи на работа в тези системи. Колкото повече парадигми и езици ще знаете, толкова по-лесно ще ви бъде да станете библиотеки и пакети за програмист.

6. Разгледайте различно Операционна система и рамки, които работят в тези системи.

7. Обърнете специално внимание на рамката, независима от платформата, както и програмни езици и технологии.

Осем.
Ако програмните езици, които вече сте изучавали, поддържат стандартни версии ANSI/
ISO/
IEEE/
W3C, Облекчаване на основите. Ако е възможно, използвайте стандартния код.

девет. Опитайте се да пресъздадете простите готови библиотеки, особено с отворен код. Тя ще бъде много полезна на първия етап. Започнете с прости пакети (например превод на измерванията или изчисленията на средното ниво на трудност). Ако изучавате в университета, използвайте информация, получена в други класа и опитайте да използвате уравнения и данни като библиотеки.

10. Потърсете пакети с отворен код и се опитайте да работите с тях в програмната си сфера. Първо изтегляне на двоични и изпълними файлове. Започнете да работите с тях, за да разберете какви са техните силни и слаби страни. След това изтеглете изходния код и се опитайте да разберете как е създаден. Опитайте се да пресъздадете библиотеките или техните части. Първо го направете след като видите кода, а след това - преди. Когато започнете да разбирате това, опитайте се да подобрите библиотеката.

единадесет. Разгледайте различни подходи към разпространението и внедряването на компоненти за програмисти.
Като правило програмистите на библиотеки и пакети се опитват да представят всички задачи в обратен ред и / или итеративни. Опитайте се да представите задачата като набор от малки задачи (поредица от прости действия) или като повтарящ се процес, който ви позволява да намалите голям мащаб до малък, и след това да се насладите, получените един върху друг.Библиотеката и програмистите на пакета често обобщават. Когато те имат проста и разбираема задача, те се опитват да представят общ проблем и да го разрешат, които автоматично решават всички по-малки задачи.Метод 5 от 6:
Системно програмиране
един. Разберете какво включва системно програмиране. Системните програмисти работят с научната страна на програмирането, а не със специфични задачи. Не се свързвайте с конкретна платформа.

2. Следвайте препоръките в първите три стъпки към програмистите за стационарни компютри.

3. Излезте в уводния курс по линейна алгебра.

4. Преминете курса Методи на сетълмента.

пет. Завършете логиката и / или дискретен курс по математика.

6. Запознайте се с различни операционни системи без добавки. Това може да се направи, както следва:
Разберете как са инсталирани системи.Научете се да инсталирате операционни системи на компютър (препоръчително).Инсталирайте повече от една система. Не използвайте спомагателните пакети - вземете само основната функционалност на операционните системи.
7. Завършете курса по архитектурата на компютърното оборудване (или прочетете литературата по тази тема).

Осем. Разгледайте характеристиките на различни хардуерни платформи.

девет. Запознайте се с основите на асемблерния език на избраната операционна система или хардуерна платформа. По-късно ще трябва да научите езика на асемблера на други платформи и системи.

10. Разгледайте езиците ANSI C и C ++, както и основните принципи на процесуалното програмиране.

единадесет.
Разгледайте стандартните библиотеки на C / C ++ и започнете да ги използвате на избраната от вас платформа. Специално внимание се отделя на библиотеката на стандартните шаблони (
Stl) и библиотека на активни шаблони (
АТЛЧест

12. За да разберете как C / C ++ работи на вашата платформа, прочетете интернет източници, книги и курсове.

13. Започнете да създавате по-сложен код на C и C++.

Четиринадесет. Разгледайте повече сложни нюанси.

Петнадесет години. Продайте курса за развитие на операционните системи.

шестнадесет. Намерете и прочетете документацията за избраната от вас платформа. Ще бъде по-лесно да работите с операционната система на UNIX. Ще трябва да разберете тази система много добре.

17. Започнете да прилагате знания. Първо създайте малки системни комунални услуги. Ще бъде полезно да направите следното:
Пресъздадете малки инструменти, които вече съществуват във вашата система.Опитайте да свържете комунални услуги, които са в други системи, с вашата система.
18. Изследвайте езиците в реда, в който ще бъде правилно. Само в този случай има значение, какъв е вашият първи език за програмиране. По-добре е първо да проучите ANSI C, а не C #, Java или D. След това отидете в c++.
Изискването за познаване на езика C и само C се дължи на факта, че системният програмист трябва да притежава следните познания:Реална и пълна компилация от изходния код.Изходни файлове на долните обекти.Обвързващи двоични файлове.Програмиране на езика на машината на по-ниското ниво и програмиране на асемблер. На език с много по-лесни за обучение на асемблер. В допълнение, този език ви позволява да поставите кода на асемблерния език в основния код по всяко време и това е процедурен език (както и асемблер).Метод 6 от 6:
Научно програмиране
един. Разберете какво прави научният програмист. Научните програмисти са много опитни специалисти, които не разработват приложения, но технологията: криптиране, програми за програмиране, алгоритми за анализ на интелектуални данни. Да се постигне това ниво на знание без специално образование и постоянство почти невъзможно.

2. Натрупайте научните познания, еквивалентни на размера на информацията, предоставена в университета. Това може да стане по няколко начина:
Влезте в университета (обикновено всичко това).Разберете какво е университетската програма в тази област в един от съвременните университети и започнете да се занимавате с курсове или да се научите. Теоретично, това ще ви позволи да получите всички необходими знания, но най-добре е да влезете в университета.
3. Изберете Специализация. Колкото по-тясно ще тесни, толкова по-добре. Всичко зависи от вашите лични предпочитания, но ще предоставим списък с основни сфери в научното програмиране:
Разработване на алгоритми (търсене, сортиране, криптиране на данни, декриптиране, грешки в дефиницията в предаването на данни);разработване и оптимизиране на програмните езици и компилатори;изкуствен удар (разпознаване на повтарящи се елементи, реч, обработка на естествен език, невронни мрежи);роботика;всъщност научно програмиране;Суперкомпютри;CAD / CAM системи (компютър дизайн);виртуална реалност;Компютърна графика (компютърната графика често се бърка с графичен дизайн или графичен потребителски интерфейс. Компютърната графика е сфера на знанието, което ви позволява да разберете как да създавате графики и да го управлявате в компютърни системи).
4. Помислете за получаване на научна степен. Опитайте се да станете доцент или доцент.

пет. Разгледайте технологиите и програмните езици, свързани с избраната посока.
Съвети
- Какъвто и да е вид програмиране, и какво ниво бихте искали да постигнете, помислете за курсове или университет. Нека не плашат имената на курсовете. Относно всички класове, които не предвиждат наличието на специални познания сред учениците, дават основа за програмиране. Да се уверите, че курсът ви подхожда, обсъдете програмата с учителя. Не забравяйте, че курсът с името "компютърна грамотност" може да даде информация не за програмиране, но за уменията за използване на офис приложения.