Jump to content

What language to learn as a beginner?

5 hours ago, glitchmaster0001 said:

Hey guys! So im currently a senior in high school and next year im going to community college to study computer science and to be honest as of now i dont know anything about coding at all. I was wondering what language is the best to start learning as a beginner and after i get good at it i want to jump to the next language and so forth. but mainly is there a relatively easy language out there that is used alot in the CS major in college? thanks  

I learned Scratch first when I was about ten, and then when I was 11 or 12 I learned HTML (Highly recommend that. Its super simple because its basically just editing text, yet it teaches you some basic code structure.), then some basic C on an arduino, and then I became nearly fluent (I guess that is the right word?) in Python. Also a great Language.

ERROR: VAR_TRAINOFTHOUGHT RETURN CHAR(MISSING)

RESTART  BRAINTHOUGHTS_MAJORGOOB.EXE?

 

Y                             N

~               

Link to comment
Share on other sites

Link to post
Share on other sites

devdocs.io is great reference. Not a tutorial but docs.

Link to comment
Share on other sites

Link to post
Share on other sites

The thing I want to say is the programming language is just the communicating tool between you and machine(like English, Chinese and French for two human). After you understand one language(whatever java, c++ or python), you can easily grab another one. BUT, algorithms are the core of programming, which is like the meaning of your speaking language. So do not forget to learn some basics algorithms while you are learning the language, especially if you want to learn CS in the future.

Here are some programming tips for beginners on Quora fyi.

https://www.quora.com/What-are-the-best-programming-languages-to-learn-today

https://www.quora.com/What-are-some-of-the-best-ways-to-learn-programming

 

Happy programming!

Link to comment
Share on other sites

Link to post
Share on other sites

In descending order of being an interesting and valuable experience for beginners:

  1. C++,
  2. Common Lisp,
  3. Perl,






  4. Python.

All of them have great free books and tutorials available (I, personally, recommend Wikibooks for your first attempt)

Write in C.

Link to comment
Share on other sites

Link to post
Share on other sites

I personally recommend javascript, specifically node.js. Its a server-side language, fairly easy to get into if you read tutorials, and its fun playing around with it. It has tons of libraries for whatever your experiments are.

 

I also recommend getting a rasberry pi 2 or 3, maybe even a first gen, you can experiment all you want on one without causing issues with your main computer. I personally have played with them a ton. Great little devices for learning programming.

Link to comment
Share on other sites

Link to post
Share on other sites

2 hours ago, semaphorism said:

I personally recommend javascript, specifically node.js. Its a server-side language, fairly easy to get into if you read tutorials, and its fun playing around with it. It has tons of libraries for whatever your experiments are.

 

I also recommend getting a rasberry pi 2 or 3, maybe even a first gen, you can experiment all you want on one without causing issues with your main computer. I personally have played with them a ton. Great little devices for learning programming.

i have a raspberry pi 2 at home now but i have no idea how to use it to learn how to code or anything 

"Learn from yesterday, live for today, hope for tomorrow. The important thing is not to stop questioning." -Albert Einstein

Link to comment
Share on other sites

Link to post
Share on other sites

Hey Glitch, final year CS student giving my 2 cents here.

 

Firstly, seeing as you are going to study CS you need to remember .... programming is just a tool. Even as a software engineer it still remains a tool. Careful not to fall in the boat of "maybe I should learn this language instead because x, y, z" or "Language A vs Language B". Most important thing is if the language can do what you want and learning to think as a developer / scientist. My advice is to keep it simple.

 

http://www.bestprogramminglanguagefor.me/

 

Just follow that link. Here is the question I have for you, what do you want to do? Build games? Websites? VR? Mobile Apps? When starting out choose a language with the biggest community. The bigger the community the easier it is to find solutions to your problems.

 

Choose a language and devour it. Make stuff you want to. It helps drive your passion. If you are interested in game dev and you got recommended C# -> learn Unity. If you got recommended C++ -> learn Unreal Engine.


Finally, if I can give one tip for you starting CS it would be: Git (source control). Open yourself a BitBucket account (free private and public repos). Also you can go for GitHub but you only have public repos (which is a problem if you need to work on assignments). Download GitKraken (or SourceTree). 

 

If there is one thing you remember from this is: Git / version control (once you are feeling more confident as a coder).

Link to comment
Share on other sites

Link to post
Share on other sites

I think it all depends on what you want to learn.
If you have no knowledge at all about programming, I'd suggest go the easy way. Choose a simple visual program. At first the concepts of things are the most difficult things to understand because most of the time you can't see them in a text based language like java or c. Starting with an easy visual gives you the chance to understand those basic concepts and make easier the further learning

Link to comment
Share on other sites

Link to post
Share on other sites

5 hours ago, HugoNaLive said:

Hey Glitch, final year CS student giving my 2 cents here.

 

Firstly, seeing as you are going to study CS you need to remember .... programming is just a tool. Even as a software engineer it still remains a tool. Careful not to fall in the boat of "maybe I should learn this language instead because x, y, z" or "Language A vs Language B". Most important thing is if the language can do what you want and learning to think as a developer / scientist. My advice is to keep it simple.

 

http://www.bestprogramminglanguagefor.me/

 

Just follow that link. Here is the question I have for you, what do you want to do? Build games? Websites? VR? Mobile Apps? When starting out choose a language with the biggest community. The bigger the community the easier it is to find solutions to your problems.

 

Choose a language and devour it. Make stuff you want to. It helps drive your passion. If you are interested in game dev and you got recommended C# -> learn Unity. If you got recommended C++ -> learn Unreal Engine.


Finally, if I can give one tip for you starting CS it would be: Git (source control). Open yourself a BitBucket account (free private and public repos). Also you can go for GitHub but you only have public repos (which is a problem if you need to work on assignments). Download GitKraken (or SourceTree). 

 

If there is one thing you remember from this is: Git / version control (once you are feeling more confident as a coder).

i took the survey and i got the language python as the recommended language 

"Learn from yesterday, live for today, hope for tomorrow. The important thing is not to stop questioning." -Albert Einstein

Link to comment
Share on other sites

Link to post
Share on other sites

I find it kind of weird how there are all of these posts asking about which language to learn.  I understand since I was once in your situation; but the one thing that will help you more than anything is to understand that unless you are restricted on a platform or OS or anything.  

 

It doesn't matter what language you use, it's how you use it.  You can make a game with almost any language, the main thing you should think about is what you want to do.  C++ is much easier today than it was before, so if you want to make games learn that or c#.  But in the end it doesn't matter what language you choose.

 

Focus on problem solving.  People say programming is only about logic, it's not only about logic.  It's got a lot to do with creativity, programming is hard, coding is not.  Learn to program an Arduino with your own stuff, read a book on Python or c++ or whatever, and make sure you understand networking, like network protocols and computer hardware.

 

The one thing to know about programming is that you want to learn the whole range of computer science.  Many young programmers don't, but when you learn everything it makes it easier because it all comes together, and all helps.  This is stuff like algorithms , encoding, formal languages, finite state machines, Artificial Intelligence, Human Computer Interaction etc etc.  These all help with programming and designing good programs which can be sold, or even better, given as free, (free as in free fries) software.

 

This is my advice, take it or leave it.  But I hope it helps you out.  Places like Kahn Academy can teach you things like Linear Algebra and other math which comes before it which can help with problem solving, which in turn helps with developing efficient algorithms.

Link to comment
Share on other sites

Link to post
Share on other sites

27 minutes ago, SecGuy said:

I find it kind of weird how there are all of these posts asking about which language to learn.  I understand since I was once in your situation; but the one thing that will help you more than anything is to understand that unless you are restricted on a platform or OS or anything.  

 

It doesn't matter what language you use, it's how you use it.  You can make a game with almost any language, the main thing you should think about is what you want to do.  C++ is much easier today than it was before, so if you want to make games learn that or c#.  But in the end it doesn't matter what language you choose.

 

Focus on problem solving.  People say programming is only about logic, it's not only about logic.  It's got a lot to do with creativity, programming is hard, coding is not.  Learn to program an Arduino with your own stuff, read a book on Python or c++ or whatever, and make sure you understand networking, like network protocols and computer hardware.

 

The one thing to know about programming is that you want to learn the whole range of computer science.  Many young programmers don't, but when you learn everything it makes it easier because it all comes together, and all helps.  This is stuff like algorithms , encoding, formal languages, finite state machines, Artificial Intelligence, Human Computer Interaction etc etc.  These all help with programming and designing good programs which can be sold, or even better, given as free, (free as in free fries) software.

 

This is my advice, take it or leave it.  But I hope it helps you out.  Places like Kahn Academy can teach you things like Linear Algebra and other math which comes before it which can help with problem solving, which in turn helps with developing efficient algorithms.

i already know that i have a basic/vague understanding of networking, however in terms of computer hardware im very proficient at that as of now  

"Learn from yesterday, live for today, hope for tomorrow. The important thing is not to stop questioning." -Albert Einstein

Link to comment
Share on other sites

Link to post
Share on other sites

On 9/11/2016 at 1:20 PM, Naman Gupta said:

Start with something like Scratch, written by folks over at MIT. Then move on over to Python. It's ridiculously simple syntax makes it the perfect choice for beginners.  

This advice is golden. Python is easy enough for a starting user but has all of the features an advanced user is looking for. Scratch is just something to help you test the water before diving into some real programming.

Link to comment
Share on other sites

Link to post
Share on other sites

16 hours ago, glitchmaster0001 said:

i took the survey and i got the language python as the recommended language 

Nice! Great language. The question still stands, what projects are you looking to do?

 

As others have suggested but a great python book is:

https://learnpythonthehardway.org/book/

 

Also the 2nd last chapter is something all CS courses should have as starting advice:

https://learnpythonthehardway.org/book/advice.html

(Worth the read, even before starting the book, it prevents you from going down rabbit holes).

 

Also I agree with@SecGuy. We all had the same question you do right now. In the end, it matters little what language you pick. The main thing is to learn how to solve complex problems. Things that get in the way of this are complex languages which are easier to get errors in (C, assembly, etc). Python is really an awesome language, do not be sucked into thinking you need to learn C, Rust, C++ right now. 

Link to comment
Share on other sites

Link to post
Share on other sites

i persoanaly recommend python if you want to start to understand programing but i find that you could get more use out of c# in the future seeing as it is closer to the likes of c++ and a lot of apps and the like are written in c#

 

 

Link to comment
Share on other sites

Link to post
Share on other sites

Your choice of the languages listed below, all are useful for general purpose stuff.

  • Python: Good for all around general purpose use
  • C#: Good for really getting into the nitty gritty of a fully fledged managed OOP language
  • C++: Good for really getting into the nitty gritty of an OOP language, while still learning about things like memory management.
  • C: Well, this one is self explanatory... 

None of those languages are any better than any others for all cases. They all have their advantages and disadvantages for certain use cases. The language that you will pick will largely depend upon what you want to do with computers and what you current level of knowledge about how computers work is. If the answer to those questions is "IDK" and "none" I would personally recommend python or C#.

ENCRYPTION IS NOT A CRIME

Link to comment
Share on other sites

Link to post
Share on other sites

On 9/13/2016 at 4:19 PM, glitchmaster0001 said:

i already know that i have a basic/vague understanding of networking, however in terms of computer hardware im very proficient at that as of now  

That's the problem you see, you need to get better at networking.  Not routing and switching, but actually understanding the protocols and how they work, if you want to make a game and make it multiplayer, you need to solve a problem, how will you network your game well? 

 

Computer hardware isn't just PC parts, it's also electronics like how does a Processor work?  How does a circuit work? Have you tried using an Arduino?  You should if you haven't, it teaches you basic programming for electronics, and can lead onto other projects.  Also, if you want to become a good programmer it can be good to switch to Linux to get away from games but go into an environment where you can program anything you want, full freedom. 

9 hours ago, HugoNaLive said:

Nice! Great language. The question still stands, what projects are you looking to do?

 

As others have suggested but a great python book is:

https://learnpythonthehardway.org/book/

 

Also the 2nd last chapter is something all CS courses should have as starting advice:

https://learnpythonthehardway.org/book/advice.html

(Worth the read, even before starting the book, it prevents you from going down rabbit holes).

 

Also I agree with@SecGuy. We all had the same question you do right now. In the end, it matters little what language you pick. The main thing is to learn how to solve complex problems. Things that get in the way of this are complex languages which are easier to get errors in (C, assembly, etc). Python is really an awesome language, do not be sucked into thinking you need to learn C, Rust, C++ right now. 

Great, I would agree Python is probably the best language to learn, this isn't because of the language itself except it can be used on all platforms ;)  

 

This is by far one of the best free books for any upcoming computer scientist or programmer http://interactivepython.org/runestone/static/thinkcspy/index.html It teaches you how programming languages work, and how to debug, create programs. 

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

×