Pomoc - Szukaj - Użytkownicy - Kalendarz
Pełna wersja: Killer C++ z potencjałem (by GOogle :) )
Forum PHP.pl > Wortal > Newsy
niejaki don jm
Google pokazał światu nowy język programowania. ?Go? ma być tak szybkie jak C/C++, a łatwy do nauki ja Python
Licencja języka to BSD.



Nie spodziewajcie się rewolucji. Go nie zaskoczy Was tak jak kiedyś Haskell, Erlang, czy ? w ostatnim czasie ? Scala. Nowość od Google to zwykły obiektowy język niskopoziomowy składnią bardziej przypominający C. Chodzi o to, żeby nie ?alienować? deweloperów. Takie podejście sugeruje, że Google liczy na masową adopcję swojego nowego dziecka.
Kto tworzy Go?

Go został stworzony w dodatkowym czasie (słynne googlowskie 20% czasu, które każdy programista może przeznaczyć na dowolny projekt). Od dwóch lat rozwijany jest już jednak jako pełnoprawny projekt Google, a o jego wadze świadczy zespół programistów, jaki pracuje nad Go. Są to m.in.:
Kenneth Thompson ? współtwórca UNIX-a i języka B (który został następnie przeprojektowany przez Dennisa Ritchie jako C),
Rob Pike ? twórca systemu operacyjnego Plan 9 oraz systemu kodowania UTF-8,
Robert Griesemer ? wcześniej zaangażowany w prace nad kompilatorem Java HotSpot oraz V8, silnik javascriptowy przeglądarki Chrome


Czym więc różni się Go od C?


Według twórców, główne jego zalety Go w stosunku do C to:
Ułatwienie programistom w pisaniu kodu na wiele rdzeni poprzez zastosowanie specjalnych konstrukcji (?goroutines?) oznaczających konieczność wykonania danego kodu współbieżnie. Funkcje takie prefiksujemy po prostu napisem ?go?, dzięki czemu wykonywane będą one w oddzielnych ?kanałach?. Kanały te umożliwiają bezpieczne (thread-safe) przekazywanie danych w obie strony.
Nowy model tworzenia interfejsów ? definiujemy je podobnie jak w Javie, ale nie musimy explicite specyfikować która klasa implementuje dany interfejs. Daje to elastyczność podobną do duck-typing, jednak zachowujac statyczne typowanie.
Konstrukcje językowe wzięte wprost z Pythona jak słowniki czy ?array slices? ułatwiające pisanie zrozumiałego kodu.
Garbage collector

A oto przykład prostego kodu w Go:


Kod
1. func sum(a []int) int { // returns an int
   2. s := 0;
   3. for i := 0; i < len(a); i++ {
   4. s += a[i]
   5. }
   6. return s
   7. }
   8.
   9. s := sum(&[3]int{1,2,3}); // a slice of the array is passed to sum



Obecnie język jest podobno 20-30% wolniejszy od C, co można uznać za bardzo dobry wynik. W wyniku dalszej optymalizacji różnica ta powinna stać się jeszcze mniejsza.
Do czego służy Go?


Go ma być językiem dowolnego zastosowania, ale sami twócy zdradzają, że najbardziej przydać się on może do tworzenia oprogramowania serwerowego, wymagającego wysokiej efektywności, jak serwery webowe czy serwery aplikacji.

Co ciekawe, Pike wspomina jednak również o zupełnie innym zastosowaniu. Uważa on, że Go mógłby być dobrym? następcą JavaScriptu, gdyż ?jest co najmniej o rząd wielkości lepszy od JS?. Pytanie tylko ? co nie jest smile.gif

Jeśli chcielibyście zapoznać się z nowym językiem Google, przydatna będzie na pewno oficjalna strona języka Go[1] na której znajdziecie mnóstwo przykładów(m.in. tutorial[2]) oraz ściągniecie kompilator. Niestety nie ma jeszcze wielu bibliotek, w powijakach jest też integracja z IDE. Jeśli pojawi się zainteresowanie deweloperów, braki te zostaną zapewne szybko uzupełnione.


źródło : http://linuxnews.pl/google-go-czyli-troche-lepsze-c/ i 2 zdania z CHIPa


[1]http://golang.org/
[2]http://golang.org/doc/go_tutorial.html


Przepraszam za błąd popełniony w tytule sad.gif Go jak się okazało to nie Go! bo istnieje język Go! i jest pisany od 10-ciu lat.
Dyskusja tutaj: http://code.google.com/p/go/issues/detail?id=9

podaje linki na specjalne życzenie usera smile.gif
forum koderów golang po polsku
Riklaunim
Trochę takie nadmierne napalenie się na dzieło Googla. Żeby to było użyteczne muszą być do tego liczne dodatkowe biblioteki (np. Qt) i dobre wsparcie na wszystkich kluczowych systemach operacyjnych. A nawet jak to będzie to pozostaje np. kwestia narzędzi (IDE itd.), czy konkurencja ze strony języków skryptowych, którym języki niższych poziomów nie zagrażają.

Co do wydajnych środowisk webowych - obecnie jest erlang, thrift. Sprawdzone i działa. Konkurencja z Erlangiem to bardzo trudne przedsięwzięcie biggrin.gif
To jest wersja lo-fi głównej zawartości. Aby zobaczyć pełną wersję z większą zawartością, obrazkami i formatowaniem proszę kliknij tutaj.
Invision Power Board © 2001-2025 Invision Power Services, Inc.