Groups | Search | Server Info | Keyboard shortcuts | Login | Register [http] [https] [nntp] [nntps]
Groups > pl.comp.programming > #32142 > unrolled thread
| Started by | szykcech@gmail.com |
|---|---|
| First post | 2018-12-23 11:29 -0800 |
| Last post | 2018-12-30 16:46 +0100 |
| Articles | 20 on this page of 160 — 11 participants |
Back to article view | Back to pl.comp.programming
Jaki język polecić początkującemu? - komentarz do artykułu w Programista 9/2018 szykcech@gmail.com - 2018-12-23 11:29 -0800
Re: Jaki język polecić początkującemu? - komentarz do artykułu w Programista 9/2018 fir <profesor.fir@gmail.com> - 2018-12-25 03:13 -0800
Re: Jaki język polecić początkującemu? - komentarz do artykułu w Programista 9/2018 godek.maciek@gmail.com - 2018-12-25 16:27 -0800
Re: Jaki język polecić początkującemu? - komentarz do artykułu w Programista 9/2018 fir <profesor.fir@gmail.com> - 2018-12-25 19:07 -0800
Re: Jaki język polecić początkującemu? - komentarz do artykułu w Programista 9/2018 szykcech@gmail.com - 2018-12-26 04:35 -0800
Re: Jaki język polecić początkującemu? - komentarz do artykułu w Programista 9/2018 fir <profesor.fir@gmail.com> - 2018-12-26 09:10 -0800
Re: Jaki język polecić początkującemu? - komentarz do artykułu w Programista 9/2018 godek.maciek@gmail.com - 2018-12-26 11:42 -0800
Re: Jaki język polecić początkującemu? - komentarz do artykułu w Programista 9/2018 szykcech@gmail.com - 2018-12-26 12:40 -0800
Re: Jaki język polecić początkującemu? - komentarz do artykułu w Programista 9/2018 godek.maciek@gmail.com - 2018-12-26 12:53 -0800
Re: Jaki język polecić początkującemu? - komentarz do artykułu w Programista 9/2018 godek.maciek@gmail.com - 2018-12-26 13:35 -0800
Re: Jaki język polecić początkującemu? - komentarz do artykułu w Programista 9/2018 fir <profesor.fir@gmail.com> - 2018-12-26 14:39 -0800
Re: Jaki język polecić początkującemu? - komentarz do artykułu w Programista 9/2018 Adam M <amorawski@magna-power.com> - 2018-12-26 13:39 -0800
Re: Jaki język polecić początkującemu? - komentarz do artykułu w Programista 9/2018 Tomasz Kaczanowski <kaczus@poczta.onet.pl> - 2018-12-27 09:33 +0100
Re: Jaki język polecić początkującemu? - komentarz do artykułu w Programista 9/2018 fir <profesor.fir@gmail.com> - 2018-12-26 14:31 -0800
Re: Jaki język polecić początkującemu? - komentarz do artykułu w Programista 9/2018 fir <profesor.fir@gmail.com> - 2018-12-26 14:52 -0800
Re: Jaki język polecić początkującemu? - komentarz do artykułu w Programista 9/2018 fir <profesor.fir@gmail.com> - 2018-12-26 15:07 -0800
Re: Jaki język polecić początkującemu? - komentarz do artykułu w Programista 9/2018 Maciej Sobczak <see.my.homepage@gmail.com> - 2018-12-26 15:37 -0800
Re: Jaki język polecić początkującemu? - komentarz do artykułu w Programista 9/2018 godek.maciek@gmail.com - 2018-12-26 15:58 -0800
Re: Jaki język polecić początkującemu? - komentarz do artykułu w Programista 9/2018 Maciej Sobczak <see.my.homepage@gmail.com> - 2018-12-27 10:20 -0800
Re: Jaki język polecić początkującemu? - komentarz do artykułu w Programista 9/2018 godek.maciek@gmail.com - 2018-12-27 14:53 -0800
Re: Jaki język polecić początkującemu? - komentarz do artykułu w Programista 9/2018 fir <profesor.fir@gmail.com> - 2018-12-27 17:06 -0800
Re: Jaki język polecić początkującemu? - komentarz do artykułu w Programista 9/2018 Maciej Sobczak <see.my.homepage@gmail.com> - 2018-12-28 14:07 -0800
Re: Jaki język polecić początkującemu? - komentarz do artykułu w Programista 9/2018 szykcech@gmail.com - 2018-12-28 22:13 -0800
Re: Jaki język polecić początkującemu? - komentarz do artykułu w Programista 9/2018 godek.maciek@gmail.com - 2018-12-29 03:51 -0800
Re: Jaki język polecić początkującemu? - komentarz do artykułu w Programista 9/2018 Borneq <borneq@antyspam.hidden.pl> - 2018-12-29 14:01 +0100
Re: Jaki język polecić początkującemu? - komentarz do artykułu w Programista 9/2018 godek.maciek@gmail.com - 2018-12-29 10:42 -0800
Re: Jaki język polecić początkującemu? - komentarz do artykułu w Programista 9/2018 szykcech@gmail.com - 2018-12-29 05:24 -0800
Re: Jaki język polecić początkującemu? - komentarz do artykułu w Programista 9/2018 godek.maciek@gmail.com - 2018-12-29 11:23 -0800
Re: Jaki język polecić początkującemu? - komentarz do artykułu w Programista 9/2018 szykcech@gmail.com - 2018-12-30 09:08 -0800
Re: Jaki język polecić początkującemu? - komentarz do artykułu w Programista 9/2018 godek.maciek@gmail.com - 2018-12-30 10:17 -0800
Re: Jaki język polecić początkującemu? - komentarz do artykułu w Programista 9/2018 Maciej Sobczak <see.my.homepage@gmail.com> - 2019-01-02 00:48 -0800
Re: Jaki język polecić początkującemu? - komentarz do artykułu w Programista 9/2018 godek.maciek@gmail.com - 2019-01-02 04:23 -0800
Re: Jaki język polecić początkującemu? - komentarz do artykułu w Programista 9/2018 Maciej Sobczak <see.my.homepage@gmail.com> - 2019-01-03 00:37 -0800
Re: Jaki język polecić początkującemu? - komentarz do artykułu w Programista 9/2018 Tomasz Kaczanowski <kaczus@poczta.onet.pl> - 2018-12-31 08:18 +0100
Re: Jaki język polecić początkującemu? - komentarz do artykułu w Programista 9/2018 godek.maciek@gmail.com - 2018-12-31 01:14 -0800
Re: Jaki język polecić początkującemu? - komentarz do artykułu w Programista 9/2018 Maciej Sobczak <see.my.homepage@gmail.com> - 2019-01-02 00:41 -0800
Re: Jaki język polecić początkującemu? - komentarz do artykułu w Programista 9/2018 godek.maciek@gmail.com - 2019-01-02 05:00 -0800
Re: Jaki język polecić początkującemu? - komentarz do artykułu w Programista 9/2018 Maciej Sobczak <see.my.homepage@gmail.com> - 2019-01-03 00:44 -0800
Re: Jaki język polecić początkującemu? - komentarz do artykułu w Programista 9/2018 godek.maciek@gmail.com - 2019-01-03 05:19 -0800
Re: Jaki język polecić początkującemu? - komentarz do artykułu w Programista 9/2018 Wojciech Muła <wojtek.mula@gmail.com> - 2019-01-02 01:53 -0800
Re: Jaki język polecić początkującemu? - komentarz do artykułu w Programista 9/2018 godek.maciek@gmail.com - 2018-12-29 03:27 -0800
Re: Jaki język polecić początkującemu? - komentarz do artykułu w Programista 9/2018 Maciej Sobczak <see.my.homepage@gmail.com> - 2018-12-29 15:21 -0800
Re: Jaki język polecić początkującemu? - komentarz do artykułu w Programista 9/2018 godek.maciek@gmail.com - 2018-12-30 04:06 -0800
Re: Jaki język polecić początkującemu? - komentarz do artykułu w Programista 9/2018 Maciej Sobczak <see.my.homepage@gmail.com> - 2019-01-02 01:17 -0800
Re: Jaki język polecić początkującemu? - komentarz do artykułu w Programista 9/2018 godek.maciek@gmail.com - 2019-01-02 04:42 -0800
Re: Jaki język polecić początkującemu? - komentarz do artykułu w Programista 9/2018 Maciej Sobczak <see.my.homepage@gmail.com> - 2019-01-03 00:57 -0800
Re: Jaki język polecić początkującemu? - komentarz do artykułu w Programista 9/2018 godek.maciek@gmail.com - 2019-01-03 05:34 -0800
Re: Jaki język polecić początkującemu? - komentarz do artykułu w Programista 9/2018 Roman Tyczka <noemail@because.no> - 2019-01-03 17:15 +0100
Re: Jaki język polecić początkującemu? - komentarz do artykułu w Programista 9/2018 godek.maciek@gmail.com - 2019-01-03 08:30 -0800
Re: Jaki język polecić początkującemu? - komentarz do artykułu w Programista 9/2018 AK <nobody@nowhere.net> - 2019-01-03 17:44 +0100
Re: Jaki język polecić początkującemu? - komentarz do artykułu w Programista 9/2018 Roman Tyczka <noemail@because.no> - 2019-01-04 17:48 +0100
Re: Jaki język polecić początkującemu? - komentarz do artykułu w Programista 9/2018 godek.maciek@gmail.com - 2019-01-04 09:44 -0800
Re: Jaki język polecić początkującemu? - komentarz do artykułu w Programista 9/2018 Roman Tyczka <noemail@because.no> - 2019-01-04 22:14 +0100
Re: Jaki język polecić początkującemu? - komentarz do artykułu w Programista 9/2018 godek.maciek@gmail.com - 2019-01-04 13:25 -0800
Re: Jaki język polecić początkującemu? - komentarz do artykułu w Programista 9/2018 AK <nobody@nowhere.net> - 2019-01-03 17:24 +0100
Re: Jaki język polecić początkującemu? - komentarz do artykułu w Programista 9/2018 godek.maciek@gmail.com - 2019-01-03 09:20 -0800
Re: Jaki język polecić początkującemu? - komentarz do artykułu w Programista 9/2018 fir <profesor.fir@gmail.com> - 2019-01-03 12:51 -0800
Re: Jaki język polecić początkującemu? - komentarz do artykułu w Programista 9/2018 godek.maciek@gmail.com - 2019-01-03 13:21 -0800
Re: Jaki język polecić początkującemu? - komentarz do artykułu w Programista 9/2018 fir <profesor.fir@gmail.com> - 2019-01-03 16:13 -0800
Re: Jaki język polecić początkującemu? - komentarz do artykułu w Programista 9/2018 godek.maciek@gmail.com - 2019-01-04 00:40 -0800
Re: Jaki język polecić początkującemu? - komentarz do artykułu w Programista 9/2018 fir <profesor.fir@gmail.com> - 2019-01-04 04:34 -0800
Re: Jaki język polecić początkującemu? - komentarz do artykułu w Programista 9/2018 godek.maciek@gmail.com - 2019-01-04 05:12 -0800
Re: Jaki język polecić początkującemu? - komentarz do artykułu w Programista 9/2018 fir <profesor.fir@gmail.com> - 2019-01-04 05:26 -0800
Re: Jaki język polecić początkującemu? - komentarz do artykułu w Programista 9/2018 godek.maciek@gmail.com - 2019-01-04 06:42 -0800
Re: Jaki język polecić początkującemu? - komentarz do artykułu w Programista 9/2018 fir <profesor.fir@gmail.com> - 2019-01-04 07:33 -0800
Re: Jaki język polecić początkującemu? - komentarz do artykułu w Programista 9/2018 fir <profesor.fir@gmail.com> - 2019-01-04 07:35 -0800
Re: Jaki język polecić początkującemu? - komentarz do artykułu w Programista 9/2018 fir <profesor.fir@gmail.com> - 2019-01-04 05:33 -0800
Re: Jaki język polecić początkującemu? - komentarz do artykułu w Programista 9/2018 AK <nobody@nowhere.net> - 2019-01-04 14:50 +0100
Re: Jaki język polecić początkującemu? - komentarz do artykułu w Programista 9/2018 fir <profesor.fir@gmail.com> - 2019-01-04 05:54 -0800
Re: Jaki język polecić początkującemu? - komentarz do artykułu w Programista 9/2018 fir <profesor.fir@gmail.com> - 2019-01-04 06:10 -0800
Re: Jaki język polecić początkującemu? - komentarz do artykułu w Programista 9/2018 AK <nobody@nowhere.net> - 2019-01-04 02:00 +0100
Re: Jaki język polecić początkującemu? - komentarz do artykułu w Programista 9/2018 AK <nobody@nowhere.net> - 2019-01-04 10:25 +0100
Re: Jaki język polecić początkującemu? - komentarz do artykułu w Programista 9/2018 AK <nobody@nowhere.net> - 2019-01-04 12:50 +0100
Re: Jaki język polecić początkującemu? - komentarz do artykułu w Programista 9/2018 godek.maciek@gmail.com - 2019-01-04 04:29 -0800
Re: Jaki język polecić początkującemu? - komentarz do artykułu w Programista 9/2018 fir <profesor.fir@gmail.com> - 2019-01-04 04:47 -0800
Re: Jaki język polecić początkującemu? - komentarz do artykułu w Programista 9/2018 godek.maciek@gmail.com - 2019-01-04 04:52 -0800
Re: Jaki język polecić początkującemu? - komentarz do artykułu w Programista 9/2018 fir <profesor.fir@gmail.com> - 2019-01-04 05:01 -0800
Re: Jaki język polecić początkującemu? - komentarz do artykułu w Programista 9/2018 fir <profesor.fir@gmail.com> - 2019-01-04 05:16 -0800
Re: Jaki język polecić początkującemu? - komentarz do artykułu w Programista 9/2018 AK <nobody@nowhere.net> - 2019-01-04 14:15 +0100
Re: Jaki język polecić początkującemu? - komentarz do artykułu w Programista 9/2018 AK <nobody@nowhere.net> - 2019-01-04 14:31 +0100
Re: Jaki język polecić początkującemu? - komentarz do artykułu w Programista 9/2018 godek.maciek@gmail.com - 2019-01-03 10:37 -0800
Re: Jaki język polecić początkującemu? - komentarz do artykułu w Programista 9/2018 Maciej Sobczak <see.my.homepage@gmail.com> - 2019-01-04 00:20 -0800
Re: Jaki język polecić początkującemu? - komentarz do artykułu w Programista 9/2018 godek.maciek@gmail.com - 2019-01-04 02:15 -0800
Re: Jaki język polecić początkującemu? - komentarz do artykułu w Programista 9/2018 Maciej Sobczak <see.my.homepage@gmail.com> - 2019-01-06 23:47 -0800
Re: Jaki język polecić początkującemu? - komentarz do artykułu w Programista 9/2018 godek.maciek@gmail.com - 2019-01-07 02:23 -0800
Re: Jaki język polecić początkującemu? - komentarz do artykułu w Programista 9/2018 Wojciech Muła <wojtek.mula@gmail.com> - 2019-01-08 00:08 -0800
Re: Jaki język polecić początkującemu? - komentarz do artykułu w Programista 9/2018 godek.maciek@gmail.com - 2019-01-08 00:31 -0800
Re: Jaki język polecić początkującemu? - komentarz do artykułu w Programista 9/2018 Maciej Sobczak <see.my.homepage@gmail.com> - 2019-01-09 00:08 -0800
Re: Jaki język polecić początkującemu? - komentarz do artykułu w Programista 9/2018 godek.maciek@gmail.com - 2019-01-09 14:21 -0800
Re: Jaki język polecić początkującemu? - komentarz do artykułu w Programista 9/2018 Maciej Sobczak <see.my.homepage@gmail.com> - 2019-01-10 02:16 -0800
Re: Jaki język polecić początkującemu? - komentarz do artykułu w Programista 9/2018 AK <nobody@nowhere.net> - 2019-01-08 09:42 +0100
Re: Jaki język polecić początkującemu? - komentarz do artykułu w Programista 9/2018 Wojciech Muła <wojtek.mula@gmail.com> - 2019-01-08 08:21 -0800
Re: Jaki język polecić początkującemu? - komentarz do artykułu w Programista 9/2018 AK <nobody@nowhere.net> - 2019-01-08 22:48 +0100
Re: Jaki język polecić początkującemu? - komentarz do artykułu w Programista 9/2018 Wojciech Muła <wojtek.mula@gmail.com> - 2019-01-09 14:22 -0800
Re: Jaki język polecić początkującemu? - komentarz do artykułu w Programista 9/2018 AK <nobody@nowhere.net> - 2019-01-10 02:32 +0100
Re: Jaki język polecić początkującemu? - komentarz do artykułu w Programista 9/2018 Wojciech Muła <wojtek.mula@gmail.com> - 2019-01-10 00:29 -0800
Re: Jaki język polecić początkującemu? - komentarz do artykułu w Programista 9/2018 AK <nobody@nowhere.net> - 2019-01-10 10:14 +0100
Re: Jaki język polecić początkującemu? - komentarz do artykułu w Programista 9/2018 godek.maciek@gmail.com - 2019-01-10 01:54 -0800
Re: Jaki język polecić początkującemu? - komentarz do artykułu w Programista 9/2018 AK <nobody@nowhere.net> - 2019-01-10 11:17 +0100
Re: Jaki język polecić początkującemu? - komentarz do artykułu w Programista 9/2018 AK <nobody@nowhere.net> - 2019-01-08 22:51 +0100
Re: Jaki język polecić początkującemu? - komentarz do artykułu w Programista 9/2018 Wojciech Muła <wojtek.mula@gmail.com> - 2019-01-09 13:32 -0800
Re: Jaki język polecić początkującemu? - komentarz do artykułu w Programista 9/2018 Maciej Sobczak <see.my.homepage@gmail.com> - 2019-01-08 01:42 -0800
Re: Jaki język polecić początkującemu? - komentarz do artykułu w Programista 9/2018 godek.maciek@gmail.com - 2019-01-08 14:24 -0800
Re: Jaki język polecić początkującemu? - komentarz do artykułu w Programista 9/2018 AK <nobody@nowhere.net> - 2019-01-09 00:18 +0100
Re: Jaki język polecić początkującemu? - komentarz do artykułu w Programista 9/2018 Maciej Sobczak <see.my.homepage@gmail.com> - 2019-01-08 23:46 -0800
Re: Jaki język polecić początkującemu? - komentarz do artykułu w Programista 9/2018 godek.maciek@gmail.com - 2019-01-09 14:11 -0800
Re: Jaki język polecić początkującemu? - komentarz do artykułu w Programista 9/2018 Maciej Sobczak <see.my.homepage@gmail.com> - 2019-01-10 02:31 -0800
Re: Jaki język polecić początkującemu? - komentarz do artykułu w Programista 9/2018 Maciej Sobczak <see.my.homepage@gmail.com> - 2019-01-10 02:39 -0800
Re: Jaki język polecić początkującemu? - komentarz do artykułu w Programista 9/2018 Maciej Sobczak <see.my.homepage@gmail.com> - 2019-01-10 02:49 -0800
Re: Jaki język polecić początkującemu? - komentarz do artykułu w Programista 9/2018 godek.maciek@gmail.com - 2019-01-10 03:52 -0800
Re: Jaki język polecić początkującemu? - komentarz do artykułu w Programista 9/2018 Maciej Sobczak <see.my.homepage@gmail.com> - 2019-01-10 02:56 -0800
Re: Jaki język polecić początkującemu? - komentarz do artykułu w Programista 9/2018 godek.maciek@gmail.com - 2019-01-10 03:30 -0800
Re: Jaki język polecić początkującemu? - komentarz do artykułu w Programista 9/2018 AK <nobody@nowhere.net> - 2019-01-10 12:55 +0100
Re: Jaki język polecić początkującemu? - komentarz do artykułu w Programista 9/2018 godek.maciek@gmail.com - 2019-01-10 04:00 -0800
Re: Jaki język polecić początkującemu? - komentarz do artykułu w Programista 9/2018 AK <nobody@nowhere.net> - 2019-01-10 14:02 +0100
Re: Jaki język polecić początkującemu? - komentarz do artykułu w Programista 9/2018 AK <nobody@nowhere.net> - 2019-01-10 14:11 +0100
Re: Jaki język polecić początkującemu? - komentarz do artykułu w Programista 9/2018 godek.maciek@gmail.com - 2019-01-10 05:22 -0800
Re: Jaki język polecić początkującemu? - komentarz do artykułu w Programista 9/2018 AK <nobody@nowhere.net> - 2019-01-10 15:47 +0100
Re: Jaki język polecić początkującemu? - komentarz do artykułu w Programista 9/2018 godek.maciek@gmail.com - 2019-01-11 10:14 -0800
Re: Jaki język polecić początkującemu? - komentarz do artykułu w Programista 9/2018 AK <nobody@nowhere.net> - 2019-01-11 21:31 +0100
Re: Jaki język polecić początkującemu? - komentarz do artykułu w Programista 9/2018 godek.maciek@gmail.com - 2019-01-11 13:42 -0800
Re: Jaki język polecić początkującemu? - komentarz do artykułu w Programista 9/2018 Maciej Sobczak <see.my.homepage@gmail.com> - 2019-01-14 00:36 -0800
Re: Jaki język polecić początkującemu? - komentarz do artykułu w Programista 9/2018 godek.maciek@gmail.com - 2019-01-14 00:47 -0800
Re: Jaki język polecić początkującemu? - komentarz do artykułu w Programista 9/2018 Maciej Sobczak <see.my.homepage@gmail.com> - 2019-01-14 23:03 -0800
Re: Jaki język polecić początkującemu? - komentarz do artykułu w Programista 9/2018 godek.maciek@gmail.com - 2019-01-14 23:46 -0800
Re: Jaki język polecić początkującemu? - komentarz do artykułu w Programista 9/2018 Maciej Sobczak <see.my.homepage@gmail.com> - 2019-01-16 03:28 -0800
Re: Jaki język polecić początkującemu? - komentarz do artykułu w Programista 9/2018 godek.maciek@gmail.com - 2019-01-16 09:29 -0800
Re: Jaki język polecić początkującemu? - komentarz do artykułu w Programista 9/2018 godek.maciek@gmail.com - 2019-01-16 11:56 -0800
Re: Jaki język polecić początkującemu? - komentarz do artykułu w Programista 9/2018 Maciej Sobczak <see.my.homepage@gmail.com> - 2019-01-17 00:58 -0800
Re: Jaki język polecić początkującemu? - komentarz do artykułu w Programista 9/2018 AK <nobody@nowhere.net> - 2019-01-15 12:28 +0100
Re: Jaki język polecić początkującemu? - komentarz do artykułu w Programista 9/2018 Maciej Sobczak <see.my.homepage@gmail.com> - 2019-01-16 02:13 -0800
Re: Jaki język polecić początkującemu? - komentarz do artykułu w Programista 9/2018 godek.maciek@gmail.com - 2019-01-16 03:01 -0800
Re: Jaki język polecić początkującemu? - komentarz do artykułu w Programista 9/2018 AK <nobody@nowhere.net> - 2019-01-16 13:08 +0100
Re: Jaki język polecić początkującemu? - komentarz do artykułu w Programista 9/2018 AK <nobody@nowhere.net> - 2019-01-16 13:13 +0100
Re: Jaki język polecić początkującemu? - komentarz do artykułu w Programista 9/2018 Maciej Sobczak <see.my.homepage@gmail.com> - 2019-01-16 04:15 -0800
Re: Jaki język polecić początkującemu? - komentarz do artykułu w Programista 9/2018 godek.maciek@gmail.com - 2019-01-16 04:37 -0800
Re: Jaki język polecić początkującemu? - komentarz do artykułu w Programista 9/2018 AK <nobody@nowhere.net> - 2019-01-16 15:12 +0100
Re: Jaki język polecić początkującemu? - komentarz do artykułu w Programista 9/2018 AK <nobody@nowhere.net> - 2019-01-16 15:23 +0100
Re: Jaki język polecić początkującemu? - komentarz do artykułu w Programista 9/2018 godek.maciek@gmail.com - 2019-01-16 11:58 -0800
Re: Jaki język polecić początkującemu? - komentarz do artykułu w Programista 9/2018 AK <nobody@nowhere.net> - 2019-01-16 13:06 +0100
Re: Jaki język polecić początkującemu? - komentarz do artykułu w Programista 9/2018 Maciej Sobczak <see.my.homepage@gmail.com> - 2019-01-16 04:27 -0800
Re: Jaki język polecić początkującemu? - komentarz do artykułu w Programista 9/2018 AK <nobody@nowhere.net> - 2019-01-16 14:57 +0100
Re: Jaki język polecić początkującemu? - komentarz do artykułu w Programista 9/2018 AK <nobody@nowhere.net> - 2019-01-16 15:06 +0100
Re: Jaki język polecić początkującemu? - komentarz do artykułu w Programista 9/2018 Maciej Sobczak <see.my.homepage@gmail.com> - 2019-01-17 00:45 -0800
Re: Jaki język polecić początkującemu? - komentarz do artykułu w Programista 9/2018 AK <nobody@nowhere.net> - 2019-01-17 10:23 +0100
Re: Jaki język polecić początkującemu? - komentarz do artykułu w Programista 9/2018 Maciej Sobczak <see.my.homepage@gmail.com> - 2019-01-17 22:46 -0800
Re: Jaki język polecić początkującemu? - komentarz do artykułu w Programista 9/2018 AK <nobody@nowhere.net> - 2019-01-18 10:40 +0100
Re: Jaki język polecić początkującemu? - komentarz do artykułu w Programista 9/2018 AK <nobody@nowhere.net> - 2019-01-14 10:12 +0100
Re: Jaki język polecić początkującemu? - komentarz do artykułu w Programista 9/2018 Maciej Sobczak <see.my.homepage@gmail.com> - 2019-01-14 23:12 -0800
Re: Jaki język polecić początkującemu? - komentarz do artykułu w Programista 9/2018 AK <nobody@nowhere.net> - 2019-01-15 12:32 +0100
Re: Jaki język polecić początkującemu? - komentarz do artykułu w Programista 9/2018 AK <nobody@nowhere.net> - 2019-01-14 10:29 +0100
Re: Jaki język polecić początkującemu? - komentarz do artykułu w Programista 9/2018 Maciej Sobczak <see.my.homepage@gmail.com> - 2019-01-14 23:16 -0800
Re: Jaki język polecić początkującemu? - komentarz do artykułu w Programista 9/2018 AK <nobody@nowhere.net> - 2019-01-15 12:44 +0100
Re: Jaki język polecić początkującemu? - komentarz do artykułu w Programista 9/2018 Maciej Sobczak <see.my.homepage@gmail.com> - 2019-01-17 00:35 -0800
Re: Jaki język polecić początkującemu? - komentarz do artykułu w Programista 9/2018 Maciej Sobczak <see.my.homepage@gmail.com> - 2019-01-10 22:57 -0800
Re: Jaki język polecić początkującemu? - komentarz do artykułu w Programista 9/2018 AK <nobody@nowhere.net> - 2019-01-10 12:42 +0100
Re: Jaki język polecić początkującemu? - komentarz do artykułu w Programista 9/2018 Maciej Sobczak <see.my.homepage@gmail.com> - 2019-01-10 23:05 -0800
Re: Jaki język polecić początkującemu? - komentarz do artykułu w Programista 9/2018 Roman Tyczka <noemail@because.no> - 2018-12-29 13:44 +0100
Re: Jaki język polecić początkującemu? - komentarz do artykułu w Programista 9/2018 Maciej Sobczak <see.my.homepage@gmail.com> - 2018-12-27 10:49 -0800
Re: Jaki język polecić początkującemu? - komentarz do artykułu w Programista 9/2018 Mateusz Bogusz <mabakay@o2.pl> - 2018-12-30 16:46 +0100
Page 5 of 8 — ← Prev page 1 2 3 4 [5] 6 7 8 Next page →
| From | godek.maciek@gmail.com |
|---|---|
| Date | 2019-01-03 10:37 -0800 |
| Message-ID | <ef824136-dc9c-4a84-8db5-39747aa31221@googlegroups.com> |
| In reply to | #32232 |
W dniu czwartek, 3 stycznia 2019 17:24:12 UTC+1 użytkownik AK napisał: > Ani Twoja nieszablonowosc/otwartosc (szacunek:), ani moje doswiadczenie > (w C++ rowno 32 lata). Ciebie zhetuja, ze nie masz doswiadczenia, a > mnie ze... mam za duze :) A w ogóle dzięki za miłe słowa :) Mam wrażenie, że jakoś strasznie mało tutaj serdeczności. Dla Ciebie również szacunek!
[toc] | [prev] | [next] | [standalone]
| From | Maciej Sobczak <see.my.homepage@gmail.com> |
|---|---|
| Date | 2019-01-04 00:20 -0800 |
| Message-ID | <1aa256a3-2f1e-4a2a-9642-df21b1b380ac@googlegroups.com> |
| In reply to | #32229 |
> A teraz inny przykład:
>
> int g(int x) {
> return x + 2;
> }
>
> Jaką wartość ma wyrażenie g(5)?
> Na to pytanie odpowiesz bez problemu.
Tak.
> Nie będziesz musiał zadawać dodatkowego pytania
> w rodzaju "jaka była poprzednia wartość tego wyrażenia?".
Ale to jest bardzo dobre pytanie w przypadku maszyn stanów, ogólnie. Żeby wiedzieć, jaki będzie następny stan, trzeba wiedzieć, jaki był poprzedni. Właściwie jest to pytanie, którego nie da się uniknąć. Albo unikanie tego pytania będzie prowadziło do niepotrzebnych kosztów i komplikacji systemu.
Świat rzeczywisty bardzo dobrze modeluje się maszynami stanów.
> I to właśnie brak tego rodzaju pytań sprawia, że
> ten model jest prostszy.
Bo problem jest prostszy.
Ale weźmy inny przykład - dowolną implementację funkcji skrótu, np. CRC albo inne MD5. Choćby takie coś:
https://codereview.stackexchange.com/questions/163872/md5-implementation-in-c11
Nie mam pojęcia, czy to jest poprawne ani ile złych nawyków tam jest. Chodzi o coś innego - o wykorzystanie operacji przypisania jako naturalnego mechanizmu dochodzenia w wielu etapach (być może iteracjach) do właściwej wartości końcowej. To jest inny model, niż Twoje wyrażenia gotowe do podstawień, ale jest on częsty w realnych problemach. Tam w środku po prostu jest maszyna stanów. To jest przykład funkcji, która jako całość nie korzysta ze stanu globalnego ani statycznego i nie trzeba tam pytać, jaka była poprzednia wartość. Używając nomenklatury języków funkcjonalnych, funkcja MD5 jest "czystą funkcją". Czyli taka funkcja spełnia Twoje kryterium prostszego modelu.
Ale jakoś implementacja takiej funkcji z użyciem operatorów przypisania jest bardziej naturalna, niż bez nich. Tak bardzo, że implementacji bez operatorów przypisania w ogóle nigdzie nie znalazłem (nie żebym jakoś mocno szukał[*]).
Czy w celu podparcia swoich dotychczasowych tez podjąłbyś wyzwanie napisania takiej funkcji bez przypisań?
> Używanie statycznych zmiennych w obrębie funkcji nie jest
> niszowe. W niektórych sytuacjach jest użyteczne.
Więc dlaczego taką możliwość krytykujesz? Czy nie lepiej jest taką możliwość mieć (i nie korzystać gdy nie jest potrzebna), niż nie mieć?
> > Czy to znaczy, że taki program jest równie dobry, jak program, w którym przypisań nie ma?
>
> Nie rozumiem pytania.
Krytykujesz operacje przypisania jako zły nawyk albo konstrukcję niepotrzebną i nadmiarową. Tak przynajmniej rozumiem ten (pod)wątek. Natomiast ja się z taką tezą nie zgadzam i próbuję wykazać, że model programowania z przypisaniami (ogólnie: imperatywny) jest nie tylko wartościowy, ale często po prostu optymalny i nie tylko dlatego, że odzwierciedla działanie komputera, ale dlatego, że właściwie odzwierciedla postawiony problem. Dlatego oczekuję od języka programowania, że będzie to wspierał jako podstawową operację i konsekwentnie odrzucam języki, które tego nie mają, jako niepraktyczne.
[*] No dobra, znalazłem:
http://hackage.haskell.org/package/cryptohash-md5
"The implementation is made in C with a haskell FFI wrapper that hides the C implementation."
No tak. Tak było chyba *praktyczniej*, prawda?
Ale jest też wersja dla "purystów":
http://hackage.haskell.org/package/pureMD5-2.1.3/src/Data/Digest/Pure/MD5.hs
Totalna masakra. Nie chcę też nawet pytać, co tam robią słowa "unsafe" i czy z takimi słowami to na pewno nadal jest "pure".
W skrócie: uciekanie od imperatywności jest sztuczne i szkodzi zdrowiu.
--
Maciej Sobczak * http://www.inspirel.com
[toc] | [prev] | [next] | [standalone]
| From | godek.maciek@gmail.com |
|---|---|
| Date | 2019-01-04 02:15 -0800 |
| Message-ID | <81947a7e-30e5-48a0-b401-6cc06556aae8@googlegroups.com> |
| In reply to | #32244 |
W dniu piątek, 4 stycznia 2019 09:20:17 UTC+1 użytkownik Maciej Sobczak napisał:
> > A teraz inny przykład:
> >
> > int g(int x) {
> > return x + 2;
> > }
> >
> > Jaką wartość ma wyrażenie g(5)?
> > Na to pytanie odpowiesz bez problemu.
>
> Tak.
>
> > Nie będziesz musiał zadawać dodatkowego pytania
> > w rodzaju "jaka była poprzednia wartość tego wyrażenia?".
>
> Ale to jest bardzo dobre pytanie w przypadku maszyn stanów, ogólnie. Żeby wiedzieć, jaki będzie następny stan, trzeba wiedzieć, jaki był poprzedni. Właściwie jest to pytanie, którego nie da się uniknąć. Albo unikanie tego pytania będzie prowadziło do niepotrzebnych kosztów i komplikacji systemu.
> Świat rzeczywisty bardzo dobrze modeluje się maszynami stanów.
Maszyny stanów bardzo dobrze modeluje się czystymi funkcjami.
> > I to właśnie brak tego rodzaju pytań sprawia, że
> > ten model jest prostszy.
>
> Bo problem jest prostszy.
Tak. I ja właśnie o tym mówię: jeżeli mamy prostsze problemy,
to korzystanie ze środków, które są potrzebne do radzenia sobie
z bardziej złożonymi problemami jest błędem.
(Kiedyś słyszałem określenie "principle of least power")
> Ale weźmy inny przykład - dowolną implementację funkcji skrótu, np. CRC albo inne MD5. Choćby takie coś:
>
> https://codereview.stackexchange.com/questions/163872/md5-implementation-in-c11
>
> Nie mam pojęcia, czy to jest poprawne ani ile złych nawyków tam jest. Chodzi o coś innego - o wykorzystanie operacji przypisania jako naturalnego mechanizmu dochodzenia w wielu etapach (być może iteracjach) do właściwej wartości końcowej. To jest inny model, niż Twoje wyrażenia gotowe do podstawień, ale jest on częsty w realnych problemach. Tam w środku po prostu jest maszyna stanów. To jest przykład funkcji, która jako całość nie korzysta ze stanu globalnego ani statycznego i nie trzeba tam pytać, jaka była poprzednia wartość. Używając nomenklatury języków funkcjonalnych, funkcja MD5 jest "czystą funkcją". Czyli taka funkcja spełnia Twoje kryterium prostszego modelu.
>
> Ale jakoś implementacja takiej funkcji z użyciem operatorów przypisania jest bardziej naturalna, niż bez nich. Tak bardzo, że implementacji bez operatorów przypisania w ogóle nigdzie nie znalazłem (nie żebym jakoś mocno szukał[*]).
> Czy w celu podparcia swoich dotychczasowych tez podjąłbyś wyzwanie napisania takiej funkcji bez przypisań?
Mógłbym się podjąć, gdyby problem był dla mnie interesujący.
Akurat liczenie MD5 w obecnej chwili nie jest takim problemem.
> > Używanie statycznych zmiennych w obrębie funkcji nie jest
> > niszowe. W niektórych sytuacjach jest użyteczne.
>
> Więc dlaczego taką możliwość krytykujesz? Czy nie lepiej jest taką możliwość mieć (i nie korzystać gdy nie jest potrzebna), niż nie mieć?
Nie krytykuję tej możliwości.
Krytykuję korzystanie z tej możliwości wtedy, kiedy nie jest to
konieczne.
> > > Czy to znaczy, że taki program jest równie dobry, jak program, w którym przypisań nie ma?
> >
> > Nie rozumiem pytania.
>
> Krytykujesz operacje przypisania jako zły nawyk albo konstrukcję niepotrzebną i nadmiarową. Tak przynajmniej rozumiem ten (pod)wątek.
Nie. Krytykuję stosowanie operacji przypisania tam, gdzie można
tego uniknąć, jako zły nawyk.
Na początku dyskusji podałem link do swojego wpisu na Quorze,
w którym odnosiłem się do implementacji algorytmu A* w C++.
Autorzy krytykowanego fragmentu kodu mieli jakieś dwie globalne
tablice, w których coś tam trzymali. Dzięki temu interfejs użycia
funkcji, oprócz argumentów, obejmował inicjalizację zewnętrznych
globalnych struktur danych. Jest to jedna z gorszych rzeczy
dla modularności, jakie można zrobić. I jest to kwestia wyłącznie
złego nawyku.
Podobnie złym nawykiem jest stosowanie arbitralnych kodowań, które
było zarówno w prezentowanym kodzie, jak i w skrytykowanej przeze
mnie książce Stroustrupa (który gdzieś tam sobie wymyśla, żeby
używać znaczku '8' do reprezentowania czegoś tam)
Jak sam zauważyłeś, interfejs do kodu liczącego MD5 jest czystą
funkcją (nawet jeśli pod spodem znajduje się jakaś maszyna stanów).
I to jest dobry nawyk, że nawet jeśli w implementacji czegoś
użyjesz jakichś stanów, to nie wypychasz tego do użytkownika.
AK tutaj równolegle do nas napisał coś takiego:
from itertools import count, islice
N = 15000
pierwsze = []
def jest_pierwsza(liczba, pierwsze=pierwsze):
czy_pierwsza = all(liczba % pierwsza for pierwsza in pierwsze)
if czy_pierwsza: pierwsze.append(liczba)
return czy_pierwsza
pierwsze = (liczba for liczba in count(2) if jest_pierwsza(liczba))
pierwszeN = (liczba for liczba in islice(pierwsze, N))
kwadraty = (liczba**2 for liczba in pierwszeN)
suma = sum(kwadraty)
print(suma)
Jak widać, jest tutaj sobie globalna tablica o nazwie "pierwsze",
która gdzieś tam jest modyfikowana. W takim małym przykładzie
może nie jest to szkodliwe, ale przy budowaniu większych systemów
już tak.
Bardzo dużo widziałem kursów programowania, które skupiają się
na małych przykładach, które przy próbie skalowania powodowałyby
chaos.
> Natomiast ja się z taką tezą nie zgadzam i próbuję wykazać, że model programowania z przypisaniami (ogólnie: imperatywny) jest nie tylko wartościowy, ale często po prostu optymalny i nie tylko dlatego, że odzwierciedla działanie komputera, ale dlatego, że właściwie odzwierciedla postawiony problem.
Jeżeli właściwie odzwierciedla postawiony problem, to w porządku.
> Dlatego oczekuję od języka programowania, że będzie to wspierał jako podstawową operację i konsekwentnie odrzucam języki, które tego nie mają, jako niepraktyczne.
W porządku. Używaj sobie czego chcesz. To Twoja sprawa.
Ja natomiast mówię o perspektywie innej, niż Twoja.
Pytanie postawione w wątku brzmi "jaki język polecić początkującemu".
Operator przypisania w językach takich jak C czy Python jest
łatwo dostępny, i sprawia wrażenie, że jest prostą operacją.
Brutalna rzeczywistość jest jednak taka, że używanie operatora
przypisania stwarza możliwość do popełnienia wielu błędów,
i właśnie z tego powodu w pierwszych dwóch rozdziałach SICP
nie znajdziesz ani jednego użycia tego operatora, a kiedy wreszcie
zostaje wprowadzony, jest obwarowany ostrzeżeniami i przykładami
problemów, które może powodować. (I nie ma to najmniejszego
związku z językiem Scheme)
I nie, nie chodzi o to, żeby nigdy nie używać przypisania.
Pomijam kwestię, że dla osób, które uczyły się matematyki, zapis
w rodzaju
x = x + 1
jest po prostu równaniem pozbawionym rozwiązań, zaś jedynym
rozwiązaniem formuły
x = 2 * x;
jest x = 0.
> [*] No dobra, znalazłem:
>
> http://hackage.haskell.org/package/cryptohash-md5
>
> "The implementation is made in C with a haskell FFI wrapper that hides the C implementation."
>
> No tak. Tak było chyba *praktyczniej*, prawda?
No najwidoczniej tak.
> Ale jest też wersja dla "purystów":
>
> http://hackage.haskell.org/package/pureMD5-2.1.3/src/Data/Digest/Pure/MD5.hs
>
> Totalna masakra. Nie chcę też nawet pytać, co tam robią słowa "unsafe" i czy z takimi słowami to na pewno nadal jest "pure".
>
> W skrócie: uciekanie od imperatywności jest sztuczne i szkodzi zdrowiu.
Jak kiedyś będę miał więcej czasu, to może przyjrzę się temu zagadnieniu bliżej.
(Ogólnie wygląda mi na to, że ten przykład powinien się dobrze nadawać
do wyrażenia w postaci funkcyjnej)
[toc] | [prev] | [next] | [standalone]
| From | Maciej Sobczak <see.my.homepage@gmail.com> |
|---|---|
| Date | 2019-01-06 23:47 -0800 |
| Message-ID | <d1c3a526-af96-46f2-9bbe-24ce0e9c559e@googlegroups.com> |
| In reply to | #32248 |
> Maszyny stanów bardzo dobrze modeluje się czystymi funkcjami. Właśnie nie i widać to na przykładzie MD5. Co więcej, maszyny stanów w zastosowaniach praktycznych (np. wbudowanych) są stymulowane z zewnątrz, np. przez przerwania (ogólnie: tzw. programowanie zdarzeniowe). Nie ma jak tego popchnąć inaczej, niż przez odwołania do jakiegoś stanu, który pamięta, co było poprzednio. Nie wiem, jak miałaby wyglądać realizacja takiego automatu przy użyciu czystych funkcji. > Tak. I ja właśnie o tym mówię: jeżeli mamy prostsze problemy, > to korzystanie ze środków, które są potrzebne do radzenia sobie > z bardziej złożonymi problemami jest błędem. > (Kiedyś słyszałem określenie "principle of least power") Ależ ja się z tym zgadzam. > Mógłbym się podjąć, gdyby problem był dla mnie interesujący. > Akurat liczenie MD5 w obecnej chwili nie jest takim problemem. Rozumiem. Mamy więc (niezaskakujący) wniosek, że różne języki są właściwe do różnych problemów. [zmienne statyczne] > Krytykuję korzystanie z tej możliwości wtedy, kiedy nie jest to > konieczne. Ależ ja się z tym całkowicie zgadzam. > Krytykuję stosowanie operacji przypisania tam, gdzie można > tego uniknąć, jako zły nawyk. Ale teraz mieszasz tematy. Nie pokazałeś żadnego przykładu, w którym można uniknąć operacji przypisania - ani tym bardziej, po co należałoby tego unikać. Musiałeś sięgnąć po zmienne statyczne, żeby udowodnić coś na temat operacji przypisania - to był właśnie błąd w Twojej argumentacji. Możemy się zgodzić, że nadużywanie zmiennych statycznych jest złe, ale nie wynika z tego kompletnie nic nt. operacji przypisania. Funkcja MD5 jest dobrym przykładem funkcji, w której zmiennych statycznych nie ma, a operacja przypisania jest niezbędna, żeby napisać sensownie wyglądający kod. Powtórzę dla tych, co nie zerknęli na przykłady: 1. w C++ (ogólnie: w języku imperatywnym) jest zmienna "r", i jest pętla, która ma 64 iteracje, w których modyfikuje zmienną "r". 2. w Haskellu są 64 zmienne (a raczej stałe), od "r0" do "r63" i rozwinięty kod pętli, który przypisuje kolejne wartości na podstawie poprzednich. Gdybym był złośliwy, to zapytałbym, co by było, gdyby iteracji było 1k. Albo 1M. Nadal uważam, że operator przypisania jest niezbędnym narzędziem w uniwersalnym języku programowania (C++ taki jest, Haskell chciałby) i nie widziałem jeszcze przykładu kodu, w którym byłby użyty niepotrzebnie. Co więcej, nawet sztuczny przykład z "niepotrzebnie" rozpisanym długim wyrażeniem na fafnaście małych mógłbym bronić jako uzasadniony, np. w celach dignostycznych. Debugery to lubią. > Autorzy krytykowanego fragmentu kodu [...] Oczywiście. W każdym języku można napisać gówniany kod. Ale ja chcę język, w którym będę mógł napisać dobry kod. Np. funkcji MD5. Tymczasem znalazłem gówniany kod w Haskellu. Problem w tym, że nie znalazłem dobrego. A to budzi obawy, że może nie da się tego zrobić dobrze w tym języku. A to jest już bardzo poważny zarzut, bo to nawet nie jest problem nawyków powielanych przez słabe materiały dydaktyczne. > Jak sam zauważyłeś, interfejs do kodu liczącego MD5 jest czystą > funkcją No właśnie. Tym bardziej martwi niemoc Haskella w tej sprawie. > I to jest dobry nawyk, że nawet jeśli w implementacji czegoś > użyjesz jakichś stanów, to nie wypychasz tego do użytkownika. Ależ oczywiście. To się nazywa enkapsulacja. Nadal jednak chcę mieć operator przypisania w języku. > Bardzo dużo widziałem kursów programowania, które skupiają się > na małych przykładach, które przy próbie skalowania powodowałyby > chaos. Bardzo dobre spostrzeżenie. Wrócimy do niego. > W porządku. Używaj sobie czego chcesz. To Twoja sprawa. > Ja natomiast mówię o perspektywie innej, niż Twoja. OK. Ja mogę mieć różne perspektywy. :-) > Pytanie postawione w wątku brzmi "jaki język polecić początkującemu". Właśnie. Może taki, który *umożliwia* łatwą implementację dowolnego problemu? Np. kalkulatora? Albo np. funkcji MD5? > Operator przypisania w językach takich jak C czy Python jest > łatwo dostępny, i sprawia wrażenie, że jest prostą operacją. Bo jest. To jest podstawowa operacja. > Brutalna rzeczywistość jest jednak taka, że używanie operatora > przypisania stwarza możliwość do popełnienia wielu błędów, Nadal czekam na przykład. Uwaga: zmienne statyczne już skrytykowaliśmy. Czekam na przykład z operatorem przypisania. > i właśnie z tego powodu w pierwszych dwóch rozdziałach SICP A z jakiego powodu teraz używają Pythona do nauki? > Pomijam kwestię, że dla osób, które uczyły się matematyki, I to jest błąd logiczny. Piszesz, że interesują Cię jak najłatwiejsze metody współpracy z komputerem a teraz powołujesz się na osoby, które uczyły się matematyki? Wyobraźmy sobie więc osoby, które się nie uczyły. Przecież Ty sam pisałeś tu o osobach, które na co dzień używają arkuszy kalkulacyjnych. Bądź bardziej konsekwentny. > zapis > w rodzaju > x = x + 1 > jest po prostu równaniem pozbawionym rozwiązań, Powiedz tym osobom, że to nie jest równanie. Osoby, które uczyły się matematyki, to nie są chyba jakieś ograniczone młoty, dla których takie założenie miałoby być nieosiągalne. Zwłaszcza, że każdy matematyk używał gumki do ołówka albo gąbki do tablicy i na pewno coś kiedyś zmazywał, żeby coś nowego w tym samym miejscu napisać. Uwaga: niektóre języki używają innego symbolu, np. := w tym celu, ale nie wierzę, żeby to miało być dla kogoś krytyczne. Zwłaszcza dla ludzi z wykształceniem matematycznym. -- Maciej Sobczak * http://www.inspirel.com
[toc] | [prev] | [next] | [standalone]
| From | godek.maciek@gmail.com |
|---|---|
| Date | 2019-01-07 02:23 -0800 |
| Message-ID | <a28feef2-f2ea-4943-a1d4-aa341679f962@googlegroups.com> |
| In reply to | #32275 |
W dniu poniedziałek, 7 stycznia 2019 08:47:05 UTC+1 użytkownik Maciej Sobczak napisał:
> > Maszyny stanów bardzo dobrze modeluje się czystymi funkcjami.
>
> Właśnie nie i widać to na przykładzie MD5.
> Co więcej, maszyny stanów w zastosowaniach praktycznych (np. wbudowanych) są stymulowane z zewnątrz, np. przez przerwania (ogólnie: tzw. programowanie zdarzeniowe). Nie ma jak tego popchnąć inaczej, niż przez odwołania do jakiegoś stanu, który pamięta, co było poprzednio. Nie wiem, jak miałaby wyglądać realizacja takiego automatu przy użyciu czystych funkcji.
Jak będę miał wolną chwilę to coś z tym pokombinuję.
> > Tak. I ja właśnie o tym mówię: jeżeli mamy prostsze problemy,
> > to korzystanie ze środków, które są potrzebne do radzenia sobie
> > z bardziej złożonymi problemami jest błędem.
> > (Kiedyś słyszałem określenie "principle of least power")
>
> Ależ ja się z tym zgadzam.
>
> > Mógłbym się podjąć, gdyby problem był dla mnie interesujący.
> > Akurat liczenie MD5 w obecnej chwili nie jest takim problemem.
>
> Rozumiem. Mamy więc (niezaskakujący) wniosek, że różne języki są właściwe do różnych problemów.
Pytanie, jaki dalszy wniosek możemy wyciągnąć z tego wniosku.
Może na przykład taki, że rozsądnie byłoby eksplorować języki,
które ułatwiają projektowanie języków.
Albo jakiś inny.
> > Krytykuję stosowanie operacji przypisania tam, gdzie można
> > tego uniknąć, jako zły nawyk.
>
> Ale teraz mieszasz tematy. Nie pokazałeś żadnego przykładu, w którym można uniknąć operacji przypisania - ani tym bardziej, po co należałoby tego unikać. Musiałeś sięgnąć po zmienne statyczne, żeby udowodnić coś na temat operacji przypisania - to był właśnie błąd w Twojej argumentacji. Możemy się zgodzić, że nadużywanie zmiennych statycznych jest złe, ale nie wynika z tego kompletnie nic nt. operacji przypisania.
Możesz zerknąć w przykłady programów liczących sumę kwadratów
początkowych siedmiu liczb pierwszych, które przewinęły się
przez ten wątek (to było w odpowiedzi na post AK).
Tam dokładnie pokazałem przykład rozumowania podstawieniowego.
> Funkcja MD5 jest dobrym przykładem funkcji, w której zmiennych statycznych nie ma, a operacja przypisania jest niezbędna, żeby napisać sensownie wyglądający kod. Powtórzę dla tych, co nie zerknęli na przykłady:
>
> 1. w C++ (ogólnie: w języku imperatywnym) jest zmienna "r", i jest pętla, która ma 64 iteracje, w których modyfikuje zmienną "r".
>
> 2. w Haskellu są 64 zmienne (a raczej stałe), od "r0" do "r63" i rozwinięty kod pętli, który przypisuje kolejne wartości na podstawie poprzednich.
>
> Gdybym był złośliwy, to zapytałbym, co by było, gdyby iteracji było 1k. Albo 1M.
>
> Nadal uważam, że operator przypisania jest niezbędnym narzędziem w uniwersalnym języku programowania (C++ taki jest, Haskell chciałby) i nie widziałem jeszcze przykładu kodu, w którym byłby użyty niepotrzebnie.
> Co więcej, nawet sztuczny przykład z "niepotrzebnie" rozpisanym długim wyrażeniem na fafnaście małych mógłbym bronić jako uzasadniony, np. w celach dignostycznych. Debugery to lubią.
>
> > Autorzy krytykowanego fragmentu kodu [...]
>
> Oczywiście. W każdym języku można napisać gówniany kod. Ale ja chcę język, w którym będę mógł napisać dobry kod. Np. funkcji MD5. Tymczasem znalazłem gówniany kod w Haskellu. Problem w tym, że nie znalazłem dobrego. A to budzi obawy, że może nie da się tego zrobić dobrze w tym języku. A to jest już bardzo poważny zarzut, bo to nawet nie jest problem nawyków powielanych przez słabe materiały dydaktyczne.
Może. Ale może też problem, na który się powołujesz, jest bardzo
specyficzny (również ze względu na kontekst swojego powstawania).
Większość programistów, jakich znam, nie implementuje swojego MD5.
Być może z dydaktycznego punktu widzenia lepiej jest, żeby
programiści najpierw uczyli się języków, które realizują prostsze
modele obliczeń, a dopiero później (jeśli zajdzie taka potrzeba)
takich, które pozwalają na ścisłą kontrolę sprzętu.
(Wiele wskazuje na to, że tak właśnie jest)
> > Bardzo dużo widziałem kursów programowania, które skupiają się
> > na małych przykładach, które przy próbie skalowania powodowałyby
> > chaos.
>
> Bardzo dobre spostrzeżenie. Wrócimy do niego.
>
> > W porządku. Używaj sobie czego chcesz. To Twoja sprawa.
> > Ja natomiast mówię o perspektywie innej, niż Twoja.
>
> OK. Ja mogę mieć różne perspektywy. :-)
>
> > Pytanie postawione w wątku brzmi "jaki język polecić początkującemu".
>
> Właśnie. Może taki, który *umożliwia* łatwą implementację dowolnego problemu? Np. kalkulatora? Albo np. funkcji MD5?
Nie sądzę, żeby istniał taki język.
Czasem się spotykam z takim sformułowaniem, że dobry
język powinien robić tak, żeby łatwe rzeczy były w nim
łatwe, a trudne przynajmniej możliwe.
> > Operator przypisania w językach takich jak C czy Python jest
> > łatwo dostępny, i sprawia wrażenie, że jest prostą operacją.
>
> Bo jest. To jest podstawowa operacja.
Podstawowa dla jakiego problemu?
> > Brutalna rzeczywistość jest jednak taka, że używanie operatora
> > przypisania stwarza możliwość do popełnienia wielu błędów,
>
> Nadal czekam na przykład.
> Uwaga: zmienne statyczne już skrytykowaliśmy. Czekam na przykład z operatorem przypisania.
Weźmy kod fira z tego wątku:
int PoliczSumeParuPoczatkowychLiczbPierwszych(int ilu)
{
int i = 0, dodano = 0, suma = 0;
for(;;)
if(jest_liczba_pierwsza(++i))
{
suma += i*i ;
if(++dodano==ilu) return suma;
}
}
Załóżmy, że zmienimy linijkę
if(++dodano==ilu) return suma;
na
if(dodano++==ilu) return suma;
Już mamy błąd.
> > i właśnie z tego powodu w pierwszych dwóch rozdziałach SICP
>
> A z jakiego powodu teraz używają Pythona do nauki?
Wyjaśniają w tekście, który podlinkowałeś wcześniej.
> > Pomijam kwestię, że dla osób, które uczyły się matematyki,
>
> I to jest błąd logiczny. Piszesz, że interesują Cię jak najłatwiejsze metody współpracy z komputerem a teraz powołujesz się na osoby, które uczyły się matematyki?
Podałem też przykład z siedmioletnią dziewczynką.
> Wyobraźmy sobie więc osoby, które się nie uczyły. Przecież Ty sam pisałeś tu o osobach, które na co dzień używają arkuszy kalkulacyjnych. Bądź bardziej konsekwentny.
>
> > zapis
> > w rodzaju
> > x = x + 1
> > jest po prostu równaniem pozbawionym rozwiązań,
>
> Powiedz tym osobom, że to nie jest równanie. Osoby, które uczyły się matematyki, to nie są chyba jakieś ograniczone młoty, dla których takie założenie miałoby być nieosiągalne. Zwłaszcza, że każdy matematyk używał gumki do ołówka albo gąbki do tablicy i na pewno coś kiedyś zmazywał, żeby coś nowego w tym samym miejscu napisać.
> Uwaga: niektóre języki używają innego symbolu, np. := w tym celu, ale nie wierzę, żeby to miało być dla kogoś krytyczne. Zwłaszcza dla ludzi z wykształceniem matematycznym.
Polecam ten wykład:
https://www.youtube.com/watch?v=uEFrE6cgVNY
[toc] | [prev] | [next] | [standalone]
| From | Wojciech Muła <wojtek.mula@gmail.com> |
|---|---|
| Date | 2019-01-08 00:08 -0800 |
| Message-ID | <4a7236b3-2ac9-4563-b8cd-66a05efbc1f7@googlegroups.com> |
| In reply to | #32277 |
On Monday, January 7, 2019 at 11:23:26 AM UTC+1, godek....@gmail.com wrote: > Może. Ale może też problem, na który się powołujesz, jest bardzo > specyficzny (również ze względu na kontekst swojego powstawania). > Większość programistów, jakich znam, nie implementuje swojego MD5. Nawet nie wiesz, jakie to jest śmieszne w wątku, gdzie na poważnie dyskutuje się o sumowaniu kwadratów n początkowych liczb pierwszych. :) w.
[toc] | [prev] | [next] | [standalone]
| From | godek.maciek@gmail.com |
|---|---|
| Date | 2019-01-08 00:31 -0800 |
| Message-ID | <93175cb7-111a-48fd-bc58-7c55492f6256@googlegroups.com> |
| In reply to | #32279 |
W dniu wtorek, 8 stycznia 2019 09:08:15 UTC+1 użytkownik Wojciech Muła napisał: > On Monday, January 7, 2019 at 11:23:26 AM UTC+1, godek....@gmail.com wrote: > > Może. Ale może też problem, na który się powołujesz, jest bardzo > > specyficzny (również ze względu na kontekst swojego powstawania). > > Większość programistów, jakich znam, nie implementuje swojego MD5. > > Nawet nie wiesz, jakie to jest śmieszne w wątku, gdzie na > poważnie dyskutuje się o sumowaniu kwadratów n początkowych > liczb pierwszych. :) Jeśli lubisz się śmiać, to chyba dobrze. Przykład z kwadratami liczb pierwszych ma przede wszystkim ilustrować korespondencję pomiędzy sformułowaniem problemu, a jego rozwiązaniem. Spróbuj sformułować problem liczenia MD5 bez odwoływana się do istniejących implementacji i dokumentów. Czekam.
[toc] | [prev] | [next] | [standalone]
| From | Maciej Sobczak <see.my.homepage@gmail.com> |
|---|---|
| Date | 2019-01-09 00:08 -0800 |
| Message-ID | <20752e51-a467-4702-bf7d-eb52776ba5dc@googlegroups.com> |
| In reply to | #32280 |
> Spróbuj sformułować problem liczenia MD5 bez odwoływana się > do istniejących implementacji i dokumentów. Czekam. Źle. Jeśli ograniczasz swoją perspektywę tylko do problemów, które można wytłumaczyć przez telefon, to sam sobie budujesz szklany sufit. Jednocześnie sam sobie zaprzeczasz, bo twierdziłeś tutaj, że bardziej od słów cenisz sobie hiper-precyzyjny zapis w postaci kodu. Dlaczego teraz przed tym uciekasz? Algorytm MD5 jest opisany np. tutaj: https://en.wikipedia.org/wiki/MD5 Jest tam sekcja Algorithm a pod nią Pseudocode. Istnieje spora szansa, że nie da się tego wyrazić prościej. Pytanie teraz, jak to zaprogramować. I w czym. -- Maciej Sobczak * http://www.inspirel.com
[toc] | [prev] | [next] | [standalone]
| From | godek.maciek@gmail.com |
|---|---|
| Date | 2019-01-09 14:21 -0800 |
| Message-ID | <a80077e0-9d36-411b-8095-6dca3e5b38f8@googlegroups.com> |
| In reply to | #32299 |
W dniu środa, 9 stycznia 2019 09:08:24 UTC+1 użytkownik Maciej Sobczak napisał: > > Spróbuj sformułować problem liczenia MD5 bez odwoływana się > > do istniejących implementacji i dokumentów. Czekam. > > Źle. Jeśli ograniczasz swoją perspektywę tylko do problemów, które można wytłumaczyć przez telefon, to sam sobie budujesz szklany sufit. Jednocześnie sam sobie zaprzeczasz, bo twierdziłeś tutaj, że bardziej od słów cenisz sobie hiper-precyzyjny zapis w postaci kodu. Dlaczego teraz przed tym uciekasz? Nie uciekam. Uważam, że sformułowanie problemu jest koślawe. Określenie "zaimplementuj algorytm MD5" jest pojęciowo wtórne w takim sensie, że to nie rozwiązuje żadnego problemu. MD5 samo już jest rozwiązaniem pewnego problemu: "chcemy mieć funkcję skrótu o takich a takich własnościach", albo "chcemy mieć program, który ma takie a takie własności matematyczne, i które można wydajnie zaimplementować na takiej a takiej klasie sprzętu". > Algorytm MD5 jest opisany np. tutaj: > > https://en.wikipedia.org/wiki/MD5 > > Jest tam sekcja Algorithm a pod nią Pseudocode. > > Istnieje spora szansa, że nie da się tego wyrazić prościej. > Pytanie teraz, jak to zaprogramować. I w czym. Moja odpowiedź jest taka, że ktoś już to zrobił. Jest implementacja, której możesz użyć, którą możesz sobie przetłumaczyć, itp. MD5 zostało zaprojektowane przez osobę o wysokim poziomie ekspertyzy w algorytmice. Podejrzewam, że 99% programistów nie wpadłoby na coś podobnego. Nie uważam, że to źle. I nie jestem przeciwny temu, żeby ludzie stawali się ekspertami. Jednak przypomnę, że tytuł tego wątku brzmi "Jaki język polecić początkującemu".
[toc] | [prev] | [next] | [standalone]
| From | Maciej Sobczak <see.my.homepage@gmail.com> |
|---|---|
| Date | 2019-01-10 02:16 -0800 |
| Message-ID | <93828744-9a8e-443a-aee6-e25e080a8c19@googlegroups.com> |
| In reply to | #32302 |
> Określenie "zaimplementuj algorytm MD5" jest pojęciowo wtórne w takim sensie, że to nie rozwiązuje żadnego problemu. To jest przykład rozwiązania problemu typu "napisz funkcję zgodnie ze specyfikacją". Specyfikację określa klient. Jeżeli jest jakiś problem z tą konkretną funkcją, to można wymyślić nieskończenie wiele innych funkcji, z którymi będzie taki sam problem. Być możę trafię na taki problem w kolejnym projekcie robionym na zlecenie. Nie, nie pomoże mi zwalenie winy na klienta. Jest to też przykład rozwiązania problemu, którego być może w ogóle nie da się rozwiązań inaczej, niż przez automat. Istnieją różne teorie na temat tego, jak można jakiś problem opisać, istnieją nawet pewne minimalne zapisy, poniżej których nie da się zejść. To jest zagadnienie ogólne. A ten konkretny przykład pokazuje, jakie są ograniczenia podejścia funkcyjnego do zapisu różnych rzeczy. Być może trafię na taki problem w kolejnym projekcie robionym na zlecenie LUB nawet we własnym, kreatywnym, nawet nie mając ograniczeń narzuconych z zewnątrz. To by była szkoda, bo wtedy nawet nie ma na kogo zwalić winy. Problem jest fundamentalny i można go przedstawić tak: imperatywnie da się zapisać (i rozwiązać) każdy problem, natomiast nie każdy problem da się zapisać funkcjonalnie. Z tego wynika, że imperatywność jest bardziej uniwersalna jako narzędzie do rozwiązywania problemów. I o tym jest ten przykład. > Moja odpowiedź jest taka, że ktoś już to zrobił. Nie o to chodzi. To jest przykład z pewnej klasy. Być może nieskończenie licznej. > Jednak przypomnę, że tytuł tego wątku brzmi > "Jaki język polecić początkującemu". To jak to było w tym Twoim argumentem? Że łatwe rzeczy stają się trudne a o trudnych można w ogóle zapomnieć? -- Maciej Sobczak * http://www.inspirel.com
[toc] | [prev] | [next] | [standalone]
| From | AK <nobody@nowhere.net> |
|---|---|
| Date | 2019-01-08 09:42 +0100 |
| Message-ID | <q11npe$1r4h$1@gioia.aioe.org> |
| In reply to | #32279 |
On 2019-01-08 09:08, Wojciech Muła wrote:
> On Monday, January 7, 2019 at 11:23:26 AM UTC+1, godek....@gmail.com wrote:
>> Może. Ale może też problem, na który się powołujesz, jest bardzo
>> specyficzny (również ze względu na kontekst swojego powstawania).
>> Większość programistów, jakich znam, nie implementuje swojego MD5.
>
> Nawet nie wiesz, jakie to jest śmieszne w wątku, gdzie na
> poważnie dyskutuje się o sumowaniu kwadratów n początkowych
> liczb pierwszych. :)
>
> w.
1. W tym watku _nie dyskutuje sie_ o sumowaniu kwadratow
poczatkowych liczb perwszych. To klasyczny "learning by example".
PS: Smieszne to rzeczywiscie bylo (w innym watku) podnoszenie (przez
Szanownych Ayatollahow badziewia zwanego C++) sprawy niemoznosci
zrobienia listy/standardowej kolekcji prymitywow Javowych jako niby
wada samej Javy jako jezyka. Tymczasem jest to wylacznie sprawa
takiej a nie innej implementacji biblioteki, a implementacji
nie majacych tej "wady" co niemiara (ze wspomne chocby o
https://www.eclipse.org/collections/ - ze "niestandardowa"?
heh, o wiele bardziej standardowa dla Javy niz boost czy Qt dla C++.
Nie spotkalem Javovca ktory nie bylby za pan brat z Eclipse
i jego srodowiskiem).
2. W tym watku dyskutuje sie o badziewnosci i trupowatosci C++
w stosunku do innych jezykow programowania.
PS:Az dziw mnie bierze, ze Szanowna Mlodziezy - tak przecie z
natury "Nowoczesna" i "do przodu" tak broni tego emeryta i kołtuna
zwanego C++ :).
AK
[toc] | [prev] | [next] | [standalone]
| From | Wojciech Muła <wojtek.mula@gmail.com> |
|---|---|
| Date | 2019-01-08 08:21 -0800 |
| Message-ID | <db1c11b6-6722-4c99-9ed9-d74901f78fef@googlegroups.com> |
| In reply to | #32281 |
On Tuesday, January 8, 2019 at 9:42:25 AM UTC+1, AK wrote:
> 1. W tym watku _nie dyskutuje sie_ o sumowaniu kwadratow
> poczatkowych liczb perwszych. To klasyczny "learning by example".
Jest to problem skrajnie niepraktyczny, w przeciwieństwie do MD5.
Fajnie, że można zabawkowe rzeczy napisać szybko, ale to tylko
zabawki. Rzeczywistość boleśnie pokazuje, że fajne języki są
fajne tylko na slajdach, nikt ich na poważnie nie stosuje.
Oczywiście nie można odmówić fajnym językom zalet. Można o nich
napisać pracę magisterską, a nawet dorobić się doktoratu, czy
pojawiać na konferencjach ze stosownie mądrymi odczytami i
ogólnie być ponad tą masą debili piszących w mainstreamowych
językach. Ale to wszystko tak naprawdę jest bez znaczenia.
> PS: Smieszne to rzeczywiscie bylo (w innym watku) podnoszenie (przez
> Szanownych Ayatollahow badziewia zwanego C++) sprawy niemoznosci
> zrobienia listy/standardowej kolekcji prymitywow Javowych jako niby
> wada samej Javy jako jezyka.
Nie, to jest wada Javy, bo nie można pogodzić starych typów z
nowymi z powodu maszyny wirtualnej, której z kolei nie można
zmienić "bo kompatybilność". Maszyna wirtualna została
zaprojektowana 25 lat temu i jest przestarzała od jakiś 20 lat.
Co nie wpływa na fakt, że Java nie zdechnie przez następne
150 lat, tyle kodu w niej powstało.
> 2. W tym watku dyskutuje sie o badziewnosci i trupowatosci C++
> w stosunku do innych jezykow programowania.
Słaba ta dyskusja, miałka niestety. Mnie, jako wieloletniego
krytyka C++[1] i jednocześnie praktyka nic tutaj nie przekonuje.
Daleko tu do mojego ulubionego https://yosefk.com/c++fqa/.
Niestety, Yosef wymiękł i nie kontynuuje dzieła wytykania głupot
w C++11, C++14, czy C++17, a byłoby tego sporo. Co ciekawe, dużo
można by dodać np. z konferencji CppCon, bo wbrew opiniom
programiści C++ są krytyczni. Np. Stroustrup mówił, że "auto"
jest używane wbrew intencjom --- nie chwaląc się, przewidziałem
ten efekt 4 lata temu.
[1] Na przykład:
http://0x80.pl/notesen/2019-01-07-cpp-read-file.html
http://0x80.pl/notesen/2018-04-28-be-careful-with-dir-iterator.html
http://0x80.pl/notesen/2018-03-16-awful-part-of-cpp.html
http://0x80.pl/notesen/2015-11-22-another-cpp-nasty-feature.html
> PS:Az dziw mnie bierze, ze Szanowna Mlodziezy - tak przecie z
> natury "Nowoczesna" i "do przodu" tak broni tego emeryta i kołtuna
> zwanego C++ :).
Pochlebiasz mi, ale ja już jestem na tyle stary, że
zrozumiałem na czym polega inercja. Można napisać 1 gigabajt
tekstów o tym, że C++ jest badziewiem, ale co to niby
zmieni? Badziewie zadziwiająco dobrze się trzyma i
zadziwiająco dużo kasy w niego idzie z różnych stron. Staje
się mniej badziewne nawet, o czym jednak trudno się
przekonać bez praktyki.
Szczęśliwie już jestem na tym etapie, że mało mnie interesują
języki programowania, to dość nudny kawałek IT. Naprawdę
ciekawe są kompilatory, ale tylko ta cześć za frontendem. :)
w.
[toc] | [prev] | [next] | [standalone]
| From | AK <nobody@nowhere.net> |
|---|---|
| Date | 2019-01-08 22:48 +0100 |
| Message-ID | <q135qo$hdp$1@gioia.aioe.org> |
| In reply to | #32289 |
On 2019-01-08 17:21, Wojciech Muła wrote: > Jest to problem skrajnie niepraktyczny, w przeciwieństwie do MD5. > Fajnie, że można zabawkowe rzeczy napisać szybko, ale to tylko > zabawki. Rzeczywistość boleśnie pokazuje, że fajne języki są > fajne tylko na slajdach, nikt ich na poważnie nie stosuje. > Oczywiście nie można odmówić fajnym językom zalet. Można o nich > napisać pracę magisterską, a nawet dorobić się doktoratu, czy > pojawiać na konferencjach ze stosownie mądrymi odczytami i > ogólnie być ponad tą masą debili piszących w mainstreamowych > językach. Ale to wszystko tak naprawdę jest bez znaczenia. 10 lat temu zrywaliscie boki jak nie gdze indziej niz tu "promowalem" Pythona. 10 lat temu wieli glowny Mufti C++ niejaki Sekator van Skijlen zarykiwal sie gdy "promowalem" tu .NET-a/C#. No ze pojade klasykiem: i kto mial racje ? A gdzie bylo C++ w tym czasie? Ano (do czasu C++14, choc to tez przegadany syf...) byl w d... gdy inne jezyki sie rozwijaly. >> PS: Smieszne to rzeczywiscie bylo (w innym watku) podnoszenie (przez >> Szanownych Ayatollahow badziewia zwanego C++) sprawy niemoznosci >> zrobienia listy/standardowej kolekcji prymitywow Javowych jako niby >> wada samej Javy jako jezyka. > > Nie, to jest wada Javy, bo nie można pogodzić starych typów z > nowymi z powodu maszyny wirtualnej, której z kolei nie można > zmienić "bo kompatybilność". Maszyna wirtualna została > zaprojektowana 25 lat temu i jest przestarzała od jakiś 20 lat. > Co nie wpływa na fakt, że Java nie zdechnie przez następne > 150 lat, tyle kodu w niej powstało. Wumyslane problemy. W zyciu mi sie nie zdarzylo miec problemy ze stosowaniem i wydajnoscia koekcji Integer vs int, czy Double vs double. Moze w czasach 16bit/1MB to tak ale dzis gdy RAM na 1000 x wiecej miejsca niz wtedy najwiekszy HDD ? >> 2. W tym watku dyskutuje sie o badziewnosci i trupowatosci C++ >> w stosunku do innych jezykow programowania. > > Słaba ta dyskusja, miałka niestety. Mnie, jako wieloletniego > krytyka C++[1] i jednocześnie praktyka nic tutaj nie przekonuje. Przeciez nikt tu nie bedzie przedyskutowywal calego raportu C++ :) Szkoda zycia na cus takiego. > [1] Na przykład: > http://0x80.pl/notesen/2019-01-07-cpp-read-file.html > http://0x80.pl/notesen/2018-04-28-be-careful-with-dir-iterator.html > http://0x80.pl/notesen/2018-03-16-awful-part-of-cpp.html > http://0x80.pl/notesen/2015-11-22-another-cpp-nasty-feature.html > >> PS:Az dziw mnie bierze, ze Szanowna Mlodziezy - tak przecie z >> natury "Nowoczesna" i "do przodu" tak broni tego emeryta i kołtuna >> zwanego C++ :). > > Pochlebiasz mi, ale ja już jestem na tyle stary, że > zrozumiałem na czym polega inercja. Można napisać 1 gigabajt > tekstów o tym, że C++ jest badziewiem, ale co to niby > zmieni? Nic :) Po prostu C++ badziewne jest i tyle :) Trzeba umiec dazyc do "prawdy obektywnej" a nie opierac sie na wlasnych "uwazaniach"/fanatyzmie. > Badziewie zadziwiająco dobrze się trzyma i > zadziwiająco dużo kasy w niego idzie z różnych stron. Staje > się mniej badziewne nawet, o czym jednak trudno się > przekonać bez praktyki. > Chinskie wyroby tez trzymaja sie dobrze, ale czy to znaczy ze sa "obiektywnie dobre" ?. > Szczęśliwie już jestem na tym etapie, że mało mnie interesują > języki programowania, to dość nudny kawałek IT. Baaardzo ciekawy :). Zwlaszac ich historia i ewolucja (czesciej degradacja niestety). > Naprawdę ciekawe są kompilatory, ale tylko ta cześć za frontendem. :) Zeby taki kompilator byl ciekawy, musi byc naprawde dobry jezyk. Jesli to jest cus w rodzaju C++ to jest to raczej malo ciekawa mordega. (Poza tym dla rzezbiarza niusne produkcji dluta sa/powinny byc raczej malo ekscytujace. Jak i dla wirtuoza skrzypiec nie sa najwazniejsze niuanse lutnicze ale mozliwosci brzmieniowe konkretnych skrzypiec. Co innego dla innego lutnika:) To fakt). AK
[toc] | [prev] | [next] | [standalone]
| From | Wojciech Muła <wojtek.mula@gmail.com> |
|---|---|
| Date | 2019-01-09 14:22 -0800 |
| Message-ID | <88a5063f-5c6c-4d9c-b5ae-8cfaebeb5621@googlegroups.com> |
| In reply to | #32294 |
On Tuesday, January 8, 2019 at 10:48:12 PM UTC+1, AK wrote: > On 2019-01-08 17:21, Wojciech Muła wrote: > 10 lat temu zrywaliscie boki jak nie gdze indziej niz tu "promowalem" > Pythona. No ja Cię proszę, jacy "wy"? Mogłeś napisać wszystko, nawet że C++ ma dwa plusy, ale to? Przecież ja używam Pythona ponad 10 lat, to jest mój drugi język (a czasem i pierwszy), piszę w nim praktycznie codziennie, połowa mojego open-sourca jest stworzona w Pythonie... normalnie nóż w plecy. > 10 lat temu wieli glowny Mufti C++ niejaki Sekator van Skijlen > zarykiwal sie gdy "promowalem" tu .NET-a/C#. > No ze pojade klasykiem: i kto mial racje ? > A gdzie bylo C++ w tym czasie? Ano (do czasu C++14, choc to tez > przegadany syf...) byl w d... gdy inne jezyki sie rozwijaly. Zmodyfikujmy nieco pytanie: gdzie teraz są inne języki, a gdzie jest C++? Czy z C# ktoś korzysta poza Microsoftem i tymi pięcioma osobami od Mono? > Wumyslane problemy. > W zyciu mi sie nie zdarzylo miec problemy ze stosowaniem i wydajnoscia > koekcji Integer vs int, czy Double vs double. To jesteś szczęściarzem, bo u mnie zabrakło pamięci. Chciałem tylko mieć listę list integerów, żeby elegancko robić wyszukiwanie po indeksach opartych na trigramach --- takie dość efektywne podejście do pełnotekstowego wyszukiwania w dużych zbiorach tekstów. Gdy piszę "dużych", to mam na myśli liczby rzędu 100 milionów wierszy, czyli od 0.5G do 1GB znaczków. I tu zaskoczenie: okazało się, że narzut pamięciowy wbudowanych list był tak ogromny, że musiałem sobie wystrugać jakiś interfejs na koślawy, prymitywny array arrayów (czyli int[][]), żeby jakkolwiek dało się pracować z rzeczywistymi danymi. Na szczęście nie musiałem się tym dłużej zajmować. w.
[toc] | [prev] | [next] | [standalone]
| From | AK <nobody@nowhere.net> |
|---|---|
| Date | 2019-01-10 02:32 +0100 |
| Message-ID | <q167c0$1pg$1@gioia.aioe.org> |
| In reply to | #32303 |
On 2019-01-09 23:22, Wojciech Muła wrote: > On Tuesday, January 8, 2019 at 10:48:12 PM UTC+1, AK wrote: >> On 2019-01-08 17:21, Wojciech Muła wrote: >> 10 lat temu zrywaliscie boki jak nie gdze indziej niz tu "promowalem" >> Pythona. > > No ja Cię proszę, jacy "wy"? Mogłeś napisać wszystko, nawet że > C++ ma dwa plusy, ale to? Przecież ja używam Pythona ponad 10 lat, > to jest mój drugi język (a czasem i pierwszy), piszę w nim > praktycznie codziennie, połowa mojego open-sourca jest stworzona > w Pythonie... normalnie nóż w plecy. Wy to nie znaczy tylko ty. Wy to zdecydowana wiekszosc tutaj i na pl.comp.lang.c >> 10 lat temu wieli glowny Mufti C++ niejaki Sekator van Skijlen >> zarykiwal sie gdy "promowalem" tu .NET-a/C#. >> No ze pojade klasykiem: i kto mial racje ? >> A gdzie bylo C++ w tym czasie? Ano (do czasu C++14, choc to tez >> przegadany syf...) byl w d... gdy inne jezyki sie rozwijaly. > > Zmodyfikujmy nieco pytanie: gdzie teraz są inne języki, a gdzie > jest C++? Czy z C# ktoś korzysta poza Microsoftem i tymi pięcioma > osobami od Mono? Sorry, ale tu opala mi szczeka Chyba rzeczywiscie skostniales "na starosc", zasklepiles sie w tych C++ i nie wiesz co sie dzieje poza tym ;). PS: No a przecie blisko Ciebie jest takie malenstwo jak Autodesk. Wystarczy spytac jak sie tam sprawy maja w kwestii .NET i C#. Wystarczy spojrzec na ilosc ofert pracy tyczacych .NETa (a rzeczony Sekator rowzniez skonczyl jako .NETowiec:) >> Wumyslane problemy. >> W zyciu mi sie nie zdarzylo miec problemy ze stosowaniem i wydajnoscia >> koekcji Integer vs int, czy Double vs double. > > To jesteś szczęściarzem, bo u mnie zabrakło pamięci. Chciałem > tylko mieć listę list integerów, żeby elegancko robić > wyszukiwanie po indeksach opartych na trigramach --- takie dość > efektywne podejście do pełnotekstowego wyszukiwania w dużych > zbiorach tekstów. Gdy piszę "dużych", to mam na myśli liczby > rzędu 100 milionów wierszy, czyli od 0.5G do 1GB znaczków. > > I tu zaskoczenie: okazało się, że narzut pamięciowy wbudowanych > list był tak ogromny, że musiałem sobie wystrugać jakiś interfejs > na koślawy, prymitywny array arrayów (czyli int[][]), żeby > jakkolwiek dało się pracować z rzeczywistymi danymi. Na > szczęście nie musiałem się tym dłużej zajmować. Nie kpij sobie :) Po prostu nie uzyles gotowca jakim sa chocby rzeczone Eclipse Collections. AK
[toc] | [prev] | [next] | [standalone]
| From | Wojciech Muła <wojtek.mula@gmail.com> |
|---|---|
| Date | 2019-01-10 00:29 -0800 |
| Message-ID | <59aa6907-b955-4dd6-ab81-439803170955@googlegroups.com> |
| In reply to | #32304 |
On Thursday, January 10, 2019 at 2:32:52 AM UTC+1, AK wrote: > > Zmodyfikujmy nieco pytanie: gdzie teraz są inne języki, a gdzie > > jest C++? Czy z C# ktoś korzysta poza Microsoftem i tymi pięcioma > > osobami od Mono? > > Sorry, ale tu opala mi szczeka > Chyba rzeczywiscie skostniales "na starosc", zasklepiles sie w tych C++ > i nie wiesz co sie dzieje poza tym ;). Nie ukrywam, że mało interesuje mnie świat Microsoftu czy Oracla. Odwiedziłem 2-3 razy targi pracy i była w zasadzie Java, Java w wersji script, Python. C# pojawiło się tylko samo razy co C++, czyli doświadczony drwal nie miałby problemu z policzeniem ich na palcach. Jedyną wartą odnotowania ofertę C# miała firma z siedzibą w Jeleniej Górze. Przepięknym, spokojnym mieście, gdzie wsiada się w autobus nr 15 i po jakimś czasie jest się u podnóża Karkonoszy. A stamtąd to już blisko do np. Śnieżnych Kotłów. To tyle, jeśli chodzi o zalety pisania w C#. :) > > I tu zaskoczenie: okazało się, że narzut pamięciowy wbudowanych > > list był tak ogromny, że musiałem sobie wystrugać jakiś interfejs > > na koślawy, prymitywny array arrayów (czyli int[][]), żeby > > jakkolwiek dało się pracować z rzeczywistymi danymi. Na > > szczęście nie musiałem się tym dłużej zajmować. > > Nie kpij sobie :) > Po prostu nie uzyles gotowca jakim sa chocby rzeczone Eclipse > Collections. Ale ja użyłem gotowca... z języka. :) W ten sposób możemy powiedzieć, że Python też by sobie poradził, wystarczyło wziąć numpy. w.
[toc] | [prev] | [next] | [standalone]
| From | AK <nobody@nowhere.net> |
|---|---|
| Date | 2019-01-10 10:14 +0100 |
| Message-ID | <q172d1$1lai$1@gioia.aioe.org> |
| In reply to | #32305 |
On 2019-01-10 09:29, Wojciech Muła wrote: > On Thursday, January 10, 2019 at 2:32:52 AM UTC+1, AK wrote: >>> Zmodyfikujmy nieco pytanie: gdzie teraz są inne języki, a gdzie >>> jest C++? Czy z C# ktoś korzysta poza Microsoftem i tymi pięcioma >>> osobami od Mono? >> >> Sorry, ale tu opala mi szczeka >> Chyba rzeczywiscie skostniales "na starosc", zasklepiles sie w tych C++ >> i nie wiesz co sie dzieje poza tym ;). > > Nie ukrywam, że mało interesuje mnie świat Microsoftu czy Oracla. A szkoda, bo MS bardzo duzo zrobil w ostatniej dekadzie w tej kwestii. .NET jest dzis bardzo dojrzalym, wbudowanym w system w pelni darowym wieljezykowym srodowiskiem programistycznym. Pod wzgledem jakosci na glowe bije Jave. PS: Hmm... Byc moze jestem jednym z tych 5, ktorzy od lat korzystaja (fakt ze nieprodukcyjnie) z Mono. A szkoda, bo moze zapyzialy w sobie swiatek Lunksiarzy (systemu zerznietego wlasciwie 1:1 ze starego dobrego prawdziwego Unixa:) otworzul by szerzej oczy. Az dziw bierze, ze przez tyle lat nie dorobil sie porzadnej standardowej technologii komponentowej. PS: Owszem byla szansa z Gnome, ale.. zwyciezylo "podejscie estetyczne" i "wygralo" kde :) Tymczasem na Windzie byl (wziaz jest i ma sie dobrze!) COM/DCOM, a teraz zastapil go o wiele lepszy .NET. To jest calkowicie inna jakosc/sposob tworzenia softy niz przestarzale podejscie typu *.lib/*.a czy nawet *.dll/*so PS1: Mnie cieszy ze Oracle popelnia ten sam blad zJava co kiedys Sun:).Strezlaja se w stope/Jave sami chyba dobrze nei wiedzac jak sie to dla Jawy z czasem skonczy. TymczasemMS wyciagnal nauki ze zwych bledow i ustandaryzowal od poczatku C# (ECMA), ostatnio w peni otworzyl kod .NETa i "upublicznil"/"udarmowil" VStudio. To juz przynosci efekty, choc zabije to Mono (ale i tak mu/Mono ede bardzo wdzieczny) > Odwiedziłem 2-3 razy targi pracy i była w zasadzie Java, Java > w wersji script, Python. C# pojawiło się tylko samo razy co C++, > czyli doświadczony drwal nie miałby problemu z policzeniem ich > na palcach. > > Jedyną wartą odnotowania ofertę C# miała firma z siedzibą w Jeleniej > Górze. Oj to sorry. Bylem przekonany ze pracujesz w Krakowie :). >> Nie kpij sobie :) >> Po prostu nie uzyles gotowca jakim sa chocby rzeczone Eclipse >> Collections. > > Ale ja użyłem gotowca... z języka. :) W ten sposób możemy > powiedzieć, że Python też by sobie poradził, wystarczyło > wziąć numpy. Alez oczywiscie ! Przeciez nie sam jezyk stanowi o jego "dobroci", ale tez jego otoczenie (bblioteki, APIs, frameworki, comminity, zaszlsci/dorobek (tak, tu C++ wciaz jeszcze jest gora) AK
[toc] | [prev] | [next] | [standalone]
| From | godek.maciek@gmail.com |
|---|---|
| Date | 2019-01-10 01:54 -0800 |
| Message-ID | <0126142f-9033-4453-a2f1-9d08e0342c2c@googlegroups.com> |
| In reply to | #32306 |
W dniu czwartek, 10 stycznia 2019 10:14:11 UTC+1 użytkownik AK napisał: > On 2019-01-10 09:29, Wojciech Muła wrote: > > On Thursday, January 10, 2019 at 2:32:52 AM UTC+1, AK wrote: > >>> Zmodyfikujmy nieco pytanie: gdzie teraz są inne języki, a gdzie > >>> jest C++? Czy z C# ktoś korzysta poza Microsoftem i tymi pięcioma > >>> osobami od Mono? > >> > >> Sorry, ale tu opala mi szczeka > >> Chyba rzeczywiscie skostniales "na starosc", zasklepiles sie w tych C++ > >> i nie wiesz co sie dzieje poza tym ;). > > > > Nie ukrywam, że mało interesuje mnie świat Microsoftu czy Oracla. > > A szkoda, bo MS bardzo duzo zrobil w ostatniej dekadzie w tej kwestii. > .NET jest dzis bardzo dojrzalym, wbudowanym w system w pelni darowym > wieljezykowym srodowiskiem programistycznym. > Pod wzgledem jakosci na glowe bije Jave. > > PS: Hmm... Byc moze jestem jednym z tych 5, ktorzy od lat korzystaja > (fakt ze nieprodukcyjnie) z Mono. A szkoda, bo moze zapyzialy > w sobie swiatek Lunksiarzy (systemu zerznietego wlasciwie 1:1 > ze starego dobrego prawdziwego Unixa:) otworzul by szerzej oczy. Szczerze mówiąc, określenie "zapyziały światek linuksiarzy" brzmi nieco pogardliwie. W moim doświadczeniu cały research w językach programowania, jaki jest godny zainteresowania, odbywa się właśnie na Linuksie. To, że teraz mogę w miarę swobodnie korzystać z Windowsa, zawdzięczam WSL (Windows Subsystem for Linux) i projektowi MSYS. I gwoli ścisłości, rzeczy, które są dobrze zrobione w Windowsie, właściwie też są zerżnięte 1:1 ze "starego dobrego prawdziwego Unixa". Niestety nie wszystkie. Tutaj jest dość interesujący wątek na Twitterze: https://twitter.com/Foone/status/1058676834940776450
[toc] | [prev] | [next] | [standalone]
| From | AK <nobody@nowhere.net> |
|---|---|
| Date | 2019-01-10 11:17 +0100 |
| Message-ID | <q1764b$6fd$1@gioia.aioe.org> |
| In reply to | #32307 |
On 2019-01-10 10:54, godek.maciek@gmail.com wrote: >> PS: Hmm... Byc moze jestem jednym z tych 5, ktorzy od lat korzystaja >> (fakt ze nieprodukcyjnie) z Mono. A szkoda, bo moze zapyzialy >> w sobie swiatek Lunksiarzy (systemu zerznietego wlasciwie 1:1 >> ze starego dobrego prawdziwego Unixa:) otworzul by szerzej oczy. > > Szczerze mówiąc, określenie "zapyziały światek linuksiarzy" brzmi nieco pogardliwie. Bo ta ma brzmiec/bo tak wyglada rzeczywistosc. Jesli zapyzialemu swiadkowi Linuksiarzy wolno jezdzic "jak po burej suce" po np MS czy Windows, to i mnie wolno (a pamietaj ze mam inna perspektywe, perspektywe czasow Unixa AT&T i pozniej SCO) - fakt ze lagodniej niz oni traktuja MS/Win - potraktowac ich "ukochany system". Czynie to merytorycznie wykazujac brak technologii komponentowej w tym "nowoczesnym" OSie. > W moim doświadczeniu cały research w językach programowania, jaki jest godny zainteresowania, odbywa się właśnie na Linuksie. Chyba zartujesz :) > To, że teraz mogę w miarę swobodnie korzystać z Windowsa, zawdzięczam WSL (Windows Subsystem for Linux) i projektowi MSYS. > > I gwoli ścisłości, rzeczy, które są dobrze zrobione w Windowsie, właściwie też są zerżnięte 1:1 ze "starego dobrego prawdziwego Unixa". Tak, ale nikt temu nie przeczy. Natomiast swiatek Lunuxowy wcaz pieje jaki to ich system "swiezy"/powstaly od 0, "nowoczesny" no i "wolny" (heh unikane jak ogien w korporacjach GPL:). AK
[toc] | [prev] | [next] | [standalone]
| From | AK <nobody@nowhere.net> |
|---|---|
| Date | 2019-01-08 22:51 +0100 |
| Message-ID | <q1360v$hdp$2@gioia.aioe.org> |
| In reply to | #32289 |
On 2019-01-08 17:21, Wojciech Muła wrote: > On Tuesday, January 8, 2019 at 9:42:25 AM UTC+1, AK wrote: >> 1. W tym watku _nie dyskutuje sie_ o sumowaniu kwadratow >> poczatkowych liczb perwszych. To klasyczny "learning by example". > > Jest to problem skrajnie niepraktyczny, w przeciwieństwie do MD5. > Fajnie, że można zabawkowe rzeczy napisać szybko, ale to tylko > zabawki. Ze niby generatory/wyrazenia generatorowe/iteratorowe sa zabawka? Ze lazy jest zabawka? No to pokaz jak uzywac generatorow/wyrazen generatorowych w C++ AK
[toc] | [prev] | [next] | [standalone]
Page 5 of 8 — ← Prev page 1 2 3 4 [5] 6 7 8 Next page →
Back to top | Article view | pl.comp.programming
csiph-web