If I find another programming language easier should I stay with it instead?
-
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
-
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
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
-
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
-
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
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
-
Use the right tool for the right job. "Easier" is rarely "better". Learn D.
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.
-
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
-
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
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
-
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
-
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|
-
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
-
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
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
-
If you followed my suggestion you would find the answer: Lesson: Interfaces and Inheritance (The Java™ Tutorials > Learning the Java Language)[^].
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 :)
-
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 :)
-
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.
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
-
If you followed my suggestion you would find the answer: Lesson: Interfaces and Inheritance (The Java™ Tutorials > Learning the Java Language)[^].
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: :)
-
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.
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
-
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|
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
-
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
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. -
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.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
-
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