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 thinking about doing the same, but java is the language that I will be using. Like java, c# and java script are what all jobs are about where I live, so I have to force myself and start to love it X|

    Mike HankeyM Offline
    Mike HankeyM Offline
    Mike Hankey
    wrote on last edited by
    #46

    Gotcha, gotta do whatcha gotta do. Good luck

    I'm not sure how many cookies it makes to be happy, but so far it's not 27. JaxCoder.com

    L 1 Reply Last reply
    0
    • L Lost User

      Well, that's problem for me with those modern languages that I'm still learning and they do stuff for me. At my college we are not allowed to use libraries that's why it's a blessing to read c++ books because they teach how to do stuff from scratch. I need that for my school :( Of course if I start working as a professional I will be gladluy using those libraries, but today they are not so helpful because I'm not allowed to use them anyway so they just make me confused X|

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

      well if you're using C++ appropriately there's some amount of "libraries" that are part of the language and that mess is known as The Standard Template Library or The STL. It contains things like std::string, std::map, and std::vector which you should really be using rather than rolling your own. I say they are part of the language because, while not tightly integrated like VBs runtimes for example, they were designed with and to be used as part of programming in C++ I look at it this way. C++ is the language + the STL. The reason they aren't all rolled together is so you can modify it.

      Real programmers use butterflies

      L 1 Reply Last reply
      0
      • H honey the codewitch

        well if you're using C++ appropriately there's some amount of "libraries" that are part of the language and that mess is known as The Standard Template Library or The STL. It contains things like std::string, std::map, and std::vector which you should really be using rather than rolling your own. I say they are part of the language because, while not tightly integrated like VBs runtimes for example, they were designed with and to be used as part of programming in C++ I look at it this way. C++ is the language + the STL. The reason they aren't all rolled together is so you can modify it.

        Real programmers use butterflies

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

        Yeah that I can use ;P At my college we can only use some basic Java libraries thatprovides for example String, equals and so on but Collections like arraylists and algorithms are totaly forbidden so I'm glad I could learn how to make some of those forbidden stuff from scratch by reading c++ books.

        H 1 Reply Last reply
        0
        • D Daniel Pfeffer

          Programming languages are part of the toolbox of a good programmer, each with its own strengths and weaknesses. A good programmer will try to use the programming language most appropriate to the job. For example, most programmers would not write a program to calculate orbits in COBOL, nor would they write an interactive game in Fortran (though it is possible to do both). A good programmer will know more than one language, and will be able to write code in the differing styles that these languages impose, e.g. procedural for C and C++, Object-Oriented for C++ and Java, etc. The idea is that you should be able to match the project to the appropriate language. Many programmers have had a long and successful career knowing only one language (for example the COBOL programmers who started in the '60s). Today, you are likely to migrate between projects with differing requirements, and cannot afford to limit yourself in such a manner. In addition to your Computer Science studies (data structures, algorithms, etc.), I would recommend trying to learn at least one popular language a year - C, C++, Java, Python, etc. You do not have to become a master of the languages, just know how to program in them and where to find the more advanced stuff. This will help you when you have to look for a job. Programming is a challenging career, but it can be very rewarding to the right person. Good luck!

          Freedom is the freedom to say that two plus two make four. If that is granted, all else follows. -- 6079 Smith W.

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

          :thumbsup:

          «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

          1 Reply Last reply
          0
          • Mike HankeyM Mike Hankey

            Gotcha, gotta do whatcha gotta do. Good luck

            I'm not sure how many cookies it makes to be happy, but so far it's not 27. JaxCoder.com

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

            thanks :)

            1 Reply Last reply
            0
            • L Lost User

              Yeah that I can use ;P At my college we can only use some basic Java libraries thatprovides for example String, equals and so on but Collections like arraylists and algorithms are totaly forbidden so I'm glad I could learn how to make some of those forbidden stuff from scratch by reading c++ books.

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

              C++ has a ton of "collections" built into the STL. They're called containers though, but it's the same thing. Way more than Java or C# in fact. C++ has one of the best container packages I've seen for an imperative language. Those books should be teaching you those. Hopefully your professors get around to it too because if you don't know them, you don't know C++.

              Real programmers use butterflies

              L 1 Reply Last reply
              0
              • B BillWoodruff

                Just do it ... swoosh ... :rolleyes: Start with the simplest controls ... button, textbox ... learn how to select them, instantiate them, set their properties, and write code that responds/listens to their events.

                «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 Offline
                L Offline
                Lost User
                wrote on last edited by
                #52

                Yeah I already started it but the hardest thing is to program it in a way that separates the GUI from program's logic, like write it in a separate class and put it everything together... Than I start to make a mess.. things stop to work or some parts and ... oh It's chaos :(( But tommorow, I will not leave the computer until it's done. I'm gonna fight :suss:

                1 Reply Last reply
                0
                • H honey the codewitch

                  C++ has a ton of "collections" built into the STL. They're called containers though, but it's the same thing. Way more than Java or C# in fact. C++ has one of the best container packages I've seen for an imperative language. Those books should be teaching you those. Hopefully your professors get around to it too because if you don't know them, you don't know C++.

                  Real programmers use butterflies

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

                  I only learn Java and PHP at my collegaue. I started to learn C++ on my own, because I wanted to read c++ books because they were more interesting. But still... Java relies mostly on libraries... but we are not allowed to use them. I mean most of them. Only arrays, scanner you get what I mean and of course GUI :( They want us to do all the algorithms from scratch, even in whole applications. Maybe they want to train our brains to be better programmers that way...

                  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

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

                    Usually I'm not that control freak ;) But for me it would be better that in case a copy constructor should be implemented explicitely. Ok, probably about 75% of my code would not compile anymore because I went the lazy way :laugh: [Edit] And as a consequence of my statement above one needs to specify every property explicitely wheter it is handled/or not in the copy constructor. I'm sure I would hate myself if something like this comes :doh: about me :-D

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

                    1 Reply Last reply
                    0
                    • L Lost User

                      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 Offline
                      L Offline
                      Lost User
                      wrote on last edited by
                      #55

                      Only because 'one can do it' is not really an explanation. In c++ you can do things like "#define private public" in .net you can access everything using reflection.

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

                      L 1 Reply Last reply
                      0
                      • L Lost User

                        Only because 'one can do it' is not really an explanation. In c++ you can do things like "#define private public" in .net you can access everything using reflection.

                        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
                        #56

                        No, that is the whole point. A proper OOP language begins with the class, and everything proceeds from there. Without the class nothing will work. In C++ the class is just an extra that you can use or not as you like. So you can write C++ code that conforms (more or less) to the rules of OOP, but you can also just ignore them. As an example:

                        // in C# or Java you must have the following as a minimum:
                        class Mainclass
                        {
                        static void Main(string[] args)
                        {
                        // do something starting here
                        }
                        }

                        // in C++ you have
                        int main(int argc, char* argv[])
                        {
                        // do things here.
                        // BUT: this is the earliest point that you can instantiate a class
                        // AND: if you do not create any classes your code will be fine.

                        return 0;
                        

                        }

                        L E 2 Replies Last reply
                        0
                        • L Lost User

                          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 Offline
                          N Offline
                          Nelek
                          wrote on last edited by
                          #57

                          Richard MacCutchan wrote:

                          One thing you really need to develop in the IT world is an open mind.

                          and a lot of patience.

                          M.D.V. ;) If something has a solution... Why do we have to worry about?. If it has no solution... For what reason do we have to worry about? Help me to understand what I'm saying, and I'll explain it better to you Rating helpful answers is nice, but saying thanks can be even nicer.

                          L 1 Reply Last reply
                          0
                          • L Lost User

                            No, that is the whole point. A proper OOP language begins with the class, and everything proceeds from there. Without the class nothing will work. In C++ the class is just an extra that you can use or not as you like. So you can write C++ code that conforms (more or less) to the rules of OOP, but you can also just ignore them. As an example:

                            // in C# or Java you must have the following as a minimum:
                            class Mainclass
                            {
                            static void Main(string[] args)
                            {
                            // do something starting here
                            }
                            }

                            // in C++ you have
                            int main(int argc, char* argv[])
                            {
                            // do things here.
                            // BUT: this is the earliest point that you can instantiate a class
                            // AND: if you do not create any classes your code will be fine.

                            return 0;
                            

                            }

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

                            No and no and no, all this _is_ _not_ the defintion of a proper OOP language. Even in ada (which is for me the OOP reference) you can do dirty things ;)

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

                            L 1 Reply Last reply
                            0
                            • N Nelek

                              Richard MacCutchan wrote:

                              One thing you really need to develop in the IT world is an open mind.

                              and a lot of patience.

                              M.D.V. ;) If something has a solution... Why do we have to worry about?. If it has no solution... For what reason do we have to worry about? Help me to understand what I'm saying, and I'll explain it better to you Rating helpful answers is nice, but saying thanks can be even nicer.

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

                              Nelek wrote:

                              and a lot of patience.

                              I'm still working on that part.

                              N 1 Reply Last reply
                              0
                              • L Lost User

                                No and no and no, all this _is_ _not_ the defintion of a proper OOP language. Even in ada (which is for me the OOP reference) you can do dirty things ;)

                                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
                                #60

                                Then it is not OOP. Either the language follows the rules completely or it does not.

                                1 Reply Last reply
                                0
                                • L Lost User

                                  No, that is the whole point. A proper OOP language begins with the class, and everything proceeds from there. Without the class nothing will work. In C++ the class is just an extra that you can use or not as you like. So you can write C++ code that conforms (more or less) to the rules of OOP, but you can also just ignore them. As an example:

                                  // in C# or Java you must have the following as a minimum:
                                  class Mainclass
                                  {
                                  static void Main(string[] args)
                                  {
                                  // do something starting here
                                  }
                                  }

                                  // in C++ you have
                                  int main(int argc, char* argv[])
                                  {
                                  // do things here.
                                  // BUT: this is the earliest point that you can instantiate a class
                                  // AND: if you do not create any classes your code will be fine.

                                  return 0;
                                  

                                  }

                                  E Offline
                                  E Offline
                                  Espen Harlinn
                                  wrote on last edited by
                                  #61

                                  This is now a valid C# program:

                                  using System;
                                  Console.WriteLine("Hello World!");

                                  Espen Harlinn Senior Architect - Ulriken Consulting AS The competent programmer is fully aware of the strictly limited size of his own skull; therefore he approaches the programming task in full humility, and among other things he avoids clever tricks like the plague.Edsger W.Dijkstra

                                  L 1 Reply Last reply
                                  0
                                  • L Lost User

                                    In the begining I would like to thank you for all your responses to my late topic on job :) I read them all. Now I have another question. I know I'm whining too much... :~ You probably think I'm acting like a prima donna. So, I heard some advices from the other programmers that If find a programming language hard, i shouldn't give up on programming and maybe try another. So I did it. About one month or two ago I started to learn c++. And immediately everything started to click. I even began to understand some java concepts that I couldn't get before. A week ago I read like about 600 pages of Deitel book on C++ like it was an interesting novel. Now I'm almost on the same productivity level as my java just in one week. I don't use pointers yet and don't allocate memory either, sometimes I have to check out the syntax but I can make simple console games(I struggle, i didn't finish any yet, but I can ;P ). I bought Bjarne Stroustup's book and I love it... I just want to learn more and program, but today I thought... damn.. I have to stop. I have assignments on java for school and I'm late. They will kick my out of college so I thought, I focus only on java. I thought: "It's a good language, it has great support for GUI, I can get job". So I woke up in the morning and thought: "I will read those java books with the same passion!" and I opened my java book... and that's it.... I can't go any further. I don't know if the problem is books themselves, are books on java really that horribly written or is it a language itself? I simply can get why and when I should use interfaces, why should I bother studying those (100 * infinity) libraries when I can write programs using just few. What is the purpose of abstract class, inner class, biolerplate code here, boilerplate code there... Plenty of lines just to print "Hello World!". I can't stand it anymore :(( Smart people, what should I do?

                                    A Offline
                                    A Offline
                                    afigegoznaet
                                    wrote on last edited by
                                    #62

                                    1. Finish your assignments on Java. 2. Don't be afraid of pointers, but do read some topics on / play with pointer arithmetic. 3. You can get a job with C++, no issues with that, there are plenty of jobs requiring C++. 4. I wouldn't waste my time on C#, unless you have a project to do with that language. If you are already learning Java and C++, you won't benefit a lot from adding C# to the list. 5. You will benefit from adding a functional language to the mix, but I wouldn't recommend Haskell to a beginner. I found Standard ML to be easy to learn, so I would recommend that. 6. Try a C++ GUI framework. I would recommend Qt.

                                    D L 2 Replies Last reply
                                    0
                                    • E Espen Harlinn

                                      This is now a valid C# program:

                                      using System;
                                      Console.WriteLine("Hello World!");

                                      Espen Harlinn Senior Architect - Ulriken Consulting AS The competent programmer is fully aware of the strictly limited size of his own skull; therefore he approaches the programming task in full humility, and among other things he avoids clever tricks like the plague.Edsger W.Dijkstra

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

                                      Very interesting, but there is not much else that it could do.

                                      E 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

                                        G Offline
                                        G Offline
                                        GenJerDan
                                        wrote on last edited by
                                        #64

                                        honey the codewitch wrote:

                                        The hardest thing about it is getting used to MicrosoftPascalCasingSchemesInTheDnf

                                        That's because of Anders, I think.

                                        "He was the original author of Turbo Pascal and the chief architect of Delphi. He currently works for Microsoft as the lead architect of C# and core developer on TypeScript."

                                        We won't sit down. We won't shut up. We won't go quietly away. YouTube, and My Mu[sic], Films and Windows Programs, etc. and FB

                                        B 1 Reply Last reply
                                        0
                                        • L Lost User

                                          In the begining I would like to thank you for all your responses to my late topic on job :) I read them all. Now I have another question. I know I'm whining too much... :~ You probably think I'm acting like a prima donna. So, I heard some advices from the other programmers that If find a programming language hard, i shouldn't give up on programming and maybe try another. So I did it. About one month or two ago I started to learn c++. And immediately everything started to click. I even began to understand some java concepts that I couldn't get before. A week ago I read like about 600 pages of Deitel book on C++ like it was an interesting novel. Now I'm almost on the same productivity level as my java just in one week. I don't use pointers yet and don't allocate memory either, sometimes I have to check out the syntax but I can make simple console games(I struggle, i didn't finish any yet, but I can ;P ). I bought Bjarne Stroustup's book and I love it... I just want to learn more and program, but today I thought... damn.. I have to stop. I have assignments on java for school and I'm late. They will kick my out of college so I thought, I focus only on java. I thought: "It's a good language, it has great support for GUI, I can get job". So I woke up in the morning and thought: "I will read those java books with the same passion!" and I opened my java book... and that's it.... I can't go any further. I don't know if the problem is books themselves, are books on java really that horribly written or is it a language itself? I simply can get why and when I should use interfaces, why should I bother studying those (100 * infinity) libraries when I can write programs using just few. What is the purpose of abstract class, inner class, biolerplate code here, boilerplate code there... Plenty of lines just to print "Hello World!". I can't stand it anymore :(( Smart people, what should I do?

                                          D Offline
                                          D Offline
                                          Davyd McColl
                                          wrote on last edited by
                                          #65

                                          Hey! Thanks for reaching out! Learning to code is hard for most people, and, importantly: _no programming language is perfect_ When I read the title of your post, I was about to respond with "write code in whatever makes you most productive!", but then I read until the end, and now I have to recommend that you try to get everything you can out of Java, because finding your first job is _freaking difficult_, but trying to find your first job _without a qualification_... well, let's say you'd better have friends in the right places. A lot of the issues you're talking about in Java aren't intrinsic to Java. Yes, C++ doesn't have interfaces, but interfaces fulfill some of the role of abstract classes, which C++ has, but clearer: you can't _inherit_ from them, only _implement_ them. precursor / disclaimer: I've worked in > 20 languages. C++ was my primary for about 6 years, I've only fiddled in Java (written small things), but my daily driver for about the last decade has been C# (and I do a reasonable amount of JS/TS), so I know that a lot of concepts from C# hold in Java land, and I have a reasonable history with C++... Interfaces (or, in C++, you might use an abstract class for this) simply provide a "contract" for talking to something else. Let's say you have an interface for `IDog`: this tells you what "shape" a dog has (it might mention that there are an integer number of legs, an integer number of tails -- you'd expect values 4 and 1 from those, but some unfortunate doggos have had accidents )': ) and a method like `Speak()` which returns "woof!". You could see how this "shape" doesn't just apply to dogs: cats also have an integer number of tails and legs and when they "speak", they say "meow!", so you could think of a simple contract for an animal where you have, in C#: ``` public interface IAnimal { int Legs { get; } int Tails { get; } string Speak(); } ``` Now, when we want to implement our own animal, it may do _more_ than that (perhaps it can do tricks!) and it will speak with its own voice. The point is that, if we have a zoo of different animals, in a collection, eg `List()`, we could count the total legs at the zoo, or imagine the cacophony if all animals were to "speak"!. This means that a function which was, for example, counting all legs at the zoo, doesn't have to care what animals are actually _in the zoo_! Even the `Snake` class could implement `IAnimal`, where `Legs` would return zero! Eg: ``` int CountLegs(IAnimal[] animals) { var total = 0; for (var

                                          L 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