Wątek przeniesiony 2016-12-29 20:27 z Hardware/Software przez aurel.

Język programowania o najładniejszej składni

0

Ruby. Przyjemny, ładny, elegancki :).

0

Ruby można pisać na różne sposoby, jeden problem rozwiązać na wiele różnych sposobów i tu już inny programista ma problem przy odczytywaniu pomysłów drugiego. Powinien powstać język podobny do Javy, gdzie pisze się jednym stylem programowania i nie można za bardzo, wymyślać po swojemu innych sposobów rozwiązywania problemu, ale o dużo zwięzłej składni. Na razie Python jest najbliżej temu. Kompilowany język o składni bliskiej Pythona, z dobrym statycznym typowaniem i brakiem tworzenia 20 rozwiązań na jedno zagadnienie czy problem do rozwiązania.

0

Chyba jednak Python.

0

U mnie różnie, zależy od problemu.

Przy niskopoziomowych zabawach, będzie to: Rust
Przy matematycznych zabawach: Haskell + Unicode
Przy web: Elixir
Skrypty: Ruby, Lua, Fish, w zależności od potrzeb

Ogólnie ciężko powiedzieć, że język A ma najładniejszą składnię, bo IMHO to zależy od zadania.

0

Skrypty: Ruby, Lua, Fish, w zależności od potrzeb

Do czego używasz LUA? Słyszałem, że LUA nadaje się głównie do systemów embedded. Czasem niektóry programy są skryptowane w LUA (np. Lightroom, Darktable).

0

@winterfresh a dlaczego tak promujesz często ten Elixir, jak nikt tego nie używa w Polsce, a za granicą chyba też nie zyskał dużo.

0
Trzeźwy Szewc napisał(a):

W sumie to Go sam w sobie jakos bardzo sliczny nie jest.

Ale jest na tyle restrykcyjny, ze korzystajac z narzedzi z nim dostarczonym powoduje to, ze kod moze byc calkiem podobny w roznych projektach.

A w Scali to mozna pisac poezje jak i horrory ;)

Jednak najwiecej zalezy od ludzi.

To w którym języku można pisać prozą, aby unikać horrorów i dramatów tragicznych? Ludzie chwalą Kotlin za czytelność i prostotę, ponoć dużo lepszy i nowocześniejszy od Javy i Go. Zawsze będziesz miał do niego dobre IDE.

2
Szalony Jumper:

@winerfresh a dlaczego tak promujesz często ten Elixir [...]

Jeśli się czegoś używa i zna się temat to niczym nadzwyczajnym jest chwalenie tego czegoś;

[...] jak nikt tego nie używa w Polsce [...]

Masz pod ręką jakieś dane statystyczne, albo inny, sensowny argument?

[...] a za granicą chyba też nie zyskał dużo.

A no, chyba nikt nie używa i chyba nie zyskał popularności, ale co mi tam - posieję ferment, będzie fun.

2
Szalony Jumper napisał(a):

@winterfresh a dlaczego tak promujesz często ten Elixir, jak nikt tego nie używa w Polsce, a za granicą chyba też nie zyskał dużo.

"Nikt tego nie używa w Polsce"? Jaja sobie robisz? Twórca Elixira mieszka w Polsce, jedno z wielkich biur Erlang Solutions jest w Krakowie, znam przynajmniej 3 firmy, które wszystkie projekty jak mogą migrują na Elixira (sam w jednej pracuję). Oczywiście nie jest to super popularny język, ale nie oszukujmy się, żaden z nowych języków nie zdobędzie takiej popularności jak powiedzmy C, bo jest tego więcej na rynku.

EDIT: Dodatkowo co ma popularność języka do "piękna składni"? Scheme dla części osób będzie paskudny, bo Lisp, a dla części (która rozumie ideę idącą za składnią) będzie wzorem do naśladowania i przykładem absolutnego piękna. Ja jestem ogólnie raczej fanem Lispów, ale nie zawsze ta składnia daje radę.

0

Dla mnie najładniejszy język to taki, który można czytać na głos i brzmi rozsądnie. Przykładowo SQL:

"SELECT * FROM EMPLOYEE"

można przeczytać jako:

"SELECT EVERYTHING FROM EMPLOYEE"

I oczywiście możemy zamienić SELECT (jeśli wykonujemy zapytanie bezpośrednio na bazie danych):

"SHOW ME EVERYTHING FROM EMPLOYEE"

Itp. itd.

I tak, z tego względu najładniejszy kod wg mnie produkuje się pisząc w językach czwartego poziomu. Schodząc jednak niżej, to Haskell ma całkiem przyjemnie wyglądający kod. I Swift2.

Na estetykę kodu wpływają:

  1. Brak wszędobylskich nawiasów. To:
if condition {
	//...
}

jest dla mnie dużo ładniejsze niż:

if(condition){
	//...
}
  1. Słówka kluczowe w stylu "let", "take", "for-in" itp.
  2. Brak sztywnych struktur a'la klasy Javowe.

Swoją drogą Java ma u mnie dodatkowe punkty za dużą liczbę bibliotek z fluent API.

0

To nie jest klamra tylko nawias klamrowy, który nadal jest nawiasem. To czy bloki kodu trzeba oznaczać czy nie, zależy od języka - są takie, które nie potrzebują do tego syfiastych znaczków. - somekind dziś, 12:12

No OK, to może ja źle się wyraziłem, powinno być "bez wszędobylskich nawiasów okrągłych". Same nawiasy mi nie przeszkadzają - przeszkadzają mi ich nadmiarowe ilości.
Np:

if(myObject.isValid()){ 
	// do something
}

wygląda słabiej niż same:

if myObject.isValid() { 
	// do something
}

a przecież nie ma żadnego uzasadnienia w tym pierwszym okrągłym nawiasie

Podobnie taki for-each:

for(Condition condition: conditions){
	// ...
}

wygląda paskudnie, ale już takie coś:

for condition in conditions {
	// ...
}

etc. itd.

Same nawiasy mi nie przeszkadzają, a używanie klamrowych do bloków kodu jest dla mnie czytelne.

0
if MyObject.IsValid then
begin
  // do something
end;

for Enumerator in Collection do
begin
  // do something
end;

@wartek01 - nie ma żadnych nawiasów :]

1 użytkowników online, w tym zalogowanych: 0, gości: 1