Piękny język programowania

0

Mowa oczywiście o Erlangu - języku programowania rozproszonego.
http://www.erlang.org/

Właśnie czytam sobie książkę: "Programming Erlang - Software for Conncurent World" - Joe Armstrong
Dosyć ciekawy język i trochę inny niż wszystkie...

np. takie coś:
X = 3453593. - to jest zmienna
X X X. - to zadziała
ale
X = 84539453 - to już nie zadziała bo w Erlangu zmienna może mieć przypisaną wartość tylko raz!!!
a sam operator "=" to nie przypisanie jak w większości języków tylko "pattern matching operator"

Piękny język!.

0

Erlanga trzeba będzie się kiedyś nauczyć. A z mniej standardowych Matlab jest fajny, chociaż tylko do specyficznych zastosowań.

0

piękne jest właśnie to że zmiennej możesz przypisać wartość tylko jeden raz a operator "=" to w rzeczywistości "pattern matching". Chyba nie muszę nikomu tłumaczyć w jaki sposób takie coś wpływa na wyłapywanie błędów w programie.
W Erlangu nie można zrobić czegoś takiego(zwiększenie X o jeden):

X = X + 1
tylko trzeba tak:
X1 = X + 1 - za każdym razem nowa zmienna.

Zasiadając do lektury tej książki myślałem sobie "o znowu jakiś głupi language z pętlami if-ami"....a tu takie coś. Jestem pozytywnie zaskoczony. Erlang to język przyszłości. Jedni będą używać OpenMPI a drudzy Erlanga.

0

no w sumie jest jeszcze Scala która może konkurować z Erlangiem.

0
alpenos23 napisał(a)

piękne jest właśnie to że zmiennej możesz przypisać wartość tylko jeden raz a operator "=" to w rzeczywistości "pattern matching".

W takim razie nie jest to zmienna, tylko wartość. I jest to coś normalnego w językach funkcyjnych. Pattern matching to też standardowy mechanizm w nich występujący.
Więc o co chodzi?

0

Oba języki są piekę - Scala jest może trochę nawet lepsza bo może korzystać z bibliotek Javy i obsługuje OOP.
Polecam książki:
"Programming in Scala" - Martin Odersky,
"Programming Erlang Software for Concurrent World" - Joe Armstrong

Oba języki są piękne!!!

0

Erlang jest dynamicznie typowany => Erlang jest be.

0

@Somekind

Chodzi o to że są to języki do pisania programów na komputery wieloprocesorowe, rozproszone.

Oto cytat z książki o scali:

"The Java platform comes with a built-in threading model........
.....
Unfortunately, programmers have found it very difficult to reliably build
robust multi-threaded applications using the shared data and locks model,
especially as applications grow in size and complexity........

"Scala’s actors library does address the fundamental problem by providing
an alternative, share-nothing, message-passing model that programmers tend
to find much easier to reason about. Actors are a good first tool of choice
when designing concurrent software, because they can help you avoid the
deadlocks and race conditions that are easy to fall into when using the shared
data and locks model."

0

Niesamowite.

0

user image

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