Skip to content
  • Categories
  • Recent
  • Tags
  • Popular
  • World
  • Users
  • Groups
Skins
  • Light
  • Cerulean
  • Cosmo
  • Flatly
  • Journal
  • Litera
  • Lumen
  • Lux
  • Materia
  • Minty
  • Morph
  • Pulse
  • Sandstone
  • Simplex
  • Sketchy
  • Spacelab
  • United
  • Yeti
  • Zephyr
  • Dark
  • Cyborg
  • Darkly
  • Quartz
  • Slate
  • Solar
  • Superhero
  • Vapor

  • Default (No Skin)
  • No Skin
Collapse
Code Project
  1. Home
  2. The Lounge
  3. Mark Chu-Carroll on Go (programming language)

Mark Chu-Carroll on Go (programming language)

Scheduled Pinned Locked Moved The Lounge
csharpc++phpcom
90 Posts 18 Posters 0 Views 1 Watching
  • 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.
  • N Offline
    N Offline
    Nemanja Trifunovic
    wrote on last edited by
    #1

    I like Mark Chu-Carroll's[^] writing style. A very balanced and knowledgable guy, IMHO. Anyway, here's his opinion on Go[^]

    utf8-cpp

    L J J P CPalliniC 5 Replies Last reply
    0
    • N Nemanja Trifunovic

      I like Mark Chu-Carroll's[^] writing style. A very balanced and knowledgable guy, IMHO. Anyway, here's his opinion on Go[^]

      utf8-cpp

      L Offline
      L Offline
      leppie
      wrote on last edited by
      #2

      Nemanja Trifunovic wrote:

      I like Mark Chu-Carroll's[^] writing style.

      Me too :) I wonder how long it will take for IronGo to appear? ;P

      xacc.ide
      IronScheme - 1.0 RC 1 - out now!
      ((λ (x) `(,x ',x)) '(λ (x) `(,x ',x))) The Scheme Programming Language – Fourth Edition

      K 1 Reply Last reply
      0
      • N Nemanja Trifunovic

        I like Mark Chu-Carroll's[^] writing style. A very balanced and knowledgable guy, IMHO. Anyway, here's his opinion on Go[^]

        utf8-cpp

        J Offline
        J Offline
        Joe Woodbury
        wrote on last edited by
        #3

        Except he fails to make the logical jump that to add all the things he would like, they'd end up with what we already have, but without all the tools to support it. (I also can't stand how proponents of a new language use artificial examples of how great their language is without realizing that their example is no more obvious to the novice than the equivalent in the language(s) they are dumping on. Plus, there's no question that any computer language, especially one with a pedigree like C++, can create convoluted programs, but a thing called self-discipline; just because a language has a feature, doesn't mean you should use it. Finally, I've noticed that engineers who get too caught up in Java and C# often forget how to do very simple things in C/C++, like using malloc or pointers.)

        M N 2 Replies Last reply
        0
        • J Joe Woodbury

          Except he fails to make the logical jump that to add all the things he would like, they'd end up with what we already have, but without all the tools to support it. (I also can't stand how proponents of a new language use artificial examples of how great their language is without realizing that their example is no more obvious to the novice than the equivalent in the language(s) they are dumping on. Plus, there's no question that any computer language, especially one with a pedigree like C++, can create convoluted programs, but a thing called self-discipline; just because a language has a feature, doesn't mean you should use it. Finally, I've noticed that engineers who get too caught up in Java and C# often forget how to do very simple things in C/C++, like using malloc or pointers.)

          M Offline
          M Offline
          Member 96
          wrote on last edited by
          #4

          Joe Woodbury wrote:

          Finally, I've noticed that engineers who get too caught up in Java and C# often forget how to do very simple things in love the fact that they don't have to do tedious pointless things better managed by the computer itself in C/C++, like using malloc or pointers.

          FTFY. ;)


          "Creating your own blog is about as easy as creating your own urine, and you're about as likely to find someone else interested in it." -- Lore Sjöberg

          P 1 Reply Last reply
          0
          • M Member 96

            Joe Woodbury wrote:

            Finally, I've noticed that engineers who get too caught up in Java and C# often forget how to do very simple things in love the fact that they don't have to do tedious pointless things better managed by the computer itself in C/C++, like using malloc or pointers.

            FTFY. ;)


            "Creating your own blog is about as easy as creating your own urine, and you're about as likely to find someone else interested in it." -- Lore Sjöberg

            P Offline
            P Offline
            PIEBALDconsult
            wrote on last edited by
            #5

            Yeah, but while I like not having to in C#, I also don't want to forget how to in C.

            S D 2 Replies Last reply
            0
            • P PIEBALDconsult

              Yeah, but while I like not having to in C#, I also don't want to forget how to in C.

              S Offline
              S Offline
              Shelby Robertson
              wrote on last edited by
              #6

              PIEBALDconsult wrote:

              I also don't want to forget how to in C

              Because sometime you need code that actually, you know, performs well.

              Ennis Ray Lynch, Jr. wrote:

              Unpaid overtime is slavery.

              Trollslayer wrote:

              Meetings - where minutes are taken and hours are lost.

              R M CPalliniC 3 Replies Last reply
              0
              • N Nemanja Trifunovic

                I like Mark Chu-Carroll's[^] writing style. A very balanced and knowledgable guy, IMHO. Anyway, here's his opinion on Go[^]

                utf8-cpp

                J Offline
                J Offline
                Jim Crafton
                wrote on last edited by
                #7

                Normally I'd ignore this, and bitch to myself, but I'm going to try and take the time to respond to this, so I suppose this will end up being a mini-rant. First this smells suspiciously of unix-like laziness. When I start to hear things like "minimalism" and "simple as possible", my bullshit meter starts to go off. Why? Because this is frequently bandied about in regards to *nix type systems as being a feature. In practice what it means (in my experience) is that the developers of said system (or library) want to do as little work as possible in implementing the system, so they make things simple for themselves, which is convenient for them, but usually makes it a total pain in the ass to use or develop with. X-Winblows is a great example of this. It's a lowest common denominator approach that's a total pain to program under and has held back unix GUI's for *decades* (at this point). Other things like this are unix's approach to data (everything's a file!), security, etc. Writing software is hard. Writing *good* software is harder. Implementing details that help the user and/or developer and ensure a certain clarity in the system is a lot of work. But when done properly you end up with great results and powerful tool. Unfortunately people don't like to hear this. Just looking at one of the first examples:

                func fib(n) (val int, pos int) {
                if n == 0 {
                val = 1;
                pos = 0;
                } else if n == 1 {
                val = 1;
                pos = 1;
                } else {
                v1, _ := fib(n-1);
                v2,_ := fib(n-2);
                val = v1 + v2;
                pos = n;
                }
                return;
                }

                Huh? I've got "=", "==", *AND* ":="? WTF? First of all "==" is the bane of peoples existence. How many bugs have been caused by the accidental use of this? It's stupid and should be gotten rid of. That leaves us with, apparently (I haven't read the language spec yet, so I'm going on this guys article and one other one I glanced at) two ways to assign values? Grody. Seriously grody. No OO. None whatsoever, despite the "basic object-oriented features" claim. This seems ridiculous. OO is an incredibly useful tool when used correctly. Just because there are a large number of clueless dolts out there who can't be bothered to learn their craft properly and screw things up, doesn't mean you need to drop it from the language. Make it optional. You don't need to force it down peoples throats (like Java does), but you don't need to take it away either. "There's an allocation operator, "new" - but it doesn't initialize values. You can't p

                N D C P 5 Replies Last reply
                0
                • N Nemanja Trifunovic

                  I like Mark Chu-Carroll's[^] writing style. A very balanced and knowledgable guy, IMHO. Anyway, here's his opinion on Go[^]

                  utf8-cpp

                  P Offline
                  P Offline
                  PIEBALDconsult
                  wrote on last edited by
                  #8

                  That was informative; better than the earlier posts. But maybe the name should be Gogol[^]. :-D

                  N 1 Reply Last reply
                  0
                  • J Joe Woodbury

                    Except he fails to make the logical jump that to add all the things he would like, they'd end up with what we already have, but without all the tools to support it. (I also can't stand how proponents of a new language use artificial examples of how great their language is without realizing that their example is no more obvious to the novice than the equivalent in the language(s) they are dumping on. Plus, there's no question that any computer language, especially one with a pedigree like C++, can create convoluted programs, but a thing called self-discipline; just because a language has a feature, doesn't mean you should use it. Finally, I've noticed that engineers who get too caught up in Java and C# often forget how to do very simple things in C/C++, like using malloc or pointers.)

                    N Offline
                    N Offline
                    Nemanja Trifunovic
                    wrote on last edited by
                    #9

                    Joe Woodbury wrote:

                    Except he fails to make the logical jump that to add all the things he would like, they'd end up with what we already have, but without all the tools to support it.

                    I don't really think so, he is pretty modest in his requirements - but I agree that if they start adding features liberally, they can end up with something like D[^] :) Anyway, I like the way they use interfaces and structural subtyping instead of inheritance (which is a very clumsy concept, IMHO). Now if they departed from C a little bit more and removed the garbage collector, I would be really hooked up.

                    utf8-cpp

                    1 Reply Last reply
                    0
                    • S Shelby Robertson

                      PIEBALDconsult wrote:

                      I also don't want to forget how to in C

                      Because sometime you need code that actually, you know, performs well.

                      Ennis Ray Lynch, Jr. wrote:

                      Unpaid overtime is slavery.

                      Trollslayer wrote:

                      Meetings - where minutes are taken and hours are lost.

                      R Offline
                      R Offline
                      ragnaroknrol
                      wrote on last edited by
                      #10

                      We should put all the C, C++ and C# programmers in a steel cage and have them settle this. Disclaimer, I took C, and C++ in college and am currently learning C#. I hate like them all equally.

                      S P 2 Replies Last reply
                      0
                      • P PIEBALDconsult

                        That was informative; better than the earlier posts. But maybe the name should be Gogol[^]. :-D

                        N Offline
                        N Offline
                        Nemanja Trifunovic
                        wrote on last edited by
                        #11

                        PIEBALDconsult wrote:

                        But maybe the name should be Gogol[^].

                        Or even Taras Bulba[^]

                        utf8-cpp

                        1 Reply Last reply
                        0
                        • R ragnaroknrol

                          We should put all the C, C++ and C# programmers in a steel cage and have them settle this. Disclaimer, I took C, and C++ in college and am currently learning C#. I hate like them all equally.

                          S Offline
                          S Offline
                          Shelby Robertson
                          wrote on last edited by
                          #12

                          I would prefer to throw the c, c++, c# and Java developers in a cage and let us end Java's misery. And my misery of having to work with a bunch of java hacks my company converted into c# hacks because they are under the impression that all "resources" can do program anything as long as there is an ass in the chair. /rant off

                          Ennis Ray Lynch, Jr. wrote:

                          Unpaid overtime is slavery.

                          Trollslayer wrote:

                          Meetings - where minutes are taken and hours are lost.

                          R 1 Reply Last reply
                          0
                          • R ragnaroknrol

                            We should put all the C, C++ and C# programmers in a steel cage and have them settle this. Disclaimer, I took C, and C++ in college and am currently learning C#. I hate like them all equally.

                            P Offline
                            P Offline
                            PIEBALDconsult
                            wrote on last edited by
                            #13

                            Do you want to write a program fast? Or write a fast program? :-D If there is to be only one language, I suggest that C is a better candidate than C#.

                            N S R 3 Replies Last reply
                            0
                            • S Shelby Robertson

                              PIEBALDconsult wrote:

                              I also don't want to forget how to in C

                              Because sometime you need code that actually, you know, performs well.

                              Ennis Ray Lynch, Jr. wrote:

                              Unpaid overtime is slavery.

                              Trollslayer wrote:

                              Meetings - where minutes are taken and hours are lost.

                              M Offline
                              M Offline
                              Member 96
                              wrote on last edited by
                              #14

                              :sigh: 2000 called; it wants it's argument back.


                              "Creating your own blog is about as easy as creating your own urine, and you're about as likely to find someone else interested in it." -- Lore Sjöberg

                              S P 2 Replies Last reply
                              0
                              • J Jim Crafton

                                Normally I'd ignore this, and bitch to myself, but I'm going to try and take the time to respond to this, so I suppose this will end up being a mini-rant. First this smells suspiciously of unix-like laziness. When I start to hear things like "minimalism" and "simple as possible", my bullshit meter starts to go off. Why? Because this is frequently bandied about in regards to *nix type systems as being a feature. In practice what it means (in my experience) is that the developers of said system (or library) want to do as little work as possible in implementing the system, so they make things simple for themselves, which is convenient for them, but usually makes it a total pain in the ass to use or develop with. X-Winblows is a great example of this. It's a lowest common denominator approach that's a total pain to program under and has held back unix GUI's for *decades* (at this point). Other things like this are unix's approach to data (everything's a file!), security, etc. Writing software is hard. Writing *good* software is harder. Implementing details that help the user and/or developer and ensure a certain clarity in the system is a lot of work. But when done properly you end up with great results and powerful tool. Unfortunately people don't like to hear this. Just looking at one of the first examples:

                                func fib(n) (val int, pos int) {
                                if n == 0 {
                                val = 1;
                                pos = 0;
                                } else if n == 1 {
                                val = 1;
                                pos = 1;
                                } else {
                                v1, _ := fib(n-1);
                                v2,_ := fib(n-2);
                                val = v1 + v2;
                                pos = n;
                                }
                                return;
                                }

                                Huh? I've got "=", "==", *AND* ":="? WTF? First of all "==" is the bane of peoples existence. How many bugs have been caused by the accidental use of this? It's stupid and should be gotten rid of. That leaves us with, apparently (I haven't read the language spec yet, so I'm going on this guys article and one other one I glanced at) two ways to assign values? Grody. Seriously grody. No OO. None whatsoever, despite the "basic object-oriented features" claim. This seems ridiculous. OO is an incredibly useful tool when used correctly. Just because there are a large number of clueless dolts out there who can't be bothered to learn their craft properly and screw things up, doesn't mean you need to drop it from the language. Make it optional. You don't need to force it down peoples throats (like Java does), but you don't need to take it away either. "There's an allocation operator, "new" - but it doesn't initialize values. You can't p

                                N Offline
                                N Offline
                                Nemanja Trifunovic
                                wrote on last edited by
                                #15

                                Jim Crafton wrote:

                                No OO. None whatsoever, despite the "basic object-oriented features" claim. This seems ridiculous. OO is an incredibly useful tool when used correctly.

                                For some purposes, such as GUI. However, Go is intended to be a system language, and OOP is much less useful there.

                                Jim Crafton wrote:

                                Personally I think D is a *much* better, more pragmatic choice

                                Not sure I agree - D makes C++ look simple, plus Andrei Alexandrescu is now working on it and that is not good :)

                                utf8-cpp

                                J S 2 Replies Last reply
                                0
                                • M Member 96

                                  :sigh: 2000 called; it wants it's argument back.


                                  "Creating your own blog is about as easy as creating your own urine, and you're about as likely to find someone else interested in it." -- Lore Sjöberg

                                  S Offline
                                  S Offline
                                  Shelby Robertson
                                  wrote on last edited by
                                  #16

                                  Are you implying that Java can perform on the level of C?

                                  Ennis Ray Lynch, Jr. wrote:

                                  Unpaid overtime is slavery.

                                  Trollslayer wrote:

                                  Meetings - where minutes are taken and hours are lost.

                                  C M 2 Replies Last reply
                                  0
                                  • J Jim Crafton

                                    Normally I'd ignore this, and bitch to myself, but I'm going to try and take the time to respond to this, so I suppose this will end up being a mini-rant. First this smells suspiciously of unix-like laziness. When I start to hear things like "minimalism" and "simple as possible", my bullshit meter starts to go off. Why? Because this is frequently bandied about in regards to *nix type systems as being a feature. In practice what it means (in my experience) is that the developers of said system (or library) want to do as little work as possible in implementing the system, so they make things simple for themselves, which is convenient for them, but usually makes it a total pain in the ass to use or develop with. X-Winblows is a great example of this. It's a lowest common denominator approach that's a total pain to program under and has held back unix GUI's for *decades* (at this point). Other things like this are unix's approach to data (everything's a file!), security, etc. Writing software is hard. Writing *good* software is harder. Implementing details that help the user and/or developer and ensure a certain clarity in the system is a lot of work. But when done properly you end up with great results and powerful tool. Unfortunately people don't like to hear this. Just looking at one of the first examples:

                                    func fib(n) (val int, pos int) {
                                    if n == 0 {
                                    val = 1;
                                    pos = 0;
                                    } else if n == 1 {
                                    val = 1;
                                    pos = 1;
                                    } else {
                                    v1, _ := fib(n-1);
                                    v2,_ := fib(n-2);
                                    val = v1 + v2;
                                    pos = n;
                                    }
                                    return;
                                    }

                                    Huh? I've got "=", "==", *AND* ":="? WTF? First of all "==" is the bane of peoples existence. How many bugs have been caused by the accidental use of this? It's stupid and should be gotten rid of. That leaves us with, apparently (I haven't read the language spec yet, so I'm going on this guys article and one other one I glanced at) two ways to assign values? Grody. Seriously grody. No OO. None whatsoever, despite the "basic object-oriented features" claim. This seems ridiculous. OO is an incredibly useful tool when used correctly. Just because there are a large number of clueless dolts out there who can't be bothered to learn their craft properly and screw things up, doesn't mean you need to drop it from the language. Make it optional. You don't need to force it down peoples throats (like Java does), but you don't need to take it away either. "There's an allocation operator, "new" - but it doesn't initialize values. You can't p

                                    C Offline
                                    C Offline
                                    Chris Austin
                                    wrote on last edited by
                                    #17

                                    Jim Crafton wrote:

                                    Personally I think D is a *much* better, more pragmatic choice. D gives you choices and power, as well as seeming to be a lot more practical.

                                    Are you using D in production? Just curious since I've yet to meet anyone that is.

                                    And above all things, never think that you're not good enough yourself. A man should never think that. My belief is that in life people will take you at your own reckoning. --Isaac Asimov Avoid the crowd. Do your own thinking independently. Be the chess player, not the chess piece. --Ralph Charell

                                    J 1 Reply Last reply
                                    0
                                    • J Jim Crafton

                                      Normally I'd ignore this, and bitch to myself, but I'm going to try and take the time to respond to this, so I suppose this will end up being a mini-rant. First this smells suspiciously of unix-like laziness. When I start to hear things like "minimalism" and "simple as possible", my bullshit meter starts to go off. Why? Because this is frequently bandied about in regards to *nix type systems as being a feature. In practice what it means (in my experience) is that the developers of said system (or library) want to do as little work as possible in implementing the system, so they make things simple for themselves, which is convenient for them, but usually makes it a total pain in the ass to use or develop with. X-Winblows is a great example of this. It's a lowest common denominator approach that's a total pain to program under and has held back unix GUI's for *decades* (at this point). Other things like this are unix's approach to data (everything's a file!), security, etc. Writing software is hard. Writing *good* software is harder. Implementing details that help the user and/or developer and ensure a certain clarity in the system is a lot of work. But when done properly you end up with great results and powerful tool. Unfortunately people don't like to hear this. Just looking at one of the first examples:

                                      func fib(n) (val int, pos int) {
                                      if n == 0 {
                                      val = 1;
                                      pos = 0;
                                      } else if n == 1 {
                                      val = 1;
                                      pos = 1;
                                      } else {
                                      v1, _ := fib(n-1);
                                      v2,_ := fib(n-2);
                                      val = v1 + v2;
                                      pos = n;
                                      }
                                      return;
                                      }

                                      Huh? I've got "=", "==", *AND* ":="? WTF? First of all "==" is the bane of peoples existence. How many bugs have been caused by the accidental use of this? It's stupid and should be gotten rid of. That leaves us with, apparently (I haven't read the language spec yet, so I'm going on this guys article and one other one I glanced at) two ways to assign values? Grody. Seriously grody. No OO. None whatsoever, despite the "basic object-oriented features" claim. This seems ridiculous. OO is an incredibly useful tool when used correctly. Just because there are a large number of clueless dolts out there who can't be bothered to learn their craft properly and screw things up, doesn't mean you need to drop it from the language. Make it optional. You don't need to force it down peoples throats (like Java does), but you don't need to take it away either. "There's an allocation operator, "new" - but it doesn't initialize values. You can't p

                                      D Offline
                                      D Offline
                                      Douglas Troy
                                      wrote on last edited by
                                      #18

                                      Jim Crafton wrote:

                                      "Oh Mom, math is hard I don't want to do it" "OK son, go and play on your XBox"

                                      Later, as little Timmy grows up, he enters an XBOX Modern Warfare Competition, wins, ends up making 2.1 million, signs a multi-million dollar contract with Microsoft as a XBOX commercial guy, gets deals from shows like G4 and ends up being the Gamer Face for Modern Warfare III. Buys 4 homes, 6 cars and has slept with nearly all of the Victoria Secrets models. Finally marrying one of them, who never seems to age, they have 3 kids who all attend Harvard, and plan to either become Doctors or Lawyers or both. Mean-while, little Jimmy, the kid who's parents pushed him to learn Math, takes a job designing Game Consoles for a meager $80k/yr, works 90 hours a week, ends-up getting a divorce because "he's never home and obviously doesn't care for his family", turns up on shows like Jerry Springer, coming off as a no good workaholic that only gives a $#!^ about "his job", no matter how he tries to explain he was just trying to support his family and not loose his job to outsourcing, ultimately ending up on the street because his wife takes the house, cars, kids and his dog. Later his Kids go on Oprah and blame all their problems on him.


                                      :..::. Douglas H. Troy ::..
                                      Bad Astronomy |VCF|wxWidgets|WTL

                                      J 1 Reply Last reply
                                      0
                                      • P PIEBALDconsult

                                        Do you want to write a program fast? Or write a fast program? :-D If there is to be only one language, I suggest that C is a better candidate than C#.

                                        N Offline
                                        N Offline
                                        Nemanja Trifunovic
                                        wrote on last edited by
                                        #19

                                        PIEBALDconsult wrote:

                                        Do you want to write a program fast? Or write a fast program?

                                        I want to write a program fast. My users want me to write fast programs. Users win :)

                                        utf8-cpp

                                        M 1 Reply Last reply
                                        0
                                        • P PIEBALDconsult

                                          Do you want to write a program fast? Or write a fast program? :-D If there is to be only one language, I suggest that C is a better candidate than C#.

                                          S Offline
                                          S Offline
                                          Shelby Robertson
                                          wrote on last edited by
                                          #20

                                          Depends on the situation, which is why there are multiple tools.

                                          Ennis Ray Lynch, Jr. wrote:

                                          Unpaid overtime is slavery.

                                          Trollslayer wrote:

                                          Meetings - where minutes are taken and hours are lost.

                                          1 Reply Last reply
                                          0
                                          Reply
                                          • Reply as topic
                                          Log in to reply
                                          • Oldest to Newest
                                          • Newest to Oldest
                                          • Most Votes


                                          • Login

                                          • Don't have an account? Register

                                          • Login or register to search.
                                          • First post
                                            Last post
                                          0
                                          • Categories
                                          • Recent
                                          • Tags
                                          • Popular
                                          • World
                                          • Users
                                          • Groups