I am a student and a complete newbie to coding . Please suggest a language i should learn first and also suggest a good course. Please it would be of great help. THANKS | Coursera Community
Coursera Header

I am a student and a complete newbie to coding . Please suggest a language i should learn first and also suggest a good course. Please it would be of great help. THANKS

Badge +1
I have the following in mind.
1] c#
2] swift
3] java
4] python
5] java script


(Moved to Computer Science forum by @Laura)

17 replies

You Should have start with ' C ' language the reason why i am suggesting C is

1 C is the mother of all languages ( it is like first step a programmer take while learning programming)
2 it is the simplest one to try and hand in code

and is you have already learn c language or you have some basic knowledge of coding you can go with java ( or c++ )

also if you are want to start with c the a basic course at coursera would help you a lot.
course link - https://www.coursera.org/learn/programming-fundamentals you can also apply for financial aid if that is the case even there are many more courses to start with.

Userlevel 5
Badge +4
Python hands down.

  • Good job prospects, growing language
  • Easier to learn than most languages
  • Lots of materials available (e.g courses)
Javascripts, also ticks the above boxes, however, Javascript is used for Web Development and not much else (whereas python is a good "all-rounder" language which can be used for almost anything).
Userlevel 5
Badge +5
Good morning from Greece @RYUZAKI

I love number 4 and I like number 5.

JavaScript is good for Web Dev and Mobile Native apps while Python is good for... many things if not everything!

My wife has, recently, started learning Python from the University of Michigan and she loves it! She didn't have prior coding experience. This is her first time. So, I'm suggesting you their courses.


Have fun! 😎
I would recommend Python or Javascript. The popularity for both languages have increased significantly in the last few years.
One thing you remember is that you can build a career and make a living whatever programming language you choose to focus on.
All languages have demand and job opportunities.

So, don't waste your time to pick a language. Pick a language randomly and stick to it until you gain professional efficiency.

Again, my recommendations are Python and Javascript

Best wishes,
Arjun Sharma,
Laptop Rental in Chennai
I had same question like topic starter. And i started from Java. It was mistake) Too difficult but i want to finish it anyway.
Userlevel 6
Badge +5
Hello everybody,

I learned how to code with different languages,
and I found that the easiest and most helpful one for building Machine Learning models is absolutely Python, indeed most courses for ML are designed nowadays with Python coding, and it's highly applicable and flexible to work with Tensorflow for building Deep Learning models.
Userlevel 1

Language choice depends on your expectations actually. Choose:
  1. C# if you want to develop: enterprise software (server side mostly), games with Unity engine;
  2. Swift - for iOS applications;
  3. Java: enterprise software (server side mostly), Android applications;
  4. Python. Well, its used mostly for data science and by administrators:)
  5. JavaScript - web sites/applications. But i recommend TypeScript for this purpose instead.
All these languages could be used for other purposes (i.e. you could make low-level system-oriented software with python), but it would be hard to find well-payed job in this case.
Python is by far the easiest language to code in as of today. It's about as close to pseudo-code as you can get. Great learning language, also used quite a lot in machine learning. My advice to you is to learn the principals of computer science while learning python:

In order of importance

  1. computer architecture - logic gates, memory, caches, binary and hexadecimal
  2. data structures - tuples, arrays, lists, trees, hashmaps, graphs etc
  3. sorting algorithms - dont go into too much detail here, mostly handled for you today
  4. linear algebra using numpy
  5. concurrency - you could ignore this 5-10 years ago. Not today.
That is a lot I know.... good luck

Once you know the above and can code in python you can learn any language quickly as you require. Next step I would suggest is c++ if you are going native, or javascript if you want to do frontend work. You will find javascript horrific to be honest, maybe learn a bit then use a transpiler.
Userlevel 1
Don't learn any language just to be ready to learn another language. It's waste of time:)

The better way is to understand what do you want to do further, and choose a language for this task. It can take a while to become fluent in particular language skills. That's why leaning language (which one you don't need for your tasks) is just a waste of time.
I would strongly suggest learning C. As a self taught web developer and with about 1.5 years of enterprise level experience, I would have done things differently with what I know now.

I would learn how C works with computer hardware and then I would have moved on to Java for the convenience of automatic garbage collection and other things.

All the hot in demand technology will come and go but solid languages that give an understanding of how the computer works with code will need to always be there.

Also learn about networks. Without networks all of our modern technology would be utterly useless.
Userlevel 1
If topicstarter wish to work in web frontend development, then C or C++ is useless for this job. Begin with Typescript and you earn first money in a couple of month, as junior. Begin with C and you wont get a job in frontend first 6 month minimum.

You can learn C, nobody doubts:) if you're a millionaire and just for fun. For other cases you should use proper tool. Language is a one of tools in this area.

Btw, if you are to learn software development for money only, if you are not a fan of coding, you should not even start. People become very unhappy of what are they doing in this case.
Learn the programming paradigms and with them, the most used languages ​​for that paradigm, by developing the programming logic you can program any language, because you would only have to learn its syntax.
Hey Ryuzaki, I can't tell you what language is best for you to start with. From what I've read from other posters - they all have good points to why they like the language(s) they do. However, I can share this.


I'm sure if you search around long enough, you'll find other sites that will express something different. With that said. Personally, I've been in the IT industry for over fifteen years and just now started to code. I chose Python because I couldn't grasp the idea of the other languages I saw, like Visual. I looked at it and saw, dkko{}keioweocnj395kd@$8. It made no sense to me. To be clear, there is some Python code I've seen and can't read, NOW. I've been at it for about six months now - wrote two programs, as simple as they are - I wrote them and I'm happy and proud of them. My third I'm working on is a pdf split and merge. Again, a simple (not really that easy at my level) but if I can get it to work, I'll be so very happy.
Python if you want something simple to start with. C if you prefer a challenge and would like to learn more about the inner workings of the computer in the process (less abstract). I find that learning with projects is helpful so you can think of a project to build and learn the language best suited to it.
Hope this helps.
If you have no background at in programming, I would actually recommend shell programming as an introduction to programming. Modern shells (like bash) have all of the common programming language constructs that many folks find useful (variables, loops, lists, associative arrays) without the "baggage" that various programming languages impose on you. Plus, since the shell is what you interact with if you are on the command line interface, you just "type and go".

I taught an Intro to UNIX class at the Borough of Manhattan Community College and shell scripting is how I taught programming to those students who said they signed up for the class to avoid programming :-)

The downside to learning programming with shell programming is sorting out (eventually) the distinction between the shell as a command interpreter and the shell as a programming language. It would be nice if someone put together some course notes that focuses on the latter.

After you learn about variables, loops, associative arrays, stdin/stderr/stdout, and program arguments, then those constructs in the programming languages you listed can make a little more sense (like what the heck is "main"?)
I have a question. Do you want to code or learn to programming. I think the language is secondary if you want to learn programming, because the major problems with programming is that the people not design first the solution.

I think is important take this very serious if anybody want to programming, more than the code with any programming language.
Userlevel 2
Badge +1
I think it depends on what your purpose of learning programming is. If you want to become a software developer, it is necessary for you to learn Java, and if your career goal is to become a data scientist, you have to learn Python. C++ is used in solving the problems of machines; JavaScript is widely applied on website. Java is difficult, however, it is powerful in creating some software. I am learning both Java and Python, because I am interested in developing software and data science. Python is powerful in data mining. To learn Java, if you understand the semantic and logic of every line, it will be easy to learn it. At first, I didn't understand the semantic and logic of Java, I failed and failed. After I met some teachers and professors who explained the semantic and logic of Java clearly, I feel it is easy. Have fun in coding!