Groups | Search | Server Info | Keyboard shortcuts | Login | Register [http] [https] [nntp] [nntps]


Groups > pl.comp.programming > #32142 > unrolled thread

Jaki język polecić początkującemu? - komentarz do artykułu w Programista 9/2018

Started byszykcech@gmail.com
First post2018-12-23 11:29 -0800
Last post2018-12-30 16:46 +0100
Articles 20 on this page of 160 — 11 participants

Back to article view | Back to pl.comp.programming


Contents

  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 →


#32237

Fromgodek.maciek@gmail.com
Date2019-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]


#32244

FromMaciej Sobczak <see.my.homepage@gmail.com>
Date2019-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]


#32248

Fromgodek.maciek@gmail.com
Date2019-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]


#32275

FromMaciej Sobczak <see.my.homepage@gmail.com>
Date2019-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]


#32277

Fromgodek.maciek@gmail.com
Date2019-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]


#32279

FromWojciech Muła <wojtek.mula@gmail.com>
Date2019-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]


#32280

Fromgodek.maciek@gmail.com
Date2019-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]


#32299

FromMaciej Sobczak <see.my.homepage@gmail.com>
Date2019-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]


#32302

Fromgodek.maciek@gmail.com
Date2019-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]


#32308

FromMaciej Sobczak <see.my.homepage@gmail.com>
Date2019-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]


#32281

FromAK <nobody@nowhere.net>
Date2019-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]


#32289

FromWojciech Muła <wojtek.mula@gmail.com>
Date2019-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]


#32294

FromAK <nobody@nowhere.net>
Date2019-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]


#32303

FromWojciech Muła <wojtek.mula@gmail.com>
Date2019-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]


#32304

FromAK <nobody@nowhere.net>
Date2019-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]


#32305

FromWojciech Muła <wojtek.mula@gmail.com>
Date2019-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]


#32306

FromAK <nobody@nowhere.net>
Date2019-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]


#32307

Fromgodek.maciek@gmail.com
Date2019-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]


#32309

FromAK <nobody@nowhere.net>
Date2019-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]


#32295

FromAK <nobody@nowhere.net>
Date2019-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