🚀 go-pugleaf

RetroBBS NetNews Server

Inspired by RockSolid Light RIP Retro Guy

Article View: pl.comp.lang.python
Article #28091

Re: Interpretowany czy kompilowany?

#28091
From: Roman Dobosz
Date: Sun, 22 May 2011 16:56
53 lines
4125 bytes
On Sat, 21 May 2011 18:41:00 +0000 (UTC)
"Stachu 'Dozzie' K." <dozzie@go.eat.some.screws.spammer.invalid> wrote:

> Idiom w programowaniu to wyrażenie (lub krótka konstrukcja w języku
> programowania) mające znaczenie tylko w danym języku, na ogół trudne do
> przełożenia na inny język za pomocą jednej instrukcji. Na przykład
> idiomem w Pythonie jest konstruowanie tablicy za pomocą
> "[?? for x in ??]", co się w Perlu przekłada jako "map { ?? } ??".

To "coś" nazywa się list comprehension i jest konstrukcją języka,
natomiast to co wołasz z Perla to funkcja, która istnieje również w
Pythonie. List comprehension to nic innego jak tworzenie listy w pętli:

result = []
for i in ??:
    result.append(i)

bez konieczności wywoływania funkcji/bloku na każdym elemencie. Nie
bardzo więc pasuje tu definicja idiomu. To raczej lukier składniowy.

> W przypadku programowania, większość kodu to instrukcje warunkowe,
> pętle, wywołania funkcji, ewentualnie definicje klas lub innych typów.
> Idiomy pojawiają się dość rzadko i zwykle dają się przełożyć na krótkie
> konstrukcje w innym języku, o ile język docelowy reprezentuje podobny
> paradygmat programowania (np. [?? for x in ??] wymaga dużo kodu
> w C (inny paradygmat), ale w Perlu to już wywołanie jednej funkcji
> wbudowanej).

Fajowo. Szkoda, że nie podałeś jak to się ma do statycznie typowanego
języka, jakim jest C, a zamiast tego sięgnąłeś po dynamicznie
typowanego Perla :)

> Biorąc pod uwagę że program składa się tylko w małej części z idiomów,
> a w dużej części z pozostałych, typowych dla danego paradygmatu
> instrukcji, oraz że idiomy się tłumaczy raczej na krótkie sekwencje,
> program w Perlu i taki sam w Pythonie będą miały podobną długość.

I różną czytelność.

> Tak więc zwięzłość składni, która wyraża się właśnie obecnością idiomów,
> nie przekłada się specjalnie na długość kodu.

W tym cały urok Pythona. Nie dość, że kod w nim pisany jest
stosunkowo zwięzły, to na dodatek franca jest czytelniejsza niż
niejeden inny podobnego typu język.

Po tej całej dyskusji odnoszę wrażenie, że nie miałeś za dużo do
czynienia z Pythonem.

-- 
      -^-  _        coś tam w tle sobie gra, np:
   _ /O)_\//        Bush - Synapse
  (_(|__(_(_) grf.  
Technical Details
Message-ID: <20110522185658.fe4600a2.gryf_esm-no@spam-o2.pl>
Path: mbox-mo1.pugleaf.net!news-archive.icm.edu.pl!news.rmf.pl!agh.edu.pl!news.agh.edu.pl!news.onet.pl!.POSTED!not-for-mail
References: <iqmlha$r29$1@news.onet.pl> <4dcee603$1$2437$65785112@news.neostrada.pl> <iqo0j1$g9u$1@news.onet.pl> <87boz3anea.fsf@smsnet.pl> <iqqk2o$oh7$1@news.onet.pl> <0601cb5b-befa-46ba-9d1c-f105c81369fe@r35g2000prj.googlegroups.com> <iqrlte$rfe$1@news.onet.pl> <87k4dqe6vw.fsf@smsnet.pl> <iqt8gb$lo1$1@solani.org> <e423ccad-b001-4931-8e98-68982533d79f@d15g2000yqn.googlegroups.com> <iqtsq9$j2e$4@solani.org> <4d8313d9-cc85-4065-b94d-c7433e6d51de@p6g2000vbn.googlegroups.com> <iqugpk$vbu$3@solani.org> <64a9b1f5-e71a-4b1e-b54b-029a032d6a17@x1g2000yqb.googlegroups.com> <ir58gg$me$1@speranza.aioe.org> <2f93f4ca-ccb1-42a5-b199-2d9902ee8629@l18g2000yql.googlegroups.com> <ir90vs$nd8$1@speranza.aioe.org>

Show Full Headers
Complete Article Headers
Path: mbox-mo1.pugleaf.net!news-archive.icm.edu.pl!news.rmf.pl!agh.edu.pl!news.agh.edu.pl!news.onet.pl!.POSTED!not-for-mail
From: Roman Dobosz <gryf_esm-no@spam-o2.pl>
Newsgroups: pl.comp.lang.python
Subject: Re: Interpretowany czy kompilowany?
Date: Sun, 22 May 2011 18:56:58 +0200
Organization: Elysium DeeZine
Lines: 53
Message-ID: <20110522185658.fe4600a2.gryf_esm-no@spam-o2.pl>
References: <iqmlha$r29$1@news.onet.pl> <4dcee603$1$2437$65785112@news.neostrada.pl> <iqo0j1$g9u$1@news.onet.pl> <87boz3anea.fsf@smsnet.pl> <iqqk2o$oh7$1@news.onet.pl> <0601cb5b-befa-46ba-9d1c-f105c81369fe@r35g2000prj.googlegroups.com> <iqrlte$rfe$1@news.onet.pl> <87k4dqe6vw.fsf@smsnet.pl> <iqt8gb$lo1$1@solani.org> <e423ccad-b001-4931-8e98-68982533d79f@d15g2000yqn.googlegroups.com> <iqtsq9$j2e$4@solani.org> <4d8313d9-cc85-4065-b94d-c7433e6d51de@p6g2000vbn.googlegroups.com> <iqugpk$vbu$3@solani.org> <64a9b1f5-e71a-4b1e-b54b-029a032d6a17@x1g2000yqb.googlegroups.com> <ir58gg$me$1@speranza.aioe.org> <2f93f4ca-ccb1-42a5-b199-2d9902ee8629@l18g2000yql.googlegroups.com> <ir90vs$nd8$1@speranza.aioe.org>
NNTP-Posting-Host: awp202.neoplus.adsl.tpnet.pl
Mime-Version: 1.0
X-Trace: news.onet.pl 1306083418 28640 83.27.75.202 (22 May 2011 16:56:58 GMT)
X-Complaints-To: niusy@onet.pl
NNTP-Posting-Date: Sun, 22 May 2011 16:56:58 +0000 (UTC)
X-Newsreader: Sylpheed
X-Face: 4Y0>}MjX(3x}|)Oj%V51+Fxg%^QkQ7K}vC\yi[Qm/f/m7U5|xSLx[v*q12-?riU!YTdfa3B@1DwK?6`:3[63fD6gZuDlOtg/jE|$"L4`L[wD!'fC}1/aSd+Mz?|=`Ys;{_kl6GeFHE/fOhNK3p}n<D<!1.XtV+i!FBO!S"p)<f9`QsJ#:_D6e"Oq;a:OW|Yddx#x(lZ|m_M+Z)<=7.=)FRJns{[2%?qHw1tII&bz@Jp|m/Pow|jK`5\nu%7-b|on$7_N:ji^u*)3Az%src:9d85Sl=2OmD4CV}O}a`IEhZbd${@B
Content-Type: text/plain; charset=UTF-8
Content-Transfer-Encoding: 8bit