Kotlin - czy / kiedy zacząć naukę?

Kotlin - czy / kiedy zacząć naukę?
E9
  • Rejestracja:ponad 8 lat
  • Ostatnio:5 dni
  • Postów:216
0

W sumie zamiast Kotlina mógłby być tam zupełnie inny język, pytanie kiedy zacząć naukę kolejnego języka programowania? Gdy poznam inny język od A do Z? Gdy napisze w nim 1 / 3 / 10 aplikacje które działają produkcyjnie? Czy po zrobieniu prostego CRUDA do tzw. szuflady w Javie mogę zaczac naukę czegoś innego? Wiem że prawidłowa odpowiedź to pewnie to zależy, ale interesuje mnie Wasze zdanie.

W skrócie o mnie - 2 lata doświadczenia, w tym sporo czasu straconego na webMethods, trochę na JEE, JSF, starego AngularJSa, a ostatnio Spring + najnowszy Angular. Docelowo chciałbym poznać więcej języków na JVMie, dlatego pomyślałem o Kotlinie, który wydaje się być dość prosty mając doświadczenie w Javie. Pytanie tylko czy to faktycznie dobry wybór, i czy z perspektywy czysto zawodowej przyniesie to wymierne korzyści? Z języków JVM Java to strzelam jakieś 90% ofert pracy, więc czy znajomość czegoś jeszcze faktycznie może byc na plus czy może bardziej warto się skupic na tym by zostać "wymiataczem" w samej Javie?

edytowany 1x, ostatnio: Emdzej93
S9
  • Rejestracja:ponad 10 lat
  • Ostatnio:6 miesięcy
  • Lokalizacja:Warszawa
  • Postów:3573
1

Jeśli np. ćwiczysz Springa możesz Javę zastapić Kotlinem i wtedy po prostu przy okazji odkrywać Kotlina, przy czym najpierw przejrzeć dokumentacje Kotlina żeby wiedzieć jakieś podstawowe różnice. Tutaj jest przykład: Option(ale) jako pola zamiast nulli? - możesz po prostu użyć w takim przypadku sealed class i wykorzystać to od razu w sposób praktyczny. Nie zawsze warto uczyć się tylko języków które będziemy wykorzystywać komercyjnie, chodzi tez np. o naukę innego podejścia przy czym akurat Kotlin tak dużo tu nie da tylko np. Clojure albo Scala. Mimo wszystko moim zdaniem warto ;)


"w haśle <młody dynamiczny zespół> nie chodzi o to ile masz lat tylko jak często zmienia się skład"
wiciu
  • Rejestracja:ponad 11 lat
  • Ostatnio:7 dni
  • Postów:1205
1

Kiedy chcesz. Najlepiej teraz.

Nawet, jak nie będziesz pisał w pracy w Kotlinie, to pewne idee z tego języka przydadzą się podczas pisania w Javie.
Poza tym, niezależnie od tego, w jakim JVM-owym języku piszesz, znajomość Javy i JVMa jest bardzo przydatna, jak nie chcesz być zwykłym klepaczem, więc w przypadku pisania w Kotlinie wg mnie warto dobrze znać i Javę i Kotlina.

edytowany 1x, ostatnio: wiciu
Charles_Ray
  • Rejestracja:około 17 lat
  • Ostatnio:około 6 godzin
  • Postów:1874
1

Kotlin to nie jest jakiś rocket science, a trochę poszerzy horyzonty 👉 do it


”Engineering is easy. People are hard.” Bill Coughran
semicolon
  • Rejestracja:ponad 5 lat
  • Ostatnio:prawie 5 lat
  • Postów:114
0

Jak poszerzysz horyzonty i zdasz sobie sprawę jak bardzo barokowe jest programowanie w java. To praca nad projektami w Java Ci obrzydnie.

Czyż nie jest to zasłużona wymierna korzyść zawodowa?

edytowany 1x, ostatnio: semicolon
P2
  • Rejestracja:ponad 5 lat
  • Ostatnio:prawie 5 lat
  • Postów:84
0

Kotlin wcale nie zrobił takiej rewolucji na rynku jaką wszyscy uważają, że zrobił, największego boosta to kotlin dostał od ... Googla gdy zaczął go oficjalnie wpierać na Androidzie i głównie dlatego ludzie przeszli na niego, nie mogę się także nie zgodzić z tym, że kilka elementów w kotlinie jest lepszych niż w javce, ale uważam osobiście, że w momencie wyjścia kolejnego LTS-a od Javy(chyba 17 w 2022) gdzie zapewne znajdą się wszystkie opcje którymi jarają się fanboye scali i kotlina ludzie wrócą do starej dobrej javki,
dlatego myśle, że najlepszym rozwiązaniem byłoby dobra znajomość javki na androidzie a dopiero potem nauka kotlina żeby za 2-3 lata nie było zdziwienia jak się wam zmieni stack na apki mobilne i trzeba będzie pisać coś w starym dobrym języku od sun microsystems

KamilAdam
Czyli już w 2022 Java będzie wspierać TypeClasses? Wątpię, ale co ja tam wiem
vpiotr
  • Rejestracja:ponad 13 lat
  • Ostatnio:prawie 3 lata
1

Kotlina bym sie pouczyl jakbym chcial w nim pracowac.
Clojure / Racket jakbym mial troche czasu na pisanie tekstowek.
Haskella gdybym chcial liznac FP.
Rusta, Nim lub Go gdybym chcial ostatecznie zapomniec o C.
Elm lub Elixir gdybym chcial porobic cos w nowoczesnym froncie.

Sa rozni ludzie i rozne potrzeby.

OtoKamil
Elm lub Elixir? Elixir to raczej backend jeśli myślisz o Phoenixie (chyba, że masz na myśli live view?)
vpiotr
Zgadza sie. Ja robie w glebokim backendzie wiec dla mnie nawet php jest frontem, ale ogolnie masz racje.
Kliknij, aby dodać treść...

Pomoc 1.18.8

Typografia

Edytor obsługuje składnie Markdown, w której pojedynczy akcent *kursywa* oraz _kursywa_ to pochylenie. Z kolei podwójny akcent **pogrubienie** oraz __pogrubienie__ to pogrubienie. Dodanie znaczników ~~strike~~ to przekreślenie.

Możesz dodać formatowanie komendami , , oraz .

Ponieważ dekoracja podkreślenia jest przeznaczona na linki, markdown nie zawiera specjalnej składni dla podkreślenia. Dlatego by dodać podkreślenie, użyj <u>underline</u>.

Komendy formatujące reagują na skróty klawiszowe: Ctrl+B, Ctrl+I, Ctrl+U oraz Ctrl+S.

Linki

By dodać link w edytorze użyj komendy lub użyj składni [title](link). URL umieszczony w linku lub nawet URL umieszczony bezpośrednio w tekście będzie aktywny i klikalny.

Jeżeli chcesz, możesz samodzielnie dodać link: <a href="link">title</a>.

Wewnętrzne odnośniki

Możesz umieścić odnośnik do wewnętrznej podstrony, używając następującej składni: [[Delphi/Kompendium]] lub [[Delphi/Kompendium|kliknij, aby przejść do kompendium]]. Odnośniki mogą prowadzić do Forum 4programmers.net lub np. do Kompendium.

Wspomnienia użytkowników

By wspomnieć użytkownika forum, wpisz w formularzu znak @. Zobaczysz okienko samouzupełniające nazwy użytkowników. Samouzupełnienie dobierze odpowiedni format wspomnienia, zależnie od tego czy w nazwie użytkownika znajduje się spacja.

Znaczniki HTML

Dozwolone jest używanie niektórych znaczników HTML: <a>, <b>, <i>, <kbd>, <del>, <strong>, <dfn>, <pre>, <blockquote>, <hr/>, <sub>, <sup> oraz <img/>.

Skróty klawiszowe

Dodaj kombinację klawiszy komendą notacji klawiszy lub skrótem klawiszowym Alt+K.

Reprezentuj kombinacje klawiszowe używając taga <kbd>. Oddziel od siebie klawisze znakiem plus, np <kbd>Alt+Tab</kbd>.

Indeks górny oraz dolny

Przykład: wpisując H<sub>2</sub>O i m<sup>2</sup> otrzymasz: H2O i m2.

Składnia Tex

By precyzyjnie wyrazić działanie matematyczne, użyj składni Tex.

<tex>arcctg(x) = argtan(\frac{1}{x}) = arcsin(\frac{1}{\sqrt{1+x^2}})</tex>

Kod źródłowy

Krótkie fragmenty kodu

Wszelkie jednolinijkowe instrukcje języka programowania powinny być zawarte pomiędzy obróconymi apostrofami: `kod instrukcji` lub ``console.log(`string`);``.

Kod wielolinijkowy

Dodaj fragment kodu komendą . Fragmenty kodu zajmujące całą lub więcej linijek powinny być umieszczone w wielolinijkowym fragmencie kodu. Znaczniki ``` lub ~~~ umożliwiają kolorowanie różnych języków programowania. Możemy nadać nazwę języka programowania używając auto-uzupełnienia, kod został pokolorowany używając konkretnych ustawień kolorowania składni:

```javascript
document.write('Hello World');
```

Możesz zaznaczyć również już wklejony kod w edytorze, i użyć komendy  by zamienić go w kod. Użyj kombinacji Ctrl+`, by dodać fragment kodu bez oznaczników języka.

Tabelki

Dodaj przykładową tabelkę używając komendy . Przykładowa tabelka składa się z dwóch kolumn, nagłówka i jednego wiersza.

Wygeneruj tabelkę na podstawie szablonu. Oddziel komórki separatorem ; lub |, a następnie zaznacz szablonu.

nazwisko;dziedzina;odkrycie
Pitagoras;mathematics;Pythagorean Theorem
Albert Einstein;physics;General Relativity
Marie Curie, Pierre Curie;chemistry;Radium, Polonium

Użyj komendy by zamienić zaznaczony szablon na tabelkę Markdown.

Lista uporządkowana i nieuporządkowana

Możliwe jest tworzenie listy numerowanych oraz wypunktowanych. Wystarczy, że pierwszym znakiem linii będzie * lub - dla listy nieuporządkowanej oraz 1. dla listy uporządkowanej.

Użyj komendy by dodać listę uporządkowaną.

1. Lista numerowana
2. Lista numerowana

Użyj komendy by dodać listę nieuporządkowaną.

* Lista wypunktowana
* Lista wypunktowana
** Lista wypunktowana (drugi poziom)

Składnia Markdown

Edytor obsługuje składnię Markdown, która składa się ze znaków specjalnych. Dostępne komendy, jak formatowanie , dodanie tabelki lub fragmentu kodu są w pewnym sensie świadome otaczającej jej składni, i postarają się unikać uszkodzenia jej.

Dla przykładu, używając tylko dostępnych komend, nie możemy dodać formatowania pogrubienia do kodu wielolinijkowego, albo dodać listy do tabelki - mogłoby to doprowadzić do uszkodzenia składni.

W pewnych odosobnionych przypadkach brak nowej linii przed elementami markdown również mógłby uszkodzić składnie, dlatego edytor dodaje brakujące nowe linie. Dla przykładu, dodanie formatowania pochylenia zaraz po tabelce, mogłoby zostać błędne zinterpretowane, więc edytor doda oddzielającą nową linię pomiędzy tabelką, a pochyleniem.

Skróty klawiszowe

Skróty formatujące, kiedy w edytorze znajduje się pojedynczy kursor, wstawiają sformatowany tekst przykładowy. Jeśli w edytorze znajduje się zaznaczenie (słowo, linijka, paragraf), wtedy zaznaczenie zostaje sformatowane.

  • Ctrl+B - dodaj pogrubienie lub pogrub zaznaczenie
  • Ctrl+I - dodaj pochylenie lub pochyl zaznaczenie
  • Ctrl+U - dodaj podkreślenie lub podkreśl zaznaczenie
  • Ctrl+S - dodaj przekreślenie lub przekreśl zaznaczenie

Notacja Klawiszy

  • Alt+K - dodaj notację klawiszy

Fragment kodu bez oznacznika

  • Alt+C - dodaj pusty fragment kodu

Skróty operujące na kodzie i linijkach:

  • Alt+L - zaznaczenie całej linii
  • Alt+, Alt+ - przeniesienie linijki w której znajduje się kursor w górę/dół.
  • Tab/⌘+] - dodaj wcięcie (wcięcie w prawo)
  • Shit+Tab/⌘+[ - usunięcie wcięcia (wycięcie w lewo)

Dodawanie postów:

  • Ctrl+Enter - dodaj post
  • ⌘+Enter - dodaj post (MacOS)