Jaki nowy język programowania wybrać?

Jaki nowy język programowania wybrać?
0

Witam zastanawiam się nad wyborem kolejnego języka programowania do nauki jak i aby potem w nim pisać aplikacje.Do tej pory miałem styczność z c/c++ , objective-c,swiftem.Myśle teraz nad wyborem jednego z tych języków programowania: Rust,Go,Kotlin jak i ewentualnie D. Zamierzam głównie pisać aplikację a może w przyszłości pokuszę się nawet o napisanie jakiś prostych gier w jednym z języków które podałem.Jaki język programowania będzie najlepszy wybór biorąc pod uwagę aby aplikacje mogły być pisane pob mac osx,linuxa i windowsa. Który z tych języków programowania ma największą przyszłość.

KA
aa może Java?
Phestek
Czarodziejska kula mówi mi, że przyszłość to COBOL.
olesio
Przenoszę do właściwego dla tego typu działu. Następnym razem będzie kosz.
katelx
  • Rejestracja:prawie 10 lat
  • Ostatnio:4 miesiące
  • Lokalizacja:Hong Kong
1

imo kotlin, spelnia wszystkie kryteria, dziala pod jvm i jest bardzo przyjemny

MA
ostatni coraz bardziej widzę wady JVM'a w niektórzy przypadkach, jak chcesz mieć dużo lekkich serwisów np: wrzuconych na AWS to się okazuje że ...... płacisz nie za swój kod tylko za środowisko (tutaj JVM) - bieda trochę :(
katelx
jvm sie tak sobie nadaje do duzej ilosci malych lekkich serwisow, lepszy jest np erlang :)
MA
nam erlang nie potrzebny - tam też jest jakaś maszyna wirtualna - nie mamy kilkudziesięciu tysięcy wątków, mamy 3/4 - w takich przypadkach lepszy jest natywny - np: GO
czysteskarpety
czysteskarpety
  • Rejestracja:prawie 10 lat
  • Ostatnio:ponad 4 lata
  • Lokalizacja:Piwnica
  • Postów:7697
1

tylko HTML


Lectre
Ale żeby tak od razu na głęboką wodę?
czysteskarpety
czysteskarpety
kaman, może faktycznie jestem troche ostry, ale kolo skumaj, programysta to musi mieć zajebistom mocnom psychyke
Lectre
Mocno psychyke wyrobi gdy po roku w statycznie typowanych językach siądzie do JS.
czysteskarpety
czysteskarpety
jest ryzyko jest zabawa :)
kaczus
  • Rejestracja:około 10 lat
  • Ostatnio:minuta
  • Lokalizacja:Łódź
  • Postów:1402
2

Zacznij pisać programy i zobacz czego Tobie brakuje w obecnych językach, wtedy wybierz kolejny. Inaczej to bez sensu, bo bedziesz znac kilkanascie języków, a w żadnym nie będziesz umiał napisać programu.


Ogólnie na prace domowe mam stawki zaporowe. Czasem coś o programowaniu znajdzie się na mojej stronie
0

Aktualnie jak przeglądam najbardziej jestem za rust i go.Co do kotlina to nie jestem zbytnio przekonany ze względu na to ze niezbędne jest do wykonania programu Java Virtual Machine a do niej kompletnie nie jestem przekonany jak zresztą do samej javy.

0

Java i JavaScript.

0

Java i javascript odpadają próbowałem w nich pisać i mi nie podchodzą totalnie. Jesli miałbym wybierac jave to juz wolał bym dalej zostać przy c++

0

GO lang, Dart, Rust, Haskell - może coś z tych?

0
Krzywy pomidor napisał(a):

Java i JavaScript.

Można nie przepadać ale warto poznać. Z JVM masz jeszcze np. Scalę.
Python jest również przyjemny.

Czy znasz jakąś technologię dobrze? Bo jeśli nie to skupiłbym się najpierw na jednym.

Nie widzę za bardzo u Ciebie nic ze stacka webowego i warto byłoby to nadrobić.
do tego własnie Java/C# oraz JS byłby dobry .W web akurat od JSa nikt nie ucieknie.

0

A jaki drugi język do nauki obok Pythona? Myślałem o C, używam Linux i C# nie za bardzo by pasował, a Java jakoś mi nie przypasowała. Jakiś w miarę prosty jak Python bym wolał z tych nowoczesnych, C++ to za trudne.

Maciej Cąderek
Maciej Cąderek
C zawsze dobrze znać.
Wibowit
  • Rejestracja:prawie 20 lat
  • Ostatnio:około godziny
1

A co cię tak od JVMa odrzuca? Ja polecam Scalę - ma trochę duży próg wejścia (dla programistów popularnych języków), ale za jest zwięzła (a więc szybko się prototypuje i ogólnie pisze) i ma rozbudowany statyczny system typowania (co jest niezbędne przy dużych projektach).


"Programs must be written for people to read, and only incidentally for machines to execute." - Abelson & Sussman, SICP, preface to the first edition
"Ci, co najbardziej pragną planować życie społeczne, gdyby im na to pozwolić, staliby się w najwyższym stopniu niebezpieczni i nietolerancyjni wobec planów życiowych innych ludzi. Często, tchnącego dobrocią i oddanego jakiejś sprawie idealistę, dzieli od fanatyka tylko mały krok."
Demokracja jest fajna, dopóki wygrywa twoja ulubiona partia.
0

Ludzie mysla pewnie starymi kategoriami typu applety w javie itp.

Czyli tak naprawde nic o tym nie wiedza, ale nasluchali sie kogos jaki to zly jezyk. Mowia, ze powolny a pozniej ucza sie jeszcze wolniejszych jezykow.

Javy mozna nie lubic, ale warto znac. JVM chyba najbardziej dojrzaly ekosystem. Ale fakt jest to kobyla.

Dla mnie jest to jezyk ok. Nie ma tez czym sie podniecac, dobre narzedzie i tyle.

A kto chce moze obadac ksiazke - 7 jezykow w 7 tygodni. Ale mi srednio podeszla.

Z ostatnich ciekawostek to chyba elixir i rust.

0

Mam 3 kandytatów do wybrania i wśród nich tylko rozpatruje. Elixir,Rust jak i Go. Który z tych trzech warto się uczyć ? Który z tych trzech ma najlepszą przed sobą przyszłość??

0

Rówież szukam jakiegoś dodatkowego języka do nauki. Aktualnie znam podstawowy stack .NET, tj C#, JavaScript, SQL. Ostatnio zacząłem dostrzegać zalety programowania funkcyjnego nad imperatywnym, dlatego poszukuję czegoś w tym kierunku. Gdyby tylko F# był powszechnie wykorzystywany to bym się nie wahał ani chwili, niestety znalezienie w nim pracy graniczy z cudem, a mimo że uczę się dla przyjemności, chciałbym również w wybranym języku pracować. Z tego co zauważyłem najczęściej wykorzystywanym językiem funkcyjnym jest Scala, jednak nie po to uciekłem z JVM, żeby teraz do niego wracać. Prawdopodobnie padnie na NodeJS (znam JS jedynie z frontendu), w końcu JavaScript również jest językiem funkcyjnym, a o pracę nie trzeba się martwić.

Shalom
Ja tam widuje trochę ofert dla F#
1

Jeśli chodzi o programowanie fukncyjne to elixir bym wybrał na pewno.Nawet już wiele ofert pracy pojawia się dla niego i to nawet w Polsce.

0

COBOL

Pipes
  • Rejestracja:około 11 lat
  • Ostatnio:ponad 3 lata
  • Postów:459
0

Polecam Elixir. Składnia jest dosyć przystępna, a możliwości ogromne. Piszesz jak w Rubim zamiast w Erlangu.

0

JavaScript jest funkcyjny... pod warunkiem jak się to definiuje...

"If you define functional language as the language that supports first class functions and lambdas, then yes, JavaScript is a functional language.
If you also consider the factors like support for immutability, algebraic data types, pattern matching, partial application etc then no, JavaScript is not a functional language."

kornelgora napisał(a):

Mam 3 kandytatów do wybrania i wśród nich tylko rozpatruje. Elixir,Rust jak i Go. Który z tych trzech warto się uczyć ? Który z tych trzech ma najlepszą przed sobą przyszłość??

Jeli nie masz doświadczenia to wybrałbym coś bardziej standardowego, później dobrał jakiś egzotyczny język.
Z podanych powyżej powiedziałbym, że Go, ponieważ ma wsparcie Google.

katelx
  • Rejestracja:prawie 10 lat
  • Ostatnio:4 miesiące
  • Lokalizacja:Hong Kong
0
Umbalumba napisał(a):

Gdyby tylko F# był powszechnie wykorzystywany to bym się nie wahał ani chwili, niestety znalezienie w nim pracy graniczy z cudem, a mimo że uczę się dla przyjemności, chciałbym również w wybranym języku pracować. Z tego co zauważyłem najczęściej wykorzystywanym językiem funkcyjnym jest Scala, jednak nie po to uciekłem z JVM, żeby teraz do niego wracać.
z niewiadomych powodow odrzucasz najpopularniejsze platformy a jednoczesnie chcesz zeby bylo duzo ofert pracy... fuck logic ;) jesli dobrze poznasz dowolny jezyk funkcyjny, bedziesz mial w nim pare powazniejszych rzeczy na koncie to znalezienie pracy naprawde nie jest wyzwaniem.

Umbalumba napisał(a):

w końcu JavaScript również jest językiem funkcyjnym, a o pracę nie trzeba się martwić.
no strasznie funkcyjny bo jedyne wsparcie dla funkcyjnosci to first class functions ;)

edytowany 1x, ostatnio: katelx
Maciej Cąderek
Maciej Cąderek
First class functions, lambdy i domkniecia, Object.freeze() - masz wszystko czego potrzeba do programowania funkcyjnego. Owszem, JS nie ma wbudowanego zaawansowanego cukru dla programowania funkcyjnego, ale łatwo można dodać resztę funkcjonalności za pomocą bibliotek, np: ImmutableJS / Mori (niemutowalne struktury jak w Clojure), Ramda (biblioteka funkcyjna z automatycznym curryingiem), ADT, Lodash, Bacon i setki innych, pattern matching można dodać za pomocą Sweet.js. Programowanie funkcyjne w JS jest całkiem wygodne i popularne - patrz np. React + Redux.
0

Pewnie od Pana Mirosława usłyszeli jaka Java niedobra jest.

Wibowit
  • Rejestracja:prawie 20 lat
  • Ostatnio:około godziny
3

Z tego co zauważyłem najczęściej wykorzystywanym językiem funkcyjnym jest Scala, jednak nie po to uciekłem z JVM, żeby teraz do niego wracać.

A jest jakiś rozsądny powód ucieczki?

Ludzie piszą, że Java to kobyła, ale zapominają, że:

  • Python, PHP, JavaScript itd są powolnymi językami, bo oficjalne implementacje to interpretery. Z tego powodu ich szybkość jest o rzędy wielkości niższa niż szybkość C, C++, Javy, etc
  • Java jest szybka - ma JIT i wydajnościowo wypada bardzo dobrze, zwykle jest mniej niż 2x wolniejsza od C/ C++. Z drugiej strony, czysty Python czy podobne interpretowane standardowymi interpreterami są dziesiątki albo setki razy wolniejsze od C/ C++/ Javy (polecam sprawdzić mój benchmark: https://github.com/tarsa/TarsaLZP ),
  • Java to nie jedyna platforma z VMką - oprócz Javy jest np .NET/ CLR czy Erlang VM,
  • Garbage Collector jest prawie wszędzie - łatwiej wypisać gdzie go nie ma w popularnych językach niż gdzie jest. Jest w każdym języku skryptowym (w tym JavaScript), w Javie, .NET/ CLR, Erlangu, Haskellu, itd
  • JavaScript ma być niby lekką platformą, ale dzisiaj typowa kolorowa strona w Chrome potrafi zjadać setki MiB RAMu,
  • aplikacje biznesowe są na tyle duże, że sam narzut startowy JVMa jest pomijalny,
  • analogicznie do powyższego - szybkość odpalenia HelloWorlda nijak się ma do szybkości odpalenia wielkiej kompletnej aplikacji,
  • nawet superhiperszybki C++ nie sprawia magicznie, że czasy oczekiwania się zerują - nawet w gierkach pisanych w C++ trzeba czekać na załadowanie poziomu, a to przecież tylko ładowanie zasobów z dysku. JVM przy startowaniu aplikacji oprócz ładowania sterty plików odpala jeszcze kompilację JIT,
  • w przypadku aplikacji biznesowych początkowy narzut na ładowanie aplikacji jest amortyzowany bo aplikacje chodzą bez restartu co najmniej wiele dni, a czasem nawet miesięcy,

w końcu JavaScript również jest językiem funkcyjnym, a o pracę nie trzeba się martwić.

Jeśli, jak zauważyli poprzednicy, jedyną własnością JS, która sprawia, że jest funkcyjny są 'first class functions' to Java 8 też jest językiem funkcyjnym. Ale to bardzo słaba definicja funkcyjności.


"Programs must be written for people to read, and only incidentally for machines to execute." - Abelson & Sussman, SICP, preface to the first edition
"Ci, co najbardziej pragną planować życie społeczne, gdyby im na to pozwolić, staliby się w najwyższym stopniu niebezpieczni i nietolerancyjni wobec planów życiowych innych ludzi. Często, tchnącego dobrocią i oddanego jakiejś sprawie idealistę, dzieli od fanatyka tylko mały krok."
Demokracja jest fajna, dopóki wygrywa twoja ulubiona partia.
0

@Wibowit
Według mnie największa zaleta Javy to jej ekosystem. JVM gdzie mogą latać inne języki itp.
A także miliard narzędzi do wszystkiego, do testów, do continious integration, do wirtualizacji, cokolwiek by ktoś nie wymyślił.
No i chyba każda nowość trafia bardzo szybko do Javy. Gdzie jedni się jarają co tam mają dostępne w technologii X, czasem w Javie mielismy już dawno.

Trzeba też zauważyć, że Java jest general purpose lang. Np. pewnie sporo psuje taki Oracle.
A taki Go czy Rust takim językiem nie jest. Mają swoje zastosowanie i tam mają przewagę.

Oczywiście wady są, jak we wszystkim.
A jak ktoś bardzo nie lubi Javy to niech chociaż wybierze c#...

katelx
tzn co psuje Oracle?
n0name_l
Gdzie jedni się jarają co tam mają dostępne w technologii X, czasem w Javie mielismy już dawno. w większości przypadków, jeśli chodzi np. o feature'y języka to jest dokładnie na odwrót. :d
Wibowit
  • Rejestracja:prawie 20 lat
  • Ostatnio:około godziny
0

Trzeba też zauważyć, że Java jest general purpose lang. Np. pewnie sporo psuje taki Oracle.
A taki Go czy Rust takim językiem nie jest. Mają swoje zastosowanie i tam mają przewagę.

Wydaje mi się, że nie ma jakiegoś podziału na nisze względem języka. Dużo zależy od zastosowanych bibliotek - te mogą sprawić, że dany język "nagle nadaje się do innych zastosowań". Ja bym wymienił trzy kategorie platform/ języków:

  • niezarządzane, a więc praktycznie zawsze kompilowane - tutaj mamy bezpośredni dostęp do pamięci, ręcznie ją sobie alokujemy i sprzątamy. To jest niezbędne albo pożądane w szeregu zastosowań. Niezbędne jest np przy programowaniu jądra systemu operacyjnego. Pożądane jest przy tworzeniu silnika gier, gdyż alokując ręcznie pozbywamy się mocno nieprzewidywalnych przestojów na odśmiecanie pamięci.
  • zarządzane skryptowe - te są nastawione na szybki start interpretera i jego niski narzut startowy. Źle się skalują, więc im większa aplikacja tym bardziej są upierdliwe ich wady typu duży narzut pamięciowy na konstrukcje językowe czy bardzo niska prędkość wykonania.
  • zarządzane kompilowane, gdzie zwykle jest VMka, a kompilacja jest zwykle w locie - te są nastawione na wysoką wydajność po okresie rozgrzania VMki, ale mają względnie duży narzut startowy. Możliwe jest jednak przycięcie VMki do śmiesznych rozmiarów i np taka Java ma wersję, która chodzi na starych komórkach (Java ME mieści się w kilkudziesięciu kilobajtach RAMu ZTCP) czy nawet na czipach z kart płatniczych (Java Card),

Rust wygląda jak język wysokiego poziomu, ale zalicza się do kategorii języków niezarządzanych kompilowanych, więc spokojnie nadaje się na pisanie jądra systemu operacyjnego. Przykład: http://www.redox-os.org/


"Programs must be written for people to read, and only incidentally for machines to execute." - Abelson & Sussman, SICP, preface to the first edition
"Ci, co najbardziej pragną planować życie społeczne, gdyby im na to pozwolić, staliby się w najwyższym stopniu niebezpieczni i nietolerancyjni wobec planów życiowych innych ludzi. Często, tchnącego dobrocią i oddanego jakiejś sprawie idealistę, dzieli od fanatyka tylko mały krok."
Demokracja jest fajna, dopóki wygrywa twoja ulubiona partia.
KO
  • Rejestracja:ponad 8 lat
  • Ostatnio:około 7 lat
  • Postów:20
0

Na plus rusta przemawia z powyższych języków dla mnie jego wydajność porównywalna do c/c++ i coraz bardziej myśle aby iść w niego z drugiej strony elixir to również bardzo ciekawy język programowania.Który najlepiej się nada aby pisac aplikacje na mac osx , linuxa i windowsa??Rust czy Elixir??

0

ale jakie aplikacje? dektopowe?

0

Gdzie jedni się jarają co tam mają dostępne w technologii X, czasem w Javie mielismy już dawno. w większości przypadków, jeśli chodzi np. o feature'y języka to jest dokładnie na odwrót. :d -
@n0name_l

Featury samego języka nie są tak ważne jak to co daje ekosystem, który jest dosć otwarty, więc i niezależny.
Tak, wiemy, że w c# pewne rzeczy były dość dawno dostępne, czego nie było w javie.
Ale nie powiedziałbym, że jest to jakiś deal breaker.

KO
  • Rejestracja:ponad 8 lat
  • Ostatnio:około 7 lat
  • Postów:20
0

Dokładnie desktopowe. Od zawsze mnie fascynowały takie rzeczy. Jakoś do webu nie jestem przekonany a pisanie na platformy mobilne również mnie nie pociąga.

0
kornelgora napisał(a):

Dokładnie desktopowe. Od zawsze mnie fascynowały takie rzeczy. Jakoś do webu nie jestem przekonany a pisanie na platformy mobilne również mnie nie pociąga.

Bo pewnie weba wyobrażasz sobie jako pisanie prostych stronek w html/css abobo na wordpressie?

Musisz wiedzieć, że Desktop jest w odwrocie. I wszystko co się da robi się webowo. Aplikacje mobilne to akurat trochę taki desktop.

Z Rustem i Golangiem chyba nie powalczysz w tej dziedzinie.
Nie wiem co ma największą przenośność. C++ i Qt?

Stawiałbym na objective c/swift (Mac) i c# (Windows).

Nie dziwie się, że java Ci się nie podoba, bo Java i Desktop średnio w parze idą.

Wibowit
  • Rejestracja:prawie 20 lat
  • Ostatnio:około godziny
0
kornelgora napisał(a):

Dokładnie desktopowe. Od zawsze mnie fascynowały takie rzeczy. Jakoś do webu nie jestem przekonany a pisanie na platformy mobilne również mnie nie pociąga.

Mnie też dawno temu, ale tam jest bardzo mało roboty. Aplikacje desktopowe istnieją, ale to raczej starocie, które mają być docelowo przeniesione w weba. W Sabre pracowałem w Javie nad aplikacją desktopową, która była napisana w Swingu. Były plany by ją przenieść w weba, ale ostatecznie przeniesiono ją na NetBeans Platform (Eclipse Platform odpadło, bo używa SWT). Być może po moim odejściu plany przeniesienia na weba wróciły.

Z aplikacjami biznesowymi jest tak, że UI nie jest tam jakoś mocno podniecający. UI ma głównie pokazywać tabelki i formularze. Po krótkim czasie traci to jakąkolwiek atrakcyjność. To już webówka byłaby bardziej atrakcyjna, bo strony webowe są znacznie bardziej zbajerowane niż desktopowe programy. Mimo wszystko JavaScript odstrasza. Ja pokładam nadzieję w projektach takich jak https://www.scala-js.org/ - jeśli to się rozwinie i zbuduje się ekosystem wokół tego to będzie można tworzyć aplikacje przeglądarkowe bez wyrywania sobie włosów. Projekt wygląda coraz lepiej i już pojawia się szereg bibliotek wokół niego.

Mięcho aplikacji biznesowej to backend i tam jest najwięcej roboty. Warto więc wybrać taką technologię, gdzie robienie backendu jest fajne. Moim zdaniem jest to właśnie Scala. Język jest wypasiony, biblioteki Scalowe również (np Akka - klasa sama w sobie). Sama Scala doskonale współpracuje z Javowymi bibliotekami i serwerami, czyli ogólnie platformą Java, a łatwiej jest przekonać biznes do wykorzystania Scali niż do platformy dużo mniej rozbudowanej niż Java. Silne powiązanie Scali z Javą sprawia, że doświadczenie z Javą zaprocentuje przy przejściu na Scalę, a więc Scala jest językiem atrakcyjnym dla Javowców i dlatego można się spodziewać systematycznego wzrostu popularności Scali.


"Programs must be written for people to read, and only incidentally for machines to execute." - Abelson & Sussman, SICP, preface to the first edition
"Ci, co najbardziej pragną planować życie społeczne, gdyby im na to pozwolić, staliby się w najwyższym stopniu niebezpieczni i nietolerancyjni wobec planów życiowych innych ludzi. Często, tchnącego dobrocią i oddanego jakiejś sprawie idealistę, dzieli od fanatyka tylko mały krok."
Demokracja jest fajna, dopóki wygrywa twoja ulubiona partia.
edytowany 2x, ostatnio: Wibowit
0

do klepania mikroserisów w Scali według mnie bardzo dobra jest akka-http.

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)