Jeden język, aby wszystkimi rządzić

Ukryty pod warstwą kodu język słabnie i pragnie się go nauczyć.

Jeden język, aby wszystkimi rządzić

W chwili pisania tego tekstu zapytanie „programowanie, którego języka uczyć się najpierw” zwraca 517 milionów wyników wyszukiwania. Każda z tych witryn będzie chwalić jeden konkretny język, a 90% z nich ostatecznie poleci Pythona lub JavaScript.

Bez zbędnych ceregieli chciałbym oficjalnie powiedzieć, że wszystkie z tych 517 milionów stron internetowych są błędne i że językiem, którego powinieneś się najpierw nauczyć, jest podstawowa logika.

Sama umiejętność kodowania nie wystarczy. Rynek jest tak nasycony absolwentami instytutów i kierunków, że pozycja juniora praktycznie przestała istnieć*. Aby odnieść sukces w dzisiejszym świecie, musisz zarówno programować, jak i posiadać zaawansowane podstawowe logiczne myślenie.

*dalej proszę pamiętać, że jest to tłumaczenie i sytuacja na rynku pracy autora i w Twoim kraju może być odmienna (i inne niuanse), co jednak samo w sobie nie pogarsza oryginału - około. tłumaczenie

Moja pierwsza lekcja informatyki

Mój pierwszy kontakt z informatyką miał miejsce w 10. klasie. Już pierwszego dnia, wchodząc do klasy, z radością zobaczyłam przed sobą dużą liczbę wiaderek z lodami i różnymi dodatkami. Gdy wszyscy zajęli miejsca, nauczyciel oznajmił:

„Dzisiaj będziemy degustować samodzielnie przygotowane lody. Ale pod jednym warunkiem: musisz sporządzić listę konkretnych instrukcji, jak przygotować deser, a ja się do nich zastosuję.

„Nie ma problemu” – pomyślałem. „Ta lekcja nie będzie długa”. W ciągu minuty zapisałem idealny przepis na lody moich marzeń:

  1. Łyżką i włóż do miski trzy gałki lodów malinowych
  2. Otwórz sos czekoladowy i dodaj dwie łyżki do tej samej miski
  3. Do miski dodaj bitą śmietanę
  4. Całość posypujemy cukrem i na wierzchu układamy wisienkę

Mój nauczyciel – „komputer” w tej uroczej metaforze – dał bardziej sarkastyczny, dosłowny występ, niż kiedykolwiek wcześniej widziałem. Zaczęła gorliwie szturchać wiadro z lodami łyżką, nawet nie dotykając pokrywki.

„OK, OK, ale najpierw musisz to otworzyć!” – wykrzyknąłem, starając się jak najszybciej zdobyć smakołyk.

„Nie napisałeś tego w instrukcji, a ja nie mogłem zrobić ci lodów. NASTĘPNY!"

Przejdźmy szybko do próby nr 2

  1. Otwórz lody malinowe, zdejmując pokrywkę
  2. Łyżką i włóż do miski trzy gałki lodów malinowych
  3. Otwórz sos czekoladowy i dodaj dwie łyżki do tej samej miski
  4. Do miski dodaj bitą śmietanę
  5. Całość posyp cukrem i połóż na wierzchu wisienkę

Cóż, teraz zdecydowanie nie powinno być żadnych problemów. Na wszelki wypadek upewniłam się, że wszystkie składniki potrzebne do zrobienia mojego kulinarnego arcydzieła są otwarte.

Nauczycielka zdjęła pokrywkę, nabrała i włożyła do miski trzy gałki lodów. „Wreszcie moje piękne lody zaczęły się spełniać!” Następnie otworzyła sos czekoladowy i dodała do miski dwie łyżki. Nie „dodawała sosu czekoladowego z dwóch łyżek” – nie myśl – sama oczywiście włożyła łyżki do miski. Nie ma w nich sosu. Znowu nie zadałem sobie trudu, żeby wszystko dokładnie zapisać. Gdy reszta została wykonana w tym samym duchu, otrzymałam miskę lodów i dwie łyżki ledwo zauważalne pod morzem bitej śmietany. Na wierzchu leżały dwie laski cukru.

Wydaje się, że w tym momencie wreszcie do mnie dotarło: komputer to logika w próżni. Nie jest świadomy otaczających okoliczności i nie przyjmuje żadnych założeń. Wykonuje tylko jasno sformułowane instrukcje i trzyma się ich słowo po słowie.

Mój ostateczny wynik był wynikiem długiej, ale koniecznej serii prób i błędów:

  1. Jeśli jeszcze tego nie zrobiłeś, otwórz każde z następujących opakowań: lody malinowe, sos czekoladowy, bita śmietana, cukier w paluszkach.
  2. Wyjmij miskę i postaw ją przed sobą
  3. Weź łyżkę lodów i włóż do miski po trzy gałki lodów malinowych. Odłóż gałkę lodów z powrotem na miejsce.
  4. Weź słoik sosu czekoladowego, zbierz sos i wlej zawartość łyżki do miski. Powtórzyć proces nabierania i nalewania jeszcze raz. Odłóż łyżkę i słoik z powrotem na miejsce.
  5. Weź opakowanie bitej śmietany do góry nogami i trzymając je nad miską, polej nią lody na 3 sekundy, po czym odłóż opakowanie na miejsce.
  6. Weź słoik pałeczek cukru, wsyp do miski około czterdziestu pałeczek i odłóż słój z powrotem.
  7. Z miski wiśni wyjmij jedną wiśnię i połóż ją na lodach.
  8. Daj uczniowi miskę z gotowymi lodami i łyżką.

Ostatni punkt był szczególnie ważny, bo bez niego przedostatni raz nauczycielka po prostu zaczęła jeść moje lody.

Ale to jest programowanie. Stres związany z tworzeniem starannego zestawu instrukcji dla komputera. Zasadniczo do tego sprowadza się każdy język programowania – pisanie instrukcji.

Kariera w programowaniu

Programowanie osiągnęło punkt, w którym trudno jest mówić o jednej branży, tak jak trudno jest używać jednego słowa „programista” jako opisu stanowiska. Równie poszukiwanych na rynku może być dwóch programistów, znających zupełnie różne języki, co oznacza, że ​​umiejętność rozwoju jest ważniejsza niż znajomość konkretnego języka. Uniwersalną cechą wspólną dla wszystkich odnoszących sukcesy programistów jest podstawowa logika.

Najlepszy programista to ten, który potrafi spojrzeć na kod z nowej perspektywy. Ma to fundamentalne znaczenie, ponieważ większość oprogramowania to zbiór nieudokumentowanych fragmentów złego kodu. Należy je stale łączyć, w razie potrzeby wypełniając luki. Ludzie, którzy nie potrafią połączyć różnych punktów jedną linią, będą musieli na zawsze pozostać na uboczu.

Wszystko to prowadzi mnie do kolejnej deklaracji, tym razem pogrubioną: Podstawowa wiedza zawsze była i będzie najważniejsza dla programisty.

Języki przychodzą i odchodzą. Ramy stają się przestarzałe, a firmy reagują na popyt, zmieniając stos technologii, z którego korzystają. Czy jest jedna rzecz, która nigdy się nie zmieni? Tak – wiedza fundamentalna, którą nazywa się fundamentalną, bo leży u podstaw wszystkiego!

Jak doskonalić wiedzę podstawową

Jeden język, aby wszystkimi rządzićZdjęcie autorstwa Krzysztofa Jeschke na Unsplash

Jeśli szukasz punktu wyjścia do poprawy swojego podstawowego logicznego myślenia, spróbuj zacząć tutaj:

Poznaj złożoność swojego programu

Nazywane również Big O „złożoność algorytmu” odnosi się do zależności czasu potrzebnego na wykonanie programu od rozmiaru jego danych wejściowych (n). Trzymanie ręki na pulsie stosowanych algorytmów to ważny krok.

Poznaj swoje struktury danych

Struktury danych stanowią serce każdego nowoczesnego programu. Wiedza o tym, jakiej struktury użyć w jakim przypadku, jest dyscypliną samą w sobie. Struktury danych są bezpośrednio powiązane ze złożonością środowiska wykonawczego, a wybór niewłaściwej struktury może prowadzić do zasadniczych problemów z wydajnością. Znalezienie elementu w tablicy to Na), co wskazuje na wysoki koszt wykorzystania tablic jako danych wejściowych. Wyszukiwanie tablicy mieszającej − O (1), co oznacza, że ​​w tym przypadku czas poszukiwania wartości nie zależy od liczby elementów.

Ludzie przychodzili do mnie na rozmowę kwalifikacyjną i twierdzili, że przeszukiwanie tablicy jest szybsze niż przeszukiwanie tablicy mieszającej. To był najpewniejszy znak, że nie powinieneś ich zatrudniać – poznaj swoje struktury danych.

Czytaj / oglądaj / słuchaj

Witryny typu UdemyPluralsight и CodeAcademy - Doskonały wybór do nauki nowych języków programowania. Ale jeśli chodzi o podstawy, zajrzyj do książek na temat ogólnych zasad, praktyk i stylów kodowania. Najbardziej polecane książki to „Wzorce projektowe”, „Refaktoryzacja. Udoskonalanie istniejącego kodu”, „Doskonały kod”, „Czysty kod” i „Pragmatysta programista”. Wreszcie każdy programista powinien zachować kopię pliku „Algorytmy" na dłoni.

Ćwiczyć!

Nie da się ugotować jajecznicy bez rozbijania jajek. Witryny typu Rank HackerWojny KodówCoderByte, TopCoder и LeetKod oferują tysiące ciekawych zagadek, aby sprawdzić swoją wiedzę na temat struktur danych i algorytmów. Spróbuj szczęścia w rozwiązywaniu problemu, który Ci się podoba, opublikuj swoje rozwiązanie na Githubie, a następnie zobacz, jak podeszli do niego inni. Co prowadzi nas do ostatniego punktu:

Przeczytaj kod innych osób

Największym błędem, jaki możesz popełnić, podążając ścieżką rozwoju, jest podążanie nią samotnie. Tworzenie oprogramowania to w dużej mierze wysiłek zespołowy. Razem tworzymy standardy, wspólnie popełniamy błędy i mimo wszelkich niepowodzeń wspólnie stajemy się lepsi. Czas spędzony na czytaniu kodu innych osób z pewnością się opłaci. Tylko upewnij się, że to dobry kod.

Cóż, najlepsza rada, jaką mogę dać, to nigdy nie wstydzić się, że czegoś jeszcze nie wiesz. Jak już powiedziano, nasza branża jest ogromna, a ilość technologii nieograniczona. Zbudowanie ogólnego obrazu zajmuje dużo czasu i wysiłku, jeszcze więcej, aby stać się profesjonalistą w jakiejś konkretnej dziedzinie, i o rząd wielkości więcej, aby doskonalić swoje umiejętności w swojej dziedzinie. Dam ci znać, kiedy sam to osiągnę.

Źródło: www.habr.com

Dodaj komentarz