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.
  • L Lost User

    I was a C/C++ programmer before I learned Java and found it quite straightforward. My starting point was The Java™ Tutorials[^], which I recommend. Do it from the beginning and don't skip sections that seem too simple, and it should make sense.

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

    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 B 2 Replies Last reply
    0
    • 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
                                          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