Języki programowania - co aktualnie polecacie ze stabilnych rozwiązań?

Języki programowania - co aktualnie polecacie ze stabilnych rozwiązań?
J0
  • Rejestracja:ponad 15 lat
  • Ostatnio:około 2 lata
0

Cześć.
Od jakiegoś czasu programuję w Pythonie. Są to głównie nieskomplikowane skrypty automatyzujące.
Czuję że podoba mi się programowanie i chciałbym iść w tym kierunku dalej.
Problem w tym, że siedząc w Pythonie czuję, że jestem** poza "głównym nurtem programowania"**. Dużych systemów nie robi się w Pythonie, ten język jest raczej używany do oskryptowania czegoś, jako taki dodatek, ewentualnie jakaś prosta stronka w Django lub pisanie testów do "prawdziwego" kodu. Chciałbym jednak rozwinąć się i teraz jest czas, w którym muszę zdecydować, w jaką technologię zainwestować.

Moje przemyślenia odnośnie różnych języków:

  • Myślałem o Javie, ale jak widzę applety Javy (któych nadal się niestety używa), to mam dosyć po pierwszym kliknięciu. Pewnie czasy się zmieniły, ale nie wiem, jak teraz wyglądają nowe aplikacje w Javie.
  • Myślałem o C#, ale nie jestem dużym fanem M$. Bardziej kibicuję otwartym rozwiązaniom.
  • Widzę, że fajne rzeczy można teraz zrobić w JS i frameworkach około-JS'owych, ale kiedyś bawiłem się we Frontend i miałem dość, ciągle dostosowując CSSa do różnych przeglądarek/rozdzielczości.
  • Nowinki takie jak Rust, Go, itp. raczej odpadają. Zależy mi na stabilnym rozwoju, tzn. priorytetem jest łatwość w znalezieniu pracy w przeciągu kilku lat (wiem, oczywiście, że wszystko się może dynamicznie zmienić, jednak wydaje mi się, że np. zapotrzebowanie na Java dev nagle nie zniknie za 3 lata).

Jeśli chodzi o moje preferencje - chciałbym robić coś, na co będę miał realny wpływ i będę widział efekty działania. Wcześniej zajmowałem się elektroniką, więc podoba mi się, gdy ze strony kody mogę coś zmienić po stronie hardware'u.

  • **IoT **brzmi bardzo fajnie.
  • Procesem przenoszenia wszystkiego do Clouda też mógłbym się zainteresować.
  • Automotive też mi się podoba, a jeśliby połączyć to z security (co mnie bardzo interesuje), np. developowanie systemu bezpieczeństwa w autach, to już w ogóle byłoby fajnie. Tylko że w automotive znowu płaca nie jest najwyższa, a i zapotrzebowanie na ludzi mniejsze.

Ostatnio rozmawiałem ze znajomym, u którego w pracy robi się IoT. Ma zatrudnionych programistów, który już piszą kod pod IoT w chmurze, chociaż konkretny hardware nie jest jeszcze znany. Bardzo mnie to zainteresowało i zauważyłem, jak bardzo do tyłu jestem. Jakie języki i frameworki wykorzystuje się do takich rozwiązań?

To jest moje zapatrzenie na ten temat, zapewnie bardzo ograniczone, dlatego chciałbym zasięgnąć waszych opinii.
Ciekawy jestem, co moglibyście mi polecić.
Czujecie, że język, w którym programujecie, będzie parł jeszcze bardziej na pozycję lidera w kolejnych latach?
Gdybyście mieli w obecnej chwili możliwość zmiany, to w stronę którego języka/technologii poszlibyście, jako priorytet wybierając stabilność zatrudnienia w przyszłych latach?
Bardzo proszę o kulturalne odpowiedzi. Nie chciałbym wywołać burzy "tylko Java/C#/...".
Dzięki :)

V-2
  • Rejestracja:prawie 8 lat
  • Ostatnio:9 miesięcy
  • Postów:671
3
jareq000 napisał(a):
  • Myślałem o C#, ale nie jestem dużym fanem M$. Bardziej kibicuję otwartym rozwiązaniom.

.NET od dawna jest open-source.

Jeśli chodzi o moje preferencje - chciałbym robić coś, na co będę miał realny wpływ i będę widział efekty działania. Wcześniej zajmowałem się elektroniką, więc podoba mi się, gdy ze strony kody mogę coś zmienić po stronie hardware'u.

  • **IoT **brzmi bardzo fajnie.

Skoro nie ograniczasz się do web developerki, to pytanie o język jest budowaniem domu od komina. Najpierw trzeba by ustalić, jaka domena cię interesuje. Przecież to jest kwestia wyjściowa, a wybór języka - dopiero pochodna.


Nie ma najmniejszego powodu, aby w CV pisać "email" przed swoim adresem mailowym, "imię i nazwisko" przed imieniem i nazwiskiem, ani "zdjęcie mojej głowy od przedniej strony" obok ewentualnego zdjęcia. W drugiej firmie której już pracuję mam palących marihuanę programistów [...] piszą kod "leniwie", często nie wysilając się, rozwlekając ten kod, unikając np. programowania funkcyjnego (mówię tutaj o lambdach w javie).
J0
Właśnie wolałbym iść w drugą stronę, raczej nie w web development. Tylko nie mam pojęcia o technologiach, których się używa np. we wspomnianym IoT w chmurze. Chciałbym zasięgnąć waszej opinii. Co robicie i jak widzicie rozwój konkretnej technologii?
somekind
Ale budowa domu od komina to akurat nie jest nic dziwnego, komin zaczyna się zazwyczaj w najniższym punkcie budynku. A w chatach kilkaset lat temu, to w ogóle chyba nie dało się inaczej, bo cały budynek wyrastał wokół pieca.
BZ
@somekind Architekt się odezwał :P
V-2
@somekind: słusznie - faktycznie, nie wziąłem tego faktu pod uwagę ;)
Ktos
Moderator
  • Rejestracja:prawie 23 lata
  • Ostatnio:około 8 godzin
1

Wcześniej zajmowałem się elektroniką, więc podoba mi się, gdy ze strony kody mogę coś zmienić po stronie hardware'u. IoT brzmi bardzo fajnie.
Ostatnio rozmawiałem ze znajomym, u którego w pracy robi się IoT. Ma zatrudnionych programistów, który już piszą kod pod IoT w chmurze, chociaż konkretny hardware nie jest jeszcze znany. Bardzo mnie to zainteresowało i zauważyłem, jak bardzo do tyłu jestem. Jakie języki i frameworki wykorzystuje się do takich rozwiązań?

IoT to na tyle szerokie pojęcie, że wykorzystuje się prawie wszystko - ja na przykład używam w jednym projekcie C++ (po stronie urządzenia) i C# (po stronie urządzenia i chmury), a w innym C# (po stronie urządzenia) i Pythona (po stronie chmury).

Masz takie rozwiązania jak Arduino albo inny mbed, które właśnie potrafią działać na różnych platformach sprzętowych. Ale IoT to również mikrokomputery w stylu Raspberry Pi, gdzie bez problemu uruchomisz Javę, C#, Pythona czy też inny JavaScript (który tutaj też zaczyna się pojawiać). Co do "chmury", to masz różnego rodzaju mikroserwisy, pisane czy to w Go, czy w Javie, czy czymkolwiek innym, ale i masz też jakieś Azure Functions czy AWS Lambda (rozwiązania "serverless"), gdzie kod można pisać w wielu językach. Nie wspominając o tym, że chmura to również wręcz IaaS, gdzie w zasadzie da się uruchomić wszystko.

Czujecie, że język, w którym programujecie, będzie parł jeszcze bardziej na pozycję lidera w kolejnych latach?
Gdybyście mieli w obecnej chwili możliwość zmiany, to w stronę którego języka/technologii poszlibyście, jako priorytet wybierając stabilność zatrudnienia w przyszłych latach?

Stabilność zapewni ci na pewno Java. Będzie dużo pracy w niej w przyszłości, bo obecnie jest w niej dużo oprogramowania, które trzeba będzie rozwijać/naprawiać/przepisywać :)

NO
  • Rejestracja:ponad 7 lat
  • Ostatnio:ponad 5 lat
  • Postów:165
3

Problem w tym, że siedząc w Pythonie czuję, że jestem poza "głównym nurtem programowania". Dużych systemów nie robi się w Pythonie, ten język jest raczej używany do oskryptowania czegoś, jako taki dodatek, ewentualnie jakaś prosta stronka w Django lub pisanie testów do "prawdziwego" kodu. Chciałbym jednak rozwinąć się i teraz jest czas, w którym muszę zdecydować, w jaką technologię zainwestować.

Twój problem to nie język, lecz brak ciekawych projektów na horyzoncie. Zmień firmę na ciekawszą, a zobaczysz, że i w Pythonie da się robić ciekawe rzeczy.

Gdybyście mieli w obecnej chwili możliwość zmiany, to w stronę którego języka/technologii poszlibyście, jako priorytet wybierając stabilność zatrudnienia w przyszłych latach?

Pod pracę to nie ma sensu żadnego języka się uczyć, chyba że pasuje Ci rola wyrobnika i trzaskanie nudnych zadań. Lepiej jest robić coś co Cię ciekawi. Jeśli będziesz w tym co robisz skuteczny to przetrwasz lata.

edytowany 1x, ostatnio: nohtyp
elwis
  • Rejestracja:ponad 18 lat
  • Ostatnio:8 dni
2
  1. Java to nie tylko aplety, to przecież zamierzchła przeszłość, nie wiem gdzie ty je jeszcze wygrzebujesz. Z kolei przeciw temu językowi przemawia to, że jest pełen kiepskich rozwiązań i mamy lepsze języki, jak choćby scala - moim zdaniem najlepszy obecnie wysokopoziomowy język ogólnego przeznaczenia (oczywiście trzeba wziąć na poprawkę że nie znam wszystkich). Jest to również język który ma stosunkowo duże wzięcie w projektach komercyjnych.
  2. Jak wspomniano wyżej .NET i C# są otwarte od paru lat, choć wątpliwości może budzić to że Visual Studio już nie, a tu jak sądzę wiele się nie zmieniło - programowanie na tej platformie bez VS to mało wygodne. Jednak na tam z dala się od tego trzymam, więc nie wiem.
  3. Frontend dużo się zmienił ostatnio. Zgodność ze standardem w przeglądarkach jest co raz lepsza, a poza tym jest wiele frameworków i one przeważnie celują w przenośność. Na dodatek co raz więcej języków kompiluje się do JS. No ale jeśli celujesz w wysoką specjalizację, Frontend rraczej jest mało ciekawy, za to przydaje się uzupełniająco, zwłaszcza w IoT/embedded często wystawiamy interfejs webowy.
  4. Dla IoT chyba przyda się C. Podobno używa się nawet Javy czy Pythona, do wyższych warstw abstrakcji. Choć jak można użyć Javy, to ja już bym wolał scalę, ale nie wiem jak popularne jest takie połączenie.
  5. Zastanowiłbym się nad podejściem - nie będę się uczył bo nie będzie zatrudnienia. Język programowania to szczegół techniczny jeśli umiesz programować. Poza tym dzięki takiemu podejściu utrwala się pozycja słabszych rozwiązań. Na początek pewnie warto nauczyć się tego na co jest popyt - jeśli czas goni. Jeśli jesteś jeszcze w liceum, nie przejmowanym się tym zbytnio. Pod względem zatrudnienia chyba jeszcze dłuższy czas przeważać będzie Java...
    Ja ostatnio przeszedłem bezposrednio z Javy na firmware developera. Można? Można. :) Oczywiście zawsze interesowały mnie niskopoziomowe rozwiązania, ale wciąż..

edytowany 2x, ostatnio: elwis
Aventus
  • Rejestracja:prawie 9 lat
  • Ostatnio:ponad 2 lata
  • Lokalizacja:UK
  • Postów:2235
4

Jak wspomniano wyżej .NET i C# są otwarte od paru lat, choć wątpliwości może budzić to że Visual Studio już nie, a tu jak sądzę wiele się nie zmieniło - programowanie na tej platformie bez VS to mało wygodne. Jednak na tam z dala się od tego trzymam, więc nie wiem.

Nigdy do końca nie rozumiałem tego argumentu. Może ludzie mylą open source z darmowym? Owszem, VS nie jest open source, ale po pierwsze ma darmową wersję (również do komercyjnego użytku) a po drugie są dziś inne alternatywy. VS Core które niektórzy preferują od VS (chociaż do pisania aplikacji C# ja nadal preferuję VS, VS Code używam do pisania frontu) oraz młodą alternatywę od Jetbrains czyli Rider IDE.

Sam ekosystem .Net Core jest naprawdę świetny, jeden z najlepszych do aplikacji webowych (back end) moim zdaniem. Nie twierdzę że najlepszy, bo coś takiego jak najlepszy język/technologia moim zdaniem nie istnieje.


Na każdy złożony problem istnieje rozwiązanie które jest proste, szybkie i błędne.
NE
Community ma pewne dosyć rygorystyczne ograniczenia, jeżeli chodzi o darmowość niestety :/
Aventus
Chodzi Ci o komercyjny użytek? Nie wiem czy takie ostre, zespoły do 5 osob jeśli to organizacja nie-enterprise, gdzie poprzez enterprise rozumie się > 250 komputery lub 1 milion USD obrotów). Jeśli masz firmę która zatrudnia ponad 5 programistów to już chyba można powiedzieć że powinno Cie stać na wszelakie licencje.
elwis
  • Rejestracja:ponad 18 lat
  • Ostatnio:8 dni
1
Aventus napisał(a):

Nigdy do końca nie rozumiałem tego argumentu. Może ludzie mylą open source z darmowym? Owszem, VS nie jest open source, ale po pierwsze ma darmową wersję (również do komercyjnego użytku) a po drugie są dziś inne alternatywy. VS Core które niektórzy preferują od VS (chociaż do pisania aplikacji C# ja nadal preferuję VS, VS Code używam do pisania frontu) oraz młodą alternatywę od Jetbrains czyli Rider IDE.

Wiem że jest darmowy VS dla studentów i open source, ale jednak wciąż tylko dla Windows. Nie wiem jak z tymi pozostałymi. Możliwe że i to się zmieni, w końcu MS musi odpowiadać na potrzeby rynku. Jednak jak ktoś dłużej siedzi w wolnym oprogramowaniu, raczej nie przejmuje się tym, bo na dosyć rozwiązań które już zna. :)


Aventus
  • Rejestracja:prawie 9 lat
  • Ostatnio:ponad 2 lata
  • Lokalizacja:UK
  • Postów:2235
1

@elwis Nie jest darmowy tylko dla studentów, tak samo jak i nie jest open source. Darmowa wersja VS to Visual Studio Community i jest dla każdego. Jest również wersja na Mac'a.


Na każdy złożony problem istnieje rozwiązanie które jest proste, szybkie i błędne.
edytowany 2x, ostatnio: Aventus
Zobacz pozostałe 5 komentarzy
Hispano-Suiza
@Aryman1983: hiper Intellisense generalnie jest bardzo kiepskie w porównaniu do np. podpowiedzi z produktów JetBrains. Na tym tle wręcz nie istnieje. Mówię na przykładzie WebStorm, PyCharm i Goland vs VS Code :P
somekind
Sugeruję też porównać cenę produktów JetBrains z VS Code. :)
Hispano-Suiza
Oczywiste, ze VS Code wygrywa w tym pojedynku. Natomiast gdyby JetBrains zdecydowalo sie na swoj edytor pokroju VS Code... :] Ale to tylko gdybanie.
somekind
Niech lepiej naprawią integrację SQ z TC.
BZ
Nie rozumiem waszych problemów, przecież jest omnisharp Napisanie wtyczki dla jakiegokolwiek edytora to podpięcie się pod jego API...
vpiotr
  • Rejestracja:ponad 13 lat
  • Ostatnio:prawie 3 lata
2

Aplety w Javie to rzeczywiscie duzy problem, zwlaszcza jesli pracujesz przy projektach powstalych 20 lat temu.
Wtedy powstawaly tez nowoczesne aplikacje w COBOLu i krolowalo Delphi.

Wibowit
  • Rejestracja:prawie 20 lat
  • Ostatnio:8 minut
1

Myślałem o Javie, ale jak widzę applety Javy (któych nadal się niestety używa), to mam dosyć po pierwszym kliknięciu. Pewnie czasy się zmieniły, ale nie wiem, jak teraz wyglądają nowe aplikacje w Javie.
(...)
Zależy mi na stabilnym rozwoju, tzn. priorytetem jest łatwość w znalezieniu pracy w przeciągu kilku lat (wiem, oczywiście, że wszystko się może dynamicznie zmienić, jednak wydaje mi się, że np. zapotrzebowanie na Java dev nagle nie zniknie za 3 lata).

Jasne. Z jednej strony wygrzebujesz aplety, które de facto zdechły z 10 lat temu i nigdy nie były popularne (Adobe Flash był co najmniej kilkadziesiąt razy popularniejszy na stronach internetowych), a z drugiej nie jesteś pewien czy Java nie zniknie za 3 lata. Java się systematycznie rozwija. Oracle przepisuje Javę do Javy (bo teraźniejszy lekko przestarzały JIT jest napisany w C++) w GraalVMie i możesz już w nim np za darmo kompilować kod Javowy do kodu natywnego i aplikacje startują dużo szybciej (chociaż szczytowa wydajność na razie kuleje przy kompilacji AOT): https://www.graalvm.org/docs/reference-manual/aot-compilation/ Śmierć Javy wieszczyło już tysiące jeśli nie miliony osób, było równie dużo artykułów o tym, a Java jest nadal bardzo silna. Wyprzedzać ją pod względem popularności wśród programistów może jedynie Python, ale ten zdobył szeroką popularność wśród nie-programistów, czyli np analityków danych czy innych ludzi, dla których programowanie jest dodatkiem.

Czy Java się nadaje do IoT i Automotive to nie wiem, ale na 100% nadaje się do wszelkiego rodzaju chmur.


"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 1x, ostatnio: Wibowit
Zobacz pozostałe 8 komentarzy
Wibowit
Czekam, aż .NET będzie w stanie optymalizować kod obiektowy taki jak np ten tutaj: Dlaczego foreach jest gorsze od for (beta) i się doczekać nie mogę :)
Wibowit
słyszycie? przepisują dżawę bo była tak słabo napisana, że nikt nie chciał jej ruszać :D :) - nie. Po prostu nie ma sensu się pałować z C++em w nieskończoność. Poza tym, domyślam się, że jak Oracle przejęło Suna to część weteranów HotSpota mogła opuścić firmę i zabrać ze sobą cenną wiedzę.
WeiXiao
@Wibowit: Czekam, aż .NET będzie w stanie optymalizować kod obiektowy taki jak np ten tutaj: przecież to wtedy różnica pomiędzy c# (.net core) i javą (openjdk 11) będzie jeszcze większa jeżeli chodzi o benchmarki
Wibowit
Generalnie nie ma benchmarków porównujących jak VMki radzą sobie z optymalizacją kodu obiektowego. W każdym mikrobenchmarku kod jest maksymalnie strukturalny. W implementacjach C#-owych nie uświadczysz słówka virtual czy wywołań metod z intefejsów. W takim https://benchmarksgame-team.pages.debian.net/benchmarksgame/ to idzie w zupełnie inną stronę - kod w C# zawiera alokację poza zarządzaną stertą i zabawę wskaźnikami w kodzie unsafe.
Wibowit
Możliwe też, że po dodaniu optymalizacji kodu obiektowego wydajność kodu nieobiektowego zwolni. Javowy JIT jest jednocześnie profilerem. PGO (profile guided optimization) jest prawie nieodłączną częścią JITa w Javie - wyłączyć go możesz jednie przez wyłączenie wyższych poziomów optymalizacji JITa. Bez profilowania ciężko zrobić np efektywną dewirtualizację (profiler sprawdza, które klasy najczęściej stoją za interfejsem użytym w danym miejscu i dla nich specjalizuje kod) czy np stwierdzić, które części kodu mocniej optymalizować, a które się niespecjalnie opłaca.
BZ
  • Rejestracja:około 6 lat
  • Ostatnio:około 6 lat
  • Postów:8
0

@elwis

Do .Net Core najlepszy jest NVim

edytowany 1x, ostatnio: BigosZpomarańczy
elwis
Vim dobry na wszystko. :) Chociaż pamiętam że w VS dużo kodu się generowało. Czy to środowisko nie jest zbyt zawiłe na pisanie wszystkiego z palca, a może są tego narzędzia pod konsolę?
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)