Jak zostać programistą

Autor: John Stephens
Data Utworzenia: 1 Styczeń 2021
Data Aktualizacji: 2 Lipiec 2024
Anonim
Jak nauczyć się programowania i zostać programistą?
Wideo: Jak nauczyć się programowania i zostać programistą?

Zawartość

Zostanie programistą to proces kumulacji umiejętności, który z czasem rozwija Twoje umiejętności i może przekształcić się w przyjemną i satysfakcjonującą pracę (intelektualnie, psychicznie i finansowo). ). Ten samouczek nie zapewnia magicznego sposobu na łatwe zostanie programistą, a kolejność kroków nie jest tak ważna, ale dowiesz się, jak zostać programistą. na programistę w jednej z nowoczesnych dziedzin programowania.

Kroki

  1. Weź udział w kursie wprowadzającym z jednego (lub wszystkich) z następujących przedmiotów:
    • Logika
    • Dyskretna matematyka
    • Język programowania (początkujący najlepiej nauczyć się C ++ / Java / Python)


    Gene Linetsky, MS

    Założyciel startupu i dyrektor techniczny Gene Linetsky jest założycielem startupu i inżynierem oprogramowania w San Francisco Bay Area. Pracuje w branży zaawansowanych technologii od ponad 30 lat, a obecnie jest dyrektorem technicznym w Poynt, firmie technologicznej zajmującej się produkcją inteligentnych urządzeń do punktów sprzedaży dla firm.

    Gene Linetsky, MS
    Założyciel start-upu i dyrektor techniczny

    Nie potrzebujesz stopnia z kodowania. Chociaż nauka języków programowania jest pożyteczna, Gene Linesky, inżynier oprogramowania i założyciel startupu, mówi: „To, czy dyplom jest przydatny, czy nie, jest kontrowersyjne. tam możesz myśleć o programowaniu jak o procesie praktykanta - nauczysz się na błędach ”.


  2. Dowiedz się o koncepcjach baz danych, takich jak tabele, widoki / zapytania i procedury. Możesz do tego użyć dowolnego prostego pakietu bazy danych, na przykład:
    • MS Access
    • DB V
    • Fox Pro
    • Paradoks
    • MySQL to dobra baza danych do nauki, ponieważ jest bezpłatna, powszechnie używana, a dostęp do baz danych jest często uzyskiwany za pomocą zapytań SQL.

  3. Zdecyduj, jakim typem programisty chcesz być. Programiści zazwyczaj należą do jednej z następujących kategorii:
    • Web Developer
    • Programista aplikacji desktopowych
      • Programista zorientowany na system operacyjny (powiązany z pojedynczym systemem operacyjnym lub zestawem systemów operacyjnych)
      • Programista niezależny od platformy
    • Rozproszony programista aplikacji
    • Biblioteki / platforma / framework / core programista
    • Programista systemowy
      • Programista personelu jądra
      • Programista sterowników
      • Kompilator programisty
    • Naukowiec programista
  4. Zbadaj technologie i języki programowania związane z wybranym obszarem programowania. W następnych rozdziałach zadania związane z różnymi typami programowania zostaną podzielone. Reklama

Metoda 1 z 6: Programowanie internetowe

  1. Zrozum, czego potrzebuje programowanie internetowe. Aplikacje internetowe to komponenty oprogramowania zaprojektowane do działania na szczycie architektury Internetu. Oznacza to, że dostęp do aplikacji uzyskuje się za pośrednictwem oprogramowania przeglądarki, takiego jak Firefox lub Internet Explorer. Aplikacje te znajdują się na szczycie architektury internetowej, co oznacza, że ​​nie wymagają one rzeczywistego połączenia z Internetem. Oznacza to, że aplikacje internetowe są tworzone na podstawie standardowych technologii internetowych, takich jak:
    • HTTP
    • FTP
    • POP3
    • SMTP
    • TCP
    • Protokoły IP
    • HTML
    • XML
    • Zimna fuzja
    • ŻMIJA
    • JSP
    • PHP
    • ASP.NET
  2. Sprawdź różne strony, aby zobaczyć, jak zwykle wyglądają. (Klikając prawym przyciskiem myszy, a następnie wybierając opcję Wyświetl źródło (wyświetl kod źródłowy) lub naciskając klawisz F12). Powinieneś szukać różnorodności w rodzaju / zawartości witryny, a nie w liczbie wyświetlanych stron. Ogólnie rzecz biorąc, musisz odwiedzić co najmniej jedną stronę dla każdego z następujących typów witryn:
    • Strony wprowadzające do firm (firmy komercyjne, firmy / organizacje non-profit, instytucje rządowe)
    • Narzędzia do indeksowania stron internetowych (wyszukiwarki, witryny meta wyszukiwania, dedykowane wyszukiwarki, katalogi)
    • Witryny do wyszukiwania danych
    • Strony osobiste
    • Witryny z dokumentacją / encyklopedią (Wiki, arkusze danych, specyfikacje techniczne i katalogi podręczników użytkownika, blogi i magazyny, witryny z wiadomościami i wiadomościami, żółte strony ...)
    • Serwisy społecznościowe (portale społecznościowe, zakładki i serwisy do sporządzania notatek online)
    • Witryny współpracy (w tym wszystkie powyższe kategorie, takie jak strony wiki i blogi)
  3. Naucz się przynajmniej jednej techniki / metody burzy mózgów i oprogramowania używanego do tego. Przykłady: wykresy burzy mózgów i oprogramowanie MS Visio.

  4. Zapoznaj się ze strukturą serwisu. To jest tworzenie koncepcyjnych map witryn, map witryn i struktur nawigacji.
  5. Weź udział w intensywnym kursie projektowania graficznego. Spróbuj nauczyć się co najmniej jednego pakietu oprogramowania do edycji / manipulacji graficznej (niewymagane, ale wysoce zalecane).

  6. Poznaj podstawy infrastruktury internetowej. Obejmuje zrozumienie podstawowej idei:
    • Typowe protokoły usług internetowych (HTTP, FTP, SMTP i POP3 lub IMAP4)
    • Oprogramowanie serwera WWW (najlepiej oprogramowanie dla platformy, na której będziesz pracować głównie z nim)
    • Oprogramowanie do przeglądania sieci.
    • Oprogramowanie serwera i klienta do poczty elektronicznej

  7. Naucz się języków HTML i CSS. Możesz także potrzebować pakietu „What You See Is What You Get (WYSIWYG) (What You See Is What You Get)” do edycji HTML.
  8. Naucz się XML i technologii związanych z XML, takich jak XSL i XPath (opcjonalne, ale zalecane).
  9. Twórz proste statyczne strony internetowe, dopóki nie zaznajomisz się i nie zaznajomisz się z językiem HTML.
  10. Naucz się języka skryptowego klienta. Większość użytkowników uczy się JavaScript. Inni uczą się języka VBScript, ale nie jest on zgodny z większością przeglądarek.
  11. Zapoznaj się z językiem skryptowym klienta, którego się nauczyłeś. Staraj się jak najlepiej posługiwać się tylko tym językiem. Przejdź dalej tylko wtedy, gdy znasz przynajmniej język skryptowy klienta.
  12. Naucz się przynajmniej jednego języka programowania serwera. Jeśli zdecydujesz się ograniczyć do oprogramowania serwera, naucz się języków programowania obsługiwanych przez to oprogramowanie. Jeśli nie, naucz się przynajmniej jednego języka programowania dla każdego oprogramowania serwera.
  13. Po ukończeniu nauki języka programowania serwera stwórz dla siebie projekt pilotażowy.
  14. Skonfiguruj własną witrynę internetową i zacznij eksperymentować z własną. Reklama

Metoda 2 z 6: Programowanie brzuszne w aplikacji komputerowej

  1. Dowiedz się, co zrobić z programowaniem aplikacji komputerowych. Większość programistów desktopowych jest przeznaczona dla rozwiązań biznesowych, więc poznanie ich firm, ich struktur organizacyjnych i struktur finansowych pozwala zaoszczędzić dużo czasu.
  2. Badanie różnych architektur sprzętu komputerowego. Przedmiotem zainteresowania będzie podstawowy kurs projektowania obwodów cyfrowych oraz inny kurs architektury komputera. Jednak niektórzy uważają, że początkującym jest dość trudno nauczyć się go, więc wystarczy przeczytać dwa lub trzy samouczki (takie jak ten i ten). Po nauczeniu się pierwszego języka programowania możesz powrócić do tego kroku.
  3. Naucz się podstawowego języka programowania (dla dzieci). Nie wstydź się nauczyć takiego języka tylko dlatego, że jesteś za stary, by nazywać się „dzieckiem”. Przykładem takich języków programowania jest Scratch. Te języki programowania mogą znacznie zmniejszyć trudność nauki pierwszego języka programowania. Jednak ten krok jest opcjonalny, możesz to również zrobić przed poprzednim krokiem.
  4. Dowiedz się o proceduralnych, obiektowych i funkcjonalnych modelach programowania.
  5. Weź udział w podstawowym kursie jednego z proceduralnych języków programowania. Niezależnie od tego, który język wybierzesz później, nadal będziesz potrzebować pewnego stopnia programowania proceduralnego. Ponadto programiści uważają, że programowanie proceduralne jest najłatwiejszym punktem wyjścia do ogólnego zrozumienia idei programowania.
  6. Naucz się przynajmniej jednej zaawansowanej metody modelowania, takiej jak UML lub ORM.
  7. Zacznij pisać jakąś małą aplikację konsolową lub coś w tym rodzaju. Możesz skorzystać z małych ćwiczeń z podręczników do programowania. Aby to zrobić, wybierz narzędzie do pisania programów zgodnie z językiem programowania, który zamierzasz pisać.
  8. Weź udział w bardziej zaawansowanym kursie w wybranym języku programowania. Zanim przejdziesz dalej, upewnij się, że rozumiesz poniższe pojęcia i możesz je zastosować ze względną łatwością:
    • Informacje wejściowe i wyjściowe dla użytkowników programu.
    • Logiczny przepływ i przepływ wykonywania programów w językach proceduralnych.
    • Deklaruj, przypisuj i porównuj zmienne.
    • Instrukcje rozgałęziające w programowaniu, takie jak if..then..else i select / switch..case.
    • Instrukcje pętli, takie jak while..do, do..while / till, for..next.
    • Twoja składnia języka programowania do tworzenia i wywoływania procedur i funkcji.
    • Typy danych i manipulowanie nimi.
    • Typy danych zdefiniowane przez użytkownika (rekordy / struktury / jednostki) i ich wykorzystanie.
    • Jeśli Twój język obsługuje przeciążanie funkcji, zrozum to.
    • Metody dostępu do pamięci wybranego języka (wskaźniki, jak czytać zawartość dowolnej komórki ...)
    • Jeśli Twój język obsługuje przeciążanie operatorów, zrozum to.
    • Jeśli Twój język obsługuje wskaźniki funkcji, zrozum to.
  9. Zastosuj zaawansowane techniki, których się nauczyłeś.
    • Model zorientowany obiektowo.

  10. Weź udział w podstawowym kursie co najmniej jednego innego języka programowania w innym modelu programowania. Powinieneś nauczyć się jednego języka programowania dla każdego modelu, tak robią najbardziej zaawansowani programiści. Zwykle jednak powinieneś zacząć od języka, popracować nad nim chwilę, zastosować swoją wiedzę i ją przećwiczyć. Po zdobyciu praktycznego doświadczenia w programowaniu naucz się nowego języka. Wypróbuj jedną z następujących tablic językowych:
    • Logiczny model programowania.
    • Funkcjonalny model programowania.

  11. Spróbujmy porównać dwa języki programowania, których się do tej pory nauczyłeś. Oceń mocne i słabe strony każdego języka. Odbywa się to zwykle przez:
    • Weź wcześniejszy prosty wzorzec pracy z pierwszym językiem programowania i przepisz go w drugim języku programowania.
    • Utwórz nowy projekt i wypróbuj go w obu językach. Czasami w zależności od wybranego projektu i języka, który wybierzesz, jest mało prawdopodobne, że będziesz w stanie to zrobić w którymkolwiek z języków!
    • Porównaj, jak tabela szybkiego wyszukiwania lub tabela podsumowująca, między dwoma podobnymi instrukcjami w dwóch językach i ich unikalnymi cechami.
    • Spróbuj znaleźć sposób na naśladowanie unikalnych cech jednego z języków w drugim.

  12. Naucz się koncepcji programowania, używając jednego z języków, których się nauczyłeś. Większość języków programowania ma wersje / biblioteki obsługujące wizualizację i inne typy programowania, które pomagają w komunikacji lub podobne. Możesz to zrobić poprzez:
    • Dowiedz się trochę o programowaniu wydarzeń. Większość programowania wizualnego w pewnym stopniu opiera się na zdarzeniach i obsłudze zdarzeń (przy użyciu wybranego języka programowania).
    • Wypróbuj jak najwięcej oprogramowania komputerowego i dowiedz się, co robi. Większość firm tworzących oprogramowanie udostępnia użytkownikom wersje testowe (beta) produktów w celu testowania oprogramowania. Dlatego bądź na bieżąco z postępami w interfejsie użytkownika.
    • Przeczytaj artykuły lub samouczki dotyczące graficznych interfejsów użytkownika.
  13. Zacznij stosować swoją wiedzę do małych projektów oprogramowania, które projektujesz. Spróbuj zastosować swoje umiejętności programistyczne do rozwiązywania problemów, z którymi borykasz się każdego dnia. Na przykład napisanie programu do wsadowej zmiany nazw plików, wizualnego porównania plików tekstowych, skopiowania nazw plików w katalogu do pamięci / pliku tekstowego i tak dalej. Pamiętaj, że to po prostu takie proste.
  14. Stwórz wirtualny „projekt dyplomowy”. Ukończ projekt do końca, stosując techniki wizualizacji, których nauczyłeś się do tej pory.
  15. Poszerz swoją wiedzę na temat struktur wizualnych / bibliotek / pakietów, których się wcześniej nauczyłeś, biorąc udział w zaawansowanych kursach, zwracając większą uwagę na szczegóły i ucząc się więcej wskazówek i wskazówek dotyczących frameworka. swoją pracę z zasobów online.
  16. Wyszukaj inne pakiety / biblioteki elementów wizualnych dla swojego języka programowania i przestudiuj je.
  17. Weź udział w kursie grafiki (nie projektowania graficznego). Będzie to bardzo pomocne dla programistów, którzy chcą pisać atrakcyjne elementy UI.
  18. Zostań programistą gier (opcjonalnie). Programowanie gier jest nadal w dużej mierze uważane za programowanie komputerowe. Jeśli planujesz zostać twórcą gier, po wykonaniu tych kroków musisz dowiedzieć się więcej o programowaniu gier. Dla programistów gier wymagany jest kurs grafiki, a drugim językiem wybranym w poprzednich krokach powinien być logiczny / funkcjonalny język programowania (należy wybrać Prolog lub Lisp). Reklama

Metoda 3 z 6: Rozproszone programowanie aplikacji

  1. Dowiedz się o programowaniu aplikacji rozproszonych. Rozproszone programowanie aplikacji jest przez wielu uważane za jedno z najtrudniejszych do nauczenia i wymaga bogatej wiedzy o komputerach i technologiach komunikacyjnych.
  2. Rzuć okiem na systemy głosowe i ich sprzęt. Ten krok jest opcjonalny. Jednak zrozumienie topologii sieci jest bardzo pomocne.
  3. Zapoznaj się z architekturą sprzętową i urządzeniami sieciowymi, takimi jak centralne koncentratory (koncentratory), przełączniki i routery (routery).
  4. Weź udział w kursie dotyczącym protokołów i podstaw. Przed rozpoczęciem programowania aplikacji rozproszonych należy dobrze zrozumieć model połączenia Open Systems Connection (OSI), Ethernet, IP, TCP, UDP i HTTP.
  5. Naucz się języka XML i zapoznaj się z nim.
  6. Zacznij od nauki języka skryptowego dla tłumacza poleceń. W przypadku programowania w systemie Windows może to być dowolny skrypt, który współpracuje z Hostem skryptów systemu Windows. Do programowania opartego na Linuksie wystarczą skrypty Bash i Perl. JavaScript jest wysoce zalecany do tego na obu platformach z następujących powodów:
    • Jest obsługiwany przez większość narzędzi skryptowych w dowolnym systemie operacyjnym (Host skryptów systemu Windows domyślnie obsługuje JavaScript, większość dystrybucji Linuksa ma pakiet obsługi komunikacji skryptów JavaScript) .
    • Wielu programistów uważa go za łatwiejszy do nauczenia.
    • Ma składnię pochodzącą z ALGOL, która pozwala przyzwyczaić się do wielu innych języków programowania, gdy musisz wybrać drugi język programowania C, C ++, C #, Java i J # mają składnię pochodzącą z ALGOL.
    • Ucząc się JavaScript, zaznajomisz się ze skryptami klienta dla stron internetowych, co jest oczywiście korzystnym efektem ubocznym!
  7. Po pierwsze, należy stosować programowanie proceduralne tylko w wybranym języku skryptowym. Następnie możesz użyć bardziej zaawansowanych wzorców i technik programowania zgodnie z językiem skryptowym i tym, co obsługuje. Wszystkie języki skryptowe mają w pewnym stopniu związek z programowaniem proceduralnym.
  8. Użyj języka skryptowego, którego się nauczyłeś, aby pisać skrypty, które komunikują się między maszynami. Dowiedz się, co jest do tego potrzebne. Wystarczy proste dane kontaktowe.
  9. Przełącz się na język programowania / skryptów na komputerze. Najlepszy jest język wieloparadygmatyczny, taki jak Python. Wstępne badanie tego drugiego języka. Java jest językiem wybieranym przez większość programistów z wielu powodów. Jednak język C # pomaga w tworzeniu szybszego tempa w tej tablicy. Java i C # są preferowane z następujących powodów:
    • Są to zorientowane obiektowo języki programowania, które pomagają programistom w dużych grupach uniknąć implementacji części, ponieważ wszystkie mają możliwość obsługi komponentów (tj. Jednostek kodu, tłumaczenie wykonane dla konkretnego zadania może być wykorzystane w innych programach)
    • W pewnym stopniu obsługują programowanie sterowane zdarzeniami, a także programowanie obiektowe (obiektowe) i proceduralne.
    • Framework, na którym zbudowany jest język, ma charakter rozproszony (w przypadku Javy).
    • Dostępne są gotowe pakiety programistyczne do obsługi sieci, otwarte lub wbudowane w platformę; Ułatwia to programistom pracę nad produktami innych osób.
  10. Skoncentruj się bardziej na podstawowych funkcjach językowych, zwłaszcza tych, które obsługują sieci. Zwróć mniej uwagi na elementy interfejsu użytkownika, takie jak wyprowadzanie informacji, projekt i techniki okna roboczego oraz elementy interfejsu użytkownika.
  11. Weź udział w kursie szkoleniowym dotyczącym architektury i projektowania aplikacji rozproszonych. Możesz uczyć się za pomocą książek, samouczków online lub kursów akademickich. Tak czy inaczej, musisz zrozumieć architekturę aplikacji rozproszonych i jej koncepcje.
  12. Dowiedz się, jak budować komponenty usług, a także używać wybranego języka programowania.
  13. Poznaj co najmniej jedną z poniższych technologii. Przynajmniej powinieneś przejrzeć je wszystkie. Większość programistów aplikacji rozproszonych uczy się nie tylko jednego lub dwóch języków programowania, ale przynajmniej jednego języka programowania na system operacyjny. Dzieje się tak, ponieważ jeśli chcesz, aby Twoja aplikacja była „dystrybuowana”, musisz dostarczyć przynajmniej jedną jej wersję dla każdego popularnego systemu operacyjnego.
    • Architektura Common Object Request Broker Architecture (CORBA)
    • Prosty protokół dostępu do obiektów (SOAP)
    • Asynchroniczny JavaScript i XML (AJAX) (asynchroniczny JavaScript i XML)
    • Distributed Component Object Model (DCOM) (Distributed Component Object Model)
    • .NET Remoting (rozwiązanie do przetwarzania obliczeń zdalnych)
    • Usługi sieci Web XML
    Reklama

Metoda 4 z 6: Biblioteka / Platforma / Framework / Core Programming

  1. Zrozum, czym jest podstawowe programowanie. Główni programiści to tylko zaawansowani programiści, którzy konwertują aplikacje programistyczne na jednostki kodu programującego do użytku przez innych programistów.
  2. Jeśli nie masz, naucz się języka programowania, który pomaga w budowaniu komponentów / pakietów wielokrotnego użytku.
  3. Weź udział w zaawansowanym kursie UML i ORM. Większość programistów bibliotek używa jednego lub obu z nich.
  4. Weź udział w kursie inżynierii oprogramowania.
  5. Poznaj przynajmniej koncepcje i techniki programowania modułowego, opartego na komponentach, zorientowanych obiektowo i sterowanych zdarzeniami. Im więcej modeli programowania i języków rozumiesz, tym większy sukces odniesiesz jako programista bibliotek / pakietów.
  6. Dowiedz się więcej o różnych systemach operacyjnych i obsługiwanych przez nie strukturach programistycznych.
  7. Skoncentruj swoje wysiłki edukacyjne na niezależnych od platformy frameworkach, językach programowania i technologiach.
  8. Jeśli języki, których się do tej pory uczysz, mają standardowe wersje ANSI / ISO / IEEE / W3C, opanuj te standardy. Staraj się używać standardowych kodów, kiedy tylko możesz.
  9. Spróbuj naśladować proste biblioteki, które są gotowe, zwłaszcza biblioteki open source. Jest to bardzo przydatne na wczesnych etapach zostania deweloperem bibliotek / pakietów. Zacznij od prostych pakietów, takich jak średniej klasy obliczenia naukowe i pakiety konwersji jednostek. Jeśli jesteś studentem, skorzystaj z dyscyplin nieprogramistycznych, próbując wdrożyć ich równania, a nauka rozmnaża się jako biblioteki.
  10. Wyszukaj i wypróbuj pakiety open source w swojej dziedzinie programowania. Najpierw pobierz pliki binarne / pliki wykonywalne pakietu. Spróbuj go użyć i znajdź jego mocne i słabe strony. Po zakończeniu pobierz kod źródłowy i spróbuj dowiedzieć się, jak to się robi. Spróbuj odtworzyć te biblioteki lub ich części. Przede wszystkim zrób to po obejrzeniu kodu źródłowego, a następnie zrób to, zanim zobaczysz kod źródłowy. Na późniejszych etapach spróbuj udoskonalić te biblioteki.
  11. Przeanalizuj różne podejścia do dystrybucji i wdrażania komponentów dla programistów.
    • Zazwyczaj programiści bibliotek / pakietów mają tendencję do myślenia rekurencyjnego i / lub powtarzalnego o wszystkich przedstawionych im problemach. Potraktuj każdy problem jako zbiór mniejszych problemów (serię prostszych zadań) lub jako iteracyjny proces ograniczania zakresu problemu do mniejszych zakresów, a następnie Ułóż zakresy jeden na drugim.
    • Twórcy bibliotek / pakietów mają tendencję do generalizowania. To wtedy, gdy przedstawia się im prosty, konkretny problem, często myślą o bardziej ogólnym problemie i próbują rozwiązać ten ogólny problem, aby automatycznie rozwiązać mniejsze problemy.
    Reklama

Metoda 5 z 6: Programowanie systemu

  1. Zrozum, na czym polega programowanie systemu. Programista systemu zajmuje się „nauką” programowania, a nie jego konkretnymi implementacjami. Nie przywiązuj się do konkretnego tła.
  2. Wykonaj pierwsze trzy kroki, aby zostać programistą aplikacji komputerowych.
  3. Weź udział w kursie wprowadzającym do algebry liniowej.
  4. Weź udział w kursie informatyki.
  5. Weź udział w dyskretnym kursie matematyki i / lub logiki.
  6. Zapoznaj się z różnymi podstawowymi systemami operacyjnymi. Można to zrobić poprzez:
    • Dowiedz się, jak są instalowane systemy operacyjne.
    • Dowiedz się, jak zainstalować różne systemy operacyjne na jednym komputerze (opcjonalnie, ale zalecane).
    • Zainstaluj więcej niż jeden system operacyjny. Nie instaluj żadnej innej wtyczki w systemie; zamiast tego używaj tylko podstawowych funkcji zapewnianych przez system operacyjny.
  7. Weź udział w kursie (a może przeczytaj książkę) na temat architektury sprzętu komputerowego [[.
  8. Rozwiń zrozumienie różnych platform sprzętu komputerowego.
  9. Zacznij od języka asemblera wybranego systemu operacyjnego / platformy sprzętowej. Później nauczysz się więcej języka asemblera dla innych systemów operacyjnych / platform.
  10. Naucz się języków ANSI C i C ++, a także pojęć proceduralnych.
  11. Zrozum i przećwicz standardowe biblioteki C / C ++ na wybranej platformie. Szczególną uwagę należy zwrócić na bibliotekę standardowych szablonów (STL) i ewentualnie bibliotekę aktywnych szablonów (ATL).
  12. Przeszukuj zasoby online, książki i kursy, aby zrozumieć funkcje C na wybranej platformie.
  13. Przećwicz zaawansowane generowanie kodu w językach C i C ++.
  14. Naucz się bardziej zaawansowanego języka asemblera.
  15. Weź udział w kursie projektowania systemów operacyjnych.
  16. Znajdź i przeczytaj materiały na wybranej platformie. Będzie to łatwiejsze, jeśli wybierzesz system operacyjny oparty na Uniksie. Opanuj system, nad którym będziesz pracować później.
  17. Ćwicz to, co zyskujesz. Najpierw utwórzmy kilka małych narzędzi systemowych. Zwykle pomaga, jeśli:
    • Spróbuj odtworzyć małe narzędzia, które są dostępne w twoim systemie.
    • Spróbuj przeprowadzić migrację narzędzi dostępnych w innych systemach operacyjnych do własnego.
  18. Ucz się języków w kolejności, w jakiej są najbardziej pomocne. Jest to jedyna tablica, w której uczy się pierwszego języka programowania, aby miał swoje znaczenie.Najpierw naucz się ANSI C, a nie C ++, C #, Java lub D. Następnie naucz się C ++.
    • Ogranicz pierwszy język do C i tylko do C, ponieważ systemy programowania wymagają od programistów znajomości następujących pojęć:
      • Skompiluj rzeczywisty i cały kod źródłowy.
      • Pliki wyjściowe obiektów niskiego poziomu.
      • Kody połączone binarnie.
      • Programowanie w języku maszynowym / asemblerze niskiego poziomu. Wiele osób uważa, że ​​język C jest zarówno alternatywą, jak i łatwiejszym do nauczenia się języka asemblera. Obsługuje również wstawianie kodu asemblera do kodu, kiedy tylko chcesz i jest to tylko proceduralne (jak asemblacja).
    Reklama

Metoda 6 z 6: Nauka programowania

  1. Wiesz, co robi programista. Programistycy to bardzo zaawansowani programiści, którzy zamiast tworzyć aplikacje, rozwijają technologie obliczeniowe, takie jak kodowanie, języki programowania i algorytmy eksploracji danych. Ten stopień rzadko jest osiągany bez dogłębnych badań naukowych.
  2. Kumulatywna wiedza naukowa to czteroletni stopień naukowy w dziedzinie informatyki. Można to osiągnąć na jeden z następujących sposobów:
    • Zdobądź prawdziwy stopień naukowy (co często się zdarza).
    • Znajdź konspekt takiego stopnia na jednej z dostępnych uczelni i studiuj przedmioty samodzielnie lub uczęszczaj na kursy prywatne. Teoretycznie możesz to osiągnąć, ale powinieneś przejść do tego pierwszego.
  3. Wybierz wyspecjalizowaną tablicę. Im bardziej konkretnie, tym lepiej. To zależy od twoich preferencji. Jednak poniżej znajduje się lista głównych tematów w programowaniu:
    • Projektowanie algorytmów (znajdowanie, klasyfikowanie, kodowanie, dekodowanie i wykrywanie błędów w komunikacji to kilka przykładów)
    • Projektowanie / optymalizacja języków programowania / kompilatorów
    • Tablice sztucznej inteligencji (rozpoznawanie wzorców, rozpoznawanie mowy, przetwarzanie języka naturalnego, sieci neuronowe)
    • Robotyka
    • Programowanie naukowe
    • Super obliczenia
    • Projektowanie / modelowanie wspomagane komputerowo (CAD / CAM)
    • Wirtualna rzeczywistość
    • Grafika komputerowa (grafika komputerowa jest często mylona z projektowaniem graficznym lub projektowaniem graficznego interfejsu użytkownika. obliczenie).
  4. Rozważ zdobycie wyższego stopnia naukowego. Możesz realizować program studiów magisterskich lub doktoranckich.
  5. Naucz się języków programowania i technologii odpowiednich dla wybranej dziedziny programowania. Reklama

Rada

  • Bez względu na to, jakiego typu programowanie chcesz wypróbować i jaki poziom chcesz osiągnąć, rozważ udział w zajęciach w lokalnej szkole lub college'u. Nie daj się zastraszyć terminami takimi jak „Informatyka”. Wszelkie zajęcia, które nie wymagają wstępnych wymagań lub wymagań, będą koncentrować się na nauczaniu podstaw programowania, ale wcześniej skonsultuj się z instruktorem lub mentorem Upewnij się, że tego właśnie szukasz, ponieważ zajęcia takie jak „Umiejętności obsługi komputera” mogą bardziej skupić się na przyzwyczajeniu się do aplikacji biurowych lub czegoś podobnego.