Jump to content

Best language to start learning?

Katsu-K1L
Go to solution Solved by ieatm3s,

Whatever you do dont start with C. It will kill your interset in learning to code.

 

My recommendation would be to start learning about basics of computer science (with python): specificaly https://www.udacity.com/course/cs101

 

EDIT: Also, Python has a huge amount of awesome open source libraries for you to use, and an active development community.

 

Udacity has a couple of good programs, most are free for you to learn. (the paid version gives you some harsher tests and a private tutor that keeps you from slacking)

 

After that try and do your own project or even better try to find some firm that will take you on for free,or minimum wage (show you are eager to learn)  for a couple of months. You will learn 10x of what you would at home at your own pace, plus you will meet cool people.

 

Good luck.

Honestly I'd say start with assembly. Then once you feel like you're starting to get the idea switch to C.

C seems pretty slick after assembly. Then learn about object oriented programming while still learning C. Once you feel like that's becoming comfortable switch to C++.

It'll blow your mind how much easier it is. Then do the same thing, right when you're getting comfortable switch to C#.

You'll have learned the basics of everything AND have an appreciation for the different styles.

Link to comment
Share on other sites

Link to post
Share on other sites

Honestly I'd say start with assembly. Then once you feel like you're starting to get the idea switch to C.

C seems pretty slick after assembly. Then learn about object oriented programming while still learning C. Once you feel like that's becoming comfortable switch to C++.

It'll blow your mind how much easier it is. Then do the same thing, right when you're getting comfortable switch to C#.

You'll have learned the basics of everything AND have an appreciation for the different styles.

 

Out of curiosity, are you a programmer by trade?

If so are you an old school programmer from the early 80s?

Or maybe you program really low level code for the sake of efficiency and/or hardware restrictions?

 

Because honestly, I would never advise any one to start off with assembly.

Unless the intention of the person is to delve head first into programming directly on to "bare metal" there really is nothing to gain other than an "appreciation" of doing something hard for almost no reason.

 

Abstraction of programming code is the greatest thing to happen to Computer Science in its young history.

It's allowed more people to learn to code and has allowed programmers to be more efficient in getting software development up and running.

 

To OP: my go to language for a beginner is Java for many reasons.

I personally don't program in Java, as my job is C++ oriented, but looking back to when I first programmed it made a lot of sense.

 

In this day and age, the most important thing to grasp is Object Oriented Programming paradigms.

Sure C and C++ can do it and are the OGs of OOP.

But you add unnecessary overhead IMO.

For general purposes, there isn't really a distinct need to have such fine memory management of C/C++ pointers, so Java's Virtual Machine and garbage collector allows novice programmers to program without having fear of the pitfalls of memory leaks and null pointers and the cryptic error messages that come with it.

 

Also Java is more uniform in its cross platform compatibility.

C++ is cross platform compatible, but compilers will vary from one OS to another and even have multiple variants on the same OS.

 

Lastly, Java's syntax allows for pretty easy transition to web languages Javascript, or even more niche stuff like Flash's ActionScript or alternative languages like C# (which was designed by MS in response to the rising popularity of Java).

 

A close second would be C# being designed with the same paradigms as Java but having tighter Windows integration which makes for much faster prototyping.

Link to comment
Share on other sites

Link to post
Share on other sites

Learn Python first. It removes many of the unessential parts of programming, while usually having a library for everything.

Later down the road, only after you've created some cool things with Python, go and learn C, C# or Java. Of those three I'd recommend C. Implementing data structures in C is really enlightening, as it's much closer to the way things are actually done on the machine (with pointers, stack frames, memory management, etc).

Link to comment
Share on other sites

Link to post
Share on other sites

Create an account or sign in to comment

You need to be a member in order to leave a comment

Create an account

Sign up for a new account in our community. It's easy!

Register a new account

Sign in

Already have an account? Sign in here.

Sign In Now

×