Programming Language to select?

DMGrier

VIP Member
So I am switching my degree program over from network management to programming. I have to select to specific programming track in which language I want to be my focus and from what I have seen Java and C++ seems to be the two big ones. I was wondering which ones seem to have the larger job market from this list:

Java
C++
C#
VB

Thanks for any fact, thoughts and opinions!
 
Let me start with the following sentence:

All 4 programming languages Java,C++,C# and VB are ALL great and you can do anything you want in them.There are NO LIMITATIONS.The only limitation is your knowledge.

First of all I do NOT recommed you to start making Windows applications with let's say Visual Basic,Visual C# and Visual C++.All three of them are a great great great languages,but for someone who has NEVER written any code in his/her life it is going to be a shocking hit!You simply won't understand a God damn thing.And yes I am serious.

In fact...do NOT even start learning programming by making Windows applications.
Start by making the MOST SIMPLE console applications.

I know that sounds stupid and discouraging,but CONSOLE applications are a LOT simpler than WINDOWS applications.That is because a LOT LOT LOT of code is required for making a SIMPLE EMPTY window while in CONSOLE applications there are NO windows except that ugly black console window.
So CONSOLE applications are GREAT for beginners since that allows them to lose time to learn basics first WITHOUT losing too much time on how to create a simple empty window and THEN everything else.
Most beginners want to IMMEDIATELY create great windows applications without losing ANY time on at least trying to create a console application and that results in a HUGE mess of confusion and then THAT results in most of them giving up from programming.

Console applications are a MUST and are great way to learn programming basics WITHOUT knowing how to create everything else first.

So here is how the CONSOLE APPLICATION "Hello World" looks like:
image_thumb.png


And here is how the WINDOWS APPLICATION "Hello World" looks like:
IC58180.gif


Now by looking at the WINDOWS APPLICATION picture it might seem like it is simple...an empty window with a title bar which says "Hello World".But behind that window there is a lot of code which is creating that empty window and beginners will SIMPLY NOT UNDERSTAND the code AT ALL and that will result in a huge mess of a LOT LOT LOT of confusion and that will result in them giving up from programming.Why?
Because just a pure EMPTY WINDOWS APPLICATION already contains a lot of code needed to just show that empty window such as:

-forms

-classes

-methods

-many basic keywords such as IF,ELSE,VOID,PRIVATE,PUBLIC,STATIC...and a LOT MORE

-disposable objects

-many many curly braces

-events and event handlers

-too many properties

-forms designer code

-many namespaces

-inheritance

-delegates

-and a LOT more...too much more actually...

So why WINDOWS APPLICATIONS make so much confusion to the beginners?

Because BEGINNERS do NOT know ANYTHING right?
And by ANYTHING I really mean ANYTHING:

Omg what are classes?
Omg what are forms?
Omg what are methods?
Omg what are objects?
Omg what are language keywords?
Omg what are namespaces?
Omg what are events?
Omg what are statements?
...
And a LOT more...TOO MUCH MORE!!!!!!!!!!!!!!!!!!!!!!!!!!!!
...

So this is the reason why you as a beginner MUST learn BASICS first.And the BEST WAY to do that is to learn them in CONSOLE APPLICAIONS.
Why in CONSOLE APPLICATIONS?

Because in console applications you as a beginner do not need to know ALL those things which I mentioned above (plus a lot more which I did not mention).And that will allow you to learn all programming basics first WITHOUT getting shocked every few minutes lol. ;)
Trust me on this.I am in programming for a LONG time and I remember when I first started...I was getting shocked every single freaking day lol.
And you know why?

Because I immediately wanted to create great and complex windows applications and sell them for nice money.But once I saw how complex and HARD was to create a good Windows application,I was seriously thinking of giving up from programming lol.Thank God I decided not to and then I started with console applications first.After a year I finally moved to Windows applications and I will tell you one thing:

If I did not learn all the basics which I learnt in simple creation of simple console applications first then it would be IMPOSSIBLE to create any kind of good Windows applications.

Look...I'll be honest...

Is programming easy?
No it's not.If you think you will read few pages of text and then be able to immediately create a good program then you can immediately forget about it lol.And I am really serious on this. ;)
Other programmers told me the SAME thing when I started long time ago.I did not believe them back then (many years ago),but now I know that they were 100% right.
So don't start with VB or C# or C++ immediately.For example many people will tell you that C++ is the best,but KEEP IN MIND THAT MOST OF THE PEOPLE WHO SAY THAT ARE NOT PROGRAMMERS AND HAVE NEVER WRITTEN A SINGLE LINE OF PROGRAMMING CODE!!!!!!!!!!!!!

There is NO "the best language"!They are all GOOD.The best one is the ONE WHICH YOU FIND YOURSELF THE MOST COMFORTABLE WITH.In my case that is C# and then C++.

So please take my advice and do the following:

Download Dev-C++.Why Dev-C++?
Because it is FREE first of all.Do not waste money by buying Visual Studio if you are not even sure wether you will like programming or not!
And Dev-C++ is the BEST and EASIEST way to learn the basics in simple pure Console applications.

Basics like:

Displaying simple text...
Simple math functions...
Drawing lines and other types of draws...
Working with strings and numbers...
Working with conditions such as IF...
And a LOT more!!!!!!!!

You MUST know these basics otherwise there is NO POINT in going to create a complex Windows application in languages such as VB,C# or C++.You just won't understand absolutely anything!!!

And don't worry.All the basics you will learn in Dev-C++ in console applications DO apply for Windows applications in VB,C# and C++.
There are many few minor differences in the syntax,but that will not be a problem ONCE YOU LEARN ALL THE BASICS.
Now you are probably asking yourself "What the hell is SYNTAX?!"
And this is EXACTLY the reason WHY you MUST start with simple Console applications first to learn all the basics in order to be able to create more complex Windows applications.

Once you have finally learnt ALL the basics in Console applications THEN you can move to Windows applications.BUT take my advice and first try all 3 languages:

-Visual Basic
-Visual C#
-Visual C++

Why?
Because on that way you will see what language you seem to be the most comfortable with.And once you see which one that is then use that one.
And if someone tells you that ONLY C++ is good then tell him that he doesn't know anything about programming.You can create anything you want in any of them if you know how.Knowledge is the only limit.Don't forget that.

By the way...there is also one more language:

Visual J#

That one is also cool and GREAT since the programming code is similar to Java.I used it many times and it is powerful just as Visual Basic,Visual C# and Visual C++.Like I said...the only limit is the knowledge.

So:

1. Learn all the programming basics in Dev-C++ console applications.I am sure there are great books on this.I have one at home.

2. Once you know all the basics,more to Windows applications,BUT be sure to try all the following languages first:

-Visual Basic
-Visual C#
-Visual J#
-Visual C++

Why?

Because all 4 of them are great,but by trying all 4 of them you will be able to know which one you find yourself the most comfortable with.Once you find which one that is then use that one and then buy a book for that language.Do not skip the pages lol.Same applies for Dev-C++ console application book. :P
Otherwise there is no point in studying programming lol.

Look...

Programming takes a LONG time and a LOT LOT LOT of studying and effort.
You will need at least 2 to 3 years to actually start understanding it.But that's normal since PROGRAMMING is a completely DIFFERENT WAY OF THINKING then the way you were thinking until now.Trust me on this. ;)

And NEVER EVER listen to people who do not know programming.They all think this is easy,but it's not.It's hard as hell.Especially for beginners.
So if those kind of people tell you that VB sucks and that ONLY C++ is good,tell them to go to hell lol because that is NOT true. :P

Language is powerful according to the amount of knowledge you have.
I am still using old Visual Studio 2002 and I am able to create more powerful applications than some people in Visual Studio 2012 lol.

Why?

Because of the level of knowledge.


Good luck and if you have ANY questions,feel free to ask them!

:good::good::good:
 
S.T.A.R.S.
Thanks you so much for the epic post, I will start messing around with Dev-C++ as you recommended, I definitely see your point of all the hard work that will have to go into this through my studying, I am currently taking Intro to Programming which teaches the beginnings using Java and still trying to remember all the syntax and figure out the error's in the code can be ruff. Like I said I appreciate the post and will look into Dev-C++ and if I got question which I know I will you probably will see some post from me on here.Thanks again.
 
Sure no problem.
And don't let those damn errors in code to let you down lol. ;)
You will encounter MANY of them in the future. :P
I still do and that's normal lol.But by time you will learn how to fix them more easily and faster. :good:





Cheers!
 
A personal story -- I started learning C as my first programming language at university (currently a 2nd-year student). For someone who had no experience with Linux and terminals and all that other jazz, it was pretty hard stuff at the beginning. Only experience I had with programming of any sort was with Visual Basic in high school. A few semesters later, and I started learning Java. I found it pretty intuitive, the whole object-oriented design process took a little while to get, but it made sense and was a pretty cool language to program in. Java coupled with an Eclipse IDE made life that little bit easier, and you could make some nice programs (with windows, buttons, events, etc.) with just a couple of months of experience with Java.

Point being? I found Java easier to learn/program than C -- *BUT* -- making C programs in a shitty text editor and compiling them in a console (terminal window) was a pretty dry start, but it helps IMMENSELY when working with "nicer" programming languages (like Java). The knowledge you gain will help you a lot in the future. C++ is object-oriented too, so the intuition behind its concepts should aid in learning the language.

Oh, and STARS - a lot of people I've met (who aren't familiar with programming) don't think it's necessarily easy -- the image they have of programming is that it's dry, boring and terribly "nerdy". People who program 24/7 in their basement, snacking on pizza and energy drinks and speaking a whole bunch of computer-related jargon doesn't help our stereotype, does it :P
 
Oh, and STARS - a lot of people I've met (who aren't familiar with programming) don't think it's necessarily easy -- the image they have of programming is that it's dry, boring and terribly "nerdy". People who program 24/7 in their basement, snacking on pizza and energy drinks and speaking a whole bunch of computer-related jargon doesn't help our stereotype, does it :P

Hehehe! :D
I agree with you lol!

But unfortunately most of the people here around me where I live think that programming is easy and stupid and a huge waste of time.They make fun of us all the time.The problem is that knowledge is not really appreciated here where I am.Not everyone is like that of course,but most of them are unfortunately. :(
Many people told me that I am stupid because I waste my time learning "stupid easy boring programming" instead of drinking alcohol,smoking cigarettes,taking drugs,smoking weed and thing like that.That sucks I know!:mad:
Not to mention that most of them will want to beat you up for learning and knowing these things because you are a "stupid nerd" to them and they hate them so much.

That sucks I know!

I guess that is what us programmers must live with lol. :P
 
Hmmm... I actually thought Visual Basic wasn't to hard, and I am a complete n00b to programming. As long as there is a great tutorial, anything is possible ;)
 
Hmmm... I actually thought Visual Basic wasn't to hard, and I am a complete n00b to programming. As long as there is a great tutorial, anything is possible ;)

Well Visual basic IS easier than C# and C++.
But for beginners I always recommend to start with simple Console applications in simple Dev-C++ since that does not contain a lot of extra code which could confuse the beginner with any kind of code complexity.And everything they learn in Console applicatons in Dev-C++ can be then easily applied to Visual basic,C# and C++.There are few minor differences in the syntax,but it will be easy as hell to learn it since everything will already make sense to a beginner.That is of course if the beginner learnt the basics in Dev-C++ first.
Programming is not easy at all.But it's possible for anyone to learn it if you put a lot of effort in it through many years.
Here is an example for the beginners:
DevC_New_Project.PNG

VC2005-HelloWorld.png

helloWorldOutput.jpg


The sad thing is that many people give up in the first few days when they see how hard it is to make even a simple HELLO WORLD console application lol...
 
Last edited:
I don't know what Visual Basic you're using Stars, but creating a Hello World program is super easy. It takes a few lines of code. I used VB 6.0 and Visual Studio Visual Basic is even better than that. It does almost all the "window" code you speak of for you. You just have to set the label on the form and you get a window like what you showed.

I'd advise starting in VB or C++.
 
Yes that's true.Newer languages such as Visual Basic DO create the window for you.But what's the point in letting all that being created for you automatically?
The point is that the beginners learn the basics first and then move to other basics such as understanding the code which is creating that window.That WILL BE neccessary because sooner or later the beginners will face some problems on the UI and without understanding the code which creates that window it will be IMPOSSIBLE for them to add/modify/delete some of the UI components programmatically.Trust me that is REALLY neccessary.Especially if you make a program in which the user can make the window and window's controls to look and be positioned exactly how he/she wants and you as a programmer must make those options for THEM programmatically.And you won't be able to do that if the programmer does not understand the code behind the UI.

For example...in older Visual Studio 2002 when you are creating a new Windows application in C++ you do NOT have the UI created for you.In fact you do not even have the designer at ALL!All you have is the code view.And from there you can create everything you want.So if the programmer understands the code behind windows then he/she does not need to have the designer to create a simple window and other controls such as BUTTONS and LABELS and a LOT more...The code view is all they need.
In newer Visual Studio versions Microsoft did put a designer also to help users build windows applications faster,but that does NOT mean that you must not learn the code for creating the UI.The code for UI is a MUST and every programmer must learn that if he/she wants to be even able to create powerful windows applications.
 
Yes that's true.Newer languages such as Visual Basic DO create the window for you.But what's the point in letting all that being created for you automatically?
The point is that the beginners learn the basics first and then move to other basics such as understanding the code which is creating that window.That WILL BE neccessary because sooner or later the beginners will face some problems on the UI and without understanding the code which creates that window it will be IMPOSSIBLE for them to add/modify/delete some of the UI components programmatically.Trust me that is REALLY neccessary.Especially if you make a program in which the user can make the window and window's controls to look and be positioned exactly how he/she wants and you as a programmer must make those options for THEM programmatically.And you won't be able to do that if the programmer does not understand the code behind the UI.

For example...in older Visual Studio 2002 when you are creating a new Windows application in C++ you do NOT have the UI created for you.In fact you do not even have the designer at ALL!All you have is the code view.And from there you can create everything you want.So if the programmer understands the code behind windows then he/she does not need to have the designer to create a simple window and other controls such as BUTTONS and LABELS and a LOT more...The code view is all they need.
In newer Visual Studio versions Microsoft did put a designer also to help users build windows applications faster,but that does NOT mean that you must not learn the code for creating the UI.The code for UI is a MUST and every programmer must learn that if he/she wants to be even able to create powerful windows applications.

It is the sad truth of society, instead of learning everything from scratch people would rather have some stuff prebuilt to make it easier, but like you said when that prebuilt stuff does fail the end user find's themselves lost and unsure what to do. I have seen this with Linux, I started using Linux back in 2008 and much of everything you needed to do to configure your system was done through a command line. These days there is a GUI tool for everything in Linux, but when the end user does something which breaks their system they have no idea of how to fix the issue unless they started on Linux prior to the wide use of GUI tools for everything.

S.TA.R.S.
I installed Dev-C++ from Bloodshed software and have found some great online documentation for teaching C++ console application. Thank you for the recommendation.
 
Last edited:
I started learning VB.NET. I enjoyed it.

Speaking of coding, I'm actually coding a couple of websites right now in CSS and HTML and I'm enjoying it. :)
 
Back
Top