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. If I find another programming language easier should I stay with it instead?

If I find another programming language easier should I stay with it instead?

Scheduled Pinned Locked Moved The Lounge
questionc++javatoolsperformance
79 Posts 21 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.
  • H honey the codewitch

    Be careful how you learn C++. It's not OOP, more like it's capable of OOP style things but a lot of people teach it as though it's "C with objects" which it's not. I highly recommend Accelerated C++ by Andrew Koenig and Barbara Moo. It's cheap, mercifully short, and is the *only* book I recommend for teaching C++ to anyone (even people that already "know" it) Java never clicked with me either, but I did find C# enjoyable. Maybe try C# and see if Java clicks better afterward, since conceptually they are very similar. C# is easy to learn. It shouldn't take you long.

    Real programmers use butterflies

    L Offline
    L Offline
    Lost User
    wrote on last edited by
    #10

    C++. It's not OOP

    please explain in more details why not.

    It does not solve my Problem, but it answers my question Chemists have exactly one rule: there are only exceptions

    H L R 3 Replies Last reply
    0
    • L Lost User

      C++. It's not OOP

      please explain in more details why not.

      It does not solve my Problem, but it answers my question Chemists have exactly one rule: there are only exceptions

      H Offline
      H Offline
      honey the codewitch
      wrote on last edited by
      #11

      Don't take my word for it. Here's a ton of detail why it's not. https://www.stroustrup.com/oopsla.pdf[^] The takeway is you can do classes and objects with C++. It's so flexible you can do procedural too. But you can do generic programming and in C++ that's the preferred method for abstracting and composing functionality. That's also how the language - most specifically the STL was designed.

      Real programmers use butterflies

      L 2 Replies Last reply
      0
      • H honey the codewitch

        Don't take my word for it. Here's a ton of detail why it's not. https://www.stroustrup.com/oopsla.pdf[^] The takeway is you can do classes and objects with C++. It's so flexible you can do procedural too. But you can do generic programming and in C++ that's the preferred method for abstracting and composing functionality. That's also how the language - most specifically the STL was designed.

        Real programmers use butterflies

        L Offline
        L Offline
        Lost User
        wrote on last edited by
        #12

        No, no, that is like the current president in US. Explain it or you fail ;)

        It does not solve my Problem, but it answers my question Chemists have exactly one rule: there are only exceptions

        H 1 Reply Last reply
        0
        • L Lost User

          No, no, that is like the current president in US. Explain it or you fail ;)

          It does not solve my Problem, but it answers my question Chemists have exactly one rule: there are only exceptions

          H Offline
          H Offline
          honey the codewitch
          wrote on last edited by
          #13

          I just thought you wanted an answer, not my answer. I figured I'd give you the "official" position. I edited my post since you responded. Maybe it will be more to your liking.

          Real programmers use butterflies

          L 1 Reply Last reply
          0
          • P PIEBALDconsult

            Use the right tool for the right job. "Easier" is rarely "better". Learn D.

            L Offline
            L Offline
            Lost User
            wrote on last edited by
            #14

            It seems like Java is the right tool for almost everything because it has good GUI support but... it so messy... Like it's ok up to inheritance and GUI and than... lambda this... abstract class this, inner class that, interface that, library this, library that. For a beginner like me it's a total chaos.

            P 1 Reply Last reply
            0
            • H honey the codewitch

              C# isn't modified Java. C# is what java would be if someone took Java and designed all of the mistakes out of it. :-D

              Real programmers use butterflies

              L Offline
              L Offline
              Lost User
              wrote on last edited by
              #15

              Really? Oh that gives me hope. I order a book on C# and wanted to try it nut I thought it was modified Java so I caceled the order and thought that I force myself to study from my Java books.

              H 1 Reply Last reply
              0
              • H honey the codewitch

                I just thought you wanted an answer, not my answer. I figured I'd give you the "official" position. I edited my post since you responded. Maybe it will be more to your liking.

                Real programmers use butterflies

                L Offline
                L Offline
                Lost User
                wrote on last edited by
                #16

                Don't take me too serious. Anyway I will check what you modified. Only my thoughts, c++ I like to have the possibilty/need to implement a copy and assignment op. Compared to the hell in c# with it's deep copy hell. Of course yes, also in c++ using pointers it can end in the same.

                It does not solve my Problem, but it answers my question Chemists have exactly one rule: there are only exceptions

                H 1 Reply Last reply
                0
                • H honey the codewitch

                  Don't take my word for it. Here's a ton of detail why it's not. https://www.stroustrup.com/oopsla.pdf[^] The takeway is you can do classes and objects with C++. It's so flexible you can do procedural too. But you can do generic programming and in C++ that's the preferred method for abstracting and composing functionality. That's also how the language - most specifically the STL was designed.

                  Real programmers use butterflies

                  L Offline
                  L Offline
                  Lost User
                  wrote on last edited by
                  #17

                  Hmm... intereesting. I thought it was all about OOP because I program in that way in C++ but I have background in java. Maybe that's why.

                  H 1 Reply Last reply
                  0
                  • L Lost User

                    I don't like tutorials. I just want to read one book from the begining to the end that will answer my queestion "What's the purpose of this and that". The problems are that tutorials are there, the books are there but the answers to questions "Why to use?" and "When to use?" aren't there. A simple example is java interfaces. When I'm reading books and whatching tutorials this is what i get "Interface is a contract. And know what java number this and that allows better interface" Ehhh okey.... but what is it exactly and why should I bother to use it? I cmade programs without it so far and everything is tip top, so why should I use it now? What's the point? "Because compiler doesn't know if a method exist" So what? Why should I write a method in an interface and not directly in a class? No answer there. I check a book on C++... Oh, Now I understand. It's an attempt to go back to multiple inheritance that was thrown away by java inventors X|

                    L Offline
                    L Offline
                    Lost User
                    wrote on last edited by
                    #18

                    If you followed my suggestion you would find the answer: Lesson: Interfaces and Inheritance (The Java™ Tutorials > Learning the Java Language)[^].

                    L 2 Replies Last reply
                    0
                    • L Lost User

                      C++. It's not OOP

                      please explain in more details why not.

                      It does not solve my Problem, but it answers my question Chemists have exactly one rule: there are only exceptions

                      L Offline
                      L Offline
                      Lost User
                      wrote on last edited by
                      #19

                      Because you can quite easily write a procedural program in C++. With real OOP languages (Java, C# etc.) you cannot do anything without creating a class first.

                      L 1 Reply Last reply
                      0
                      • L Lost User

                        Don't take me too serious. Anyway I will check what you modified. Only my thoughts, c++ I like to have the possibilty/need to implement a copy and assignment op. Compared to the hell in c# with it's deep copy hell. Of course yes, also in c++ using pointers it can end in the same.

                        It does not solve my Problem, but it answers my question Chemists have exactly one rule: there are only exceptions

                        H Offline
                        H Offline
                        honey the codewitch
                        wrote on last edited by
                        #20

                        I wish newer C++ would provide an auto member-wise copy constructor if you explicitly asked for it. I don't know what that would look like though.

                        foo(const foo& rhs) auto;

                        or something One thing that's nice about C# is it does that for you. True if you're not used to it, ICloneable seems awkward but everything in the CLI/CLR including foreach enumerability is exposed through interfaces so it makes sense. At best C# could have added a language feature (syntactic sugar) to wrap it. Personally I find ICloneable intuitive after a learning curve, which is better than say, SQL.

                        Real programmers use butterflies

                        Greg UtasG Sander RosselS L 4 Replies Last reply
                        0
                        • L Lost User

                          If you followed my suggestion you would find the answer: Lesson: Interfaces and Inheritance (The Java™ Tutorials > Learning the Java Language)[^].

                          L Offline
                          L Offline
                          Lost User
                          wrote on last edited by
                          #21

                          Oh, I actually checked it :laugh: I just so some link and thought it would be some 13-year old youtuber showing how to copy and paste java syntax. You was right. That is really helpful. Still in written form and structured, so it's nice. I give it a shot. Thank's :)

                          L 1 Reply Last reply
                          0
                          • L Lost User

                            Oh, I actually checked it :laugh: I just so some link and thought it would be some 13-year old youtuber showing how to copy and paste java syntax. You was right. That is really helpful. Still in written form and structured, so it's nice. I give it a shot. Thank's :)

                            L Offline
                            L Offline
                            Lost User
                            wrote on last edited by
                            #22

                            Well that was why I posted the link: so you could go and study it and make up your mind, not dismiss it out of hand. One thing you really need to develop in the IT world is an open mind.

                            N 1 Reply Last reply
                            0
                            • L Lost User

                              Hmm... intereesting. I thought it was all about OOP because I program in that way in C++ but I have background in java. Maybe that's why.

                              H Offline
                              H Offline
                              honey the codewitch
                              wrote on last edited by
                              #23

                              That's probably why. Buy Accelerated C++. You'll be glad you did. It will make you a better coder. It did me!

                              Real programmers use butterflies

                              L 1 Reply Last reply
                              0
                              • L Lost User

                                If you followed my suggestion you would find the answer: Lesson: Interfaces and Inheritance (The Java™ Tutorials > Learning the Java Language)[^].

                                L Offline
                                L Offline
                                Lost User
                                wrote on last edited by
                                #24

                                Wow I started to read that and it's much better than those horrible expensive books. I never read oracle documentation because I thought it would be too hard to read it too much at the time I began learning so I never checked it after that. But it really is answering my questions. Thank's again :thumbsup: :)

                                1 Reply Last reply
                                0
                                • L Lost User

                                  Really? Oh that gives me hope. I order a book on C# and wanted to try it nut I thought it was modified Java so I caceled the order and thought that I force myself to study from my Java books.

                                  H Offline
                                  H Offline
                                  honey the codewitch
                                  wrote on last edited by
                                  #25

                                  If you've already coded in Java, C# will feel somewhat "familiar", but I think of it as more streamlined and more cohesive than Java. It's just more ... flowy to code in. The hardest thing about it is getting used to MicrosoftPascalCasingSchemesInTheDnf Like it's IPAddress, but DnsEntry. (if an acronym is 3 letters or more, it gets title case treatment)

                                  Real programmers use butterflies

                                  L G 3 Replies Last reply
                                  0
                                  • L Lost User

                                    I don't like tutorials. I just want to read one book from the begining to the end that will answer my queestion "What's the purpose of this and that". The problems are that tutorials are there, the books are there but the answers to questions "Why to use?" and "When to use?" aren't there. A simple example is java interfaces. When I'm reading books and whatching tutorials this is what i get "Interface is a contract. And know what java number this and that allows better interface" Ehhh okey.... but what is it exactly and why should I bother to use it? I cmade programs without it so far and everything is tip top, so why should I use it now? What's the point? "Because compiler doesn't know if a method exist" So what? Why should I write a method in an interface and not directly in a class? No answer there. I check a book on C++... Oh, Now I understand. It's an attempt to go back to multiple inheritance that was thrown away by java inventors X|

                                    B Offline
                                    B Offline
                                    BillWoodruff
                                    wrote on last edited by
                                    #26

                                    I think this, and your other responses, suggest what you are really good at is talking about what you think you are learning ... rather than really learning. To reach mid-level mastery [1] of any of C, C++, C#, Java, for most mere mortals beginning to program is going to take a year, or more, of hard work. The tendency to imagine you know more than you know is as dangerous as imagining you know what you don't know. When someone as gifted and experienced as Richard MacCutchan gives you advice, you should take it ! That's great that you find C compelling, but, is it possible you are motivated by a desire to avoid Java which may be necessary for your studies ? [1] I would define this as being able to create an application that runs on a specific OS, on specific hardware, has a UI, and does something useful

                                    «One day it will have to be officially admitted that what we have christened reality is an even greater illusion than the world of dreams.» Salvador Dali

                                    L 1 Reply Last reply
                                    0
                                    • H honey the codewitch

                                      I wish newer C++ would provide an auto member-wise copy constructor if you explicitly asked for it. I don't know what that would look like though.

                                      foo(const foo& rhs) auto;

                                      or something One thing that's nice about C# is it does that for you. True if you're not used to it, ICloneable seems awkward but everything in the CLI/CLR including foreach enumerability is exposed through interfaces so it makes sense. At best C# could have added a language feature (syntactic sugar) to wrap it. Personally I find ICloneable intuitive after a learning curve, which is better than say, SQL.

                                      Real programmers use butterflies

                                      Greg UtasG Offline
                                      Greg UtasG Offline
                                      Greg Utas
                                      wrote on last edited by
                                      #27

                                      foo(const foo& that) = default;

                                      subject to some restrictions that make sense.

                                      Robust Services Core | Software Techniques for Lemmings | Articles
                                      The fox knows many things, but the hedgehog knows one big thing.

                                      <p><a href="https://github.com/GregUtas/robust-services-core/blob/master/README.md">Robust Services Core</a>
                                      <em>The fox knows many things, but the hedgehog knows one big thing.</em></p>

                                      H 1 Reply Last reply
                                      0
                                      • Greg UtasG Greg Utas

                                        foo(const foo& that) = default;

                                        subject to some restrictions that make sense.

                                        Robust Services Core | Software Techniques for Lemmings | Articles
                                        The fox knows many things, but the hedgehog knows one big thing.

                                        H Offline
                                        H Offline
                                        honey the codewitch
                                        wrote on last edited by
                                        #28

                                        yeah something like that. I just wish there was a way to do unions whose members had nontrivial albeit zero argument constructors but I understand why there's not. It would just be so convenient.

                                        Real programmers use butterflies

                                        1 Reply Last reply
                                        0
                                        • H honey the codewitch

                                          If you've already coded in Java, C# will feel somewhat "familiar", but I think of it as more streamlined and more cohesive than Java. It's just more ... flowy to code in. The hardest thing about it is getting used to MicrosoftPascalCasingSchemesInTheDnf Like it's IPAddress, but DnsEntry. (if an acronym is 3 letters or more, it gets title case treatment)

                                          Real programmers use butterflies

                                          L Offline
                                          L Offline
                                          Lost User
                                          wrote on last edited by
                                          #29

                                          I will give it a try. It would be great to learn it because I can easily find a job and program games in Unity :) I give java another chance and start to learn c# as my lifebuoy in case I still have problems with java :) Thank's for advice.

                                          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