Wydanie języka programowania Go 1.24: Nowości i Optymalizacje

Wydanie języka programowania Go 1.24: Nowości i Optymalizacje

Po sześciu miesiącach intensywnego rozwoju, firma Google we współpracy z community zaprezentowała wydanie języka programowania Go w wersji 1.24. Go, łączące wysoką wydajność języków kompilowanych z zaletami skryptowych języków programowania, takich jak prostota pisania kodu, szybkość rozwoju i ochrona przed błędami, nieustannie ewoluuje. Kod projektu jest dostępny na licencji BSD.

Kluczowe cechy i zmiany w Go 1.24

1. Wsparcie dla aliasów typów ogólnych: Nowością w Go 1.24 jest pełne wsparcie dla aliasów typów ogólnych (generic type alias). Alias typu może być teraz parametryzowany, co umożliwia bardziej elastyczne definiowanie struktur danych. Przykład:

type set[P comparable] = map[P]bool

2. Optymalizacje w runtime: Dzięki optymalizacjom w runtime udało się zredukować obciążenie procesora o 2-3% w testach wydajnościowych. Wprowadzone zmiany obejmują m.in. nową implementację operacji "map", opartą na tabelach haszujących typu Swiss Table, oraz poprawę wykorzystania pamięci przy alokacji małych obiektów.

3. Śledzenie zależności wykonawczych w Go modules: Wprowadzono mechanizm śledzenia zależności pomocniczych w plikach Go.mod, co ułatwia zarządzanie narzędziami takimi jak lintery czy formatowanie kodu. Użycie narzędzi można teraz zdefiniować w pliku go.mod poprzez dyrektywę "tool", a ich uruchamianie obsługuje polecenie "go tool".

4. Nowa funkcjonalność w go build i go install: Dodano opcję "-json" do poleceń "go build" i "go install", umożliwiającą eksport wyników w formacie JSON. To znaczące udogodnienie dla programistów, którzy chcą lepiej kontrolować procesy kompilacji i instalacji.

5. Analiza testów w go vet: Wprowadzono nowy analizator testów w komendzie "go vet", który pomaga wykrywać typowe błędy w testach, w tym w narzędziach do fuzzingu, sprawdzania wydajności i testach aplikacji.

6. Integracja algorytmów kryptograficznych zgodnych z FIPS 140-3: W standardowej bibliotece języka Go pojawiły się implementacje algorytmów kryptograficznych zatwierdzonych przez standard bezpieczeństwa FIPS 140-3.

7. Wsparcie dla WebAssembly: Go 1.24 poprawia wsparcie dla WebAssembly, umożliwiając kompilację aplikacji Go jako biblioteki lub obsługiwanego przez WASI (WebAssembly System Interface). Dodatkowo, dodano dyrektywę go:wasmexport do eksportowania funkcji dla WebAssembly.

8. Nowe narzędzia i pakiety: Wprowadzono nowe pakiety, takie jak:

  • crypto/mlkem z implementacją algorytmów kryptograficznych odpornych na ataki kwantowe.
  • crypto/hkdf z funkcją generowania kluczy na bazie HMAC (RFC 5869).
  • crypto/pbkdf2 z funkcją tworzenia kluczy na bazie haseł (PBKDF2, RFC 8018).
  • crypto/sha3 z implementacją funkcji skrótu SHA-3.

9. Eksperymentalny pakiet testing/synctest: Dodano pakiet do testowania wielowątkowości, co umożliwia bardziej precyzyjne testowanie aplikacji działających równolegle.

10. Obsługa nowych architektur: Ulepszono narzędzie objdump, które teraz obsługuje deszyfrowanie kodu maszynowego dla nowych architektur, takich jak LoongArch, RISC-V i S390X.

Podsumowanie

Go 1.24 przynosi szereg istotnych usprawnień, które usprawniają procesy programistyczne, poprawiają wydajność oraz zwiększają bezpieczeństwo aplikacji. Nowe funkcje, takie jak pełne wsparcie dla aliasów typów ogólnych i ulepszona integracja z WebAssembly, czynią Go jeszcze bardziej elastycznym narzędziem dla nowoczesnych aplikacji. Zmiany w optymalizacji runtime oraz nowe funkcje w narzędziach takich jak go build i go vet zapewniają lepszą kontrolę nad procesem tworzenia oprogramowania, co jest kluczowe dla wydajnych i bezpiecznych aplikacji.





Avatar
Jul 11

Rezygnacja z Google — nowy trend

Wielu z nas wciąż pamięta czasy, gdy Google nazywano „korporacją dobra”, dzięki dewizie Don’t be evil, która była częścią kodeksu etyki firmy. Od tamtej pory wiele się zmieniło. Google, podobnie jak inni giganci technologiczni z grupy FAANG, są oskarżani o nadużywanie zaufania użytkowników, inwigilację i naruszanie prywatności. Niektórzy mogliby wręcz powiedzieć, że ten, kto walczył ze smokiem, sam się nim stał.
0
May 29

Microsoft zwolnił programistę za pomocą algorytmu — po 25 latach pracy, dokładnie w dniu jego urodzin

Na Reddicie niedawno pojawił się wpis dotyczący kolejnej fali zwolnień w Microsoft. Opublikowała go kobieta, która opowiedziała historię swojego męża — programisty, pracującego w firmie przez ponad ćwierć wieku.
0
Jul 19, 2023

„Osiedle swoboda” — powstanie animacji na podstawie kultowego komiksu

EGoFILM niedługo adaptuje kultowy komiks Osiedle Swoboda.
0

This site uses cookies to offer you a better browsing experience.

Find out more on how we use cookies and how to change cookie preferences in our Cookies Policy.

Customize
Save Accept all cookies