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.
  • C Chris Austin

    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 Offline
    J Offline
    Jim Crafton
    wrote on last edited by
    #26

    Nope. I check up on it every year, and keep wishing that we would. I've played a bit with it. Everything I've seen, in terms of the language, I've been pretty impressed with. It seems practical. Not perfect, but definitely a *huge* improvement over C/C++, given the constrains that the language's designer imposed on himself.

    ¡El diablo está en mis pantalones! ¡Mire, mire! SELECT * FROM User WHERE Clue > 0 0 rows returned Save an Orange - Use the VCF! Personal 3D projects Just Say No to Web 2 Point Blow

    1 Reply Last reply
    0
    • C Chris Austin

      I've danced this tango with John. :) Respectfully, my impression of his argument is that he thinks performance should be off loaded to the hardware. Which is almost reasonable if your domain and customers don't require absolute performance like mine do.

      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

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

      Chris Austin wrote:

      he thinks performance should be off loaded to the hardware.

      That was almost acceptable a decade ago when hardware performance was doubling every five seconds.

      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
      • D Douglas Troy

        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 Offline
        J Offline
        Jim Crafton
        wrote on last edited by
        #28

        You're an evil man :) Lawyers? Good lord, like we need *any* more of those.

        ¡El diablo está en mis pantalones! ¡Mire, mire! SELECT * FROM User WHERE Clue > 0 0 rows returned Save an Orange - Use the VCF! Personal 3D projects Just Say No to Web 2 Point Blow

        D 1 Reply Last reply
        0
        • S Shelby Robertson

          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.

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

          Java is dead to me, I don't think about it, don't care about it and as far as I'm concerned I don't know why anyone else here, in particular, does either. :) As far as c# vs c or c++ being too slow it's a straw man argument for just about anything other than operating systems, device drivers or a very tiny limited subset of code in things like video games, codecs, physics engines etc. Perceived performance differences are irrelevant to 99.99% of us and in fact if I recall correctly some very smart people proved in real world scenarios there are many things that are faster or at worst equal in a managed environment. But the bottom line is most people in real world scenarios need to get working, safe, code out the door as quickly as possible, something that the unmanaged world fails at in comparison. Factor in .dll hell when it comes to support and distribution and manual memory management time when it comes to development and hack proofing and it's no comparison.


          "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

          modified on Thursday, November 12, 2009 2:23 PM

          S J 2 Replies Last reply
          0
          • M Member 96

            Java is dead to me, I don't think about it, don't care about it and as far as I'm concerned I don't know why anyone else here, in particular, does either. :) As far as c# vs c or c++ being too slow it's a straw man argument for just about anything other than operating systems, device drivers or a very tiny limited subset of code in things like video games, codecs, physics engines etc. Perceived performance differences are irrelevant to 99.99% of us and in fact if I recall correctly some very smart people proved in real world scenarios there are many things that are faster or at worst equal in a managed environment. But the bottom line is most people in real world scenarios need to get working, safe, code out the door as quickly as possible, something that the unmanaged world fails at in comparison. Factor in .dll hell when it comes to support and distribution and manual memory management time when it comes to development and hack proofing and it's no comparison.


            "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

            modified on Thursday, November 12, 2009 2:23 PM

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

            I agree with most of that. I have no problem with c, c++ or c#. They all serve their purpose. My performance argument was directed at Java because of how horribly slow it is even compared with c# (I'm looking at you Oracle SQL Developer).

            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
            • J Jim Crafton

              You're an evil man :) Lawyers? Good lord, like we need *any* more of those.

              ¡El diablo está en mis pantalones! ¡Mire, mire! SELECT * FROM User WHERE Clue > 0 0 rows returned Save an Orange - Use the VCF! Personal 3D projects Just Say No to Web 2 Point Blow

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

              Jim Crafton wrote:

              You're an evil man

              What's sad is, I'm not sure that's too far from truth anymore ...


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

              J 1 Reply Last reply
              0
              • D Douglas Troy

                Jim Crafton wrote:

                You're an evil man

                What's sad is, I'm not sure that's too far from truth anymore ...


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

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

                That's OK, we all still love you! :)

                ¡El diablo está en mis pantalones! ¡Mire, mire! SELECT * FROM User WHERE Clue > 0 0 rows returned Save an Orange - Use the VCF! Personal 3D projects Just Say No to Web 2 Point Blow

                D 1 Reply Last reply
                0
                • J Jim Crafton

                  That's OK, we all still love you! :)

                  ¡El diablo está en mis pantalones! ¡Mire, mire! SELECT * FROM User WHERE Clue > 0 0 rows returned Save an Orange - Use the VCF! Personal 3D projects Just Say No to Web 2 Point Blow

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

                  Jim Crafton wrote:

                  That's OK, we all still love you!

                  Yea, but the moment you guys are on Springer or Oprah suddenly it'll all be my fault ... "That's right Oprah, if it weren't for Doug's constant joking, CP might never be slow ..." ;P


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

                  J 1 Reply Last reply
                  0
                  • M Member 96

                    Java is dead to me, I don't think about it, don't care about it and as far as I'm concerned I don't know why anyone else here, in particular, does either. :) As far as c# vs c or c++ being too slow it's a straw man argument for just about anything other than operating systems, device drivers or a very tiny limited subset of code in things like video games, codecs, physics engines etc. Perceived performance differences are irrelevant to 99.99% of us and in fact if I recall correctly some very smart people proved in real world scenarios there are many things that are faster or at worst equal in a managed environment. But the bottom line is most people in real world scenarios need to get working, safe, code out the door as quickly as possible, something that the unmanaged world fails at in comparison. Factor in .dll hell when it comes to support and distribution and manual memory management time when it comes to development and hack proofing and it's no comparison.


                    "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

                    modified on Thursday, November 12, 2009 2:23 PM

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

                    John C wrote:

                    Java is dead to me, I don't think about it, don't care about it and as far as I'm concerned I don't know why anyone else here, in particular, does either. Smile

                    Because work requires me to deal with it. Personally my attitude to Java has evolved from, "eh, interesting", to "too slow, not worth my time", ending with "I hate this shit, curse Sun to infinity for this dipshit monstrosity". I hope Oracle does get EU approval and completely buries Java.

                    ¡El diablo está en mis pantalones! ¡Mire, mire! SELECT * FROM User WHERE Clue > 0 0 rows returned Save an Orange - Use the VCF! Personal 3D projects Just Say No to Web 2 Point Blow

                    1 Reply Last reply
                    0
                    • N Nemanja Trifunovic

                      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 Offline
                      M Offline
                      Member 96
                      wrote on last edited by
                      #35

                      Interesting, what type of software do you write? This is the sort of thing that leads to disagreements here, everyone approaches things from their own perspective. In my world my customers want the code fast and they want a *lot* of functionality and they want to never lose their data and as far as performance goes as long as they don't notice anything taking a long time they don't care about it.


                      "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

                      N S 2 Replies Last reply
                      0
                      • D Douglas Troy

                        Jim Crafton wrote:

                        That's OK, we all still love you!

                        Yea, but the moment you guys are on Springer or Oprah suddenly it'll all be my fault ... "That's right Oprah, if it weren't for Doug's constant joking, CP might never be slow ..." ;P


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

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

                        If it weren't for your constant joking I would have left a long time ago!

                        ¡El diablo está en mis pantalones! ¡Mire, mire! SELECT * FROM User WHERE Clue > 0 0 rows returned Save an Orange - Use the VCF! Personal 3D projects Just Say No to Web 2 Point Blow

                        D 1 Reply Last reply
                        0
                        • J Jim Crafton

                          If it weren't for your constant joking I would have left a long time ago!

                          ¡El diablo está en mis pantalones! ¡Mire, mire! SELECT * FROM User WHERE Clue > 0 0 rows returned Save an Orange - Use the VCF! Personal 3D projects Just Say No to Web 2 Point Blow

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

                          :-O CP, my home away from home. But I'm not supporting any of you no-good free loaders ... now stop slacking and go play your XBOX. :-\


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

                          R 1 Reply Last reply
                          0
                          • J Jim Crafton

                            Nemanja Trifunovic wrote:

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

                            I completely disagree. There are many things in a "system" (whatever that means) that you might model using OO. I'm not saying you have to embrace any of the GOF pattern design horsecrap. Just because you have the ability to inherit behavior doesn't mean you have to have 16 levels of it. Do you have any concrete cases where claiming that OOP is much less euseful than plain old procedural programming? For example, if you're designing an OS for a desktop system, how is plain procedural programming any better than using a combination of procedural and OOP where appropriate?

                            Nemanja Trifunovic wrote:

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

                            I agree with the latter, not so much with the former. The D syntax can actually be parsed, unlike the massive syntactic migraine that is C++. A mortal programmer could actually write some sort of parser tool that could do useful things given D syntax within his or her lifetime. D does have a lot of features, but you don't have to use them all. And many of them are not very difficult to pick up (from what I've read).

                            ¡El diablo está en mis pantalones! ¡Mire, mire! SELECT * FROM User WHERE Clue > 0 0 rows returned Save an Orange - Use the VCF! Personal 3D projects Just Say No to Web 2 Point Blow

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

                            Jim Crafton wrote:

                            Do you have any concrete cases where claiming that OOP is much less euseful than plain old procedural programming?

                            I don't believe class hiearchies have much use when abstracting low level resources such as files, threads, sockets, handles, etc. I've seen cases when there is a base steam class subclassed by istream and ostream but that did not result in anything useful (yes, I am talking about C++ standard io library :) ) Anyway, as I said earlier, I think explicit implementation inheritance as a concept is flawed. Structural subtyping + interfaces offer the same benefits (polymorphism) without the inheritance mess.

                            Jim Crafton wrote:

                            The D syntax can actually be parsed

                            Don't get me started with D syntax :)

                            utf8-cpp

                            modified on Thursday, November 12, 2009 2:40 PM

                            J 1 Reply 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.

                              D Offline
                              D Offline
                              Dan Neely
                              wrote on last edited by
                              #39

                              I've done C# almost exclusively over my professional career. If I need to do C/++ for something at some point in the future, I'll need an industrial size sandblaster to remove the rust...

                              3x12=36 2x12=24 1x12=12 0x12=18

                              1 Reply Last reply
                              0
                              • D Douglas Troy

                                :-O CP, my home away from home. But I'm not supporting any of you no-good free loaders ... now stop slacking and go play your XBOX. :-\


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

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

                                Can't. Boss took it out of the cubicle. Muttered something about interns and if it weren't for my wife I'd be in trouble...

                                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

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

                                  Hear hear! All that and generics -- if they really intend to have them, put them in now(!), don't wait for version 2 like C# did. I don't think they have a deadline or fear of another competitor coming to market before them, so I see no reason not to have all the features they plan on having right from the start. I liked the way D was presented in the pre-1 days: "Here's a language I'm working on. I'd like to get some feedback on what I have so far." rather than: "Here's our new language! Start using it! Oh by the way, we're not done yet."

                                  J 1 Reply Last reply
                                  0
                                  • N Nemanja Trifunovic

                                    Jim Crafton wrote:

                                    Do you have any concrete cases where claiming that OOP is much less euseful than plain old procedural programming?

                                    I don't believe class hiearchies have much use when abstracting low level resources such as files, threads, sockets, handles, etc. I've seen cases when there is a base steam class subclassed by istream and ostream but that did not result in anything useful (yes, I am talking about C++ standard io library :) ) Anyway, as I said earlier, I think explicit implementation inheritance as a concept is flawed. Structural subtyping + interfaces offer the same benefits (polymorphism) without the inheritance mess.

                                    Jim Crafton wrote:

                                    The D syntax can actually be parsed

                                    Don't get me started with D syntax :)

                                    utf8-cpp

                                    modified on Thursday, November 12, 2009 2:40 PM

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

                                    Nemanja Trifunovic wrote:

                                    C++ standard io library

                                    Yeah, that's a disaster, I agree. However I still don't see that as a reason to *completely* drop it from the language.

                                    ¡El diablo está en mis pantalones! ¡Mire, mire! SELECT * FROM User WHERE Clue > 0 0 rows returned Save an Orange - Use the VCF! Personal 3D projects Just Say No to Web 2 Point Blow

                                    N 1 Reply Last reply
                                    0
                                    • M Member 96

                                      Interesting, what type of software do you write? This is the sort of thing that leads to disagreements here, everyone approaches things from their own perspective. In my world my customers want the code fast and they want a *lot* of functionality and they want to never lose their data and as far as performance goes as long as they don't notice anything taking a long time they don't care about it.


                                      "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

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

                                      John C wrote:

                                      This is the sort of thing that leads to disagreements here, everyone approaches things from their own perspective.

                                      Yes!!!! And, believe it or not, there are much more than 0.00001% of developers who don't live in your world.

                                      John C wrote:

                                      In my world my customers want the code fast and they want a *lot* of functionality and they want to never lose their data and as far as performance goes as long as they don't notice anything taking a long time they don't care about it.

                                      In my world, customers' number one wish is to make faster running programs. As for the features, they mostly complain we have too many of them :)

                                      utf8-cpp

                                      M 1 Reply Last reply
                                      0
                                      • N Nemanja Trifunovic

                                        John C wrote:

                                        This is the sort of thing that leads to disagreements here, everyone approaches things from their own perspective.

                                        Yes!!!! And, believe it or not, there are much more than 0.00001% of developers who don't live in your world.

                                        John C wrote:

                                        In my world my customers want the code fast and they want a *lot* of functionality and they want to never lose their data and as far as performance goes as long as they don't notice anything taking a long time they don't care about it.

                                        In my world, customers' number one wish is to make faster running programs. As for the features, they mostly complain we have too many of them :)

                                        utf8-cpp

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

                                        And....? What type of software do you write?


                                        "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

                                        N R 2 Replies Last reply
                                        0
                                        • J Jim Crafton

                                          Nemanja Trifunovic wrote:

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

                                          I completely disagree. There are many things in a "system" (whatever that means) that you might model using OO. I'm not saying you have to embrace any of the GOF pattern design horsecrap. Just because you have the ability to inherit behavior doesn't mean you have to have 16 levels of it. Do you have any concrete cases where claiming that OOP is much less euseful than plain old procedural programming? For example, if you're designing an OS for a desktop system, how is plain procedural programming any better than using a combination of procedural and OOP where appropriate?

                                          Nemanja Trifunovic wrote:

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

                                          I agree with the latter, not so much with the former. The D syntax can actually be parsed, unlike the massive syntactic migraine that is C++. A mortal programmer could actually write some sort of parser tool that could do useful things given D syntax within his or her lifetime. D does have a lot of features, but you don't have to use them all. And many of them are not very difficult to pick up (from what I've read).

                                          ¡El diablo está en mis pantalones! ¡Mire, mire! SELECT * FROM User WHERE Clue > 0 0 rows returned Save an Orange - Use the VCF! Personal 3D projects Just Say No to Web 2 Point Blow

                                          C Offline
                                          C Offline
                                          Chris Losinger
                                          wrote on last edited by
                                          #45

                                          Jim Crafton wrote:

                                          the GOF pattern design horsecrap

                                          i'll 5 ya, just for this

                                          image processing toolkits | batch image processing

                                          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