Zawsze chciałeś się nauczyć, jak samemu tworzyć oprogramowanie – lub po prostu napisać okazjonalny skrypt – ale nigdy nie wiedziałeś, od czego zacząć. Na szczęście sieć jest pełna darmowych zasobów, które w mgnieniu oka zmienią Cię w programistę.
Ta przeglądarka nie obsługuje elementu wideo.
Od czasu wynalezienia Internetu programiści używają go do omawiania technik tworzenia oprogramowania, publikowania samouczków i udostępniania próbek kodu, z których inni mogą się uczyć i korzystać online. Jeśli jesteś ciekawy, jak zostać programistą, możesz zacząć od początku, korzystając z mnóstwa wspaniałych darmowych samouczków i zasobów internetowych.
First Things First: Don’t Get Hung Up on Choosing a Language
Advertisement
Częstą pułapką dla początkujących jest utknięcie w przekonaniu, który język programowania jest najlepszy do nauki w pierwszej kolejności. Istnieje wiele opinii na ten temat, ale nie ma jednego „najlepszego” języka. Rzecz w tym, że w ostatecznym rozrachunku język nie ma aż tak wielkiego znaczenia. Zrozumienie struktur danych i kontroli oraz wzorców projektowych ma bardzo duże znaczenie. Każdy język – nawet prosty język skryptowy – będzie posiadał elementy, których będziesz używał również w innych językach i które pomogą Ci w nauce. Na zajęciach, na które uczęszczałem, aby uzyskać dyplom z informatyki, programowałem w Pascalu, Asemblerze i C – językach, za które nigdy nie zapłacono mi profesjonalnie. Sam nauczyłem się każdego języka, którego używałem w mojej karierze, wykorzystując ponownie koncepcje, które już znałem i odnosząc się do dokumentacji i książek, aby nauczyć się jego składni. Tak więc, nie zastanawiaj się, jakiego języka nauczyć się najpierw. Wybierz rodzaj rozwoju, który chcesz zrobić, i po prostu zacznij używać tego, który działa.
Istnieje kilka różnych rodzajów rozwoju oprogramowania, które można zrobić dla różnych platform, od sieci do pulpitu do smartfona do wiersza poleceń. W tym artykule przedstawimy niektóre z naszych ulubionych samouczków i zasobów do nauki programowania na każdą z głównych platform. Zamierzamy założyć, że jesteś obeznanym użytkownikiem, ale nowicjuszem, jeśli chodzi o posługiwanie się fragmentami kodu, więc utrzymamy rzeczy na poziomie początkującym. Nawet po prostu podążając przez samouczek programowania dla początkujących, będziesz szczęśliwy widząc, jak daleko możesz zajść.
Reklama
Skryptowanie pulpitu
Najprostszym sposobem na spróbowanie swoich sił w programowaniu dla pulpitu Windows lub Mac jest rozpoczęcie od programu do tworzenia skryptów lub makr, takiego jak AutoHotkey (dla Windows) lub Automator (dla Mac). W tej chwili hardkorowi koderzy z całego grona czytelników Lifehackera krzyczą do swoich monitorów, mówiąc, że AHK lub AppleScript nie są „prawdziwym” programowaniem. To może być prawda – technicznie tego typu narzędzia po prostu wykonują wysokopoziomowe skrypty. Ale dla osób początkujących w programowaniu, które chcą po prostu zamoczyć stopy w automatyzacji działań na pulpicie, te darmowe narzędzia są fantastycznym sposobem na rozpoczęcie pracy – i bylibyście zaskoczeni, jak wiele można z nimi zrobić.
Reklama
Na przykład, Adam stworzył samodzielną aplikację Windows, którą wszyscy znamy i kochamy, Texter, używając AutoHotkey, więc ten język skryptowy jest zdolny do znacznie więcej niż tylko projektów automatyzacji na małą skalę. Aby rozpocząć pracę z AutoHotkey, zapoznaj się z samouczkiem Adama na temat przekształcania dowolnej czynności w skrót klawiaturowy za pomocą AutoHotkey. (Następnie sprawdź kod źródłowy programu Texter, aby zobaczyć wnętrze pełnowartościowej aplikacji Windows opartej na AHK.)
Reklama
Rozwój WWW
Zamiast być przywiązanym do konkretnych języków programowania oraz wyglądu i sposobu działania konkretnego systemu operacyjnego, możesz umieścić swoją zabójczą aplikację w przeglądarce i uruchomić ją w chmurze, jako aplikację internetową. Witaj we wspaniałym świecie tworzenia stron internetowych.
Reklama
HTML i CSS: Pierwszą rzeczą, którą musisz wiedzieć, aby zbudować jakąkolwiek stronę internetową, jest HTML (znacznik strony, który tworzy strony internetowe) i CSS (informacje o stylach, które sprawiają, że ten znacznik wygląda ładnie). HTML i CSS nie są prawdziwymi językami programowania – to tylko struktura strony i informacje o stylach. Jednak zanim zaczniesz budować aplikacje internetowe, powinieneś być w stanie tworzyć proste HTML i CSS ręcznie, ponieważ strona internetowa jest interfejsem każdej aplikacji internetowej. Ten samouczek HTML jest dobrym miejscem, aby zacząć.
JavaScript: Teraz, gdy potrafisz już stworzyć statyczną stronę internetową za pomocą HTML i CSS, sprawy przybierają zabawny obrót – nadszedł bowiem czas na naukę języka JavaScript. JavaScript jest językiem programowania przeglądarki internetowej, magią, która sprawia, że dynamiczne efekty na stronie działają. JavaScript to także skryptozakładki, skrypty użytkownika Greasemonkey i Ajax, więc jest kluczem do tworzenia wszelkiego rodzaju zabawek internetowych. Rozpocznij naukę JavaScript tutaj.
Reklama
Skryptowanie po stronie serwera: Kiedy już jesteś dobry w robieniu rzeczy dziejących się wewnątrz strony internetowej, będziesz potrzebował umieścić jakieś dynamiczne działanie serwera za tym – i do tego, będziesz potrzebował przenieść się do języka skryptowego po stronie serwera, takiego jak PHP, Python, Perl lub Ruby. Na przykład, aby stworzyć internetowy formularz kontaktowy, który wysyła wiadomość e-mail w oparciu o to, co wpisał użytkownik, potrzebny jest skrypt po stronie serwera. Języki skryptowe, takie jak PHP, mogą również komunikować się z bazą danych na Twoim serwerze, więc jeśli chcesz stworzyć stronę, na której użytkownicy będą mogli się logować i przechowywać informacje, to jest to dobry sposób. Doskonała strona Webmonkey jest pełna tutoriali dla różnych języków programowania. Zobacz ich samouczek PHP dla początkujących. Kiedy będziesz gotowy, sprawdź jak używać PHP do komunikacji z bazą danych w WebMonkey’s PHP and MySQL tutorial. Internetowa dokumentacja PHP i odnośniki do funkcji są najlepsze w sieci. Każdy wpis (jak ten o funkcji strlen) zawiera na dole komentarze użytkowników, które często są równie pomocne jak sama dokumentacja. (Ja osobiście jestem zwolennikiem PHP, ale jest wiele innych języków skryptowych po stronie serwera, na które możesz się zdecydować.)
Reklama
Web frameworki: Przez lata twórcy stron internetowych musieli rozwiązywać i rozwiązywać te same problemy i przepisywać podobny kod, aby zbudować dynamiczne strony internetowe. Aby uniknąć wymyślania koła na nowo dla każdego nowego projektu, niektórzy programiści wymyślili frameworki, które wykonują powtarzalną pracę za Ciebie. Popularny framework Ruby on Rails, na przykład, wykorzystuje język programowania Ruby i oferuje specyficzną dla sieci strukturę do wykonywania typowych zadań związanych z aplikacjami internetowymi. W rzeczywistości, Adam użył Railsów do zbudowania swojej pierwszej poważnej (i imponującej!) aplikacji internetowej, MixTape.me. Oto jego pomysł na to, jak zbudować stronę internetową od zera bez doświadczenia. Inne popularne frameworki do tworzenia stron internetowych to CakePHP (dla programistów PHP), Django (dla programistów Pythona) i jQuery (dla JavaScript).
Reklama
Web APIs: API (Application programming interface) to programistyczny sposób, w jaki różne elementy oprogramowania mogą ze sobą rozmawiać. Na przykład, jeśli chcesz umieścić dynamiczną mapę na swojej stronie internetowej, chcesz użyć Mapy Google zamiast budować własną mapę niestandardową. Interfejs API Map Google ułatwia programowe dołączanie mapy do strony za pomocą JavaScriptu. Prawie każda nowoczesna usługa sieciowa, którą znasz i kochasz, ma API, które pozwala na włączenie danych i widżetów z niej do Twojej aplikacji, jak Twitter, Facebook, Google Docs, Google Maps, a lista jest długa. Integracja innych webapps do swojej aplikacji internetowej za pośrednictwem API jest ostatecznym frontier rich web development. Każde dobre, główne API usług internetowych oferuje dokładną dokumentację i pewnego rodzaju przewodnik szybkiego startu, aby go wypróbować (na przykład Twittera). Zaszalej.
Reklama
Skryptowanie z wiersza poleceń
Jeśli chcesz napisać program, który przyjmuje tekstowe lub plikowe dane wejściowe i wyprowadza coś użytecznego, wiersz poleceń jest właściwym miejscem, aby to zrobić. Podczas gdy wiersz poleceń nie jest tak seksowny lub dobrze wyglądający jak aplikacja webowa lub desktopowa, do szybkiego tworzenia szybkich skryptów, które automatyzują procesy, nie można go pobić.
Reklama
Kilka języków skryptowych, które działają na serwerach internetowych opartych na Linuksie, działa również w wierszu poleceń, jak Perl, Python i PHP – więc nauka jednego z tych złych czyni cię biegłym w dwóch kontekstach. Moja ścieżka nigdy nie zaprowadziła mnie zbyt daleko w dół drogi Perla, ale nauczyłem się Pythona używając doskonałej i darmowej książki online, Dive into Python.
Reklama
Jeśli zostanie uniksowym ninja jest jednym z twoich celów programisty, absolutnie musisz stać się dobry w skryptowaniu powłoki za pomocą basha. Bash jest językiem skryptowym wiersza poleceń środowiska *nix, i może zrobić wszystko, od pomocy w ustawieniu automatycznego tworzenia kopii zapasowych bazy danych i plików do zbudowania pełnoprawnej aplikacji z interakcją użytkownika. Nie mając żadnego doświadczenia w pisaniu skryptów basha poza kilkunastoma liniami, skończyłem tworząc w bashu osobisty menedżer listy rzeczy do zrobienia, Todo.txt CLI.
Dodatki
Współczesne aplikacje i przeglądarki internetowe są rozszerzalne o kawałki oprogramowania, które się do nich przykręca i dodaje funkcje. Rozwój dodatków zyskuje na popularności, ponieważ coraz więcej programistów patrzy na istniejące oprogramowanie, takie jak Firefox czy WordPress, i myśli „Ale gdyby tylko to mogło robić TO…”
Reklama
W każdej przeglądarce internetowej można zrobić bardzo wiele, znając tylko HTML, JavaScript i CSS. Bookmarklety, skrypty użytkownika Greasemonkey i style użytkownika Stylish są tworzone za pomocą tych samych fragmentów kodu, które tworzą zwykłe strony internetowe, więc warto się ich nauczyć, nawet jeśli chcesz tylko zmodyfikować istniejącą witrynę za pomocą małego fragmentu kodu.
Bardziej zaawansowane dodatki do przeglądarki, takie jak rozszerzenia dla Firefoksa, pozwalają zrobić więcej. Tworzenie rozszerzeń do Firefoksa, na przykład, wymaga znajomości JavaScript i XML (znaczniki podobne do HTML, ale o wiele bardziej rygorystyczne w formacie). W 2007 roku pokazałem, jak zbudować rozszerzenie do Firefoksa, umiejętność, którą zdobyłem po natknięciu się na darmowy samouczek.
Reklama
Wiele darmowych i lubianych aplikacji internetowych oferuje również ramy rozszerzeń, jak WordPress i MediaWiki. Obie te aplikacje są napisane w PHP, więc znajomość PHP jest warunkiem koniecznym do rozpoczęcia pracy. Oto jak napisać wtyczkę do WordPressa. Programiści, którzy chcą jeździć po Google Wave, mogą zacząć pisać gadżety i boty w HTML, JavaScript, Java i Python. Napisałem swojego pierwszego bota Wave, podążając za tym samouczkiem szybkiego startu w jedno popołudnie.
Reklama
Web Development for the Desktop
Najlepszą częścią rozpoczęcia programowania w jednym kontekście jest to, że możesz zabrać te umiejętności i zastosować je gdzie indziej. Nauka programowania stron internetowych jest świetnym sposobem na rozpoczęcie, ponieważ teraz istnieją sposoby, aby wykorzystać te umiejętności również w aplikacjach desktopowych. Na przykład Adobe AIR to międzyplatformowe środowisko uruchomieniowe, które pozwala raz zbudować aplikację i wypuścić ją na pulpit w każdym systemie operacyjnym, na którym działa AIR. Aplikacje AIR są pisane w języku HTML, Flash lub Flex, więc pozwalają wykorzystać umiejętności tworzenia aplikacji internetowych w kontekście komputerów stacjonarnych. AIR jest świetną opcją do wdrażania aplikacji desktopowych, takich jak jedna z naszych 10 najlepszych aplikacji, dla których warto zainstalować Adobe AIR.
Reklama
Rozwój aplikacji mobilnych
Aplikacje mobilne, takie jak te uruchamiane na telefonie iPhone lub smartfonie z systemem Android, są teraz bardzo popularne, więc możesz mieć marzenia o wzbogaceniu się w sklepie iTunes App Store o kolejną zabójczą aplikację. Jednak dla nowych koderów, nurkowanie headfirst do rozwoju mobilnego może być szorstki krzywa uczenia się, ponieważ wymaga komfortu z zaawansowanych języków programowania, takich jak Java i Objective C. Jednak warto sprawdzić, co iPhone i Android rozwój wygląda. Zapoznaj się z tym prostym przykładem tworzenia aplikacji na iPhone’a, aby przekonać się, czym zajmują się programiści iPhone’a. Aplikacje na Androida są pisane w Javie, a oto przyjazny samouczek wideo pokazujący, jak wygląda tworzenie przepływu pracy aplikacji „Hello Android”.
Reklama
Cierpliwość, smarowanie łokci, próby i błędy
Dobrzy programiści to specjalna rasa wytrwałych rozwiązywaczy problemów, którzy są uzależnieni od małych zwycięstw, które przychodzą wzdłuż długiej ścieżki prób i błędów. Nauka programowania jest bardzo satysfakcjonująca, ale może być również frustrującym i samotnym doświadczeniem. Jeśli możesz, weź kumpla, który będzie z Tobą współpracował. Uzyskanie naprawdę dobrej pozycji w programowaniu, jak wszystko inne, jest kwestią trzymania się tego, wypróbowywania rzeczy i zdobywania doświadczenia w miarę postępów.
Reklama
Ten artykuł jest tylko jednym z najlepszych zaleceń programisty samouka dla początkujących. Doświadczeni programiści: Co przegapiłem? Bez względu na poziom umiejętności, dodaj swoje przemyślenia i zalecenia dla początkujących w komentarzach.
Gina Trapani, redaktor założyciel Lifehacker, uważa, że najlepsi programiści są samoukami. Jej cotygodniowa funkcja, Smarterware, pojawia się w każdą środę na Lifehacker. Subskrybuj kanał tagu Smarterware, aby otrzymywać nowe odcinki w swoim czytniku wiadomości.
Reklama
.