Page 1 of 2 [ 20 posts ]  Go to page 1, 2  Next


Language to learn as my first:
VB.Net 33%  33%  [ 4 ]
C++ and VB.Net 67%  67%  [ 8 ]
Total votes : 12

Sparrow40k
Sea Gull
Sea Gull

User avatar

Joined: 31 Mar 2012
Age: 28
Gender: Male
Posts: 234
Location: Australia

06 Jan 2013, 7:36 am

Since about to age of 12 I have tried to tackle C++, I have watched tutorials, I have a book that I never got far in and read lots of source code but I can never learn it. Not that it is just to hard but I think it is mostly getting bored of just writing hello world rather then doing what it is that i would want to do with the power of programming.
I also know a fair bit in VB and VB.Net. I had to do it for year 10 (Last year) and found it extremely easy to learn and pick up. the reason i don't master it is that i just saw it being a pointless language and shouldn't be taught in school.
I am doing Software and Design for year 11 (this year) and year 12 but I'm not sure if I should really focus on VB.Net for school to get great marks or if I should learn C++ anyway.

So it is either learn:
C++ and VB.Net or just VB.Net - I have to learn it either way for school.

Does anyone know how to go about C++ in a better way?
And does any one know weather I should be learning C++ and VB.Net or just VB.Net?

If it helps, I will be doing C++ in university and learning before I get there sounds to me like a great advantage!


_________________
To Do:
Make signature.


GeomAsp
Snowy Owl
Snowy Owl

User avatar

Joined: 26 Dec 2006
Age: 45
Gender: Male
Posts: 169
Location: Spain

06 Jan 2013, 8:25 am

Hi. You can start learning C++. As far as you dont go into Object Oriented Programming, VB net and C++ are almost similar in complexity. What makes C++ more difficult is OOP. These tutorials are very good: http://www.youtube.com/playlist?list=PLC98C1EBDC16E3F2D Check that channel and give it a try. U can use any compiler even though he seems to talk about Visual StudioVisual C++ 2010 Tutorials


_________________
Place favorite quote here:


Abstract_Logic
Veteran
Veteran

User avatar

Joined: 3 Dec 2008
Gender: Male
Posts: 580
Location: Here

06 Jan 2013, 10:21 am

I'm facing a similar predicament. In university, I'm learning Java. I will be unable to return to university until June 2013, at which time I will be taking the second course in the Computer Science sequence on beginner programming, and it will continue with the next half of the Java textbook. So I could either continue learning Java so that I'd have an advantage when I return to university or I could learn another language. I've done various introductory exercises for Python, Ruby, JavaScript, and C, but I want to just choose one language (aside from Java) and focus on learning it along with Java. The language I've chosen is C, but I will also be occasionally playing around with Python and Ruby code with not-too-advanced exercises from RosettaCode.org.


_________________
Autistic (self-identified)
Open source, free software, and open knowledge geek
GoLang, Python, & SysAdmin aspirant
RPG enthusiast
Has OCD, social anxiety, CPTSD


morslilleole
Veteran
Veteran

User avatar

Joined: 17 Dec 2011
Age: 36
Gender: Male
Posts: 511
Location: Norway

06 Jan 2013, 2:11 pm

Sparrow40k wrote:
Since about to age of 12 I have tried to tackle C++, I have watched tutorials, I have a book that I never got far in and read lots of source code but I can never learn it. Not that it is just to hard but I think it is mostly getting bored of just writing hello world rather then doing what it is that i would want to do with the power of programming.


What do you want to do with it? With a language like C++ I think you should take some time to get used to the basics of it. If you get bored with it, maybe you just need to find something to do with it? Project Euler is a nice place to look if you want mathematical tasks.



marshall
Veteran
Veteran

User avatar

Joined: 14 Apr 2007
Gender: Male
Posts: 10,752
Location: Turkey

06 Jan 2013, 2:48 pm

I'd learn C first, then something like Java, and then finally C++.



Trencher93
Velociraptor
Velociraptor

User avatar

Joined: 23 Jun 2008
Age: 124
Gender: Male
Posts: 464

06 Jan 2013, 3:03 pm

If you are going to have to learn C++ in higher education, you might as well start now. The book "Thinking in C++" by Bruce Eckel would be good, if it's still in print.



morslilleole
Veteran
Veteran

User avatar

Joined: 17 Dec 2011
Age: 36
Gender: Male
Posts: 511
Location: Norway

06 Jan 2013, 4:10 pm

Trencher93 wrote:
If you are going to have to learn C++ in higher education, you might as well start now. The book "Thinking in C++" by Bruce Eckel would be good, if it's still in print.


I agree, the sooner you start C++, the better.

And I don't think you need to learn C. You should rather start with C++ since it's higher level than C.

It's good to know C, but C++ is easier to learn ( at least I think so. ) Since you have classes, don't have to use pointer as much and don't have to sue the old C functions.



Sparrow40k
Sea Gull
Sea Gull

User avatar

Joined: 31 Mar 2012
Age: 28
Gender: Male
Posts: 234
Location: Australia

06 Jan 2013, 6:14 pm

I don't know if anyone here has read it or knows it but I have the book: "C++ Programming for the Absolute Beginner, Second Edition" by Mark Lee. Not sure if it is actually a good book or a good book to start.


_________________
To Do:
Make signature.


Kenjuudo
Veteran
Veteran

User avatar

Joined: 7 Mar 2009
Age: 45
Gender: Male
Posts: 2,552
Location: Norway

07 Jan 2013, 3:51 pm

Hello, I've been programming for about 26 years now. I know GWBasic/QBasic/BlitzBasic/Visual Basic/VB.NET, C#, F#, Pascal/Delphi, C/C++, x86/x64 Assembly, and a bunch of various scripting languages. I've even made a couple of script compilers.

How I go about to learn a new language is to understand exactly how the compiler resolves identifiers. How does the compiler know where to look? How are the files included in the project? In what order? Stuff like that...

PS: I suggest you learn C#. It's easy, and plenty of companies are hiring like madmen.

PPS: VB.NET is a CLR language exactly like C# and F# and has the same performance (unlike straight Visual Basic). All .NET languages compiles to MSIL (Microsoft Intermediate Language), which is JIT-compiled at runtime (You get a negligible one-time hit upon executing methods). C# and VB.NET are in fact almost exactly 1-to-1 translatable. You can generate C# or VB.NET code with the classes in the System.CodeDom namespace (.NET).


_________________
When superficiality reigns your reality, you are already lost in the sea of normality.


JBlitzen
Deinonychus
Deinonychus

User avatar

Joined: 10 Oct 2012
Gender: Male
Posts: 364
Location: Rochester, NY

07 Jan 2013, 10:03 pm

You're asking a hard question, OP, because most outcomes can generally be produced with most tools, though to varying degrees of success. So the question isn't which tool is the best one to learn, but rather which tool is best suited to the task you're trying to solve.

It's kind of as if you're telling us "I'm going to be taking some courses on carpentry, and I was considering learning bricklaying in the meantime but it seems like CAD would be more fun since it's less work to design a house that way".

Well, yeah, it is, but they're really just totally different things, and the important question is what you hope to accomplish with what you've learned.

C++ is an extremely powerful and well designed low-level language. VB.net (does anybody actually use that?) is basically just a port of C# for former VB programmers who are mentally blocked from working through a quick tutorial. C# is a solid higher-level language, but like all such languages it can obscure certain low-level concepts. So you think you're doing one thing but the language is actually doing something slightly different, and you don't realize it. Many programmers have walked into that little trap and found themselves unable to conceive of a solution because they lack experience in solving low-level problems. Programmers who learned on C or C++ or similar languages rarely have that problem; instead their most common problem is resisting the urge to reinvent the wheel.

For rapid application development, you'll get more immediate results with C#, but as the above illustrates you would be well-served by having a foundation in C++ as well.

It all depends on what you want to do, why you want to do it, and how you want to do it.



morslilleole
Veteran
Veteran

User avatar

Joined: 17 Dec 2011
Age: 36
Gender: Male
Posts: 511
Location: Norway

08 Jan 2013, 9:48 am

Agree to most of what you say, but I wouldn't say C++ is low-level. It is not as high-level as C#, and it can be used as a lower level programming language ( but C is probably better suited for that. ) C++ is an basically an anything-you-want-language depending on how you use it.



JBlitzen
Deinonychus
Deinonychus

User avatar

Joined: 10 Oct 2012
Gender: Male
Posts: 364
Location: Rochester, NY

08 Jan 2013, 12:17 pm

Agreed, but I didn't want to just say "powerful" since that power does come with some baggage.



morslilleole
Veteran
Veteran

User avatar

Joined: 17 Dec 2011
Age: 36
Gender: Male
Posts: 511
Location: Norway

08 Jan 2013, 2:42 pm

M87 wrote:
Do you have a C++ compiler like Microsoft Visual Studio? I recommend that you learn a little bit of the C programming language first and then move up to C++; which is very much an extension of C. VB.Net is a serious waste of time and energy. Software engineers do not use BASIC nor VB for writing (professional)code. Those languages were created to help people learn how to program.


The learning C before C++ topic has been discussed earlier. I still claim you don't need C unless you intended to use C++ as a lower level language. It could be useful to learn malloc and those kinds of things, but you most likely will never need those in C++. The C functions ( like memcpy() ) you can learn if you need them.

I agree with the VB stuff; the only thing it is good for is writing macros for Visual Studio.



Trencher93
Velociraptor
Velociraptor

User avatar

Joined: 23 Jun 2008
Age: 124
Gender: Male
Posts: 464

08 Jan 2013, 3:40 pm

M87 wrote:
Software engineers do not use BASIC nor VB for writing (professional)code.


Unfortunately, that isn't true:

http://www.simplyhired.com/a/jobs/list/q-vb.net

I saw 264,790 jobs when I looked, and that's just searching for vb.net, not older Visual Basic jobs.

You're not going to get rich (most of these are "DOE" salary, which means "if we told you how little this job paid you wouldn't even bother contacting us"), but you can put food on the table if you know how to use VB's data controls to do basic workflow CRUD stuff with SQL Server.



JBlitzen
Deinonychus
Deinonychus

User avatar

Joined: 10 Oct 2012
Gender: Male
Posts: 364
Location: Rochester, NY

08 Jan 2013, 3:42 pm

M87, I think morslilleole was just saying that "learning C" isn't really the same thing as "learning the procedural aspects of C++", since C has some distinctly C-specific keywords and concepts which can actually lead someone along the wrong path for C++.

Trencher, if a job is asking specifically for VB or VB.net expertise, then they almost certainly have an existing codebase they need work on. THAT's the part that would scare me, as that codebase would have been written by a VB person. It's difficult to imagine anybody soliciting employees to develop an application from scratch in VB. And it's even more difficult to imagine that such a person is a competent development lead.



ronpl
Deinonychus
Deinonychus

User avatar

Joined: 1 Aug 2012
Age: 44
Gender: Male
Posts: 333

09 Jan 2013, 10:07 am

i wish there was a summery of this thread