Najlepszy język programowania do nauki

Najlepszym sposobem, aby zrozumieć komputery i nagiąć je do naszej woli, jest nauczyć się mówić ich językiem, aby rozumiały nasze polecenia. Ludzie, którzy kochają powieści fantasy, czasami wyobrażają sobie, że uczą się magicznych zaklęć i zaklęć. Praktycznie nastawieni używają bardziej ugruntowanego języka do reprezentowania logicznej struktury liczb i danych. W każdym razie chodzi o zrozumienie, która sekwencja naciśnięć klawiszy i kliknięć myszą spowoduje, że komputer przeskoczy przez metaforyczne obręcze i wykona wirtualne tańce.

Każda szkoła, MOOC i strona szkoleniowa musi objąć młodym padawanem pierwszy język. Niektóre miejsca, takie jak stęchły Harvard, wciąż trzymają się lat 70. ery C, ale wiele szkół oscyluje między JavaScript, Python i Java. Jeden jest zakopany w każdej przeglądarce, drugi to czysty wybór nauk społecznych, a drugi to bogata w typy preferencja ludzi o bardziej matematycznych poglądach.

Czy to najlepszy wybór? Czy jeden jest wyraźnie lepszy od innych? A może wszyscy z równym prawdopodobieństwem wyślą w nocy znaczną liczbę uczniów wrzeszczących w poduszki? Przeanalizujmy najlepsze powody, dla których warto uczyć się języka Java, Python lub JavaScript.

Java jest klasyczna

Test Advanced Placement wybrał Javę dawno temu, kiedy Java była młoda i eksplodująca. Być może Java nigdy nie osiągnęła szczytu swojej początkowej trajektorii, kiedy wszyscy wydawali się zakładać, że będzie całkowicie dominująca, ale pozostaje kręgosłupem wielu witryn internetowych, smartfonów, telewizorów i małych urządzeń.

Wybór języka cieszącego się dużą popularnością pozwala uczniowi wskoczyć na modę, która jest już w pełni wyposażona w zaawansowane narzędzia programistyczne. Ponadto istnieją miliardy wierszy kodu open source, które student może przestudiować, poprawić i rozszerzyć do własnej pracy. Dołączają do dużego ruchu i łatwo im się dopasować.

Python jest nowy

W rzeczywistości Python nie jest taki nowy - projekt rozpoczął się ponad 30 lat temu - ale wydaje się nowy, ponieważ jego sukces przychodzi powoli. Dopiero niedawno Python się rozpadł i znalazł szerokie zastosowanie wśród zwykłych programistów. Nowość oznacza, że ​​szkoły, które korzystają z Pythona, tworzą nowe scenariusze lekcji, piszą nowe egzaminy i opracowują nowe talie slajdów. Nie wyszukują starych, zakurzonych pytań z lat 90. z odniesieniami do Pets.com i MySpace.

Najnowszy kurs AP, zwany Computer Science Principles, pozwala nauczycielowi wybrać język obsługi komputera, a wielu wybiera Pythona ze względu na jego świeżość. Nowość może być głęboka, ale wszystkie języki to tylko sprytna składnia, która ukrywa strukturę decyzyjną kodu asemblera, jeśli-to-inaczej.

Cały ten sukces polega na budowaniu pozytywnej pętli sprzężenia zwrotnego. Wydanie indeksu Tiobe z listopada 2020 r. Oznaczało, że Python po raz pierwszy wspiął się na drugie miejsce (za C), rozpoznając, jak język staje się coraz bardziej popularny niż Java.

JavaScript jest wszędzie

Jest w przeglądarce, a przeglądarka jest podstawą Twojego komputera, telefonu i wszystkich kiosków, które widzisz wszędzie. W ostatnim dziesięcioleciu JavaScript przejął pierwszą linię serwerów internetowych, ponieważ aplikacje internetowe Node.js stały się najpopularniejszym sposobem pisania przez programistów „kodu izomorficznego”, który może działać zarówno na klientach, jak i na farmach serwerów. JavaScript jest praktycznie w tym samym wieku co Java, a jednak ludzie po stronie serwera potrzebowali lat, aby odkryć jego moc. Jest jednocześnie nowy i stary.

Java jest wpisana

Możesz nie lubić spędzać czasu na określaniu typu każdej zmiennej, ale kliknięcie trzech klawiszy w celu dodania „int” do kodu nie zajmuje dużo czasu. Kiedy to robisz, zyskujesz całą moc, która wynika z umożliwienia kompilatorowi natychmiastowego podwójnego sprawdzenia kodu i znalezienia głupich błędów przed wdrożeniem. Języki z sprawdzaniem typów zmuszają nas do bardziej rygorystycznego myślenia o logice naszego kodu, a to jest istotna lekcja dla nowych programistów. Struktura typów Javy redukuje błędy i tworzy lepszy kod.

Python nie jest wpisany

Miłośnicy języków maszynowych są sprytni i piszą dobry kod, ale jeśli uważasz, że Twój kod jest wystarczająco dobry, aby działać płynnie bez dodatkowych informacji o typach danych dla każdej zmiennej, cóż, Python jest gotowy. Komputer może określić typ danych, gdy przechowujesz je w zmiennej. Po co robić sobie dodatkową pracę?

Zwróć uwagę, że to swobodne podejście może się zmieniać, choć powoli. Dokumentacja języka Python informuje, że środowisko wykonawcze języka Python nie wymusza adnotacji funkcji i typów zmiennych, ale nadal można ich używać. Być może z czasem dodawanie typów stanie się dominującym sposobem programowania w języku, ale na razie wszystko zależy od Ciebie.

JavaScript to jedno i drugie

Sam JavaScript nie ma określonego typu, ale ostatnio niektórzy znani członkowie świata JavaScript przeszli na TypeScript, nadzbiór oryginalnego języka, który daje możliwość ustawiania typów, kiedy chcesz. A jeśli nie chcesz, cóż, zwykły JavaScript też będzie działał dobrze. To luźniejsza wersja sprawdzania typów.

Urządzenia reguł Java

Najpopularniejszą platformą dla telefonów komórkowych na świecie jest Android, ogromny stos kodu zbudowany w oparciu o Javę. Ale to tylko najbardziej widoczna platforma. Dekodery, nowe Chromebooki, a nawet niektóre komputery stacjonarne obsługują aplikacje na Androida, podobnie jak smartfony. Bliski kuzyn Javy, C #, dominuje w świecie Windows. C # nie jest dokładnie tym samym, co Java, ale jest bardzo blisko. Jeśli zamierzasz pisać aplikację na naprawiony sprzęt, prawdopodobnie najlepszym wyborem będzie Java.

Python rządzi nauką o danych

Jeśli piszesz oprogramowanie do pracy z danymi, istnieje duża szansa, że ​​będziesz chciał użyć Pythona. Prosta składnia przyciągnęła wielu naukowców, a język znalazł wielu zwolenników w laboratoriach w całym kraju. Teraz, gdy nauka o danych opanowała wszystkie warstwy świata biznesu, Python idzie za tym.

Jeden z najlepszych wynalazków do tworzenia i udostępniania interaktywnych dokumentów, Jupyter Notebook, został zapoczątkowany przez społeczność Pythona, zanim objął inne języki. To jeden z najlepszych sposobów łączenia oprogramowania, danych i tekstu wyjaśniającego, co się dzieje. Czytelnicy mogą przyswoić sobie słowa, a następnie nacisnąć przyciski, aby uruchomić oprogramowanie na danych.

JavaScript rządzi siecią

Inne platformy mogą być fajne, ale przeglądarka internetowa nadal jest jedynym portalem, którego prawie wszyscy używają do łączenia się ze światem. Zwykle jest to najczęściej używane oprogramowanie na komputerze stacjonarnym, smartfonie i tablecie. JavaScript zaczynał jako szef tego lokalnego klienta, a jego wpływ rozszerzył się do całkowitej dominacji, gdy rozwój Node.js ułatwił programistom uruchamianie tego samego kodu na kliencie i serwerze.

Istnieją również dziesiątki dobrych frameworków JavaScript (Angular, React, Vue itp.), Które stanowią podstawę do budowania aplikacji internetowej, a niektóre są wystarczająco sprytne, aby w razie potrzeby przenosić kod między klientem a serwerem. 

Nawet w światach zdominowanych przez inne języki JavaScript wkracza na stos. Wielu programistów smartfonów pomija Java i Swift, aby tworzyć aplikacje wieloplatformowe w języku JavaScript. W końcu JavaScript określa, co dzieje się w prostokącie przeglądarki i to prawie gwarantuje, że podejmie decyzję o tym, co stanie się z większością kliknięć i naciśnięć klawiszy na całym świecie.

Java obsługuje wszystko

Jeśli piszesz kod w Pythonie, istnieje duża szansa, że ​​skończy się on w języku Jython, implementacji języka napisanego w Javie, aby wykorzystać wszechobecność wirtualnej maszyny języka Java. Jeśli potrzebujesz uruchomić JavaScript, możesz również przesłać go do Rhino i Nashorn, dwóch narzędzi, które zamieniają JavaScript w kod bajtowy Java.

Te dwa języki nie są jedynymi, które opierają się na solidnej wydajności maszyny JVM. Wiele funkcjonalnych języków programowania, takich jak Scala, Clojure i Kotlin, również opiera się na tych samych podstawach. Pomaga to wszystkim, ułatwiając łączenie tych języków opartych na JVM, jeśli chcesz ich używać w tym samym projekcie.

Python działa wszędzie

Python nie jest pierwszym wyborem ani nawet ostatnim wyborem dla osób piszących emulatory dla innych języków. Mimo to łatwo jest znaleźć Pythona na wielu komputerach. Twórcy języka zawsze rozpowszechniali kod jako open source, a pakiety są prawie wszędzie. Rzeczywiście, znajdziesz Python zawarty w MacOS i większości w pełni funkcjonalnych dystrybucji Linuksa. I chociaż nie jest dołączony do systemu Windows, instalacja jest bardzo prosta - po prostu zrób to sprytnie.

JavaScript działa w przeglądarce

Aż trudno uwierzyć, że język zabawek stworzony do tworzenia okienek alertów w przeglądarce jest teraz podstawą wielu języków. Programiści chcą dotrzeć do użytkowników, a jeśli użytkownicy żyją w przeglądarce, to najszybszym sposobem na dotarcie do wszystkich jest znalezienie sposobu na uruchomienie kodu w JavaScript.

Nie tylko kuzyni JavaScript, tacy jak CoffeeScript i LiveScript, przenoszą się na JavaScript. Nawet języki takie jak Lisp, OCaml i Pascal można przekonwertować na JavaScript i uruchomić w przeglądarce. Python jest popularny w przeglądarkach w projektach takich jak notebooki Jupyter, a nawet Javę można przetłumaczyć na JavaScript za pomocą narzędzi takich jak Google Web Toolkit.

Java ma silne IDE

Eclipse, NetBeans i IntelliJ to jedne z najlepszych zintegrowanych środowisk programistycznych. Zostały stworzone przez społeczność Java i przez lata pielęgnowane, aby stworzyć jedno z najbardziej pomocnych środowisk do pisania kodu. Algorytmy uzupełniania i generowania kodu mogą nie napisać całego oprogramowania, ale mogą wpisać znaczną ilość. Całe to trzymanie się za rękę naprawdę pomaga nowym programistom uzyskać poprawną składnię. 

Te środowiska IDE były tak popularne, że programiści z innych języków znaleźli sposób na uruchomienie w nich swojego kodu. Jeśli zostaniesz profesjonalnym programistą Java, prawie na pewno będziesz używać jednego z nich. W międzyczasie, jeśli chcesz mieć prostsze i bardziej przyjazne środowisko programowania w języku Java, wypróbuj BlueJ lub Greenfoot. Te „środowiska IDE dla początkujących” zostały zaprojektowane specjalnie do nauki języka Java.

Python ma chmurę

Język Python znalazł swój pierwszy dom w świecie Uniksa, więc nic dziwnego, że chmury wypełnione linuksowymi skrzynkami to naturalne miejsca, w których można znaleźć mnóstwo kodu Pythona. Niektóre z najnowszych narzędzi, takich jak Jupyter, łączą kod, dane i wyjaśnienia, aby ludzie mogli dzielić się swoimi spostrzeżeniami z innymi w postaci artykułów badawczych, które ożywają. Notatniki Jupyter nie są statycznymi dokumentami, ale interaktywnymi narzędziami do eksploracji.

Inni budują zaawansowane narzędzia wokół języka, aby usprawnić badania. Na przykład PyTorch to zestaw narzędzi do głębokiego uczenia się wypełniony kodem, danymi i algorytmami do analizy. Takie środowiska zdominują przyszłość nauki o danych.

Istnieje również kilka dobrych hostów dla notebooków, które dodają dodatkowe funkcje do udostępniania danych i obsługi dużych, intensywnych zadań analizy danych. Na przykład Google prowadzi Colaboratorium, które będzie przechowywać Twoje dane i oferować bezpłatny dostęp do GPU w celu przyspieszenia obliczeń. Chmura Saturn zachwala wydajność, która może być 100 razy szybsza niż komputer stacjonarny.

JavaScript ma JSFiddle

Każda przeglądarka ma więcej niż wystarczającą moc, aby działać jako IDE. JSFiddle to tylko najbardziej znana z kilkunastu witryn internetowych, które pozwalają udostępniać kod JavaScript innym programistom. Strony internetowe nie są jednak statyczne, ponieważ można manipulować kodem i oglądać, jak działa na tej samej stronie. Narzędzia takie jak te ułatwiają eksperymentowanie ze wszystkimi składniowymi zabawami JavaScript.

Naucz się dowolnego - lub wszystkich trzech

Świat programowania uwielbia zapylanie krzyżowe. Chociaż przeskakiwanie między różnymi językami i utrzymywanie prostej składni może być mylące, możliwe jest użycie wszystkich trzech języków w projektach bez zbytniego ugrzęźnięcia. Projekty Java lub JavaScript, które analizują dane, mogą łączyć się w bibliotekach nauki o danych napisanych w Pythonie. Projekty w Pythonie mogą też wywoływać kod Java lub JavaScript.

Inteligentni programiści stworzyli również narzędzia do automatycznego tłumaczenia, łączenia i integracji różnych języków ze sobą. Czy chcesz uruchomić kod Pythona w swojej przeglądarce? Jest teraz kilka różnych opcji i prawdopodobnie więcej. Java ma klasę ScriptEngine, która będzie oceniać JavaScript. Istnieją setki różnych języków, które będą działać jako JavaScript poprzez tłumaczenie lub emulację.

Krótko mówiąc, te trzy języki nie muszą być wyspami, odizolowanymi od siebie. Na dłuższą metę nie musisz wybierać tylko jednego. Ale najpierw zacznij od jednego.

Przeczytaj więcej o tworzeniu oprogramowania:

  • Najlepsze darmowe kursy programowania podczas lockdownu
  • Co to jest CI / CD? Wyjaśnienie ciągłej integracji i ciągłego dostarczania
  • Co to jest metodologia zwinna? Wyjaśnienie nowoczesnego rozwoju oprogramowania
  • Co to jest API? Wyjaśnienie interfejsów programowania aplikacji
  • Najlepszy język programowania do nauki
  • Najcenniejsze umiejętności programisty w 2020 roku
  • 6 najlepszych języków programowania do rozwoju AI
  • 24 najlepiej płatne role programistów w 2020 roku
  • Pełnoprawny programista: co to jest i jak możesz nim zostać
  • 9 pułapek kariery, których każdy programista powinien unikać