Wybór języka do programowania obiektowego

Wybór języka do programowania obiektowego
VA
  • Rejestracja:ponad 10 lat
  • Ostatnio:ponad rok
  • Postów:180
0

Z radoscia musze stwierdzic ze w MEGA n00ba zeszlam na boziom nieco mniejszego n00ba, n00biczka takiego :D

Postep jest, gra pod konsola dziala, wiec czas pojsc dalej ..
W tym semestrze zajmujemy sie dalej c++ aczkolwiek tak jak w poprzednim umowilam sie z prowadzacym na oddanie duzego projektu, ktory bedzie zykraczal poza program zajec.

W zwiazku z czym chce stworzyc aplikacje okienkowa. Moja aplikacja bedzie to planista grafikow.

Mam pewna dowolnosc bo moge to wykonac w c++ jak i w c# a nawet w Javie.

I moje pytanie do bardziej doswiadczonych. Co powinnam wybrac ?
Jako IDE mam poki co zainstalowanego VS 2013.

Czytalam kilka tematow na forum i mam maly metlik w glowie. Zreszta jak odpalilam program i pobawilam sie troche to zauwazylam ze C++ juz wzale nie przypomina C++, w zasadzie nie bardzo widzialam tam skladnie znana mi z moich prob programowania w konsoli. Ale przeciez WoW zostal napisany w C++ ( lub w C ... nie pamietam) wiec zakladam ze ja po prostu cos robie zle :D

Co radzicie Panowie ?

spartanPAGE
  • Rejestracja:prawie 12 lat
  • Ostatnio:8 dni
1

Nazistowski OOP jest zły, więc pojedźmy standardem.
Python.
Tak, z jakiegoś powodu wychodzą nowe wersje.
Nie, nie powinieneś brać wersji 2.x.
Pycharm.
Tak, gry wychodzą w tym języku.
Tak, jest wystarczająco szybki.
Tak, można w nim robić więcej niż gdy i drobne programy.

VA
  • Rejestracja:ponad 10 lat
  • Ostatnio:ponad rok
  • Postów:180
0

Pewna dowolnosc znaczyla C++ / C / C# / Java :D to mamy do wyboru :D

spartanPAGE
niepotrzebnie się ograniczasz
n0name_l
  • Rejestracja:ponad 12 lat
  • Ostatnio:ponad 4 lata
  • Postów:2412
2

Ja bym wybrał C#, dlaczego:
#2 dość popularne i duże biblioteki do GUI (Winforms i WPF).
#Duża społeczność jest w około nich zgromadzona, więc znajdziesz dużo materiałów do nauki.
#W Visual Studio masz do nich OOTB designery.

Ogółem C# to jeden z lepszych języków jak chcesz stworzyć aplikację okienkową.

Spine
  • Rejestracja:prawie 22 lata
  • Ostatnio:32 minuty
  • Postów:6643
1

C możesz od razu odrzucić (nieobiektowy).

Weź Javę.

Vanilka napisał(a):

Ale przeciez WoW zostal napisany w C++ ( lub w C ... nie pamietam) wiec zakladam ze ja po prostu cos robie zle :D

Został napisany przez armię programistów i to na pewno nie w jeden wieczór. Zanim dojdziesz do takiego poziomu, zanim naprawdę poznasz C++, trochę czasu musi minąć. Oczywiście pod warunkiem, że będziesz spędzać ten czas czynnie.

Vanilka napisał(a):

Czytalam kilka tematow na forum i mam maly metlik w glowie.

Bo każdy Ci poleci technologie, w których coś robił i przypadły mu do gustu ;) Musisz sama podjąć ostateczną decyzję.


🕹️⌨️🖥️🖱️🎮
edytowany 3x, ostatnio: Spine
VA
  • Rejestracja:ponad 10 lat
  • Ostatnio:ponad rok
  • Postów:180
0

biblioteka z jakiej bede korzystac to windows forms, jako ze posiadam VS 2013 wersje Professional ( mam dreamsparka)

Ca nczym dokladniej polega wyzszosc c# od c++ ??
Co prawda sama nie bede tego robic ale tak z czystej ciekawosci .. Gry jak WoW, Sismy itd moglyby by przepisane na C# jakby komus sie stalo ? jakie jest tak wlasciwe zastosowanie tego jezyka ?

kaczus
  • Rejestracja:około 10 lat
  • Ostatnio:około 12 godzin
  • Lokalizacja:Łódź
  • Postów:1402
0

Jeśli ma być to w .Net, to bierz C#, C++ tu jest zbyt przekombinowane (tak naprawdę to c++/cli), to już mniej kombinowania jest @Spine by pisać obiektowo w C :)


Ogólnie na prace domowe mam stawki zaporowe. Czasem coś o programowaniu znajdzie się na mojej stronie
n0name_l
  • Rejestracja:ponad 12 lat
  • Ostatnio:ponad 4 lata
  • Postów:2412
3

Ca nczym dokladniej polega wyzszosc c# od c++ ??

Jaka znowu wyższość? :|

C# i C++ mają zupełnie różne zastosowania. Ten pierwszy jest używany głownie do aplikacji biznesowych/użytkowych, rzadziej do gier ze względu na to, że tam potrzeba trochę na innym poziomie abstrakcji operować niż C# pozwala. Co nie znaczy, że nie da się napisać gry w C# (powstało kilka nawet bardziej popularnych tytułów w nim afair). C++ z kolei wymaga więcej pracy od programisty, ale też umożliwia większą kontrole nad tym co się dzieje w kodzie i w niektórych działkach jak np. ów gamedev (a właściwie to pisanie silnika) jest on zwyczajnie bardziej stosowny.

0

C++ i Qt

gośćabc
wiesz Qt jest bombowe, ale trzeba je znać, mi by ten "duży projekt" w Qt pewnie pyknął w 1 dzień, a samo kodowanie pewnie 2 godziny, reszta to przemyślenie logiki i poprawki
VA
  • Rejestracja:ponad 10 lat
  • Ostatnio:ponad rok
  • Postów:180
0

@n0name_l coraz bardziej dajecie mi do myslenia z tym C# ... bo prawda jest taka ze i tak czesciej bede pisac aplikacje uzytkowe niz gry... poki co ten moj planista grafikow jest piorytetem. A szansa ze taki blizzard mnie zatrudni jest rowna 0 :D

Co prawda z punktu widzenia ofert pracy w mojej firmie to dobrym wyjsciem jest takze Java, bo programistow w javie szukaja na okraglo..... ehhh

twonek
to nie jest wyjście za mąż, możesz poznać wiele języków na raz, poznać jednego a potem się przerzucić na inny, skakać między dwoma itd. :P
kaczus
  • Rejestracja:około 10 lat
  • Ostatnio:około 12 godzin
  • Lokalizacja:Łódź
  • Postów:1402
0

Zazwyczaj - i tak trzeba znać kilka języków programowania, więc nie wiem w czym problem.


Ogólnie na prace domowe mam stawki zaporowe. Czasem coś o programowaniu znajdzie się na mojej stronie
niezdecydowany
niezdecydowany
nie trzeba.
kaczus
zazwyczaj, nie znaczy zawsze. Przy oczekiwanym czasie pracy prawie 40 lat pracy p-stwo, że nie będzie ktoś zmuszony poznać innego języka jest niewielkie.
somekind
Oczekiwany czas pracy. :D
Wizzie
  • Rejestracja:prawie 11 lat
  • Ostatnio:ponad 7 lat
0

Również polecam C# z książką Head First C#. Potem i tak będziesz próbować innych języków.

MA
  • Rejestracja:około 10 lat
  • Ostatnio:dzień
  • Lokalizacja:Poznań
  • Postów:216
0
Vanilka napisał(a):

Ca nczym dokladniej polega wyzszosc c# od c++ ??

Każdy z tych języków ma inne zastosowanie, ale napisz sobie np klienta poczty, przeglądarkę internetową, odtwarzacz mp3, to uświadczysz wyższość C# w aplikacjach desktopowych.

spartanPAGE
akurat z przeglądarką niewypał :P
Spine
A potem gdy sprawdzisz sobie wydajność tych aplikacji, to uświadczysz wyższość C++ w aplikacjach desktopowych. Wiem, że w C# zrobisz pewne rzeczy szybciej i łatwiej, albo trudniej wejść w niewydajne i błędogenne rozwiązania. Ale nie wolno zapominać, że w dużych aplikacjach (np. przeglądarka internetowa, edytor wideo) wydajność jest na wagę złota i zaprogramowanie tego z głową w C++ daje dużą korzyść.
MA
Napisałem przecież: "Każdy z tych języków ma inne zastosowanie". Oczywiste jest, że tam gdzie liczy się wydajność góruje C++.
Trebuh
  • Rejestracja:prawie 11 lat
  • Ostatnio:około 4 lata
  • Lokalizacja:okolice Łodzi
2

Każdy mówi C# lub Java. Jak zaczynasz to rzuć monetą i wybierz któryś z tych języków.


GG: 10101100010110000100011101 (BIN)
"Nie wszystko napisane w internecie jest prawdą" - Józef Piłsudski.
spartanPAGE
  • Rejestracja:prawie 12 lat
  • Ostatnio:8 dni
1
Trebuh napisał(a):

Każdy mówi C# lub Java. Jak zaczynasz to rzuć monetą i wybierz któryś z tych języków.

A w locie będziesz już wiedział komu kibicujesz ;)

VA
  • Rejestracja:ponad 10 lat
  • Ostatnio:ponad rok
  • Postów:180
0

hmm .. prawda jest tez taka Panowie, ze mowimy o takim n00bie jak ja ;D wiec programy ktore wy piszecie w linijkach 20 ja pisze w 100 ( przyklad mojego tematu dotyczacego sortowania, ostatecznie i tak zrobilam to babelkowo bo byl dla mnie bardziej zrozumialy jak zakodowac, na tamten moment )
Moj program zwany "duzym" i tak bedzie maly i niewydajny, bo to dopiero poczatki.
Ale mi sie tak najlepiej uczy. Wybrac duzy projekt i myslec jak chce to napisac a potem kombinowac jak kon pod gore ;D

Spine
  • Rejestracja:prawie 22 lata
  • Ostatnio:32 minuty
  • Postów:6643
1

No widzisz, zrobiłaś bąbelkowo, a gdybyś lepiej znała C++ (bo domyślam się, że w C++ to pisałaś), to byś skorzystała z STL (ktoś się zaraz przyczepi, że to nie STL :D ).

http://pl.cppreference.com/w/cpp/algorithm/qsort

a w Pythonie mogłabyś to napisać w jednej czytelnej linijce:

Kopiuj
print sorted([-2, 99, 0, -743, 2, 3, 4])

Tablicę obiektów jednego typu równie łatwo posortować, wystarczy podać wyrażenie lambda wskazujące na klucz po którym sortujemy.


🕹️⌨️🖥️🖱️🎮
edytowany 2x, ostatnio: Spine
Zobacz pozostałe 13 komentarzy
hauleth
Tylko on podał link do qsort, który jest częścią biblioteki standardowej C a nie C++.
Endrju
Biblioteka standardowa też C jest częścią biblioteki standardowej C++.
spartanPAGE
No to zabierać już qsort na sort, co to jest średniowiecze? :p
kaczus
@spartanPAGE tym bardziej, że sort ma szanse działać szybciej, dzięki możliwej optymalizacji inlinowania operacji porównań (zasługa użycia template'ów), choć dalej pozostaje przy zdaniu, że nim zaczniemy stosować, napisać choć raz samemu własną funkcję sortującą - dla celów naukowych jak najbardziej trzeba.
Koziołek
Moderator
  • Rejestracja:prawie 18 lat
  • Ostatnio:około 2 miesiące
  • Lokalizacja:Stacktrace
  • Postów:6821
2

Wyłamię się trochę... Scala.

Dlaczego? Po pierwsze OOP w Scali jest znacznie mocniejszy niż w Javie. Dzięki traitom masz namiastkę wielodziedziczenia. Masz na poziomie języka zaimplementowane pewne mechanizmy jak np. singletony (object). Do tego sam język jest w miarę prosty, próg wejścia jest podobny jak w Javie.


Sięgam tam, gdzie wzrok nie sięga… a tam NullPointerException
datdata
  • Rejestracja:prawie 11 lat
  • Ostatnio:około 7 lat
  • Postów:957
0

Też się wyłamię. Golang. Składania bardzo z C więc ewentualna przesiadka na Javę/C++/C# nie będzie ciężka, ale jednocześnie bardzo prosta. Brak dziedziczenia (kompozycja ftw) i związanych z nim problemów. Zajebisty pakiet http. Spoko podejście do współbiezności. Jednolita konwencja stylu programowania (przed kompilacją kod jest formatowany do ustalonej wartości) więc nie będziesz tworzył strasznie brzydkiego kodu.

Angielski wymagany, bo polskich materiałów niemal nie ma.


"A human being should be able to change a diaper, plan an invasion, butcher a hog, conn a ship, design a building, write a sonnet, balance accounts, build a wall, set a bone, comfort the dying, take orders, give orders, cooperate, act alone, solve equations, analyze a new problem, pitch manure, program a computer, cook a tasty meal, fight efficiently, die gallantly. Specialization is for insects." Robert Heinlein.
edytowany 1x, ostatnio: datdata
Koziołek
Go nie jest obiektowy z tego co kojarzę.
datdata
jest obiektowy, choć nie ma tam hierarchii obiektów ani dziedziczenia, jest kompozycja. IMO zdrowiej.
hauleth
Ma interfejsy zamiast tego. Z kolei w Go nie ma generyków, więc nie da się napisać porządnie np. takiej listy (interface {} nie zapewnia bezpieczeństwa typów). Dodatkowo ani Go ani Rust nie nadają się dla początkującego.
drorat1
  • Rejestracja:ponad 15 lat
  • Ostatnio:około 2 lata
  • Lokalizacja:Krasnystaw
  • Postów:1181
0
Mateusz napisał(a):
Vanilka napisał(a):

Ca nczym dokladniej polega wyzszosc c# od c++ ??

Każdy z tych języków ma inne zastosowanie, ale napisz sobie np klienta poczty, przeglądarkę internetową, odtwarzacz mp3, to uświadczysz wyższość C# w aplikacjach desktopowych.

Generalnie to C++ w ogóle nie nadaje się do szybkiego tworzenia aplikacji desktopowych, tutaj o niebo lepiej jest w C# i nie chodzi tu tylko o składnię. C# to podstawowy język pod platformę .NET, choć jeśli rozpatrywać Visual Studio to i C++ jest zdaje się pod .NET (chodzi mi o kod wynikowy). Zresztą proszę spróbować zrobić Reverse Engineering za pomocą jakiegoś ILSpy czy DotPeek, mówię o dekompilacji aplikacji w napisanej w C++ pod Visual C++. Tylko że DotPeek wypluje kod w C#.

W przypadku gdy zarówno C++ jak i C# finalnie da kod pod .NET to jaki jest sens zabawy w C++? To tylko wygeneruje więcej pracy nad taką aplikacją.

Co do C++ (i mowa tu o samodzielnych aplikacjach Win32, nie pod .NET) można by mu przeciwstawić inny język o którym mało kto już mówi: DELPHI. To jest rozwinięty język programowania i też daje ogromne możliwości. I jak dla mnie jest o niebo lepszy od C++, który jak dla mnie jest syfem. W takim Lazarusie też można bez problemu pisać aplikacje pod Win32, jak również GTK2 albo QT. Jest też wiele komponentów, gdzie pod DELPHI się je tylko instaluje, co do Lazarusa jest trochę inaczej bo trzeba go przebudować.

Co do .NET można by też rozważyć IronPython albo IronRuby, gdzie bez problemu można się przecież podpinać pod jakieś biblioteki dla .NET a na bank będzie mniej klepania :-)

edytowany 1x, ostatnio: drorat1
kaczus
  • Rejestracja:około 10 lat
  • Ostatnio:około 12 godzin
  • Lokalizacja:Łódź
  • Postów:1402
0

Nie generalizowałbym - Delphi nie jest złe, tez w nim piszę, ale jesli potrzebuję zrobic coś małego i dobrze zoptymalizowanego, to kompilatory borlanda odpadają w przedbiegach w zasadzie dowolnym kompilatorem obecnie wspieranym języków C i C++ uzyskuję dużo lepszy kod wynikowy... Jeśli mam zrobic aplikację ciągnącą jakies dane z bazy danych - delphi jest super, ale jeśli coś co ma działać szybko, a jeszcze w tle - to tu jednak c/c++ bardziej się sprawdza.


Ogólnie na prace domowe mam stawki zaporowe. Czasem coś o programowaniu znajdzie się na mojej stronie
drorat1
  • Rejestracja:ponad 15 lat
  • Ostatnio:około 2 lata
  • Lokalizacja:Krasnystaw
  • Postów:1181
0
kaczus napisał(a):

Nie generalizowałbym - Delphi nie jest złe, tez w nim piszę, ale jesli potrzebuję zrobic coś małego i dobrze zoptymalizowanego, to kompilatory borlanda odpadają w przedbiegach w zasadzie dowolnym kompilatorem obecnie wspieranym języków C i C++ uzyskuję dużo lepszy kod wynikowy... Jeśli mam zrobic aplikację ciągnącą jakies dane z bazy danych - delphi jest super, ale jeśli coś co ma działać szybko, a jeszcze w tle - to tu jednak c/c++ bardziej się sprawdza.

A możesz rozwinąć tą myśl? Weźmy pod uwagę chociażby GCC vs Free Pascal. Lazarus się właśnie opiera o Free Pascal. Tak jak teraz przeglądam katalog plików binarnych FPC, to tam są pliki o nazwach np. as.exe, gcc.exe, ld.exe, mam też zainstalowane MinGW (GCC) i tam też są te pliki.

Zresztą mógłbym też zrobić testy na GCC 4.8.1 vs. FPC 2.6.2. Czy w tym przypadku da się zauważyć jakąś istotną różnicę w czasie wykonania kodów? Podejrzewam że te różnice będą niewielkie. Zresztą FPC bez problemu daje możliwość pisania procedur w assemblerze, więc tu nie powinno być problemów.

To pewnie kwestia upodobań, dla mnie FPC jest o wiele bardziej przyjazny niż GCC. Jak dotąd nie udało mi się znaleźć jakiegoś sensownego odpowiednika C++ Buildera dla GCC, bo co do DELPHI to Lazarus jest znakomitą alternatywą. Nie spotkałem się z niczym lepszym.

Ogólnie jeśli chodzi o OOP, sprawa nie jest taka prosta. Kiedyś byłem tak zafascynowany FPC, że myślałem że inne języki są niewarte zainteresowania. Oczywiście jak poznałem JAVA czy C#, później także pythona wszystko zaczęło wyglądać zupełnie inaczej.

kaczus
  • Rejestracja:około 10 lat
  • Ostatnio:około 12 godzin
  • Lokalizacja:Łódź
  • Postów:1402
0

FPC nie sprawdzałem, więc ciężko mi powiedzieć, mowa była o Delphi i wynalazkach borlanda. O ile w miarę dobrze i szybko konstruuje sie standardowe rzeczy, o tyle jesli chodzi o wygenerowany kod, jest on mało optymalny zarówno pod względem szybkości jak i objętości. Więc jesli robię coś z gui, wtedy - tak delphi robi się w miarę łatwo i szybko, ale jeśli jest to jakiś programik działający w tle ect - szybciej napisać jest to w c/c++ i dodatkowo kod będzie szybszy i mniejszy. Może FPC potrafi też generować dobry kod - nie wiem, nie testowałem, więc się nie wypowiadam. Lazarus jest zbyt mało stabilny jak dla mnie nawet porównując do małej stabilności delphi, więc szybko zrobił miejsce innym rzeczom na dysku. Buildera C++ używałem przez chwilę, ale teraz jeśli mam coś w c/c++ łatwiej jest to kompilować pod gcc - lepszy kod wynikowy i mniej problemów ze zgodnością ze standardem.


Ogólnie na prace domowe mam stawki zaporowe. Czasem coś o programowaniu znajdzie się na mojej stronie
VA
  • Rejestracja:ponad 10 lat
  • Ostatnio:ponad rok
  • Postów:180
0

zaczelam jednak od C++/CLI i chyba zaraz zjem klawiature... bo najprostrze rzecyz nie dzialaja....

Zobacz pozostałe 10 komentarzy
kaczus
Gdyby się pewnie nazywał C## nikt by się nie przejmował, ale jak dodaja do tego cli i przychodzą ludzie i się pytają, czemu nie działa to tak jak działa c++, to stąd hejt. Jak dla mnie też przekombinowane to zostało. Cóż - po prostu do .Netu nadaje się po prostu C# i tyle...
VA
ale fakt C# jest latwiejszy.. w CLI padlam na tablicach.. niby mam rpzpeis jak sie je tworzy a jednak nie dzialaly. w C# nie mam tych problemow.. przejrzalam ksiazke pod katem roznic w skladdni oraz podejsciu wzgledem C++ dla podstaowwych komend i zaczelam rzezbic :) idzie calkiem nezle poki co... ackzolwiek CLI tez chcialabym znac :D
Azarien
@Vanilka: zapewniam cię że tablice działają. :-)
VA
@Azarien ale w moim projekcie nie... owszem zapewne zrobilam cos zle :D ale u mnie nie dzialaja, bledy sa takie jak wkleilam do tematu
Azarien
@Vanilka: odpowiedziałem w tamtym wątku.
spartanPAGE
  • Rejestracja:prawie 12 lat
  • Ostatnio:8 dni
7
Vanilka napisał(a):

zaczelam jednak od C++/CLI i chyba zaraz zjem klawiature... bo najprostrze rzecyz nie dzialaja....

Już chyba gorzej wybrać nie można :)

Spine
dobrze, że napisałeś tego posta, jest co plusować ;)
flowCRANE
No to plusujemy :P
VA
  • Rejestracja:ponad 10 lat
  • Ostatnio:ponad rok
  • Postów:180
6

@spartanPAGE czuje sie nawrocona :D w C# idzie mi lepiej :D

Trebuh
Witaj na właściwej drodze ;)
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)