🚀 go-pugleaf

RetroBBS NetNews Server

Inspired by RockSolid Light RIP Retro Guy

Article View: pl.comp.lang.c
Article #297776

Re: PL-literki w identyfikatorach - dobry pomysł?

#297776
From: Paweł Kierski
Date: Thu, 04 Aug 2011 07:18
118 lines
6585 bytes
W dniu 2011-08-03 14:18, slawek pisze:
> Użytkownik "Paweł Kierski" napisał w wiadomości grup
> dyskusyjnych:j1b187$g4$1@news.onet.pl...
>
>> Nie złych, tylko wystarczająco dobrych.
>
> Twierdzisz tak, jak zwolennik dorożek: "po co samochody, skoro koniki są
> wystarczająco dobre?" ;)

Do pewnych zastosowań - lepsze. Do większości - nie. Unikanie UNICODE
jest w pewnych zastosowaniach lepsze (treść programu źródłowego),
w większości (wszelkie teksty wyświetlane przez jakiekolwiek systemy) -
nie.

Telewizja jest "lepsza" bo daje oprócz dźwięku obraz. A jednak radio
istnieje. W niektórych zastosowaniach nawet jest zdecydowanie lepsze.
Co nie zmienia faktu, że większość ludzi ogląda telewizję a nie słucha
radia.

>> O ile używam zgniłego jaja zapakowanego hermetycznie w folię jako
>> przycisku do papieru, to pewnie jest jest dla mnie wystarczająco dobre.
>> Nie mam powodu wymieniać je na świeże - bo świeże kosztuje. Złe
>
> Błąd rozumowania: nie jest tak, że "nie ma powodu".
>
> Po prostu jest tak, że nie znasz powodu.

Co na jedno wychodzi. Jeśli go nie znam, to znaczy, że nie dotarłem
do problemu, którego rozwiązanie jest dobrym powodem, żeby użyć czegoś
nowego. Użycie czegoś nowego dla użycia jest marnowaniem zasobów.
Oczywiście - pewnie się czegoś nauczę, będę miał lepszy punkt wyjścia
do kolejnych etapów. Tylko dopóki nie mam pojęcia, czy następny etap
istnieje - a nawet silne przesłanki, że nie istnieje - to na co mi to?

> A od tego jest marketing, abyś poczuł chęć kupienia 60 świeżych jaj
> codziennie i 20 różnych przycisków do papieru (jeden to iPhone, inny
> iPad itd.) co kwartał.

Pokaż mi marketingowca, który przekonuje mnie do używania UNICODE
w identyfikatorach w kodzie - pokażę mu drzwi. Ops... 8-)

> Wracając do "nie ma powodu" - wielu ludzi "nie widzi powodu" aby np.
> sprawdzać i naprawiać (fachowo) instalacje elektryczne. Efekt? Na
> przykład pożary.

Dlatego ja widzę powód, żeby poprawiać instalacje elektryczne, bo
widziałem, jakie szkody powoduje zaniedbanie. Dlatego staram się, żeby
wszystkie programy, które mają jakąś interakcję z użytkownikiem
zewnętrznym obsługiwały UNICODE (bo mogę mieć klienta z Chin).
Zaniedbanie tego bardzo drogo by mnie kosztowało.

Ale nie widzę powodu, żeby pisać "int LiczbaŻółtychŻółwi = 1;". Więcej
- widzę powód, dla którego jest to szkodliwe!

> Twoje jajko może delikatnie przeciekać, ty myślisz że jest ok, a
> tymczasem twoje geny dostają ftalany z folii itd. itp.

Tu analogia się załamuje. Co tracę, pisząc identyfikatory angielskie
bez użycia UNICODE?

>> Oczywiście, że jest sens - choćby w treści maila. Tylko czy jest sens
>> w kodzie źródłowym? Podobna sytuacja - w opcjonalnych nagłówkach SMTP
>
> Wszędzie, bo wtedy nie musisz się zastanawiać, gdzie używać a gdzie nie.

Problem w tym, że tekst w C++ (identyfikatory, bo komentarze to
oddzielna kwestia) nie jest "wszędzie". To bardzo konkretne i nietypowe
zastosowanie.

>> Można, ale po co? Czy koszty nie przewyższą (dyskusyjnych) zysków?
>> Ja twierdzę, że tak.
>
> Bo ty myślisz w kategoriach - "znam angielski, więc po co mi polski?"
>
> Idąc dalej tym tokiem rozumowania dojdziemy do "CLI wystarcza, po co GUI?"
>
> Pomyśl w kategoriach: klient zapłaci.

Za identyfikatory po chińsku?!

> Trzeba tylko przekonać klienta -
> end-usera - że warto. Ba! Klient jest już przekonany - MS właśnie nieco
> ślizga się na swoich smartfonach - nie ma PL-literek i jakoś sprzedaż w
> PL jest nierewelacyjna. A Android ma PL-literki.

Ciągle mylisz UNICODE w interfejsie użytkownika z identyfikatorami.

Jeszcze raz, w maksymalnym skrócie:

UNICODE jest lepsze niż ASCII w ogromnej liczbie zastosowań.
W niektórych zastosowaniach, z różnych powodów jest:
a) niepotrzebne (czyli koszt bez sensu)
b) trudne lub niemożliwe do użycia (czyli albo koszt przewyższa
zyski, albo w koszt można uznać za nieskończony)

Z powyższych powodów:

UNICODE w interfejsie użytkownika, w obrabianych danych - TAK! Klient
tego potrzebuje praktycznie zawsze.
Pomijam in-house i specjalistyczne oprogramowanie back-endowe, gdzie
użytkownik zna angielski z definicji. Choć i tu można się zdziwić, bo
czasem w logach warto uwzględnić UNICODE.

UNICODE w identyfikatorach - nie. Nie ma potrzeby, dodatkowo są
problemy związane z narzędziami, które tego nie obsługują. Kod czytają
ludzie znający angielski choćby na poziomie rozumienia prostych słów.
A najważniejsze - klient tego nie potrzebuje (nie słyszałem o takiej
sytuacji).

Jeśli tego nie rozumiesz - poddaję się, ale prościej nie potrafię.

Co nie zmienia faktu, że jeśli przez najbliższe 2-3 lata zobaczę znaki
narodowe w identyfikatorach w kodzie C/C++, to przeklnę autora
najgorszymi słowy. Za 2-3 lata może będzie inaczej.

-- 
     Paweł Kierski
     news@pkierski.net
Technical Details
Message-ID: <j1dh3v$9oh$1@news.onet.pl>
Path: mbox-mo1.pugleaf.net!news-archive.icm.edu.pl!agh.edu.pl!news.agh.edu.pl!news.onet.pl!.POSTED!not-for-mail
References: <4e34377a$0$3503$65785112@news.neostrada.pl> <4e343fe5$0$24320$c3e8da3$40cdd511@news.astraweb.com> <4e344f91$0$3494$65785112@news.neostrada.pl> <j13nri$v29$1@news.onet.pl> <4e359680$0$2485$65785112@news.neostrada.pl> <j14633$h30$1@news.task.gda.pl> <4e35b862$0$2439$65785112@news.neostrada.pl> <j18t1m$c0c$1@news.onet.pl> <4e383cc7$0$2457$65785112@news.neostrada.pl> <4E384068.2070806@spamcop.net> <4e385b8f$0$3496$65785112@news.neostrada.pl> <j1ahd9$hvi$1@news.task.gda.pl> <j1avuo$s27$1@news.onet.pl> <4e39056f$0$2484$65785112@news.neostrada.pl> <j1b187$g4$1@news.onet.pl> <4e393cae$0$3487$65785112@news.neostrada.pl>

Show Full Headers
Complete Article Headers
Path: mbox-mo1.pugleaf.net!news-archive.icm.edu.pl!agh.edu.pl!news.agh.edu.pl!news.onet.pl!.POSTED!not-for-mail
From: Paweł Kierski <news@pkierski.net>
Newsgroups: pl.comp.lang.c
Subject: Re: PL-literki w identyfikatorach - dobry pomysł?
Date: Thu, 04 Aug 2011 09:18:23 +0200
Organization: http://onet.pl
Lines: 118
Message-ID: <j1dh3v$9oh$1@news.onet.pl>
References: <4e34377a$0$3503$65785112@news.neostrada.pl> <4e343fe5$0$24320$c3e8da3$40cdd511@news.astraweb.com> <4e344f91$0$3494$65785112@news.neostrada.pl> <j13nri$v29$1@news.onet.pl> <4e359680$0$2485$65785112@news.neostrada.pl> <j14633$h30$1@news.task.gda.pl> <4e35b862$0$2439$65785112@news.neostrada.pl> <j18t1m$c0c$1@news.onet.pl> <4e383cc7$0$2457$65785112@news.neostrada.pl> <4E384068.2070806@spamcop.net> <4e385b8f$0$3496$65785112@news.neostrada.pl> <j1ahd9$hvi$1@news.task.gda.pl> <j1avuo$s27$1@news.onet.pl> <4e39056f$0$2484$65785112@news.neostrada.pl> <j1b187$g4$1@news.onet.pl> <4e393cae$0$3487$65785112@news.neostrada.pl>
NNTP-Posting-Host: 195.182.34.201
Mime-Version: 1.0
X-Trace: news.onet.pl 1312442303 10001 195.182.34.201 (4 Aug 2011 07:18:23 GMT)
X-Complaints-To: niusy@onet.pl
NNTP-Posting-Date: Thu, 4 Aug 2011 07:18:23 +0000 (UTC)
User-Agent: Mozilla/5.0 (Windows; U; Windows NT 6.1; pl; rv:1.9.2.18) Gecko/20110616 Lightning/1.0b2 Thunderbird/3.1.11
In-Reply-To: <4e393cae$0$3487$65785112@news.neostrada.pl>
Content-Type: text/plain; charset=UTF-8
Content-Transfer-Encoding: 8bit