-
Path: news-archive.icm.edu.pl!news.gazeta.pl!newsfeed.pionier.net.pl!newsfeed.straub-
nv.de!weretis.net!feeder1.news.weretis.net!news.solani.org!not-for-mail
From: "Stachu 'Dozzie' K." <d...@g...eat.some.screws.spammer.invalid>
Newsgroups: pl.comp.programming
Subject: Re: Jaki język?
Date: Fri, 26 Feb 2010 12:39:48 +0000 (UTC)
Organization: solani.org
Lines: 107
Message-ID: <hm8fek$5fu$4@solani.org>
References: <hlkh9u$9ji$1@nemesis.news.neostrada.pl> <hlkk0t$igp$1@news.task.gda.pl>
<hlmbgj$g2t$1@nemesis.news.neostrada.pl> <hlmpjr$6m8$1@news.onet.pl>
<4b7f001e$1@news.home.net.pl> <hm0p8r$o3h$2@news.agh.edu.pl>
<hm63j0$ke6$1@news.onet.pl> <hm65ut$73v$1@solani.org>
<hm6k2v$347$1@news.onet.pl> <hm6l56$6h7$1@solani.org>
<i...@4...com> <hm7rrd$sb9$1@solani.org>
<b...@4...com>
Mime-Version: 1.0
Content-Type: text/plain; charset=iso-8859-2
Content-Transfer-Encoding: 8bit
X-Trace: solani.org 1267187988 5630
eJwNwYERADEEBMCWItyhHEz0X8L/LpTCcSNoWGw1O58IKtvtohFnn3F0ImfYGKiZ/26d4Ace/hCu
(26 Feb 2010 12:39:48 GMT)
X-Complaints-To: a...@n...solani.org
NNTP-Posting-Date: Fri, 26 Feb 2010 12:39:48 +0000 (UTC)
X-User-ID: eJwNx8EBwCAIA8CV0BBoxkEq+4/Q3u+IWNHpwXAOR7CNFXWy/obJd0t+30NQlXjGhbulGcj6Aw
MoEF4=
Cancel-Lock: sha1:yfGJthvdedOtdp1p0qJ1CrWNgoI=
User-Agent: slrn/pre0.9.9-111 (Linux)
X-NNTP-Posting-Host: eJwFwYEBwCAIA7CXilKY51iE/09Ywh0WlR4M53CAg4R7z6nRat26z9Liq8XHbgpr
QmIJO/MHIxsRgA==
Xref: news-archive.icm.edu.pl pl.comp.programming:185131
[ ukryj nagłówki ]On 2010-02-26, Grzegorz Krukowski <r...@o...pl> wrote:
> Tak, nie o to chodzi aby wykorzystywać tylko podstawowe instrukcje
> języka, ale zaawansowane możliwości można zapisywać czytelniej lub
> nie. Akurat Perl, jak widzę robi to w wariancie mniej czytelnym, tj.
> bez przeczytania opisu języka jest mi trudno zrozumieć o co chodzi.
A to wiesz, właściwie w każdym języku tak jest, że konstrukcje językowe
poza typowymi dla części wspólnej ogółu są niezrozumiałe bez poznania
języka.
>>No i co ci przyjdzie z faktu, że osoba w ogóle nie znająca danego języka
>>być może zrozumie kod, o ile przebije się przez gąszcz pętli
>>i instrukcji warunkowych? Czy będzie się to pisać i konserwować
>>wygodniej?
> Widzisz, ja nie jestem zawodowym programistą i też w takim środowisku
> się obracam. I w tym środowisku dużo osób pisze sobie programy które
> coś robią. Ba, 20 lat po odejściu autora program jest często jedynym
> źródłem wiedzy *jak* coś zrobić
Widzisz, od tego jest taka sztuczka jak baza wiedzy i procedur. Fajny
narządź, wiesz? Przechowuje wiedzę skuteczniej niż program naskrobany na
kolanie.
[cut]
> Tak więc to co jest wadą z punktu profesjonalistów / bardzo
> zaawansowanych użytkowników niekoniecznie jest prawdą na niższym
> poziomie.
Jest wadą, tylko na tym "niższym poziomie" ludzie lubią sobie utrudniać
życie i nie patrzą perspektywicznie (brak dokumentacji).
> A na koniec oba warianty (bardziej proceduralnie i skondensowania a'la
> Perl) w Pythonie. Który wariant i w jakim języku jest najbardziej
> cztelny to już pozostawiam czytelnikom.
[...]
> def RobTabelke(
> naglowek,
> danetabeli,
> margines
> ):
> """ Funkcja generuje gotową tabelkę.
> WEJŚCIE:
> naglowek - krotka z opisem kolumn
> danetabeli - lista z krotkami opisującymi kolejne wiersze
Co to jest """?
> danejakotekst = \
> [naglowek] + \
> map(
> lambda nrwiersza, wiersz: \
> ( unicode(nrwiersza), ) + \
> tuple([ unicode(kolumna) for kolumna in wiersz ]),
> xrange(1, 1 + len(danetabeli)),
> danetabeli
> )
Co to jest [naglowek], co to jest map() i co to jest lambda? Co to jest
xrange()?
> szerokosckolumn =\
> [
> max([ len(x[idkol]) for x in danejakotekst ])
> for
> idkol in xrange(len(danejakotekst[0]))
> ]
Co to jest xrange() i jak się ma do poprzedniego dwuargumentowego?
> separatorwierszy = \
> u"+" + \
> u"+".join(
[...]
Co to jest u""?
> wynik = \
> separatorwierszy + u"\n" + \
> ( separatorwierszy + u"\n" ).join(
> [
> u"|" + \
> u"|".join(
> [
> "".center(margines[idkol]) + \
> wiersz[idkol].ljust(szerokosckolumn[idkol]) + \
> "".center(margines[idkol])
> for
> idkol in xrange(len(wiersz))
> ]
> ) + \
> u"|\n"
> for
> wiersz in danejakotekst
> ]
Tu już się pogubiłem. Za dużo konstrukcji Python-specific, za bardzo
rozstrzelone żeby na jeden raz (czy nawet na trzy razy) objąć je
wzrokiem. To już potworek w PHP jest czytelniejszy.
Objaśnienie: znam Pythona, potrafię w nim pisać (choć nie tak biegle jak
w Perlu). W pytaniach wypunktowałem tylko o co może zapytać osobnik,
nawet programista, który Pythona nie zna.
--
Secunia non olet.
Stanislaw Klekot
Następne wpisy z tego wątku
- 26.02.10 15:35 Grzegorz Krukowski
- 27.02.10 12:54 Jędrzej Dudkiewicz
- 27.02.10 13:56 jacem
- 27.02.10 14:05 jacem
- 27.02.10 16:01 Jędrzej Dudkiewicz
- 27.02.10 16:07 Arkadiusz Dymek
- 27.02.10 16:25 Grzegorz Krukowski
- 28.02.10 16:54 lolo
- 28.02.10 17:12 jacem
- 28.02.10 17:14 Mariusz Kruk
- 28.02.10 19:37 jacem
- 28.02.10 22:58 slawek
- 01.03.10 07:39 Mariusz Kruk
- 01.03.10 09:14 Spec
- 01.03.10 14:38 slawek
Najnowsze wątki z tej grupy
- Alg. kompresji LZW
- Popr. 14. Nauka i Praca Programisty C++ w III Rzeczy (pospolitej)
- Arch. Prog. Nieuprzywilejowanych w pełnej wer. na nowej s. WWW energokod.pl
- 7. Raport Totaliztyczny: Sprawa Qt Group wer. 424
- TCL - problem z escape ostatniego \ w nawiasach {}
- Nauka i Praca Programisty C++ w III Rzeczy (pospolitej)
- testy-wyd-sort - Podsumowanie
- Tworzenie Programów Nieuprzywilejowanych Opartych Na Wtyczkach
- Do czego nadaje się QDockWidget z bibl. Qt?
- Bibl. Qt jest sztucznie ograniczona - jest nieprzydatna do celów komercyjnych
- Co sciaga kretynow
- AEiC 2024 - Ada-Europe conference - Deadlines Approaching
- Jakie są dobre zasady programowania programów opartych na wtyczkach?
- sprawdzanie słów kluczowych dot. zła
- Re: W czym sie teraz pisze programy??
Najnowsze wątki
- 2025-02-10 Gliwice => Business Development Manager - Dział Sieci i Bezpieczeńst
- 2025-02-10 Chrzanów => Specjalista ds. public relations <=
- 2025-02-10 Chrzanów => NodeJS Developer <=
- 2025-02-10 Warszawa => JavaScript / Node / Fullstack Developer <=
- 2025-02-10 Gliwice => Ekspert IT (obszar systemów sieciowych) <=
- 2025-02-10 Lublin => Programista Delphi <=
- 2025-02-10 Mińsk Mazowiecki => Area Sales Manager OZE <=
- 2025-02-10 Wrocław => Konsultant wdrożeniowy Comarch XL/Optima (Księgowość i
- 2025-02-10 Dęblin => Node.js / Fullstack Developer <=
- 2025-02-10 Kraków => iOS Developer (Swift experience) <=
- 2025-02-10 Karząca ręka samorządu adwokackiego wygrała w NSA - wieszanie (portretów) ue-posłów ze "współczesnej Targowicy" (2017)
- 2025-02-10 Nie kupisz paliwa na stacji
- 2025-02-09 Ster w trolejbusie.
- 2025-02-09 Jebany POPiS. Mamy się cieszyć że rząd Tuska naprawił spierdolone porozumienie z UE?
- 2025-02-08 W zyciu warto miec szczescie