Skip to content
  • Categories
  • Recent
  • Tags
  • Popular
  • Users
  • Groups
  • Search
  • Get Qt Extensions
  • Unsolved
Collapse
Brand Logo
  1. Home
  2. General talk
  3. The Lounge
  4. old hacker...low tolerance
QtWS25 Last Chance

old hacker...low tolerance

Scheduled Pinned Locked Moved Unsolved The Lounge
47 Posts 13 Posters 9.1k Views
  • Oldest to Newest
  • Newest to Oldest
  • Most Votes
Reply
  • Reply as topic
Log in to reply
This topic has been deleted. Only users with topic management privileges can see it.
  • J JonB
    1 Dec 2022, 15:21

    @TomZ , @Chris-Kawa said in old hacker...low tolerance:

    Its not a compiler

    I know.

    Reading and learning from you two. But it's amusing that the opening sentence from its author at https://github.com/hsutter/cppfront reads:

    Cppfront is a experimental compiler from a potential C++ 'syntax 2' (Cpp2) to today's 'syntax 1' (Cpp1), to learn some things, prove out some concepts, and share some ideas. This compiler is a work in progress

    [My bold.]

    C Offline
    C Offline
    Chris Kawa
    Lifetime Qt Champion
    wrote on 1 Dec 2022, 15:26 last edited by Chris Kawa 12 Jan 2022, 15:42
    #30

    @JonB Right, I guess we got carried away. cppfront is the compiler for cpp2 or C++ syntax 2 language.

    Btw. "C++ 'syntax 2'" is such a classic Herb move to make something new and call it C++. He knows that if you call it D or Rust most C++ people won't be interested. He's a good salesman.

    The goal of that project is to see if we could evolve C++ if we dropped legacy dependencies. Let me spare you the trouble:

    • Can we make a better language if we drop legacy dependencies? - Absolutely, it was done multiple times.
    • Can we evolve existing code base into that new language? - It's been tried. Leads to local pockets of messy unmaintainable hybrids that bog down the system and eventually get rewritten in the yet next bigger thing or dropped entirely.
    • Can we try it anyway because we know better? - Sure, have at it

    It's curious to me that Stroustrup doesn't seem to comment on it (or at least I haven't noticed), yet Herb keeps using his cfront as an example to call cppfront the same thing. I wonder what he thinks of it.

    1 Reply Last reply
    0
    • C Chris Kawa
      1 Dec 2022, 15:17

      But that's the entire point of the project

      Pretty much entire world runs on C++. Took it almost 40 years to get there. cppfront is not gonna have any relevance for at least the same. Now you have a complicated C++ language. If you introduce cppfront somewhere you're not dropping the old. You'll have to be an expert in both and in interop between them to get anywhere.
      Tooling for C++ is abundant and often sucks. There's no tooling for cppfront whatsoever. There's no libraries, editors, toolchain support, test frameworks. Pretty much no infrastructure for it whatsoever beyond compiler explorer. The language itself is in a napkin draft stage and is owned by a single person.

      Its not a compiler

      I know. I meant that it's a toy language to play with existing compiler to see what it can do if you drop legacy dependencies. Which you can do on a playground, but can't do in the real world.

      T Offline
      T Offline
      TomZ
      wrote on 1 Dec 2022, 17:04 last edited by
      #31

      @Chris-Kawa said in old hacker...low tolerance:

      Pretty much entire world runs on C++. Took it almost 40 years to get there. cppfront is not gonna have any relevance for at least the same. Now you have a complicated C++ language. If you introduce cppfront somewhere you're not dropping the old. You'll have to be an expert in both and in interop between them to get anywhere.

      Ok, this is factually a project that takes a cpp2 file, and "compiles" (ok, I guess he calls that compiling) it to regular C++, which is then put in your project to compile with all the other files.

      Knowing this, I'm not sure why you have such worries. Indeed, nobody is going to suggest you drop the old, there is no reason to throw away any cpp tooling as it still works, there is no "interop" to worry about as its literally the same concepts, the same library and the method names you make up are still pure C++ methods.

      Let me repeat that, your Qt library can be used with zero config, glue or interop-work from cpp-front. Because both are C++.

      Now, I read you have doubts about the guy's motives. And that's fair, I don't know (or care) about the man. He is indeed a great presenter, I'll give you that.
      But I don't give a hoot about the man, I care about the research and the open source code.

      Anyway, the reason this is on this thread is because there is a real industry push away from unsafe code. Out of bounds memory accesses (raw pointer arithmetic) are still near the top when it comes to exploits and similar issues. Dropping C++ is one way to go, but that 40 years of history is indeed a pretty big reason why that's not gonna happen. So, this is one way to go.

      Maybe to avoid the politics; what about https://github.com/SerenityOS/jakt ?

      1 Reply Last reply
      0
      • C Offline
        C Offline
        Chris Kawa
        Lifetime Qt Champion
        wrote on 1 Dec 2022, 17:44 last edited by Chris Kawa 12 Jan 2022, 17:56
        #32

        Ok, this is factually a project that takes a cpp2 file, and "compiles" it to regular C++

        Currently. Again, it's a napkin spec right now. There's already a talk about meta-classes and other stuff that doesn't have direct translation into standard C++.

        there is no "interop" to worry about

        Try calling a syntax 2 function from C++. Yes, you need glue.

        Because both are C++

        No, they're not. Just like JavaScript and TypeScript are not the same. You are buying into the marketing. It's not C++. It's a one direction translation. Bidirectional interop needs glue.

        How about we focus on educating better and methodically improve existing C++ instead of inventing 42nd language for attention deficient people, who look for instant wins and can't be bothered to put any effort in? Because that's a rising and far larger problem than some syntax tidbits. Just look at any technical forum - next generation is perfectly well capable of f-ing up in syntax 2, just like they are in C++. It's a sociological problem to a far greater extent than a technical one.

        Besides, there were bunch of other languages starting with good intentions like this - C++ without its legacy problems. D for example. The issue is that it starts that way, but when the language grows to the size that is actually useful, it gathers its own baggage of legacy problems. You end up in the same spot, just with lost time that you could've put into improving what you already had. The world is already spinning. There is no starting over.

        J 1 Reply Last reply 1 Dec 2022, 17:52
        3
        • C Chris Kawa
          1 Dec 2022, 17:44

          Ok, this is factually a project that takes a cpp2 file, and "compiles" it to regular C++

          Currently. Again, it's a napkin spec right now. There's already a talk about meta-classes and other stuff that doesn't have direct translation into standard C++.

          there is no "interop" to worry about

          Try calling a syntax 2 function from C++. Yes, you need glue.

          Because both are C++

          No, they're not. Just like JavaScript and TypeScript are not the same. You are buying into the marketing. It's not C++. It's a one direction translation. Bidirectional interop needs glue.

          How about we focus on educating better and methodically improve existing C++ instead of inventing 42nd language for attention deficient people, who look for instant wins and can't be bothered to put any effort in? Because that's a rising and far larger problem than some syntax tidbits. Just look at any technical forum - next generation is perfectly well capable of f-ing up in syntax 2, just like they are in C++. It's a sociological problem to a far greater extent than a technical one.

          Besides, there were bunch of other languages starting with good intentions like this - C++ without its legacy problems. D for example. The issue is that it starts that way, but when the language grows to the size that is actually useful, it gathers its own baggage of legacy problems. You end up in the same spot, just with lost time that you could've put into improving what you already had. The world is already spinning. There is no starting over.

          J Offline
          J Offline
          JoeCFD
          wrote on 1 Dec 2022, 17:52 last edited by JoeCFD 12 Jan 2022, 18:09
          #33

          @Chris-Kawa Oh, no, you are against the Great Reset.

          One thing I do agree with you is: it makes more sense to make C++ better than to invent more other languages.
          For example, I used to use a lot of Fortran. If C++ has efficient multi-dimensional array(will have in 23), Fortran can be dropped easily.

          C 1 Reply Last reply 1 Dec 2022, 18:11
          0
          • J JoeCFD
            1 Dec 2022, 17:52

            @Chris-Kawa Oh, no, you are against the Great Reset.

            One thing I do agree with you is: it makes more sense to make C++ better than to invent more other languages.
            For example, I used to use a lot of Fortran. If C++ has efficient multi-dimensional array(will have in 23), Fortran can be dropped easily.

            C Offline
            C Offline
            Chris Kawa
            Lifetime Qt Champion
            wrote on 1 Dec 2022, 18:11 last edited by
            #34

            The sad part for me is that a bunch of those new languages popping up are made by current or former C++ standard committee members, which sounds like "oh no, it's too hard, I'll make my own". And it's not even a joint effort. Everyone wants to be the inventor of the next big thing. I mean I don't mind people wasting time. It's their time to waste. It's just those are the people who are actually in a position to do something impactful. I wish they would've spent that time more productive for the sake of all of us.

            J 1 Reply Last reply 1 Dec 2022, 18:13
            0
            • C Chris Kawa
              1 Dec 2022, 18:11

              The sad part for me is that a bunch of those new languages popping up are made by current or former C++ standard committee members, which sounds like "oh no, it's too hard, I'll make my own". And it's not even a joint effort. Everyone wants to be the inventor of the next big thing. I mean I don't mind people wasting time. It's their time to waste. It's just those are the people who are actually in a position to do something impactful. I wish they would've spent that time more productive for the sake of all of us.

              J Offline
              J Offline
              JoeCFD
              wrote on 1 Dec 2022, 18:13 last edited by JoeCFD 12 Jan 2022, 18:13
              #35

              @Chris-Kawa Actually not bad if they can come up with some good ideas.

              1 Reply Last reply
              0
              • J Offline
                J Offline
                JonB
                wrote on 1 Dec 2022, 19:04 last edited by
                #36

                Programming (languages, humans writing code) will be over in 20 (50?) years. Discuss.

                M J 2 Replies Last reply 1 Dec 2022, 19:05
                0
                • J JonB
                  1 Dec 2022, 19:04

                  Programming (languages, humans writing code) will be over in 20 (50?) years. Discuss.

                  M Offline
                  M Offline
                  mzimmers
                  wrote on 1 Dec 2022, 19:05 last edited by
                  #37

                  @JonB said in old hacker...low tolerance:

                  Programming (languages, humans writing code) will be over in 20 (50?) years. Discuss.

                  Right...and robots will eliminate the need for human labor in 10 years. signed, a lot of smart people c. 1960.

                  J K 2 Replies Last reply 1 Dec 2022, 19:07
                  0
                  • M mzimmers
                    1 Dec 2022, 19:05

                    @JonB said in old hacker...low tolerance:

                    Programming (languages, humans writing code) will be over in 20 (50?) years. Discuss.

                    Right...and robots will eliminate the need for human labor in 10 years. signed, a lot of smart people c. 1960.

                    J Offline
                    J Offline
                    JonB
                    wrote on 1 Dec 2022, 19:07 last edited by
                    #38

                    @mzimmers
                    I checked up yesterday, we are due to have nuclear fusion online in early 2030s. It's very exciting, I have been waiting for it all my life.

                    M 1 Reply Last reply 1 Dec 2022, 19:14
                    0
                    • J JonB
                      1 Dec 2022, 19:07

                      @mzimmers
                      I checked up yesterday, we are due to have nuclear fusion online in early 2030s. It's very exciting, I have been waiting for it all my life.

                      M Offline
                      M Offline
                      mzimmers
                      wrote on 1 Dec 2022, 19:14 last edited by
                      #39

                      @JonB said in old hacker...low tolerance:

                      @mzimmers
                      I checked up yesterday, we are due to have nuclear fusion online in early 2030s.

                      I thought the Qt Forum already experienced that, back when that crabapple AnneRanch used to post here?

                      1 Reply Last reply
                      0
                      • F Offline
                        F Offline
                        fcarney
                        wrote on 1 Dec 2022, 19:35 last edited by
                        #40

                        Meanwhile Javascript is being put into everything.

                        C++ is a perfectly valid school of magic.

                        M 1 Reply Last reply 1 Dec 2022, 19:36
                        2
                        • F fcarney
                          1 Dec 2022, 19:35

                          Meanwhile Javascript is being put into everything.

                          M Offline
                          M Offline
                          mzimmers
                          wrote on 1 Dec 2022, 19:36 last edited by
                          #41

                          @fcarney said in old hacker...low tolerance:

                          Meanwhile Javascript is being put into everything.

                          Now let's don't YOU start...

                          1 Reply Last reply
                          1
                          • M mzimmers
                            1 Dec 2022, 19:05

                            @JonB said in old hacker...low tolerance:

                            Programming (languages, humans writing code) will be over in 20 (50?) years. Discuss.

                            Right...and robots will eliminate the need for human labor in 10 years. signed, a lot of smart people c. 1960.

                            K Offline
                            K Offline
                            Kent-Dorfman
                            wrote on 1 Dec 2022, 20:42 last edited by
                            #42

                            @mzimmers said in old hacker...low tolerance:

                            Right...and robots will eliminate the need for human labor in 10 years. signed, a lot of smart people c. 1960.

                            Well, those idiots on the left coast (SanFransisco) just approved the use of "lethal force" robots against civilians. Yet another step closer to sky-net, but what do those of us wearing tin-foil hats know, right?

                            J 1 Reply Last reply 1 Dec 2022, 21:35
                            1
                            • K Kent-Dorfman
                              1 Dec 2022, 20:42

                              @mzimmers said in old hacker...low tolerance:

                              Right...and robots will eliminate the need for human labor in 10 years. signed, a lot of smart people c. 1960.

                              Well, those idiots on the left coast (SanFransisco) just approved the use of "lethal force" robots against civilians. Yet another step closer to sky-net, but what do those of us wearing tin-foil hats know, right?

                              J Offline
                              J Offline
                              JoeCFD
                              wrote on 1 Dec 2022, 21:35 last edited by JoeCFD 12 Jan 2022, 22:02
                              #43

                              @Kent-Dorfman When were weapons not used against civilians? The latest technology has always been used for weapons if possible in the history. The first computer was made to calculate the trajectory of projectiles. The nuclear energy was first applied for a bomb against civilians. I recently watched Hiroshima in youtube and it is a good movie.

                              1 Reply Last reply
                              0
                              • M Offline
                                M Offline
                                mzimmers
                                wrote on 2 Dec 2022, 00:28 last edited by
                                #44

                                Well, that settles it: I quit. Forever.

                                Let's all quit, move to Florida and go golfing. First birdie buys the beer...

                                T 1 Reply Last reply 2 Dec 2022, 17:55
                                0
                                • J JonB
                                  1 Dec 2022, 19:04

                                  Programming (languages, humans writing code) will be over in 20 (50?) years. Discuss.

                                  J Offline
                                  J Offline
                                  J.Hilk
                                  Moderators
                                  wrote on 2 Dec 2022, 06:33 last edited by
                                  #45

                                  @JonB said in old hacker...low tolerance:

                                  Programming (languages, humans writing code) will be over in 20 (50?) years. Discuss.

                                  sure, same as self driving cars, just right around to corner!


                                  Be aware of the Qt Code of Conduct, when posting : https://forum.qt.io/topic/113070/qt-code-of-conduct


                                  Q: What's that?
                                  A: It's blue light.
                                  Q: What does it do?
                                  A: It turns blue.

                                  1 Reply Last reply
                                  0
                                  • S Offline
                                    S Offline
                                    SimonSchroeder
                                    wrote on 2 Dec 2022, 08:22 last edited by
                                    #46

                                    Looks like I'm a little late to the party about cppfront. In general, I like some of the idea. There's recently been some talks (some by Herb himself) that passing argument by const reference is not always the most performant way to do it. You would actually need 3 different version of the same function for best performance. If you have two parameters that need to be optimized this way you'd have to write every combination of those, i.e. 9 different version. His C++ syntax 2 would solve this problem. That's the part I like. Concerning interoperability his approach is way superior to Carbon. Within the same file you can mix syntax 1 and syntax 2 if you are using cppfront as a compiler. This means as long as cppfront is your compiler you can still write classic C++ code and call functions written in syntax 2. There is no extra interoperability layer you have to write or be concerned with. Someone already mentioned that experts in C++ would need to know syntax 1 & 2 which is an extra burden added. Understanding syntax 2 at will tell you about the pitfalls when using syntax 1. Only problem with cppfront: I don't particularly like the syntax. Though for some of the features I might still be persuaded to swallow the pill and switch over if this would become standard.

                                    1 Reply Last reply
                                    1
                                    • M mzimmers
                                      2 Dec 2022, 00:28

                                      Well, that settles it: I quit. Forever.

                                      Let's all quit, move to Florida and go golfing. First birdie buys the beer...

                                      T Offline
                                      T Offline
                                      TomZ
                                      wrote on 2 Dec 2022, 17:55 last edited by
                                      #47

                                      @mzimmers said in old hacker...low tolerance:

                                      Let's all quit, move to Florida and go golfing.

                                      I retired some years ago (never been busier, though), I would not move to the USA, but the Caribbean looks interesting.
                                      Especially when they are turning their backs on the dollar system (which turned its back on them years ago).
                                      https://www.stvincenttimes.com/st-kitts-nevis-to-make-bitcoin-cash-legal-tender-by-march-2023/

                                      1 Reply Last reply
                                      0

                                      39/47

                                      1 Dec 2022, 19:14

                                      • Login

                                      • Login or register to search.
                                      39 out of 47
                                      • First post
                                        39/47
                                        Last post
                                      0
                                      • Categories
                                      • Recent
                                      • Tags
                                      • Popular
                                      • Users
                                      • Groups
                                      • Search
                                      • Get Qt Extensions
                                      • Unsolved