What Programming Language to Start Studying?

There are hundreds of different programming languages ​​out there . If you're a beginner , you can ignore the fact that most of them there . However, even if restrict the list to only a dozen of the most important languages ​​, decide what programming language to first learn a task can be challenging . You may wonder : I first learn C , C + + , Java , C # , or PHP ? If you make this 10 question for programmers , you will probably hear 10 replies different . Here is mine.

In the same way that human languages, programming languages ​​are used to communicate . Interestingly , they also involve Communication between people , since other developers will end reading / modifying / improving your code or you will do it at some point . Unlike natural languages ​​, however, the languages programming are perfectly understood by computers , thanks to the help of interpreters, compilers, and other similar types of software .

Depending on the type of program you 're trying to write , and what environment you are working , you will discover that some programming languages better suited than others for certain tasks, even if the languages most common programming are labeled as being for " general use " .

For example , if you want to create an application for iPhone and iPad , your best bet would be to use Objective- C . For Android smartphones and tablets , in most cases , you need to learn client-side technologies like HTML , CSS and JavaScript ( these 3 , only the JavaScript is a real programming language , but other two are important anyway ) . For the server side of your web application , you probably need to learn languages ​​like PHP , Ruby , or Python ( all three have frameworks that will help to stop the easier and less time consuming ) task web , instead of a system favorite as C. (Of course , programming is necessary to mention the SQL if you are creating an interface with a relational database ) .

Then you should begin your adventure through the world of programming languages ​​with JavaScript ? But what Objective- C ? SQL ? My advice is to avoid starting your journey with a programming language that is tied to a specific environment .

Early in the game , your main goal is to learn how to program - and how think like a programmer - rather than learning a specific language . a Since you are ace on fundamental concepts with the help of objective general programming language , you can easily learn new languages ​​as the need arises depending on the type of software you would like to develop .

This is a profession where most of your skills are developed and refined when you actually practice . If you falter in the fundamentals of programming, you can easily choose a specific language and a framework when you need to build iPad apps or anything else you want to create .

A well-prepared developer will end up learning several languages programming and tools throughout his career. That said , if you are just starting out , focus on first language. While this may seem a little silly at first, the good news is that, if you do not choose a truly exotic programming language , much of what you learn can also be used in other programming languages ​​. Remember that this stage , most of all , you are learning how to communicate their thoughts into precise statements so that other programmers can understand ( and be able to run the computer ) .

Therefore , you can not go far wrong with any of the languages general-purpose programming (eg , C , Java , C # , Perl , Ruby , Python , or Scheme) . That said , if you are learning by yourself , I would advise you to choose a language that will make your path easier learning . in other words , choose a programming language that is widely used , well documented , and friendly to beginners . You are looking for language that is not too bureaucratic , you do not need to manage memory directly , or have expertise in mathematics to begin.

So, my suggestion would be to start with Python, and use as a tool to learn the general art of programming. Learning Python is fun, easy and helpful. You will be able to use it for a wide range of projects in various environments (scripting, web, scientific research etc.)

Sources to Study or Practice :


Project Euler




MIT Courses







The Code Player

Khan Academy

General Assembly

Learn Code

Android Developer

Apple Developer

Tree House

Any Recommendation , Please ! [COMMENT]

Note by Gabriel Merces
7 years, 1 month ago

No vote yet
1 vote

  Easy Math Editor

This discussion board is a place to discuss our Daily Challenges and the math and science related to those challenges. Explanations are more than just a solution — they should explain the steps and thinking strategies that you used to obtain the solution. Comments should further the discussion of math and science.

When posting on Brilliant:

  • Use the emojis to react to an explanation, whether you're congratulating a job well done , or just really confused .
  • Ask specific questions about the challenge or the steps in somebody's explanation. Well-posed questions can add a lot to the discussion, but posting "I don't understand!" doesn't help anyone.
  • Try to contribute something new to the discussion, whether it is an extension, generalization or other idea related to the challenge.
  • Stay on topic — we're all here to learn more about math and science, not to hear about your favorite get-rich-quick scheme or current world events.

MarkdownAppears as
*italics* or _italics_ italics
**bold** or __bold__ bold

- bulleted
- list

  • bulleted
  • list

1. numbered
2. list

  1. numbered
  2. list
Note: you must add a full line of space before and after lists for them to show up correctly
paragraph 1

paragraph 2

paragraph 1

paragraph 2

[example link](https://brilliant.org)example link
> This is a quote
This is a quote
    # I indented these lines
    # 4 spaces, and now they show
    # up as a code block.

    print "hello world"
# I indented these lines
# 4 spaces, and now they show
# up as a code block.

print "hello world"
MathAppears as
Remember to wrap math in \( ... \) or \[ ... \] to ensure proper formatting.
2 \times 3 2×3 2 \times 3
2^{34} 234 2^{34}
a_{i-1} ai1 a_{i-1}
\frac{2}{3} 23 \frac{2}{3}
\sqrt{2} 2 \sqrt{2}
\sum_{i=1}^3 i=13 \sum_{i=1}^3
\sin \theta sinθ \sin \theta
\boxed{123} 123 \boxed{123}


Sort by:

Top Newest

c++ is my main code

Joshua Lumanog - 7 years, 1 month ago

Log in to reply

if a begineer start with PYTHON

Palash Som - 6 years, 11 months ago

Log in to reply

This is definitely helpful, a website that you might add can be Code school !

Mardokay Mosazghi - 7 years, 1 month ago

Log in to reply

That's a long list of sources. Which are the top 3 that you would recommend, and why?

Calvin Lin Staff - 7 years, 1 month ago

Log in to reply

I think codeacademy is one of the besties.

Mardokay Mosazghi - 7 years, 1 month ago

Log in to reply

Edx definitely :)

Happy Melodies - 7 years, 1 month ago

Log in to reply

The New Boston this is also a very good source

Akhilesh Chobey - 7 years, 1 month ago

Log in to reply

What about udacity and w3 school.

swapnil rajawat - 7 years, 1 month ago

Log in to reply

Don't forget a list of IDE's if you are giving resources. A good IDE can be of huge benefit for someone just learning a language. For python I've used both spyder and visual studio with success, but a professional should probably weigh in on the best IDE for a beginner.

David Mattingly Staff - 7 years, 1 month ago

Log in to reply

TheNewBoston is an absolutly great resource if you can handle some jokes and cussing. I would like to discourage Codecademy because of its outdated HTML techniques and W3Schools because of the same reason too.

Kevin Mo - 7 years, 1 month ago

Log in to reply

Hmm i i think that a list...

Grace Layosa - 7 years, 1 month ago

Log in to reply

Nice note, thank you by sites...

Heder Oliveira Dias - 7 years ago

Log in to reply

@Anik Mandal I will tag you here because this note might be helpful for you..

Kartik Sharma - 6 years, 11 months ago

Log in to reply


Problem Loading...

Note Loading...

Set Loading...