Jaki język programowania 2017 na Linux?

Jaki język programowania 2017 na Linux?
0

Witam, jaki język programowania wybrać do nauki pod systemem Linux? Ma być nowoczesny i przyszłościowy, przypasował mi C#, ale pod Linuksem średnio działa ten Monodevelop, co myślicie Vala? Składniowo podobny do C# i do tego młodszy. https://wiki.gnome.org/Projects/Vala
http://www.chip.pl/blogi/linuxblog/2012/03/dlaczego-programowac-na-linuksa

KA
KA
  • Rejestracja:prawie 12 lat
  • Ostatnio:prawie 5 lat
  • Lokalizacja:Warszawa
  • Postów:1683
1

Uwaga wymieniam jakie języki pod Linuxa:

BASH - albo coś podobnego do skryptów powłoki
Python - do naszych skryptów, prostych appek lub większych skryptów
ANSI C - klasyka i czasem się przydaje - oprócz tego Linux jest napisany w C i C to jest podstawa w informatyce.
W C jest dużo bibliotek fajnych.
Java - do aplikacji biznesowych, korporacyjnych, serwerow naszych jakiś  czy nawet apek użytkowych (patrz JavaFX).

Pod Linuxem zacznij od BASHa.


PROGRAMY NA ZAMÓWIENIE, ZALICZENIA STUDENCKIE, KONFIGURACJA SERWERÓW, SYSTEMÓW I BAZ DANYCH, STRONY INTERNETOWE, POMOC W PROGRAMOWANIU, POPRAWIENIE I OPTYMALIZACJA APLIKACJI
JAVA, C++, LINUX, WWW, SQL, PYTHON
POSIADAM KOMERCYJNE DOŚWIADCZENIE
TANIO, SZYBKO I PORZĄDNIE
Z KOMENTARZAMI OBJAŚNIAJĄCYMI KOD
PISZ NA PRYWATNĄ WIADOMOŚĆ
CENY JUŻ OD 49,99ZŁ ZA PROGRAM
ZAJMIJ SIĘ TYM CO CIĘ NAPRAWDĘ INTERESUJE!
0

Basha to ja znam jako powłokę systemową, a nie język produkcyjny. Wolał bym coś nowszego niż starą Javę i łasy na bugi C.

KA
KA
  • Rejestracja:prawie 12 lat
  • Ostatnio:prawie 5 lat
  • Lokalizacja:Warszawa
  • Postów:1683
0

C nie jest łasy na bugi. A Java - no jest stara, ale dobra. Nie ma obecnie niestety lepszej alternatywy. Pytanie czy chcesz być produktywny na tej produkcji czy modny, powolony i hipsterski.


PROGRAMY NA ZAMÓWIENIE, ZALICZENIA STUDENCKIE, KONFIGURACJA SERWERÓW, SYSTEMÓW I BAZ DANYCH, STRONY INTERNETOWE, POMOC W PROGRAMOWANIU, POPRAWIENIE I OPTYMALIZACJA APLIKACJI
JAVA, C++, LINUX, WWW, SQL, PYTHON
POSIADAM KOMERCYJNE DOŚWIADCZENIE
TANIO, SZYBKO I PORZĄDNIE
Z KOMENTARZAMI OBJAŚNIAJĄCYMI KOD
PISZ NA PRYWATNĄ WIADOMOŚĆ
CENY JUŻ OD 49,99ZŁ ZA PROGRAM
ZAJMIJ SIĘ TYM CO CIĘ NAPRAWDĘ INTERESUJE!
MO
  • Rejestracja:około 10 lat
  • Ostatnio:27 minut
  • Lokalizacja:Tam gdzie jest (centy)metro...
2

Każdy problem w informatyce można rozwiązać, dodając kolejny poziom pośredniości,z wyjątkiem problemu zbyt dużej liczby warstw pośredniości — David J. Wheeler
3

Statystyczny komentarz o tym że JS-a można używać wszędzie i do wszystkiego.

datdata
  • Rejestracja:prawie 11 lat
  • Ostatnio:około 7 lat
  • Postów:957
3

A co chcesz konkretnego programować? Twoje pytanie brzmi "jaki samochód do jeżdżenia?". Owszem, parę osób powie ci, że jakiś mercedes lub tesla, ale czy będzie to odpowiadało twoim potrzebom lub możliwościom intelektualnym - nie wiadomo.

Na Linuksie możesz programować niemal w każdym języku, podobnie jak po drogach możesz jeździć niemal każdym samochodem.


"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
0

Programy okienkowe i backend.

KA
KA
  • Rejestracja:prawie 12 lat
  • Ostatnio:prawie 5 lat
  • Lokalizacja:Warszawa
  • Postów:1683
1

No to Qt albo JavaFX


PROGRAMY NA ZAMÓWIENIE, ZALICZENIA STUDENCKIE, KONFIGURACJA SERWERÓW, SYSTEMÓW I BAZ DANYCH, STRONY INTERNETOWE, POMOC W PROGRAMOWANIU, POPRAWIENIE I OPTYMALIZACJA APLIKACJI
JAVA, C++, LINUX, WWW, SQL, PYTHON
POSIADAM KOMERCYJNE DOŚWIADCZENIE
TANIO, SZYBKO I PORZĄDNIE
Z KOMENTARZAMI OBJAŚNIAJĄCYMI KOD
PISZ NA PRYWATNĄ WIADOMOŚĆ
CENY JUŻ OD 49,99ZŁ ZA PROGRAM
ZAJMIJ SIĘ TYM CO CIĘ NAPRAWDĘ INTERESUJE!
0

W twoim przypadku to nie język jest problemem, a algorytmy i ich nieumiejętność implementacji.

Dobrze można w c na javie pisać znając tylko bajtkod jvm, albo korzystając z NDK.

Sprytny programista zbuduje sobie takie narzędzia w swoim języku, że ogarnie każde zadanie.

W linuxie wszystko jest plikiem, a każdy język implementuje tą właściwość to bezproblemów można robić co się chce.

KA
W linuxie wszystko jest plikiem w większości, ale nie wszystko. Jeszcze jakiś czas temu według wikipedii mogłeś zrobić sobie cat /dev/urandom > /dev/dsp (OSS) aa teraz jest już ALSA aplay -c 2 -f S16_LE -r 44100 /dev/random . Na pierwszy rzut oka widać, że odchodzenie od świętych zasad UNIXa tylko komplikuje. Szkoda, że w Linuxie nie ma parcia na przestrzeganie tej zasady.
0
Spine
  • Rejestracja:prawie 22 lata
  • Ostatnio:15 minut
  • Postów:6648
1

Java nie wygląda tak staro :)


🕹️⌨️🖥️🖱️🎮
datdata
  • Rejestracja:prawie 11 lat
  • Ostatnio:około 7 lat
  • Postów:957
0

LISP jest stary, a ciągle nic lepszego nie wymyślili.


"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.
0
datdata napisał(a):

LISP jest stary, a ciągle nic lepszego nie wymyślili.

jest Lisp na JVM, czyli Clojure
jest też a la Lispowy Racket (Czyli dobre stare Scheme)

0

Rust, Go, D i Vala to nowoczesne języki programowania w których można już pisać systemy informatyczne, jak alternatywa dla C++17. Linus Torvalds powiedział kiedyś, że jak by miał przepisywać Linux od nowa musiał by do tej roboty nająść murzynów. HaikuOS napisany jest już w C++ i kilka innych nowych systemów też. Ciekawi mnie to który kompilowany język programowania, zastąpi wysłużone C/C++. Niektórzy autorzy książek o C, jak Zed A. Saw twierdzą że C jest złym językiem programowania, trudno się w nim piszę i łatwo popełnić w nim błędy. Do tego trudno w nim utrzymać dobry jakościowo kod, ale jak na razie nikt nie będzie nic przepisywał. Linux, BSD, Solaris, Minix pisane są w C. Windows w C i C++, Apple od OS X korzysta z kodu, jąder FreeBSD, NetBSD i raczej też po części z C/C++ lub Objective-C?

KA
KA
  • Rejestracja:prawie 12 lat
  • Ostatnio:prawie 5 lat
  • Lokalizacja:Warszawa
  • Postów:1683
2

HaikuOS napisany jest już w C++ i kilka innych nowych systemów też.

przecież *BSD i Linux też mógł zostać napisany w C++, bo już wtedy istniał. Tylko oni znali się na rzeczy i zauważyli, że ten język, którego nawet sam autor do końca nie ogarnia a komunikaty o błędach kompilacji są niezrozumiałe się do tego nie nadaje. zresztą czy kompilator C++ jest tak przenośny jak kompilator języka C? -chyba nie. Tutaj masz co Linus Torvalds sądzi o C++ : http://harmful.cat-v.org/software/c++/linus

Ciekawi mnie to który kompilowany język programowania, zastąpi wysłużone C/C++.

żaden nie zastąpi, bo za dużo softu w tym powstało. te języki to jak mnożenie i dzielenie w matematyce. Można wymyślać logarytmy i nowe stwory, ale sprawdzone dobre podstawy zostawiamy te same. Chociaż co do C++ to trudno powiedzieć, bo ten język z coraz to nowymi standardami ewoluuje w coraz straszniejszego stwora - czyt. jest skomplikowany i na za dużo rzeczy pozwala - dodają mnóstwo nowości a podwaliny stanowi C z lat 80 i ma nadal zwykłe wskaźniki, to nie może wyglądać dobrze :/

trudno w nim utrzymać dobry jakościowo kod

pierwszy lepszy kawałek kodu jądra Linux: https://github.com/torvalds/linux/blob/master/kernel/kthread.c
czy to wygląda twoim zdaniem na słaby jakościowo kod?


PROGRAMY NA ZAMÓWIENIE, ZALICZENIA STUDENCKIE, KONFIGURACJA SERWERÓW, SYSTEMÓW I BAZ DANYCH, STRONY INTERNETOWE, POMOC W PROGRAMOWANIU, POPRAWIENIE I OPTYMALIZACJA APLIKACJI
JAVA, C++, LINUX, WWW, SQL, PYTHON
POSIADAM KOMERCYJNE DOŚWIADCZENIE
TANIO, SZYBKO I PORZĄDNIE
Z KOMENTARZAMI OBJAŚNIAJĄCYMI KOD
PISZ NA PRYWATNĄ WIADOMOŚĆ
CENY JUŻ OD 49,99ZŁ ZA PROGRAM
ZAJMIJ SIĘ TYM CO CIĘ NAPRAWDĘ INTERESUJE!
edytowany 1x, ostatnio: karolinaa
spartanPAGE
na pewno pętle z goto, (+ https://github.com/torvalds/linux/blob/master/kernel/audit.c) definiowanie makr wewnątrz funkcji jak i same funkcje > 100 linii kodu to przykład pięknej jakości. Wiadomo też, że pattern-matching ze switchami w C bardzo pozytywnie wpływa na ilość kodu https://github.com/torvalds/linux/blob/master/kernel/audit.c#L803-L819. Wiadomo też, że im mniej dzielimy funkcje, tym łatwiej się je czyta https://github.com/torvalds/linux/blob/master/kernel/audit.c#L960-L1237 Ogólnie bardzo przyjemnie czyta się kod, w którym 1/10 objętości to faktyczna logika, a...
spartanPAGE
a reszta to przepychanki ze wskaźnikami
spartanPAGE
o magic numbers nie wspominając, bo czemu slen + 2 to chyba wszyscy wiemy
0

Faktycznie C++ popsuła całą ta obiektowość, ciężko go już ogarnąć. Ale nie jesteś pewna czy nie powstanie jakiś super fajny język programowania do pisania systemów. Nie twierdzę że Go, D czy Rust ale zupełnie inny który będzie się do tego nadawał. Po tym co robi Linux ostatnio z systemd i dołączanie do niego Microsoftu, nie podoba mi się to zbytnio. Na szczęście mam alternatywy z FreeBSD, Open Indiana, czy HaikuOS. Ale są jeszcze systemy pisane w ASM czy inne w Rust:
www.redox-os.org/
https://websetnet.com/pl/redox-os-operating-system-written-rust/
http://toaruos.org/
http://sortix.org/

n0name_l
https://websetnet.com/pl/redox-os-operating-system-written-rust/ Serio?:| Po co dajesz link do automatycznie przetłumaczonego tekstu? Przecież tego się czytać nie da..
KA
ten redox os wygląda nieźle
hauleth
Mam okazję być w core teamie :P Niestety nie miałem ostatnio czasu na pracę nad Redoksem.
Spine
  • Rejestracja:prawie 22 lata
  • Ostatnio:15 minut
  • Postów:6648
0

Sądzę, że obecne systemy operacyjne mają już tyle kodu napisanego, że nie opłaca się przepisywać tego do innego języka, czy pisać od zera. I nie chodzi mi tylko o czas potrzebny na to, ale też o pracowników, którzy mieliby to robić. To jest spore przedsięwzięcie.

Jak długo się rozwijał i wciąż rozwija Android? Jak długo Windows, Linux, czy Mac OS. Bardziej opłaca się wspierać i udoskonalać istniejący system, niż zaczynać wszystko od początku.


🕹️⌨️🖥️🖱️🎮
edytowany 3x, ostatnio: Spine
KR
Moderator
  • Rejestracja:prawie 21 lat
  • Ostatnio:dzień
  • Postów:2964
0

QBasic v4.5. Fajnie działa pod DOSboxem.

02
  • Rejestracja:ponad 13 lat
  • Ostatnio:około 8 lat
  • Postów:1176
0

Z nowinek to może warto zainteresować się .NET Core. Microsoft ma wystarczajaca ilosc kasy, zeby doprowadzic ta technologie do uzywalnosci.

1

16 letni C# to nie taka nowinka, potrzeba kilka GB aby to zainstalować uruchomić. No i jest uzależniony od jednego Microsoftu. Programiści Delphi, Pascala też nie myśleli że Microsoft to porzuci. Dlatego jak dla mnie .Net odpada. Przegrał na polu mobilnym i teraz w czasach gdzie wszystko idzie w chmurę, siec lub mobile - też przegra na desktopie.

Ktos
C# obecnie już nie wymaga kilku gigabajtów do działania - zresztą nigdy nie wymagał, chyba, że mówisz o Visual Studio.
02
Przeciez .NET jest uzywany w chrmurze i aplikacjach webowych. Sam C# nie jest nowinka natomiast nowinka jest .NET core dzialajacy na Linuksie i Macu oraz wypuszczony na licenji open source
Pipes
  • Rejestracja:około 11 lat
  • Ostatnio:ponad 3 lata
  • Postów:459
0

Python albo Elixir.
Python, bo już go masz na linuxie. Jest uniwersalny, ma masę rozszerzeń, ma wygodną składnię, jest mega czytelny (może przypominać C++, w tym że ma tradycyjne pętle czy instrukcje sterujące).
Elixir, bo ma składnię podobną do Rubiego, a możliwości Erlanga.

edytowany 1x, ostatnio: Pipes
spartanPAGE
Python [...] ma podobną do C++ składnię że co proszę słucham?
KA
Python [...] ma podobną do C++ składnię WTF?
DR
@spartanPAGE @karolinaa no przecie ma if, while, print :p
KA
nie nie to jest wprowadzanie użytkowników w błąd. ja teraz zamierzam otrzymać rangę moderator na 4programmers więc staram się dbać o porządek. czyli moje ultimatum: albo poprawiasz ten zwrot, że ma składnie podobną do C++ albo zgłaszam to moderacji. masz 24h
KA
KA
  • Rejestracja:prawie 12 lat
  • Ostatnio:prawie 5 lat
  • Lokalizacja:Warszawa
  • Postów:1683
0

na pewno pętle z goto, (+ https://github.com/torvalds/linux/blob/master/kernel/audit.c)

@spartanPAGE tylko trochę widać, że nie są to bezmyślne skoki a wydzielono możliwe wspólne (dla wielu różnych warunków)
zakończenia,wyjścia z funkcji na koniec i skacze się do nich przez goto. Czy to jest takie straszne?
Jak Ty byś wydzielił te bloki? Do osobnych funkcji albo plików? - to byłoby tego strasznie dużo :/
Przykładowo taka jak poniższa funkcja - czy to aż tak tragicznie wygląda? - chyba nie. Zwłaszcza patrząc na koniec funkcji gdzie mamy możliwe jej zakończenia a w środku, jak coś - tylko się do nich skacze przez goto. goto - rzecz normalna, naturalna i szczera

Kopiuj
static struct audit_buffer * audit_buffer_alloc(struct audit_context *ctx,
						gfp_t gfp_mask, int type)
{
	unsigned long flags;
	struct audit_buffer *ab = NULL;
	struct nlmsghdr *nlh;

	spin_lock_irqsave(&audit_freelist_lock, flags);
	if (!list_empty(&audit_freelist)) {
		ab = list_entry(audit_freelist.next,
				struct audit_buffer, list);
		list_del(&ab->list);
		--audit_freelist_count;
	}
	spin_unlock_irqrestore(&audit_freelist_lock, flags);

	if (!ab) {
		ab = kmalloc(sizeof(*ab), gfp_mask);
		if (!ab)
			goto err;
	}

	ab->ctx = ctx;
	ab->gfp_mask = gfp_mask;

	ab->skb = nlmsg_new(AUDIT_BUFSIZ, gfp_mask);
	if (!ab->skb)
		goto err;

	nlh = nlmsg_put(ab->skb, 0, 0, type, 0, 0);
	if (!nlh)
		goto out_kfree_skb;

	return ab;

out_kfree_skb:
	kfree_skb(ab->skb);
	ab->skb = NULL;
err:
	audit_buffer_free(ab);
	return NULL;
}
 

definiowanie makr wewnątrz funkcji jak i same funkcje > 100 linii kodu to przykład pięknej jakości.

może po to żeby nie trzeba było skakać do góry, żeby zobaczyć definicję makra. Tylko od razu widać.
100 linii kodu - jakby stosowali się do rad wujka Boba to pewnie do teraz ten system byłby dalej od ukończenia niż GNU Hurd

Wiadomo też, że pattern-matching ze switchami w C bardzo pozytywnie wpływa na ilość kodu

https://github.com/torvalds/linux/blob/master/kernel/audit.c#L803-L819.
no a jak to lepiej zrobić?

Wiadomo też, że im mniej dzielimy funkcje, tym łatwiej się je czyta https://github.com/torvalds/linux/blob/master/kernel/audit.c#L960-L1237

no dobra, ale nie zawsze tak łatwo wydzielić z dużej funkcji mniejsze funkcje i nie zawsze większa ziarnistość kodu zwiększa czytelność.
scrolla używa się łatwo a tak to trzeba byłoby skakać po plikach i pamiętać abstrakcje z poszczególnych plików

o magic numbers nie wspominając, bo czemu slen + 2 to chyba wszyscy wiemy

dobra bez przesady dodali komentarze

Kopiuj
 new_len = slen + 3;	/* enclosing quotes + null terminator */

albo

Kopiuj
 skb_put(skb, slen + 2);	/* don't include null terminator */

moim zdaniem tak łatwo jest komentować, krytykować i coś oceniać. a może zrób pull requesta i pokaż, że da się lepiej?
ciekawe jak wygląda kod Windowsa - oni nawet tego nie pokażą. aa co to za kod, który jest ładny piękny ale nikomu się nie przydaje?
A tutaj kod jest znośny i w dodatku przydaje się światu.


PROGRAMY NA ZAMÓWIENIE, ZALICZENIA STUDENCKIE, KONFIGURACJA SERWERÓW, SYSTEMÓW I BAZ DANYCH, STRONY INTERNETOWE, POMOC W PROGRAMOWANIU, POPRAWIENIE I OPTYMALIZACJA APLIKACJI
JAVA, C++, LINUX, WWW, SQL, PYTHON
POSIADAM KOMERCYJNE DOŚWIADCZENIE
TANIO, SZYBKO I PORZĄDNIE
Z KOMENTARZAMI OBJAŚNIAJĄCYMI KOD
PISZ NA PRYWATNĄ WIADOMOŚĆ
CENY JUŻ OD 49,99ZŁ ZA PROGRAM
ZAJMIJ SIĘ TYM CO CIĘ NAPRAWDĘ INTERESUJE!
edytowany 3x, ostatnio: karolinaa
vpiotr
Nie oszukujmy się, tam gdzie chodzi o wydajność trudno oczekiwać czytelności kodu. Jedyne co może ich ratować w kernel-C to właśnie komentarze.
vpiotr
  • Rejestracja:ponad 13 lat
  • Ostatnio:prawie 3 lata
0
  • Go: czyżby następca C z dużo większą biblioteką standardową? przenośny i ładny składniowo? programowanie sieciowe included? mikroserwisy?
  • Rust: ponoć bezpieczny, czas pokaże
  • Julia: do obliczeń naukowych - chociaż to indeksowanie od 1 to jakiś WTF, efekty kompilacji i praca rozproszona bardzo obiecujące
  • Scala: eee, hmmm, programowanie reaktywne? Sam nie wiem do czego
  • Elixir: programy sieciowe, mikroserwisy

Stare które warto znać:

  • Java - programowanie aplikacji biznesowych
  • Groovy - do testów i małych narzędzi około-JVM
  • Python - taki bash do obliczeń naukowych
  • bash - pseudo-język do automatyzacji narzędzi
  • C++11 - obliczenia naukowe w wersji produkcyjnej
  • PHP - postawienie forum czy sklepu w sieci (do bloga nie potrzebny)
  • JavaScript - żeby nie psioczyć gdy kalendarzyk nie chce się pokazać w enterprise-grade Java

Mam poważne wątpliwości czy warto:

  • C++17: miejscami trudno rozpoznać C++
  • R: niby popularne, ale skoro są Julia, Python i C++ to po co jeszcze jeden?
Azarien
a co do normalnych, po prostu, programów? ;-)
KR
Go nie zastąpi C bo ma garbage collector i to go dyskwalifikuje do wielu zastosowań, w których używa się C. Jeśli już z czymś konkuruje to z Javą 1.1.
0

R: niby popularne, ale skoro są Julia, Python i C++ to po co jeszcze jeden?
Kwestia preferencji, R jest innym językiem niż Julia/Python/C++, ma świetne IDE (R Studio), jeżeli są libsy w dziedzinie której potrzebujesz nie widzę sensu stawiać go poniżej innych.
Java jest świetna, Dart powinien działać. Z takich "żeby być lepszym programistą" Haskell/Ocaml/Scheme, ale ogólnie to większość języków działa na linuxsie, właśnie często na Windowsie są problemy (wykluczając wynalazki ms - one są "specjalne"). Tak samo jest z grami komputerowymi - starsze gry często prędzej odpalisz na WINE niż na nowszych windowsach (już widywałem rozwiązania w FAQ - zainstaluj linuxa i odpal na WINE).

Wibowit
  • Rejestracja:prawie 20 lat
  • Ostatnio:3 dni
0

Scala: eee, hmmm, programowanie reaktywne? Sam nie wiem do czego

Do wszystkich aplikacji typu klient-serwer, zwłaszcza jeśli klientów jest dużo i/ lub serwer składa się z wielu mikroserwisów w chmurze.

Poza tym podejście funkcyjne (Scala jest językiem łączącym OOP i FP) nawet w tworzeniu GUI się sprawdza - przykładem jest React i jego ekosystem.


"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
hauleth
A w czym Scala + JVM ma przewagę nad Erlang/Elixir/LFE + BEAM VM?
Wibowit
Nie wiem z jakiego powodu pytasz, ale mi od razu do głowy przychodzą dwa powody: statyczne typowanie i pełen dostęp do ekosystemu Javowego.
R3
  • Rejestracja:prawie 11 lat
  • Ostatnio:ponad 2 lata
  • Postów:320
0

Golang

Sporo ciekawego softu w tym powstaje a nie jakies CRUDy. Niekoniecznie w Polsce ale czesto open source.

edytowany 1x, ostatnio: rav3n
FE
Jakieś przykłady na poparcie tezy?
JK
kubernetes, docker, produkty od hashicorpu, komponenty core os. Mało?
spartanPAGE
  • Rejestracja:prawie 12 lat
  • Ostatnio:11 dni
1

@karolinaa czyli na obronę stwierdzenia, że w C trudno w nim utrzymać dobry jakościowo kod masz dobra bez przesady dodali komentarze? ;)

Zobacz pozostałe 9 komentarzy
spartanPAGE
@rav3n nie i chyba nie przeczytałeś reszty komentarzy
KA
@rav3n nie troluj merytorycznych dyskusji
KA
wgl to zadziwiające że znowu moje argumenty wygrały!! hip hip hurra
R3
Why so serious?
KA
@rav3n bo to poważna dyskusja o kodzie , dobrych praktykach i czy Linux jest obecnie najlepszym systemem operacyjnym. https://youtu.be/VgwbcOchmZ0?t=1m52s
0

No więc tak Vala i Ceylon mimo że są od Red Hata warto zobaczyć. Obecnie na Linux słuszny wybór to Python i ładnie się prezentuje Golang. Kto wie, być może kiedyś Google zastąpi nim Javę. W między czasie można się uczyć C najnowszy standard i Rust, jak chcesz coś szybkiego napisać, chociaż znając Go obejdzie się bez tych dwóch. To tylko kwestia która składnia Ci przypasuje. Powstał też kompilowany język programowania ze składnią podobną do Pythona i Ruby - kto odgadnie jego nazwę?

R3
Go i Java to jednak inna para kaloszy
hauleth
Są 3 takie języki: Crystal, Nim oraz Pony, o który Ci chodziło? Vala umiera, bo nikt nie chce jej używać, nawet ludzie od GTK. Ostatnio była seria artykułów od autora Cairo, który przepisuje części tej biblioteki na Rusta.
2

Tu programiści dyskutują na temat tych języków programowania i twierdzą, że najlepszym językiem programowania do pisania kerneli systemowych jest Rust.
https://www.quora.com/Of-the-emerging-systems-languages-Rust-D-Go-and-Nim-which-is-the-strongest-language-and-why
Ulubionym językiem programowania programistów również był Rust
http://stackoverflow.com/research/developer-survey-2016#technology-most-loved-dreaded-and-wanted
Go też przyjaźnie
https://d3ansictanv2wj.cloudfront.net/29-future-lang-adb360de1cdbce64a546e34141ca7bbb.png

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)