Nazwy zmiennych w różnych alfabetach ktoś stosował?

Nazwy zmiennych w różnych alfabetach ktoś stosował?
Miang
  • Rejestracja: dni
  • Ostatnio: dni
  • Postów: 1939
0

właśnie zaczęłam czytać książkę o TypeScripcie, i na początku jest omówieni javascriptu, informacja jakie znaki są dozwolone żeby nazwa była poprawnym identyfikatorem
Podali link do walidatora https://mothereff.in/js-variables
sprawdziłam:

  • polskie znaki
  • hiraganę
  • tradycyjne kanji
    i przechodzi
    wiem że w smsach czterobajtowe kanji w ogóle nie przechodzi, tu 𩸽 daje ostrzeżenie

That’s a valid identifier according to ECMAScript 6 / Unicode 8.0.0.
However, it is not a valid identifier as per ES5. You may want to avoid it if support for older JavaScript engines is a concern.

pytanko kto z Was używa znaków poza ASCII do nazywania zmiennych
ja się przyznam, kiedyś dawno temu przerabiałam kawałki w Accessie gdzie tak było, nie zmieniałam tego
ale w normalnych, kompilowanych językach się nie dało

SL
  • Rejestracja: dni
  • Ostatnio: dni
  • Postów: 1184
1

Nie, nie widzę w tym żadnego sensu oprócz tego, że można.

ale w normalnych, kompilowanych językach się nie dało

UTF-8 nie był w normie jeszcze te 20 lat temu, gdy te języki dominowały. Z tego co patrzę to nawet C++23 już na to pozwala, więc po prostu wszyscy uznali, że UTF-8 to domyślne kodowanie i można korzystać z jego dobrodziejstw

cerrato
  • Rejestracja: dni
  • Ostatnio: dni
  • Lokalizacja: Poznań
  • Postów: 9270
1

Podstawowe pytanie - po co takie coś by miało mieć miejsce?
To, że coś się da, nie znaczy, że się powinno ani że warto to robić.
Można wsadzić penisa do blendera, ale 99,87% facetów powie, że to kiepski pomysł i nie poleca.

O ile sobie sama coś piszesz to jeszcze by przeszło, ale w przypadku pracy zespołowej, albo gdzieś publikacji kodu - to (moim zdaniem) totalnie nieporozumienie.
I chodzi głównie o kwestię zrozumiałości kodu przez inne osoby, które będą go czytać albo modyfikować.
Jak sobie nazwiesz zmienną łódź to jest duża szansa, że:

  • ktoś w innym kraju będzie miał czcionkę, która tego nie wyświetli i zamiast polskich liter będą krzaczki
  • nikt nie będzie wiedział jak to się czyta
  • skomplikowane nazwy będą przekręcane
  • powstanie dodatkowy chaos i zamieszanie

A co jest plusem? Ja nie widzę żadnych plusów.

OK, Tobie może się polskie znaczki wyświetlą poprawnie, ale w innych krajach to już różnie.
Tak samo jak niekoniecznie nam się wyświetlą poprawnie niemieckie czy francuskie literki. A o japońskich/chińskich to już nie wspomnę.
Coś, co może będzie czytelne dla Japończyka, dla mnie praktycznie będzie końcem tematu. Zobaczę jakieś krzaczki i się poddam.

KamilAdam
  • Rejestracja: dni
  • Ostatnio: dni
  • Lokalizacja: Silesia/Marki
  • Postów: 5736
1

też nie wiem po co pchać się w takie znaki które trudno z klawiatury wbić. jedyne co to w haskellu ostatnio włączyłem zamienianie ::, => i -> na pojedyncze znaki z utf ale nie wiem czy to coś poprawia czy pogarsza

Kopiuj
continueM ∷ Monad m ⇒ a → SameT m a
Spearhead
  • Rejestracja: dni
  • Ostatnio: dni
  • Postów: 1017
4

Przypomina mi się stara historia, jaką widziałem na /r/ProgrammerHumor o gościu, który zrobił "generyki" w Go (za czasów jak jeszcze w samym języku ich nie było), zastępując symbole < i > odpowiednikami Unicode i :

screenshot-20260923011424.png

obscurity
  • Rejestracja: dni
  • Ostatnio: dni
3

Nie no nie rób tak, chyba że chcesz utrudnić życie programistom. Przykładowo angular tak faktycznie robi dodając znaczek theta ɵ przed prywatnymi internal fieldami żeby zniechęcić userów przed używaniem ich w swoim kodzie i podkreślić że to wewnętrzna zmienna, a nie część API

https://stackoverflow.com/questions/45466017/%C9%B5-theta-like-symbol-in-angular-2-source-code

W przykładach ucząc polaków można używać polskich literek w nazwach zmiennych.
Jest też propozycja żeby umożliwić używanie emoji w nazwach zmiennych, wtedy można by było np rzucić gównem

Kopiuj
throw 💩

ale tak to nie widzę zastosowania i nie polecam

JG
  • Rejestracja: dni
  • Ostatnio: dni
  • Postów: 272
1

Hmm 𩸽 przechodzi w smsach, właśnie sprawdziłem. A co do tematu, to używanie polskich nazw zmiennych a tym bardziej jeszcze zmiennych z polskimi literami to był zawsze antypattern, tego się trzymam do dziś. To nie tak że nigdzie się nie dało, w C# chyba prawie od zawsze się np dało. W Javie wydaje mi się że nie da, Flutter/Dart tez na to nie pozwala. W sumie nie przyszło mi nigdy do głowy żeby to sprawdzać.

Jest też propozycja żeby umożliwić używanie emoji w nazwach zmiennych

W nazwach zmiennych nie ma specjalnie sensu, ale ja używam np w loggerach jak jest output w konsoli, ikonki typu warning albo error itd, bo to poprawia czytelność. No ale z tym trzeba też uważać, bo rożne terminale mogą różnie działać, starsze mogą tego nie obsłużyć, tak jak i starsza czcionka lub bardzo prosta.

Miang
  • Rejestracja: dni
  • Ostatnio: dni
  • Postów: 1939
0
John Gordon napisał(a):

Hmm 𩸽 przechodzi w smsach, właśnie sprawdziłem.

nie w tych tradycyjnych smsach kodowanych za pomocą UCS-2

A co do tematu, to używanie polskich nazw zmiennych a tym bardziej jeszcze zmiennych z polskimi literami to był zawsze antypattern, tego się trzymam do dziś. To nie tak że nigdzie się nie dało, w C# chyba prawie od zawsze się np dało. W Javie wydaje mi się że nie da, Flutter/Dart tez na to nie pozwala. W sumie nie przyszło mi nigdy do głowy żeby to sprawdzać.

antypatern to też na siłę przerabianie na słaby angielski nazw polskich danych, wymaganych przez polskie ministerstwo, tak że jakiś wskaźnik czegoś tam koder zapisuje w kodzie jako pointer, polskawe zmienne sa ok w takim przypadku, zwłaszcza że i tak nikt z programistów nie kuma pełnego, biznesowego znaczenia tej akurat liczby, podstawia do wzorów i tyle.antypatern to jest używanie jako nazw zmiennych czegoś co może być słowem kluczowym języka w nowszej wersji lub jest słowem kluczowym w innym języku, np. w sql

Jest też propozycja żeby umożliwić używanie emoji w nazwach zmiennych

W nazwach zmiennych nie ma specjalnie sensu, ale ja używam np w loggerach jak jest output w konsoli, ikonki typu warning albo error itd, bo to poprawia czytelność. No ale z tym trzeba też uważać, bo rożne terminale mogą różnie działać, starsze mogą tego nie obsłużyć, tak jak i starsza czcionka lub bardzo prosta.

JG
  • Rejestracja: dni
  • Ostatnio: dni
  • Postów: 272
1

antypatern to też na siłę przerabianie na słaby angielski nazw polskich danych, wymaganych przez polskie ministerstwo

No jak masz jakieś polskie rzeczy do nazwania, typu akty prawne czy coś w tym stylu to byłoby jedyne uzasadnienie.

JG
  • Rejestracja: dni
  • Ostatnio: dni
  • Postów: 272
2

Tak BTW, Swift pozwala na emoji bez żadnych ograniczeń, można wstawiać ikonki kupy do woli, a Kotlin też pozwala w apostrofach.

Zarejestruj się i dołącz do największej społeczności programistów w Polsce.

Otrzymaj wsparcie, dziel się wiedzą i rozwijaj swoje umiejętności z najlepszymi.