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 2 of 8 — ← Prev page 1 [2] 3 4 5 6 7 8  Next page →


#32168

Fromfir <profesor.fir@gmail.com>
Date2018-12-27 17:06 -0800
Message-ID<359e3b2f-e283-48f6-925c-fb72d859c951@googlegroups.com>
In reply to#32167
W dniu czwartek, 27 grudnia 2018 23:53:33 UTC+1 użytkownik godek....@gmail.com napisał:
> W dniu czwartek, 27 grudnia 2018 19:20:20 UTC+1 użytkownik Maciej Sobczak napisał:
> > > > Jakich złych nawyków?
> > > 
> > > Pewnie teraz nawet sobie nie jestem w stanie tego wszystkiego
> > > uświadomić.
> > 
> > Ale chociaż ze dwa przykłady, dla potomności.
> 
> Przykłady podałem w linku (i szczerze wątpię, żeby potomność
> zechciała kiedykolwiek grzebać na tym śmietnisku).
> 
> > > Z rzeczy najbardziej oczywistych byłoby to używanie
> > > operatora przypisania tam, gdzie nie jest to konieczne.
> > 
> > Np. gdzie nie jest konieczne?
> > I dlaczego to jest zły nawyk?
> 
> W większości miejsc nie jest konieczne.
> A jest to zły nawyk, ponieważ - mówiąc skrótowo - zwiększa złożoność
> środków analizy programów i tworzy "przypadkową złożoność".
> Dokładniej jest to wyjaśnione tutaj:
> https://mitpress.mit.edu/sites/default/files/sicp/full-text/book/book-Z-H-20.html#%_sec_3.1.3
> ale wyjaśnienie odwołuje się do sekcji 1.1.5.
> 
> > > Inna rzecz, to bałaganiarskie podejście do projektowania interfejsów,
> > > które wydaje się w środowiskach C++-owych na porządku dziennym.
> > 
> > "Bałaganiarskie", "wydaje się", "w środowiskach"? Brzmi jak słaba propaganda.
> 
> To nie jest propaganda, więc nie może to być "słaba propaganda".
> Nic nikomu nie sprzedaję.
> Pytasz o moje doświadczenia, to Ci mówię.
> Jeżeli Cię nie interesują albo masz sobie z nich szydzić,
> to nie pytaj. 
> 
> > > Dużo rzeczy opisałem tutaj:
> > > https://www.quora.com/What-are-some-examples-of-bad-code/answer/Panicz-Godek
> > 
> > Nie czytałem całości, bo na początku artykułu okazało się, że znalazłeś gdzieś w necie źle napisany kod i postanowiłeś go skrytykować. OK, takie artykuły są potrzebne, ale nie odpowiadają na moje pytanie o *złe nawyki*. Coś, co jest cechą języka. Czyli coś, co musi być złe, bo język narzuca to zło użytkownikowi. Niczego takiego pobieżnie nie zauważyłem w tym artykule.
> 
> Nawyki nie są "cechą języka", tylko ludzi.
> Języki mogą pomagać wykształcać w ludziach takie czy inne nawyki.
> Więcej, wokół języków tworzą się kultury.
> Artykuł, który podlinkowałem, to nie jest "po prostu randomowy
> kod który znalazłem gdzieś w necie": to jest kod, którym ktoś
> się podzielił, żeby inni mogli go czytać. I to jest kod pełen
> anty-wzorców, których źródłem są właśnie złe nawyki. To jest kod,
> który utrwala w ludziach złe nawyki. I, co znamienne, to jest kod,
> który nie jest nietypowy dla programistów C++. Powiedziałbym
> (na podstawie swoich doświadczeń), że jest bardzo typowy.
> W przeciwnym razie nie zadawałbym sobie trudu, żeby o nim pisać.
> 
> Mogę też spróbować sformułować tę myśl inaczej:
> postaraj się odpowiedzieć na pytanie, dlaczego
> taki "zły kod" powstaje.
> 
> (Oczywiście, specyfika C++ odgrywa tutaj pewną istotną rolę:
> w C++ trudno się programuje generycznie. Nie twierdzę, że się nie da,
> ale w C++ łatwiej się operuje na konkretnych reprezentacjach, niż na
> abstrakcyjnych generycznych interfejsach. Podczas pisania artykułu
> szukałem różnych generycznych implementacji algorytmu A* w C++,
> i żadna z nich nie była dobra. Z kolei w Haskellu jest odwrotnie:
> tutaj łatwo napisać jedną ogólną interpretację i ukonkretniać ją
> dla poszczególnych problemów, zaś pewne antywzorce, które są w C++
> powszechne, takie jak przekazywanie informacji przez zmienne globalne,
> są bardzo trudne do wyrażenia)
> 
> > Czyli na razie ten artykuł wpada u mnie w kategorię "C++ jest zły, bo znalazłem kiepski kod w necie". To nie jest odpowiedź na moje pytanie.
> 
> Interesujące.
> Mogę wskazać wiele quorowych odpowiedzi wyjaśniających, dlaczego
> C++ jest zły, ale artykuł, który napisałem, w żadnym stopniu tego
> nie dotyczy.

nie wiem czy w postach wyzej to napisalem (jesli nie to mialem wspomniec ale widac nie napisalem) ale wg pewnych moich przemyslen (wykonanych calkiem w sumie niedawno) doszedlem do dosyc prostego wniosku ze w programowaniu jezyki sa porzebne co najmniej dwa: jest potrzebny taki jezyk jak c,. tj jezyk ktory pozwali dobrze oszczednie zarzadzac bajtami i cyklami oraz jest tez potrzeby inny jezyk ktory pozwala dobrze (choc tutaj co znaczy dobrze byc moze nie jest dla mnie tak wyraznie jasne) zarzadzac czyms innym niz bajty i cykle (bo w pewnych zastosowaniech programistycznych, np jezyk skryptowy w shellu nie potrzebujesz zarzadzania bajtami i cyklami)

o ile te ustalenia sa prawdziwe (a arczej sa choc jak mowie sa dosyc fragmentaryczne i tak naprawde nie bardzo wiem w czym ten drugi jezyk powinien byc tak naprawde dobry) to nie mozna krytykowac takich jezykow jak c realizujacych to zarzadzanie bajtami i cyklami jako ogolnie niedobrych - sa one w swojej dziedzinie (dosyc szerokiej) najlepsze i nie ma co do tego raczej kwestii (zieaw)

co do tej drugiej dziedziny albo dziedzin to juz inna kwestia, jak powinien wygladac jezyk lub jak powinny wygladac jezyki w tej dziedzinie gdzie cykle i bajty sie liczą ale nie az tak to (ciagle) nie wiem

[toc] | [prev] | [next] | [standalone]


#32169

FromMaciej Sobczak <see.my.homepage@gmail.com>
Date2018-12-28 14:07 -0800
Message-ID<acf0d607-c468-4638-876f-fa4c90ef0d47@googlegroups.com>
In reply to#32167
> Przykłady podałem w linku (i szczerze wątpię, żeby potomność
> zechciała kiedykolwiek grzebać na tym śmietnisku).

W linku był artykuł o kiepskim kodzie, który znalazłeś w necie. Krytyka języka z tego żadna. Zwłaszcza w przypadku języka, który jest popularny a przez to używany również przez tych, którzy uniwersalnie piszą kiepski kod.

[operator przypisania]

> W większości miejsc nie jest konieczne.
> A jest to zły nawyk, ponieważ - mówiąc skrótowo - zwiększa złożoność
> środków analizy programów

Nie, nie zwiększa.

Albo, jeśli faktycznie zwiększa, to jest to problem autorów takich narzędzi a nie użytkowników języka. Jako użytkownik języka akceptuję ten układ. Ba - ja go nawet akceptuję jako autor takiego narzędzia.

> Dokładniej jest to wyjaśnione tutaj:
[link do sicp]

Rozumiem - czyli w Scheme zwiększa. Trudno, jest to problem języka Scheme. I autorów narzędzi analizy tego języka.

Ale dlaczego to ma być zły nawyk w C++ (czy w jakimkolwiek języku imperatywnym, bo problem jest ogólny), to nadal nie rozumiem.

> Pytasz o moje doświadczenia, to Ci mówię.

Ale jeśli Twoje doświadczenia to kiepski kod znaleziony w necie, to można mieć też dobre doświadczenia.

> Jeżeli Cię nie interesują albo masz sobie z nich szydzić,
> to nie pytaj.

Pytam, bo zostawiasz swoje posty w stanie niedopowiedzenia ("C++ tworzy złe nawyki, bo tak"). Potem ktoś to przeczyta i pomyśli, że tak faktycznie jest. Tymczasem, w przypadku niedopowiedzeń, jest pole do dyskusji i chcę je pokazać.

> Nawyki nie są "cechą języka", tylko ludzi.

Tak. Np. większosć ludzi ma złe nawyki żywieniowe.
Ale to nie jest problem żywności.

> Języki mogą pomagać wykształcać w ludziach takie czy inne nawyki.

Tak. Przykładowo, Ada jest lepsza od C++ pod względem wykształcania nawyków. Nie zmienia to faktu, że widziałem bardzo dobry kod w C++ i bardzo zły w Adzie.

> Więcej, wokół języków tworzą się kultury.

Tak. A w przypadku jezyków bardzo rozbudowanych i popularnych również subkultury. Coś jak z żywieniem.
Pytanie teraz, czy trzeba zmienić język, czy wystarczy znaleźć lepszą subkulturę, żeby podnieść poziom. Na to pytanie nie odpowiemy pisząc po prostu, że C++ wyrabia złe nawyki.

> Artykuł, który podlinkowałem, to nie jest "po prostu randomowy
> kod który znalazłem gdzieś w necie": to jest kod, którym ktoś
> się podzielił, żeby inni mogli go czytać.

Czyli randomowy. Przecież w necie nie ma innych kodów, niż te, którymi ktoś się podzielił, żeby inni mogli je czytać. Podobnie jest z filmami na YouTube.

> I to jest kod pełen
> anty-wzorców, których źródłem są właśnie złe nawyki.

Dobrze. To może lepiej pokazać dobre wzorce na dobrym kodzie?

> I, co znamienne, to jest kod,
> który nie jest nietypowy dla programistów C++. Powiedziałbym
> (na podstawie swoich doświadczeń), że jest bardzo typowy.

Nadal nie wiem, czy trzeba zmienić język, żeby pisać lepiej.

> Mogę też spróbować sformułować tę myśl inaczej:
> postaraj się odpowiedzieć na pytanie, dlaczego
> taki "zły kod" powstaje.

To jest bardzo cenne pytanie. Nie wiem, czy znam odpowiedź.
Może dlatego, że ludzie uczą się z przypadkowego kodu znalezionego w necie?
I akurat kodu w C++ jest na tyle dużo, że łatwo znaleźć ten kiepski?
Coś jak z filmami na YT.
Myślę, że pewnym czynnikiem jest też fakt, że nasz gatunek traci powoli zdolność czytania książek, zadowalając się przypadkowym "contentem z netu". To zjawisko akurat dotyczy nie tylko programowania.

Nadal nie wiemy, czy należy zmienić język, żeby pisać dobrze.
Albo, wracając do pierwszego pytania, czy C++ jest (nie)dobry do nauki.

-- 
Maciej Sobczak * http://www.inspirel.com

[toc] | [prev] | [next] | [standalone]


#32170

Fromszykcech@gmail.com
Date2018-12-28 22:13 -0800
Message-ID<515d80e1-9894-426a-82c2-2b289d3970e7@googlegroups.com>
In reply to#32169
> > Nawyki nie są "cechą języka", tylko ludzi.
> 
> Tak. Np. większosć ludzi ma złe nawyki żywieniowe.
> Ale to nie jest problem żywności.

Cenna uwaga!
 
> > I to jest kod pełen
> > anty-wzorców, których źródłem są właśnie złe nawyki.
> 
> Dobrze. To może lepiej pokazać dobre wzorce na dobrym kodzie?

Wzorce i antywzorce nie zależą od języka programowania! Podobnie jak wspomniane nawyki.

> Nadal nie wiemy, czy należy zmienić język, żeby pisać dobrze.
> Albo, wracając do pierwszego pytania, czy C++ jest (nie)dobry do nauki.

Jest dobry:
+ jest prawdziwy (w nim się pisze wszelkie poważne systemy - nawet oprogramowanie do F-35 napisano w C++ rzucając wcześniej stosowaną Adę np. w F-22 i Euro Fighter 2000)
+ jest kompatybilny (z najważniejszymi językami: Asemblerem i C, a do pozostałych języków można w nim tworzyć rozszerzenia)
+ produkuje bardzo szybki, natywny kod (nie wymaga żadnej wirtualnej maszyny czy interpretera)
+ jest dobrze rozwinięty i nadal rozwijany
+ jest dobrze zrozumiany i jest sprawdzony
+ jest wieloplatformowy (jeśli się użyje odpowiednich bibliotek: Stl, Boost, Sdl, OpenGl czy Qt i jeśli się umiejętnie wydziela wywołania nieprzenośnych funkcji)
+ jest obiektowy
+ wspiera wielodziedziczenie
+ ma możliwość przeładowania operatorów
+ ma wsparcie dla metaprogramowania (szablony)
+ wspiera wyjątki (jako sposób obsługi błędów)
+ wspiera wiele stylów programowania i wiele paradygmatów programowania
+ darmowy
+ ma bardzo dobre BIBLIOTEKI DO WSZYSTKIEGO na liberalnych licencjach
+ jest przyjazny dla ucznia (można go poznawać stopniowo - w miarę potrzeb)
+ jest wiele podręczników (z Opus Magnum Jerzego Grębosza na czele)
+ jest standardem w konkursach dla programistów

Wady:
- koszmarne komunikaty linkera (Gnu g++)
- koszmarne komunikaty kompilatora gdy coś nie gra w użytych szablonach (Gnu g++)
- słaby debuger Gnu gdb lub jego interfejs w Qt Creator (w porównaniu do debugera Borlanda w C++ Builder).
- ręczne zarządzanie pamięcią
- brak konsekwencji w stosowaniu nazewnictwa między bibliotekami (np. w Stl i Qt) (do przeżycia)
- wybiórcze stosowanie funkcji języka (np. nie stosowanie wyjątków tylko wartości zwracanych i nie standaryzowanych funkcji z opisem błędu np. w Qt)

[toc] | [prev] | [next] | [standalone]


#32172

Fromgodek.maciek@gmail.com
Date2018-12-29 03:51 -0800
Message-ID<d3d3a368-d3f9-43bd-8980-56b27cb9aba6@googlegroups.com>
In reply to#32170
W dniu sobota, 29 grudnia 2018 07:13:22 UTC+1 użytkownik szyk...@gmail.com napisał:

> > > I to jest kod pełen
> > > anty-wzorców, których źródłem są właśnie złe nawyki.
> > 
> > Dobrze. To może lepiej pokazać dobre wzorce na dobrym kodzie?
> 
> Wzorce i antywzorce nie zależą od języka programowania! Podobnie jak wspomniane nawyki.

Pewne języki stawiają barierę na wyrażanie pewnych rzeczy, i coś,
co w jednych językach może być wyrażone (nazwane) bezpośrednio, w innych
musi pozostać "wzorcem".

> > Nadal nie wiemy, czy należy zmienić język, żeby pisać dobrze.
> > Albo, wracając do pierwszego pytania, czy C++ jest (nie)dobry do nauki.
> 
> Jest dobry:
> + jest prawdziwy (w nim się pisze wszelkie poważne systemy - nawet oprogramowanie do F-35 napisano w C++ rzucając wcześniej stosowaną Adę np. w F-22 i Euro Fighter 2000)

Nawet jeśli tak jest, niekoniecznie czyni to go dobrym do nauki.

> + jest kompatybilny (z najważniejszymi językami: Asemblerem i C, a do pozostałych języków można w nim tworzyć rozszerzenia)

Prawie każdy używany współcześnie język umożliwia wywoływanie natywnych
funkcji

> + produkuje bardzo szybki, natywny kod (nie wymaga żadnej wirtualnej maszyny czy interpretera)
> + jest dobrze rozwinięty i nadal rozwijany
> + jest dobrze zrozumiany i jest sprawdzony

Oto przykład na to, jak dobrze jest zrozumiany:
http://flyingfrogblog.blogspot.com/2013/10/herb-sutters-favorite-c-10-liner.html

> + jest wieloplatformowy (jeśli się użyje odpowiednich bibliotek: Stl, Boost, Sdl, OpenGl czy Qt i jeśli się umiejętnie wydziela wywołania nieprzenośnych funkcji)

Tzn. jest wieloplatformowy, jeśli na każdą platformę pisze się osobny kod?

> + jest obiektowy

A dlaczego to jest dobre?

> + wspiera wielodziedziczenie

A dlaczego to jest dobre?
I czy jesteś w stanie podać przykład jakiegoś problemu,
dla którego wielodziedziczenie byłoby dobrym (albo jedynym sensownym)
rozwiązaniem?

Robiłem ostatnio rozeznanie w temacie, i trafiłem na książkę
"Object Oriented Programming. An evolutionary approach", gdzie
jako przykład podano, że języki z wielodziedziczeniem pozwalają
reprezentować "zabawkową ciężarówkę" jednocześnie jako rodzaj
zabawki, jak i rodzaj ciężarówki.
Firmy logistyczne będą zachwycone.

> + ma możliwość przeładowania operatorów

A dlaczego to jest dobre?

> + ma wsparcie dla metaprogramowania (szablony)

C również ma "wsparcie dla metaprogramowania" (preprocesor).
Są języki, które mają naprawdę o wiele lepsze wsparcie dla
metaprogramowania (Lisp, OCaml, Haskell)

> + wspiera wyjątki (jako sposób obsługi błędów)

A dlaczego to jest dobre?

> + wspiera wiele stylów programowania i wiele paradygmatów programowania

Podobnie jak wiele innych języków.

> + darmowy

Podobnie jak wiele innych języków.

> + ma bardzo dobre BIBLIOTEKI DO WSZYSTKIEGO na liberalnych licencjach

Podobnie jak wiele innych języków.

> + jest przyjazny dla ucznia (można go poznawać stopniowo - w miarę potrzeb)

A znasz jakiś język, którego nie można poznawać stopniowo?

> + jest wiele podręczników (z Opus Magnum Jerzego Grębosza na czele)

Nie czytałem, to się nie wypowiem.
Ale "Język C++" Stroustrupa to w moim odczuciu naprawdę kiepska książka.
Zresztą nawet Scott Meyers, autor książek z serii "Effective C++",
już sobie odpuścił.
https://www.youtube.com/watch?v=KAWA1DuvCnQ&feature=youtu.be

> + jest standardem w konkursach dla programistów

W jakich konkursach?
Wszystkie, z którymi ja miałem styczność, dawały uczestnikom dużą swobodę
w wyborze języka.

> Wady:
> - koszmarne komunikaty linkera (Gnu g++)
> - koszmarne komunikaty kompilatora gdy coś nie gra w użytych szablonach (Gnu g++)
> - słaby debuger Gnu gdb lub jego interfejs w Qt Creator (w porównaniu do debugera Borlanda w C++ Builder).

To akurat nie brzmi jak wada C++, tylko jakiegoś tam narzędzia.

> - ręczne zarządzanie pamięcią

Jak to? A unique_ptr i shared_ptr? A BDW GC?

> - brak konsekwencji w stosowaniu nazewnictwa między bibliotekami (np. w Stl i Qt) (do przeżycia)

Również brak konsekwencji w stosowaniu nazewnictwa w obrębie biblioteki
(STL, zob. prezentację Meyersa).

[toc] | [prev] | [next] | [standalone]


#32174

FromBorneq <borneq@antyspam.hidden.pl>
Date2018-12-29 14:01 +0100
Message-ID<q07r7c$vv0$1@node2.news.atman.pl>
In reply to#32172
W dniu 29.12.2018 o 12:51, godek.maciek@gmail.com pisze:
> Ale "Język C++" Stroustrupa to w moim odczuciu naprawdę kiepska książka.

Chodzi o "Język C++. Kompendium wiedzy" - Bjarne Stroustrup?
dlaczego?

Z języka C++ jestem zadowolony i można powiedzieć że ma jedną wadę: 
strasznie wolno się kompiluje, gdy mam przebudować jakiś większy 
projekt. Pojedyncze pliki C++ długo się kompilują, dlatego że z powodu 
includów plik który może mieć 50 kB, w istocie ma 1 MB.
Z niecierpliwością czekam na moduły w C++.

[toc] | [prev] | [next] | [standalone]


#32177

Fromgodek.maciek@gmail.com
Date2018-12-29 10:42 -0800
Message-ID<f818cd79-7bf5-4410-b1bf-4053563dda90@googlegroups.com>
In reply to#32174
W dniu sobota, 29 grudnia 2018 14:01:33 UTC+1 użytkownik Borneq napisał:

> > Ale "Język C++" Stroustrupa to w moim odczuciu naprawdę kiepska książka.
> 
> Chodzi o "Język C++. Kompendium wiedzy" - Bjarne Stroustrup?

Ta, z której korzystałem, była wydana przez WNT w serii
"Klasyka Informatyki". Z tego co patrzę na stronie Helionu,
ta o której Ty mówisz, jest rozszerzona o C++11, więc to
pewnie zupełnie inny język, i podejrzewam, że w dużym
stopniu inna książka. (Na pewno też inne tłumaczenie)

> dlaczego?

Mówiąc skrótowo, dlatego, że książka nie dotykała prawdziwych
problemów, tylko omawiała "ficzery języka", pod które dopasowywane
były problemy.

Chwaliłem się kiedyś tutaj stosowaniem "algorytmu" std::for_each
zdefiniowanego w nagłówku <algorithm>.

Stroustrup namawiał otóż właśnie do robienia tego rodzaju
rzeczy.

[toc] | [prev] | [next] | [standalone]


#32175

Fromszykcech@gmail.com
Date2018-12-29 05:24 -0800
Message-ID<238386c5-d95c-4233-a813-424c9fb94490@googlegroups.com>
In reply to#32172
> > Jest dobry:
> > + jest prawdziwy (w nim się pisze wszelkie poważne systemy - nawet oprogramowanie do F-35 napisano w C++ rzucając wcześniej stosowaną Adę np. w F-22 i Euro Fighter 2000)
> 
> Nawet jeśli tak jest, niekoniecznie czyni to go dobrym do nauki.

Ofszem jest: masz pewność, że nauczysz się czegoś co jest używane, działa i się rozwija.

> > + jest kompatybilny (z najważniejszymi językami: Asemblerem i C, a do pozostałych języków można w nim tworzyć rozszerzenia)
> 
> Prawie każdy używany współcześnie język umożliwia wywoływanie natywnych
> funkcji

Tak są one pisane w C/C++. O tym właśnie wspominałem.
 
> > + produkuje bardzo szybki, natywny kod (nie wymaga żadnej wirtualnej maszyny czy interpretera)
> > + jest dobrze rozwinięty i nadal rozwijany
> > + jest dobrze zrozumiany i jest sprawdzony
> 
> Oto przykład na to, jak dobrze jest zrozumiany:
> http://flyingfrogblog.blogspot.com/2013/10/herb-sutters-favorite-c-10-liner.html

Ja mam inną strategię: używam tego podzbioru języka jakiego jestem pewny. Nie gonię jak idiota za wszystkimi nowościami. Skupiam się na działaniu moich programów i jak coś jest bardzo przydatne to próbuję ostrożnie to wdrażać. np. for(klasa i : kontener), albo lambdy, a zamiast konwertować sprytne wskaźniki po prostu używam QSharedPtr - ale to i tak jest mało przydatne, bo biblioteka Qt nie opiera się na tym tylko na surowych wskaźnikach.

> > + jest wieloplatformowy (jeśli się użyje odpowiednich bibliotek: Stl, Boost, Sdl, OpenGl czy Qt i jeśli się umiejętnie wydziela wywołania nieprzenośnych funkcji)
> 
> Tzn. jest wieloplatformowy, jeśli na każdą platformę pisze się osobny kod?

Widać, że słaby jesteś w te klocki, bo nie masz pojęcia jakie możliwości mają te wymienione biblioteki. Ale jestem cierpliwy i miły, więc wyjaśnię: nie wszystkie możliwe przypadki są przewidziane w bibliotece i wtedy też trzeba sobie poradzić i C++ umożliwia wybrnięcie z tego co najmniej na 2 sposoby: #ifdef #else #endif lub kompilacją warunkową (te drugie rozwiązanie jest dużo lepsze i ja je zalecam)

> > + jest obiektowy
> 
> A dlaczego to jest dobre?

Bo to odbicie ludzkiego pojmowania świata: obiekty z określonymi funkcjami (w moralności dostępne funkcje to stopnie swobody - im człowiek jest bardziej wolny to ma więcej dostępnych obiektów i funkcji - czyli stopni swobody).
 
> > + wspiera wielodziedziczenie
> 
> A dlaczego to jest dobre?
> I czy jesteś w stanie podać przykład jakiegoś problemu,
> dla którego wielodziedziczenie byłoby dobrym (albo jedynym sensownym)
> rozwiązaniem?

Ofszem! Od paru lat piszę kolejne wersje mojego edytora tekstu. Początkowo się oparłem na własnej implementacji kolorowania składni, jednak odkryłem, że Kde udostępnia odpowiednią bibliotekę z kolorowaniem ponad 200 języków. QPlainTextEdit ma coś takiego jak bloki (które normalnie są pojedynczymi liniami) do bloku można przypisać jeden obiekt dziedziczący po określonej klasie (co jest wadą tego rozwiązania bo powinno być ich wiele). Problem w tym, że ten syntaxhighlighter z Kde już używa tej zmiennej/obiekt. Dlatego ja chcąc zaimplementować zakładki muszę wydziedziczyć po klasie z biblioteki Kde i po mojej klasie LineInfo. By to zadziałało muszę do mojego edytora dodać callback który będzie tworzył te obiekty. Rozwiązanie mam zakodowane i skompilowane, jednak problem z dynamicznie ładowanymi pluginami na razie uniemożliwia mi uruchomienie programu. Jednak wcześniejsza wersja monolityczna działała na tej samej zasadzie.
 
> Robiłem ostatnio rozeznanie w temacie, i trafiłem na książkę
> "Object Oriented Programming. An evolutionary approach", gdzie
> jako przykład podano, że języki z wielodziedziczeniem pozwalają
> reprezentować "zabawkową ciężarówkę" jednocześnie jako rodzaj
> zabawki, jak i rodzaj ciężarówki.
> Firmy logistyczne będą zachwycone.

Generalnie wielodziedziczenie umożliwia rzeczy nie możliwe do osiągnięcia w inny sposób. Tak jak u mnie gdzie musiałem rozszerzyć istniejącą klasę by móc użyć pojedynczej zmiennej w QPlainTextEdit - głowiłem się nad innym rozwiązaniem ale brak pełnego dostępu do wnętrza tej klasy uniemożliwia inne podejście.
 
> > + ma możliwość przeładowania operatorów
> 
> A dlaczego to jest dobre?

Np. by móc porównywać złożone typy. Albo by napisać zoptymalizowany menadżer pamięci w aplikacji jednowątkowej (trochę to trąci myszką w dzisiejszych czasach...).
 
> > + ma wsparcie dla metaprogramowania (szablony)
> 
> C również ma "wsparcie dla metaprogramowania" (preprocesor).
> Są języki, które mają naprawdę o wiele lepsze wsparcie dla
> metaprogramowania (Lisp, OCaml, Haskell)

Możliwe, tylko, że te języki nie istnieją dla pracodawców, ani nawet dla uczelni.

> > + wspiera wyjątki (jako sposób obsługi błędów)
> 
> A dlaczego to jest dobre?

Bardziej naturalne podejście i duuużo bardziej niezawodne. Choć w aplikacjach zdarzeniowych i wielowątkowych robi się upierdliwe, ale i tak jest to lepsze niż sprawdzanie wartości zwracanej.
 
> > + wspiera wiele stylów programowania i wiele paradygmatów programowania
> 
> Podobnie jak wiele innych języków.

Wiele, ale są też takie które dopuszczają wolność, ale nie w tak szerokim zakresie (w połączeniu z innymi cechami).

> > + darmowy
> 
> Podobnie jak wiele innych języków.

Tu chodziło mi raczej o podkreślenie, że nie generuje dodatkowych kosztów - wystarczą chęci i samozaparcie.
 
> > + ma bardzo dobre BIBLIOTEKI DO WSZYSTKIEGO na liberalnych licencjach
> 
> Podobnie jak wiele innych języków.

ŻADEN INNY JĘZYK NIE MA TYLE BIBLIOTEK (bo włączyć do repertuaru można biblioteki w Asemblerze i C a w drugą stronę już słabo).
 
> > + jest przyjazny dla ucznia (można go poznawać stopniowo - w miarę potrzeb)
> 
> A znasz jakiś język, którego nie można poznawać stopniowo?

Nie szukałem... Tą zaletę pamiętam z Symfonii C++ Jerzego Grębosza (chyba miał na myśli to, że efekty szybko się pojawiają przy jego nauce).

> > + jest wiele podręczników (z Opus Magnum Jerzego Grębosza na czele)
> 
> Nie czytałem, to się nie wypowiem.
> Ale "Język C++" Stroustrupa to w moim odczuciu naprawdę kiepska książka.

To bardziej wyrocznia w sprawach nie oczywistych i mało znanych. Jerzy Grębosz pisze dużo bardziej zrozumiale (może to kwestia tego, że nie wymagało to tłumacza?!?).

> Zresztą nawet Scott Meyers, autor książek z serii "Effective C++",
> już sobie odpuścił.
> https://www.youtube.com/watch?v=KAWA1DuvCnQ&feature=youtu.be

Nie mam czasu godzinę się męczyć wsłuchując się w monolog po angielsku... I w zasadzie nie obchodzi mnie to, że woli pisać w D niż w C++. Ja wiem, że D jest do d* i to nie dlatego, że ma braki składniowe tylko wsparcie jest marginalne (debuger, środowisko programistyczne i społecznościowe, brak biblioteki graficznej, muzycznej, profilera) - takimi językami można się podniecać w szkole średniej, ale (najpóźniej) na studiach powinno przyjść otrzeźwienie - liczą się szczegóły dzięki którym można w pełni osiągnąć cel a nie co chwila z czegoś rezygnować, bo się nie da... Podobna uwaga tyczy się wynalazków typu Raspberry - np. teraz nie można skompilować Qt 5.12 na Amd64 kroskompilując na Arm32 bo Raspberry nie zaktualizowało kros kompilatora od 4 lat...

[toc] | [prev] | [next] | [standalone]


#32179

Fromgodek.maciek@gmail.com
Date2018-12-29 11:23 -0800
Message-ID<aad31046-fabb-4a9b-b0f7-d932556b8535@googlegroups.com>
In reply to#32175
W dniu sobota, 29 grudnia 2018 14:24:18 UTC+1 użytkownik szyk...@gmail.com napisał:
> > > Jest dobry:
> > > + jest prawdziwy (w nim się pisze wszelkie poważne systemy - nawet oprogramowanie do F-35 napisano w C++ rzucając wcześniej stosowaną Adę np. w F-22 i Euro Fighter 2000)
> > 
> > Nawet jeśli tak jest, niekoniecznie czyni to go dobrym do nauki.
> 
> Ofszem jest: masz pewność, że nauczysz się czegoś co jest używane, działa i się rozwija.

Nie o to chodzi.
Pytanie brzmi, czy ucząc się C++ dobrze się nauczysz podstawowych koncepcji.

> > > + jest kompatybilny (z najważniejszymi językami: Asemblerem i C, a do pozostałych języków można w nim tworzyć rozszerzenia)
> > 
> > Prawie każdy używany współcześnie język umożliwia wywoływanie natywnych
> > funkcji
> 
> Tak są one pisane w C/C++. O tym właśnie wspominałem.

Są pisane w dowolnym języku, który jest kompatybilny z systemem
uruchomieniowym. Raczej w C niż w C++, bo C++ ma swój "name mangling",
który komplikuje dużo rzeczy.

> > > + produkuje bardzo szybki, natywny kod (nie wymaga żadnej wirtualnej maszyny czy interpretera)
> > > + jest dobrze rozwinięty i nadal rozwijany
> > > + jest dobrze zrozumiany i jest sprawdzony
> > 
> > Oto przykład na to, jak dobrze jest zrozumiany:
> > http://flyingfrogblog.blogspot.com/2013/10/herb-sutters-favorite-c-10-liner.html
> 
> Ja mam inną strategię: używam tego podzbioru języka jakiego jestem pewny.

Ja też. Tym językiem jest język C.
Stroustrup zresztą sam kiedyś stwierdził:

"Within C++, there is a much smaller
and cleaner language struggling to get out."

> Nie gonię jak idiota za wszystkimi nowościami. Skupiam się na działaniu moich programów i jak coś jest bardzo przydatne to próbuję ostrożnie to wdrażać. np. for(klasa i : kontener), albo lambdy, a zamiast konwertować sprytne wskaźniki po prostu używam QSharedPtr - ale to i tak jest mało przydatne, bo biblioteka Qt nie opiera się na tym tylko na surowych wskaźnikach.



> > > + jest wieloplatformowy (jeśli się użyje odpowiednich bibliotek: Stl, Boost, Sdl, OpenGl czy Qt i jeśli się umiejętnie wydziela wywołania nieprzenośnych funkcji)
> > 
> > Tzn. jest wieloplatformowy, jeśli na każdą platformę pisze się osobny kod?
> 
> Widać, że słaby jesteś w te klocki, bo nie masz pojęcia jakie możliwości mają te wymienione biblioteki.

Jeżeli idzie o SDL i OpenGL, to używam na co dzień.
Nawet zrobiłem framework, który udostępnia mi te interfejsy
do interpretera Scheme'u: http://puszcza.gnu.org.ua/software/slayer/

I nie, nie na każdej platformie. Na embedach niestety nie działa.
STL i Boost? Mam lepsze zajęcia. Qt? Może ma sens w niektórych
zastosowaniach.

> Ale jestem cierpliwy i miły, więc wyjaśnię: nie wszystkie możliwe przypadki są przewidziane w bibliotece i wtedy też trzeba sobie poradzić i C++ umożliwia wybrnięcie z tego co najmniej na 2 sposoby: #ifdef #else #endif lub kompilacją warunkową (te drugie rozwiązanie jest dużo lepsze i ja je zalecam)
> 
> > > + jest obiektowy
> > 
> > A dlaczego to jest dobre?
> 
> Bo to odbicie ludzkiego pojmowania świata: obiekty z określonymi funkcjami (w moralności dostępne funkcje to stopnie swobody - im człowiek jest bardziej wolny to ma więcej dostępnych obiektów i funkcji - czyli stopni swobody).

Jak to kiedyś powiedział mój kolega,
"nikt, kto kroi chleb, nie myśli, że wysyła wiadomość do noża,
nakazującą mu krojenie chleba, albo do chleba, nakazującą
mu się pokroić".
W każdym razie ja nie znam nikogo takiego. Jak chcę przesunąć kamień,
to przesuwam kamień, a nie mówię do kamienia: kamień.przesuń(się).
O tym zresztą też pisałem:
https://www.quora.com/Why-is-OO-programming-considered-bad-by-some-people/answer/Panicz-Godek

> > > + wspiera wielodziedziczenie
> > 
> > A dlaczego to jest dobre?
> > I czy jesteś w stanie podać przykład jakiegoś problemu,
> > dla którego wielodziedziczenie byłoby dobrym (albo jedynym sensownym)
> > rozwiązaniem?
> 
> Ofszem! Od paru lat piszę kolejne wersje mojego edytora tekstu. Początkowo się oparłem na własnej implementacji kolorowania składni, jednak odkryłem, że Kde udostępnia odpowiednią bibliotekę z kolorowaniem ponad 200 języków. QPlainTextEdit ma coś takiego jak bloki (które normalnie są pojedynczymi liniami) do bloku można przypisać jeden obiekt dziedziczący po określonej klasie (co jest wadą tego rozwiązania bo powinno być ich wiele). Problem w tym, że ten syntaxhighlighter z Kde już używa tej zmiennej/obiekt. Dlatego ja chcąc zaimplementować zakładki muszę wydziedziczyć po klasie z biblioteki Kde i po mojej klasie LineInfo. By to zadziałało muszę do mojego edytora dodać callback który będzie tworzył te obiekty. Rozwiązanie mam zakodowane i skompilowane, jednak problem z dynamicznie ładowanymi pluginami na razie uniemożliwia mi uruchomienie programu. Jednak wcześniejsza wersja monolityczna działała na tej samej zasadzie.

Brzmi to dla mnie jak "wielodziedziczenie jest dobre, bo rozwiązuje niektóre
problemy, które wprowadza mechanizm dziedziczenia".

> > Robiłem ostatnio rozeznanie w temacie, i trafiłem na książkę
> > "Object Oriented Programming. An evolutionary approach", gdzie
> > jako przykład podano, że języki z wielodziedziczeniem pozwalają
> > reprezentować "zabawkową ciężarówkę" jednocześnie jako rodzaj
> > zabawki, jak i rodzaj ciężarówki.
> > Firmy logistyczne będą zachwycone.
> 
> Generalnie wielodziedziczenie umożliwia rzeczy nie możliwe do osiągnięcia w inny sposób. Tak jak u mnie gdzie musiałem rozszerzyć istniejącą klasę by móc użyć pojedynczej zmiennej w QPlainTextEdit - głowiłem się nad innym rozwiązaniem ale brak pełnego dostępu do wnętrza tej klasy uniemożliwia inne podejście.
>  
> > > + ma możliwość przeładowania operatorów
> > 
> > A dlaczego to jest dobre?
> 
> Np. by móc porównywać złożone typy.

A dlaczego bez przeładowania operatorów miałbyś nie móc porównywać
złożonych typów?

> Albo by napisać zoptymalizowany menadżer pamięci w aplikacji jednowątkowej (trochę to trąci myszką w dzisiejszych czasach...).

W różnych okolicznościach pisanie menadżera pamięci może mieć sens.
Tyle że do tego żadne przeładowania operatorów nie są potrzebne.

> > > + ma wsparcie dla metaprogramowania (szablony)
> > 
> > C również ma "wsparcie dla metaprogramowania" (preprocesor).
> > Są języki, które mają naprawdę o wiele lepsze wsparcie dla
> > metaprogramowania (Lisp, OCaml, Haskell)
> 
> Możliwe, tylko, że te języki nie istnieją dla pracodawców, ani nawet dla uczelni.

Kurde, szkoda że nikt mi o tym nie powiedział, jak pisałem
pracę magisterską.

> > > + wspiera wyjątki (jako sposób obsługi błędów)
> > 
> > A dlaczego to jest dobre?
> 
> Bardziej naturalne podejście i duuużo bardziej niezawodne. Choć w aplikacjach zdarzeniowych i wielowątkowych robi się upierdliwe, ale i tak jest to lepsze niż sprawdzanie wartości zwracanej.

Warto zapoznać się z tą prezentacją:
https://fsharpforfunandprofit.com/rop/

> > > + wspiera wiele stylów programowania i wiele paradygmatów programowania
> > 
> > Podobnie jak wiele innych języków.
> 
> Wiele, ale są też takie które dopuszczają wolność, ale nie w tak szerokim zakresie (w połączeniu z innymi cechami).

Co to znaczy: "wolność, ale nie w tak szerokim zakresie"?

> > > + darmowy
> > 
> > Podobnie jak wiele innych języków.
> 
> Tu chodziło mi raczej o podkreślenie, że nie generuje dodatkowych kosztów - wystarczą chęci i samozaparcie.

Podobnie jak w przypadku wielu innych języków.

> > > + ma bardzo dobre BIBLIOTEKI DO WSZYSTKIEGO na liberalnych licencjach
> > 
> > Podobnie jak wiele innych języków.
> 
> ŻADEN INNY JĘZYK NIE MA TYLE BIBLIOTEK (bo włączyć do repertuaru można biblioteki w Asemblerze i C a w drugą stronę już słabo).

"biblioteki w asemblerze i C" można włączyć do każdego języka, który
ma jakąś implementację FFI.
Dużo języków ma dużo bibliotek. Na przykład Python (który dodatkowo
ma FFI). Albo Java.

> > > + jest przyjazny dla ucznia (można go poznawać stopniowo - w miarę potrzeb)
> > 
> > A znasz jakiś język, którego nie można poznawać stopniowo?
> 
> Nie szukałem... Tą zaletę pamiętam z Symfonii C++ Jerzego Grębosza (chyba miał na myśli to, że efekty szybko się pojawiają przy jego nauce).
> 
> > > + jest wiele podręczników (z Opus Magnum Jerzego Grębosza na czele)
> > 
> > Nie czytałem, to się nie wypowiem.
> > Ale "Język C++" Stroustrupa to w moim odczuciu naprawdę kiepska książka.
> 
> To bardziej wyrocznia w sprawach nie oczywistych i mało znanych. Jerzy Grębosz pisze dużo bardziej zrozumiale (może to kwestia tego, że nie wymagało to tłumacza?!?).
> 
> > Zresztą nawet Scott Meyers, autor książek z serii "Effective C++",
> > już sobie odpuścił.
> > https://www.youtube.com/watch?v=KAWA1DuvCnQ&feature=youtu.be
> 
> Nie mam czasu godzinę się męczyć wsłuchując się w monolog po angielsku... I w zasadzie nie obchodzi mnie to, że woli pisać w D niż w C++.

Prezentacja dotyczy w całości języka C++. D jest może wspomniany
gdzieś na końcu, i to bardziej kokieteryjnie.

[toc] | [prev] | [next] | [standalone]


#32187

Fromszykcech@gmail.com
Date2018-12-30 09:08 -0800
Message-ID<c2d1e29f-1ac5-4459-8062-3160dc86090f@googlegroups.com>
In reply to#32179
> > Bo to odbicie ludzkiego pojmowania świata: obiekty z określonymi funkcjami (w moralności dostępne funkcje to stopnie swobody - im człowiek jest bardziej wolny to ma więcej dostępnych obiektów i funkcji - czyli stopni swobody).
> 
> Jak to kiedyś powiedział mój kolega,
> "nikt, kto kroi chleb, nie myśli, że wysyła wiadomość do noża,
> nakazującą mu krojenie chleba, albo do chleba, nakazującą
> mu się pokroić".
> W każdym razie ja nie znam nikogo takiego. Jak chcę przesunąć kamień,
> to przesuwam kamień, a nie mówię do kamienia: kamień.przesuń(się).
> O tym zresztą też pisałem:
> https://www.quora.com/Why-is-OO-programming-considered-bad-by-some-people/answer/Panicz-Godek

Powiedz to wszystko automatykom i programistom Cnc. Oni na pewno są bardzo szczęśliwi, że mogą właśnie tak gadać ze sprzętem. Bo to najprostsze i nie odbiegające od zdroworozsądkowego sposobu myślenia.

[toc] | [prev] | [next] | [standalone]


#32188

Fromgodek.maciek@gmail.com
Date2018-12-30 10:17 -0800
Message-ID<eabf9240-0f29-4242-a7d1-014a5d978b2c@googlegroups.com>
In reply to#32187
W dniu niedziela, 30 grudnia 2018 18:08:10 UTC+1 użytkownik szyk...@gmail.com napisał:
> > > Bo to odbicie ludzkiego pojmowania świata: obiekty z określonymi funkcjami (w moralności dostępne funkcje to stopnie swobody - im człowiek jest bardziej wolny to ma więcej dostępnych obiektów i funkcji - czyli stopni swobody).
> > 
> > Jak to kiedyś powiedział mój kolega,
> > "nikt, kto kroi chleb, nie myśli, że wysyła wiadomość do noża,
> > nakazującą mu krojenie chleba, albo do chleba, nakazującą
> > mu się pokroić".
> > W każdym razie ja nie znam nikogo takiego. Jak chcę przesunąć kamień,
> > to przesuwam kamień, a nie mówię do kamienia: kamień.przesuń(się).
> > O tym zresztą też pisałem:
> > https://www.quora.com/Why-is-OO-programming-considered-bad-by-some-people/answer/Panicz-Godek
> 
> Powiedz to wszystko automatykom i programistom Cnc. Oni na pewno są bardzo szczęśliwi, że mogą właśnie tak gadać ze sprzętem. Bo to najprostsze i nie odbiegające od zdroworozsądkowego sposobu myślenia.

Ale co konkretnie mam powiedzieć?
(NB jak studiowałem automatykę, to mieliśmy tam przedmiot "technika
cyfrowa", na którym jednym z podstawowych rozróżnień było to pomiędzy
"układami kombinacyjnymi" i "układami sekwencyjnymi", które dobrze
odzwierciedla to pomiędzy "programowaniem funkcyjnym" a
"programowaniem imperatywnym". Za to programowania na tych studiach
uczyli raczej dziadosko)

[toc] | [prev] | [next] | [standalone]


#32207

FromMaciej Sobczak <see.my.homepage@gmail.com>
Date2019-01-02 00:48 -0800
Message-ID<2930e95a-46f5-4b34-a82e-1cafe485f6d6@googlegroups.com>
In reply to#32179
> Jak to kiedyś powiedział mój kolega,
> "nikt, kto kroi chleb, nie myśli, że wysyła wiadomość do noża,
> nakazującą mu krojenie chleba, albo do chleba, nakazującą
> mu się pokroić".

Zły poziom abstrakcji.
Pomyśl, o zespole kucharzy, którzy wydają sobie właśnie takie polecenia. Dlaczego wtedy to ma sens?

Jeśli już jesteś w kuchni, pomyśl też o guzikach na piekarniku albo kuchence mikrofalowej. Czym jest wciśnięcie przycisku jeśli nie wysłaniem wiadomości do obiektu, żeby wykonał jakąś akcję?
Dlaczego wtedy to ma sens?

> W każdym razie ja nie znam nikogo takiego.

Być może masz bardzo ograniczone doświadczenia?

> > > > + ma możliwość przeładowania operatorów
> > > 
> > > A dlaczego to jest dobre?

W C++ konieczne, żeby szablony działały.
Da się zrobić szablony tak, żeby przeciążanie funkcji i operatorów nie było konieczne (np. w Adzie się da), ale nie sprzyja to czytelności programów.

-- 
Maciej Sobczak * http://www.inspirel.com

[toc] | [prev] | [next] | [standalone]


#32213

Fromgodek.maciek@gmail.com
Date2019-01-02 04:23 -0800
Message-ID<a56a7eea-70a4-4809-a0ea-cdd28592063c@googlegroups.com>
In reply to#32207
W dniu środa, 2 stycznia 2019 09:48:27 UTC+1 użytkownik Maciej Sobczak napisał:
> > Jak to kiedyś powiedział mój kolega,
> > "nikt, kto kroi chleb, nie myśli, że wysyła wiadomość do noża,
> > nakazującą mu krojenie chleba, albo do chleba, nakazującą
> > mu się pokroić".
> 
> Zły poziom abstrakcji.

Kto decyduje o tym, jaki poziom abstrakcji jest dobry, a jaki zły?

> Pomyśl, o zespole kucharzy, którzy wydają sobie właśnie takie polecenia. Dlaczego wtedy to ma sens?

A wtedy to ma sens?
Do ludzi mówimy na różne sposoby, i oni na różne sposoby reagują.
Obgadują się, zawierają sojusze, proponują rozwiązania, i potrafią
się obrazić, jak im ktoś będzie wydawał rozkazy.
Po obiektach w językach obiektowych raczej oczekuje się przewidywalności
i bezwzględnego posłuszeństwa.

> Jeśli już jesteś w kuchni, pomyśl też o guzikach na piekarniku albo kuchence mikrofalowej. Czym jest wciśnięcie przycisku jeśli nie wysłaniem wiadomości do obiektu, żeby wykonał jakąś akcję?
> Dlaczego wtedy to ma sens?

Być może dlatego, że właśnie w taki sposób sobie o takich rzeczach myślimy.

> > W każdym razie ja nie znam nikogo takiego.
> 
> Być może masz bardzo ograniczone doświadczenia?

Być może.

[toc] | [prev] | [next] | [standalone]


#32223

FromMaciej Sobczak <see.my.homepage@gmail.com>
Date2019-01-03 00:37 -0800
Message-ID<6f9e32bc-7b30-43df-bd75-8578a15e90ba@googlegroups.com>
In reply to#32213
> > > Jak to kiedyś powiedział mój kolega,
> > > "nikt, kto kroi chleb, nie myśli, że wysyła wiadomość do noża,
> > > nakazującą mu krojenie chleba, albo do chleba, nakazującą
> > > mu się pokroić".
> > 
> > Zły poziom abstrakcji.
> 
> Kto decyduje o tym, jaki poziom abstrakcji jest dobry, a jaki zły?

Twój kolega. Zauważył, że nie wysyła się wiadomości do noża.

> > Pomyśl, o zespole kucharzy, którzy wydają sobie właśnie takie polecenia. Dlaczego wtedy to ma sens?
> 
> A wtedy to ma sens?

- Hej, młody, pokrój chleb.

Jak najbardziej ma sens.

> Do ludzi mówimy na różne sposoby, i oni na różne sposoby reagują.
> Obgadują się, zawierają sojusze, proponują rozwiązania, i potrafią
> się obrazić, jak im ktoś będzie wydawał rozkazy.
> Po obiektach w językach obiektowych raczej oczekuje się przewidywalności
> i bezwzględnego posłuszeństwa.

Właśnie. Dlatego mówimy, że w języku obiektowym *modelujemy* jakiś system a nie odtwarzamy rzeczywistość. Model z natury jest zawsze uproszczony.

Gdzieś jednak jest granica abstrakcji, której przekroczenie nie wnosi wartości dodanej. Nie wysyłamy komunikatu do zmiennych całkowitych, żeby się do siebie dodały. I nie wysyłamy komunikatu do noża, żeby pokroił chleb. Ale do elektrycznej krajalnicy wysyłamy, naciskając guzik na jej froncie. Być może w środku krajalnicy jest jakiś nóż, ale nas to nie obchodzi, bo to nie jemu wysyłamy komunikat. I w ogóle obudowa z guzikiem jest po to, żebyśmy nie wnikali, co tam w środku jest. Dla nas jest guzik na tej obudowie - właśnie po to, żebyśmy mogli tej krajalnicy wysłać komunikat.

Widzisz już o co chodzi?
Programowanie obiektowe jest po to, żeby czytelnie modelować rzeczywiste systemy. Oczywiście, jak każde narzędzie, to też może być źle użyte. Np. na złym poziomie abstrakcji.

-- 
Maciej Sobczak * http://www.inspirel.com

[toc] | [prev] | [next] | [standalone]


#32189

FromTomasz Kaczanowski <kaczus@poczta.onet.pl>
Date2018-12-31 08:18 +0100
Message-ID<q0cfs7$8gq$1@node2.news.atman.pl>
In reply to#32172
W dniu 2018-12-29 o 12:51, godek.maciek@gmail.com napisał:

>> + jest wiele podręczników (z Opus Magnum Jerzego Grębosza na czele)
> 
> Nie czytałem, to się nie wypowiem.
> Ale "Język C++" Stroustrupa to w moim odczuciu naprawdę kiepska książka.

To jest bardzo stara książka, jeśli chodzi o Stroustrupa, to dla 
początkujących na prawdę fajnie napisana jest "Programowanie. Teoria i 
praktyka z wykorzystaniem C++" Na stronie Heliona, znajdziesz sobie 
fragment i możesz sam ocenić język i sposób przekazania dla 
początkujących http://helion.pl/view/8528E/pcppt2.htm

-- 
http://kaczus.ppa.pl

[toc] | [prev] | [next] | [standalone]


#32190

Fromgodek.maciek@gmail.com
Date2018-12-31 01:14 -0800
Message-ID<5e2194a7-2d0b-414c-a153-3e70231d7bc7@googlegroups.com>
In reply to#32189
W dniu poniedziałek, 31 grudnia 2018 08:18:32 UTC+1 użytkownik Tomasz Kaczanowski napisał:

> >> + jest wiele podręczników (z Opus Magnum Jerzego Grębosza na czele)
> > 
> > Nie czytałem, to się nie wypowiem.
> > Ale "Język C++" Stroustrupa to w moim odczuciu naprawdę kiepska książka.
> 
> To jest bardzo stara książka

Z tego co pamiętam, chyba została wydana w 1998 roku (patrzę
w Intenetach, i polskie wydanie pochodzi z 2000 roku).
Struktura i Interpretacja Programów komputerowych miała pierwsze
wydanie w 1984 roku, a drugie wydanie pochodzi chyba z 1992,
i jakoś się kurde nie zestarzała.
Książka Petera Norviga, https://github.com/norvig/paip-lisp, wydana
w 1992, wciąż się doskonale czyta (nawet jeśli pewne Common Lispowe
idiosynkrazmy trącą już myszką)
Dialogi Platona powstały 2500 lat temu, a wiele jego diagnoz
społecznych czyta się tak, jakby to było napisane wczoraj.
"Język ANSI C", który miał drugie wydanie w 1988 roku,
wciąż pozostaje całkiem aktualnym podręcznikiem.

Nawet katalog Ikei się tak szybko nie starzeje.

> jeśli chodzi o Stroustrupa, to dla 
> początkujących na prawdę fajnie napisana jest "Programowanie. Teoria i 
> praktyka z wykorzystaniem C++" Na stronie Heliona, znajdziesz sobie 
> fragment i możesz sam ocenić język i sposób przekazania dla 
> początkujących http://helion.pl/view/8528E/pcppt2.htm

Zajrzałem. 

Kurde, kalkulator facet robi.

W SICP jest różniczkowanie symboliczne, symulator obwodów
logicznych, interpreter Prologa i kompilator.
W PAIP są programy, które na podstawie słownych zadań z podręcznika
do matematyki formułują układy równań, które potem rozwiązują,
algorytmy wyszukujące optymalną trasę oraz systemy ekspertowe.

A tutaj kalkulator.

W mojej ocenie C++ jest językiem, który sprawia, że proste rzeczy
stają się na tyle trudne, że o zaawansowanych można w ogóle zapomnieć.

[toc] | [prev] | [next] | [standalone]


#32206

FromMaciej Sobczak <see.my.homepage@gmail.com>
Date2019-01-02 00:41 -0800
Message-ID<1878fd84-1af3-47a2-8c54-3494b27afde7@googlegroups.com>
In reply to#32190
> > http://helion.pl/view/8528E/pcppt2.htm
> 
> Zajrzałem. 
> 
> Kurde, kalkulator facet robi.

Super, dzięki temu można tą książkę zrozumieć bez wnikania w dziedzinę, dla której stworzono ten sztuczny przykład.

> W SICP jest różniczkowanie symboliczne, symulator obwodów
> logicznych, interpreter Prologa i kompilator.

Do bani, przez to nie można zrozumieć tych przykładów bez wnikania w dziedzinę, dla której stworzono te sztuczne przykłady. Taka książka dla początkujących doktorantów.

> W PAIP są programy, które na podstawie słownych zadań z podręcznika
> do matematyki formułują układy równań, które potem rozwiązują,
> algorytmy wyszukujące optymalną trasę oraz systemy ekspertowe.

Do bani, przez to nie można zrozumieć tych przykładów bez wnikania w dziedzinę, dla której stworzono te sztuczne przykłady. Taka książka dla początkujących doktorantów.

> A tutaj kalkulator.

Super, focus jest na języku a nie na szpanowaniu przykładami, dzięki czemu książka ma szansę dotrzeć również do młodszych czytelników. I znam takich młodszych, którzy są w stanie uczyć się z takiej właśnie książki.

Pamiętam, jak w szkole uczyłem się języka Logo. Zdaje się, że miałem wtedy frajdę z narysowania wielokąta foremnego a nie z różniczkowania symbolicznego. Jest w SICP albo w PAIP coś o rysowaniu wielokątków foremnych? Nie ma? Nie da się?

> W mojej ocenie C++ jest językiem, który sprawia, że proste rzeczy
> stają się na tyle trudne, że o zaawansowanych można w ogóle zapomnieć.

A ja wpisałem w Googla hasło "C++ scientific computing" i zalało mnie wynikami.

-- 
Maciej Sobczak * http://www.inspirel.com

[toc] | [prev] | [next] | [standalone]


#32216

Fromgodek.maciek@gmail.com
Date2019-01-02 05:00 -0800
Message-ID<942fd935-7229-406e-b6c5-c2681fffe928@googlegroups.com>
In reply to#32206
W dniu środa, 2 stycznia 2019 09:41:14 UTC+1 użytkownik Maciej Sobczak napisał:
> > > http://helion.pl/view/8528E/pcppt2.htm
> > 
> > Zajrzałem. 
> > 
> > Kurde, kalkulator facet robi.
> 
> Super, dzięki temu można tą książkę zrozumieć bez wnikania w dziedzinę, dla której stworzono ten sztuczny przykład.



> > W SICP jest różniczkowanie symboliczne, symulator obwodów
> > logicznych, interpreter Prologa i kompilator.
> 
> Do bani, przez to nie można zrozumieć tych przykładów bez wnikania w dziedzinę, dla której stworzono te sztuczne przykłady. Taka książka dla początkujących doktorantów.

Owszem, SICP to jest książka napisana z myślą o studentach inżynierii
elektrycznej. Raczej trudna dla osób nietechnicznych.

> > W PAIP są programy, które na podstawie słownych zadań z podręcznika
> > do matematyki formułują układy równań, które potem rozwiązują,
> > algorytmy wyszukujące optymalną trasę oraz systemy ekspertowe.
> 
> Do bani, przez to nie można zrozumieć tych przykładów bez wnikania w dziedzinę, dla której stworzono te sztuczne przykłady. Taka książka dla początkujących doktorantów.

Raczej nie. Każdy, kto kiedykolwiek korzystał z mapy, powinien mieć
pewne doświadczenia w wyszukiwaniu optymalnej trasy.
Każdy, kto kiedykolwiek kojarzył fakty, powinien mieć doświadczenia
z systemami ekspertowymi.
A rozwiązywanie układów równań było gdzieś w szkole podstawowej.

To nie są egzotyczne przykłady z kosmosu.

> > A tutaj kalkulator.
> 
> Super, focus jest na języku a nie na szpanowaniu przykładami, dzięki czemu książka ma szansę dotrzeć również do młodszych czytelników. I znam takich młodszych, którzy są w stanie uczyć się z takiej właśnie książki.

Focus jest na języku, bo i język jest na tyle skomplikowany, że wymaga
focusu.
Lispy są na tyle prostymi językami, że można się zamiast tego skupić
na interesujących zastosowaniach.

> Pamiętam, jak w szkole uczyłem się języka Logo. Zdaje się, że miałem wtedy frajdę z narysowania wielokąta foremnego a nie z różniczkowania symbolicznego. Jest w SICP albo w PAIP coś o rysowaniu wielokątków foremnych? Nie ma? Nie da się?

W SICP jest implementacja języka obrazkowego.
Są też książki "How to Design Programs", o systematycznym projektowaniu
programów (i w niej jest dużo zabaw z obrazkami) oraz "How to Design
Worlds", która została napisana z myślą o prowadzeniu kursów dla dzieci,
gdzie dzieci na tych kursach tworzyły gry na podstawie tych kursów
- się to nazywa "bootstrap world". Kilka lat temu była nawet głośna
historia 7-letniej dziewczynki, która na tyle biegle nauczyła się
programować, że wgrała swoją grę do jakiegoś app-store'a:

https://www.youtube.com/watch?v=9oEZjpEqCwM

> > W mojej ocenie C++ jest językiem, który sprawia, że proste rzeczy
> > stają się na tyle trudne, że o zaawansowanych można w ogóle zapomnieć.
>
> A ja wpisałem w Googla hasło "C++ scientific computing" i zalało mnie wynikami.

No i?

[toc] | [prev] | [next] | [standalone]


#32224

FromMaciej Sobczak <see.my.homepage@gmail.com>
Date2019-01-03 00:44 -0800
Message-ID<77acbec3-4d02-4ea5-a891-3e9e10965fc8@googlegroups.com>
In reply to#32216
> Lispy są na tyle prostymi językami, że można się zamiast tego skupić
> na interesujących zastosowaniach.

https://eli.thegreenplace.net/2004/08/08/equality-in-lisp

Tylko 5 różnych operatorów porównania, "which can be very confusing".
Jak tylko zapamiętam, czym się różnią, skupię się na interesujących zastosowaniach.

> > > W mojej ocenie C++ jest językiem, który sprawia, że proste rzeczy
> > > stają się na tyle trudne, że o zaawansowanych można w ogóle zapomnieć.
> >
> > A ja wpisałem w Googla hasło "C++ scientific computing" i zalało mnie wynikami.
> 
> No i?

No i nie trzeba w ogóle zapomnieć o zaawansowanych rzeczach. To oznacza, że być może Twoja ocena C++ nie jest zgodna z faktyczną praktyką jego używania.

-- 
Maciej Sobczak * http://www.inspirel.com

[toc] | [prev] | [next] | [standalone]


#32228

Fromgodek.maciek@gmail.com
Date2019-01-03 05:19 -0800
Message-ID<e418918f-5d0c-4644-95ef-e5a1d63961df@googlegroups.com>
In reply to#32224
W dniu czwartek, 3 stycznia 2019 09:44:34 UTC+1 użytkownik Maciej Sobczak napisał:
> > Lispy są na tyle prostymi językami, że można się zamiast tego skupić
> > na interesujących zastosowaniach.
> 
> https://eli.thegreenplace.net/2004/08/08/equality-in-lisp
> 
> Tylko 5 różnych operatorów porównania, "which can be very confusing".
> Jak tylko zapamiętam, czym się różnią, skupię się na interesujących zastosowaniach.

W lispach masz dużo operatorów stwierdzających tożsamość dwóch
obiektów, bo samo pojęcie tożsamości jest nieoczywiste.
(istnieją całe traktaty filozoficzne na ten temat)

Jako początkujący możesz zawsze używać equalp i dalej iść
przez życie.

Warto też zwrócić uwagę, że nawet w C sprawa wcale nie wygląda dużo
lepiej. Wyjaśnij początkującemu, dlaczego następujący kod wypisze
"różne".

char s1[] = "abc";
char s2[] = "abc";

if (s1 == s2) {
  printf("równe");
}
else {
  printf("różne");
}

> > > > W mojej ocenie C++ jest językiem, który sprawia, że proste rzeczy
> > > > stają się na tyle trudne, że o zaawansowanych można w ogóle zapomnieć.
> > >
> > > A ja wpisałem w Googla hasło "C++ scientific computing" i zalało mnie wynikami.
> > 
> > No i?
> 
> No i nie trzeba w ogóle zapomnieć o zaawansowanych rzeczach. To oznacza, że być może Twoja ocena C++ nie jest zgodna z faktyczną praktyką jego używania.

"scientific computing" to nie są programistycznie zaawansowane rzeczy.
Naukowcy z reguły piszą na tyle małe programy, że niechlujstwo
może uchodzić na sucho.
Jak wpiszesz w Googla "fortran scientific computing", to też zaleje
Cię wynikami.

Mówiąc "zaawansowane rzeczy", mam na myśli duże, złożone systemy informatyczne.

Zwolennikom języka C++ proponuję następujące wyzwanie, żeby
wzieli książkę "Paradigms of Artificial Intelligence" Norviga
jest dostępna za darmo tutaj: https://github.com/norvig/paip-lisp
i spróbowali przełożyć zawarte w niej przykłady na C++.

Myślę, że to dobre ćwiczenie, i można się przy tej okazji wiele nauczyć.

[toc] | [prev] | [next] | [standalone]


#32210

FromWojciech Muła <wojtek.mula@gmail.com>
Date2019-01-02 01:53 -0800
Message-ID<616f2f0c-2ac0-4301-8066-c801a45a27c8@googlegroups.com>
In reply to#32190
On Monday, December 31, 2018 at 10:14:18 AM UTC+1, godek....@gmail.com wrote:
> W mojej ocenie C++ jest językiem, który sprawia, że proste rzeczy
> stają się na tyle trudne, że o zaawansowanych można w ogóle zapomnieć.

Jest dokładnie odwrotnie. Wysokopoziomowe języki istotnie sprawiają
wrażenie, że skomplikowane rzeczy można robić szybciej, ponieważ wiele
rzeczy mają wbudowanych, a część problemów ukrywają przed programistą,
przez co próg wejścia jest istotnie niższy. C++ nie nadaje się do
pisania zabawkowych rzeczy, które mieszczą się na dwóch slajdach do
pokazania na niszowej konferencji.

Jego siłę widać, gdy są do przetworzenia duże ilości danych
nietrywialnymi algorytmami. C++ posiada środki wyrazu pozwalające
opisać zarówno struktury danych jak i same algorytmy na poziomie
szczegółowości niedostępnym w językach wyższego poziomu. Z jednej
strony można operować na abstrakcjach, ale jak trzeba uwzględnić
niskopoziomowe cechy sprzętu (a bardzo często trzeba, wbrew mitom)
to też są na to sposoby.

w.

[toc] | [prev] | [next] | [standalone]


Page 2 of 8 — ← Prev page 1 [2] 3 4 5 6 7 8  Next page →

Back to top | Article view | pl.comp.programming


csiph-web