Ask coding questions

← Back to all posts
What language should I start with?
DannyD77 (8)

Hi guys. I'm totally new with coding so I don't have a clue where to begin.. I would like to be a full stack developer..thanks in advance.

HarperframeInc (456)

To me, learning python was.....a mistake

Python isn't bad but then again it's not useful.

Want to build a web server/API? You have Go, NodeJS, .etc
Want to design a web page? HTML, CSS, JS, Bootstrap .etc
Want to build a GUI application? C++, Java, and Electron
Want to build your own operating system or write code low level? C, C++, Rust, .etc

When I think of python, I really only see it as something in the "niche" category. The language isn't really engineered for anything.

I suggest learning Rust. It's syntax is understandable, makes you a better coder (the rust compiler teaches you about how to safely handle your code, useful in the future), works in any field except web page development (of course), and it's compiled -> faster. But again, there are so many other languages you should try.

If you really decide to learn python, there is no route back. Python is too easy to learn, and sometimes it's just not really ideal to use python when there is a better alternative. That's why you see people make python scripts instead of python programs.

I suggest try something new. Don't fall into a rabbit hole, and take a language that really interests you.

Want to build a game? Learn C++, it takes you from simple text based games to full fledged graphical games.
Want to start a shop? Learn NodeJS, PHP, or HTML/CSS/JS.

There is much more programming languages than "Python", "HTML/CSS/JS", and "Python".

There is even more to the list. Scala, Nim, heck even Basic and Assembly.

Do what you want, not what others want you to do.
Go to the languages page and click something random from the list. Then research about the language. If you like it, use it!

HarperframeInc (456)

@HarperframeInc Seems like you want to be a full stack.

Most languages will allow you to create a server but here are the languages optimized for it: PHP and NodeJS

DannyD77 (8)

Thank u so much! I want to build an online virtual coin auction.. would u be able to give me some pointers please? 😊@HarperframeInc

HarperframeInc (456)

@DannyD77 Virtual Coin?

Well I think Node is your best bet. The Node Package Manger contains many libraries that you can use to implement your site.

For a virtual coin, you probably want to have a database to store user accounts, and you also want to hash user account passwords. For a database, I suggest using ReplDB if you plan to go simple, if you want to go big, Firebase and MongoDB have a free plan available.

If you want to have dynamic, responsive websites, you can learn Bootstrap or CSS. People who view your website should be able to view your website from anywhere, laptops, tablets, phones, even TVs!

Again these are some pointers, and I'm no expert. I learn as I go, and sometimes I forget an important feature, like all programmers do sometimes.

DannyD77 (8)

Thanks a million bro! I appreciate ur advise and help 😊 @HarperframeInc

HarperframeInc (456)

@DannyD77 Also note that HTML and CSS are not programming languages, they're more like a "datasheet" that is parsed by browsers to display content, so don't get confused.

Kookiez (406)

@HarperframeInc lel same here learning python as a first lang was a mistake for me too


Some cool languages to start of with.

Hello! If you want to learn web development (website creating) then you should start off with HTML, JS, and CSS. If you aren't interested in web development i totally recommend Lua and Love2D. They both go very well while coding. If you want to challenge yourself, learn Java or C, C++, or C#. That's pretty much all I have for you! Oh and, DONT TRY PYTHON as it was a waste of time for me to learn and its overrated. But that's just my opinion LOL. If this helped you, please mark this comment as an answer. If it didn't help that's also fine. If you have anymore question just comment on this! Seeya!


I totally recommend Lua because of its simplicity.

maxina (65)

You can actually just start with any language, (preferably an easy scripting language), spend months mastering it, then once you learn the concepts of programming, you can easily switch to any language you cant.

maxina (65)

If you are new to programming, pick a scripting language, these are the popular ones I know:
1. Python, my favorite, very good if you want to quickly do something, very easy to use and setup and everything and especially beginner friendly, used for many more other things, such as machine learning, data analysis, automating tasks, basic game development, and a very popular interviewing language. Here is a book I would suggest to you, what I used to learn:

2.Javascript, a language I used to use very often too, mainly used for web development, but I know many people who use it for other stuff. Again, very easy to use, and beginner friendly. You don't even need any installation to get started. I recommend these tools for learning JavaScript, which I both used to learn:
The online editor you can use, just run with a singly click. p5.js is a library designed with a canvas, so you can use it for making graphics. And the channel I would suggest you watch who uses this, the one and only coding train. Here is the playlist you should start with:
He also has a very awesome channel, so after you go through the playlist, check his other videos too, he is awesome!

Ruby, I personally never used ruby, but it is another scripting language, similar to python. All I know is that some person didn't like python, so they recreated their own language called ruby. It is mainly used for web applications, but also used for many things that python is used for.

Executec (2)

I actually heard, from a pro online, that you should start with C or C++, because more advanced and more capable programming languages are completely different than things like Python.


I prefer using Python, because of how intuitive it is for me, how simple the concepts are, and how large the module space is. Python is extremely versataile and has a module for nearly every single app you could want to make. Python is also very good at organizing databases, has a built in GUI module, is exceptionally good at calculating things. Some people may not like Python, but then again, you only need to learn one language to do half the stuff that they are doing. Take a Python class, and lets see how good you are at coding afterwards. If you want, I would be happy to give u some introduction.


I recommend starting out with HTML, CSS, and THEN javascript. These would teach you the essentials and the basic. Then, I recommend you move on to Python.

It's your choice, whatever you feel comfortable with.
Please mark my answer if it helps. Thank you.

Haizi (2)

I would recommend python because it is very easy and beginner-friendly. And it also actually sounds like English so if you are a beginner do python!

FloCal35 (671)

Python is probably the easiest but I recommend HTML/CSS

Jeydin21 (102)

In my opinion, you should start with HTML, then CSS, then JavaScript, they're the most popular and most commonly used languages in the world, you'll be coding websites like a full stack developer in no time!


Python is the easiest :D

Henslo (25)

If your just starting you should learn python. It's very simple. I would also recommend HTML, CSS, and Javascript if want to make websites. Apple provides a coding language called swift. If you want to make apps you could use swift. It's very easy to learn.

CoolGuy27 (68)

@DannyD77 I do C# and HTML if you want to make games, I suggest using C# and the UnityⓇ game engine.
If you want to make websites and games on repl, learn html and js.
you can learn these languages for free at
I would suggest messing with scratch( first to find your way in coding! Hope you have a great time!

xxpertHacker (931)

If I might ask, what are you referring to by "full-stack developer"?

The closest term I've heard of "full-stack [web] developer." If so, are you 100% sure that you want to do that?

I would have recommended learning Rust, from the Rust book.

But if you want to be a web developer, just go learn HTML5, CSS3, and ES5. /s
Oh yeah, you'll need a server, just go along with the masses of Repl and use Python or Node.js. /s
(don't actually do any of this, rethink your decision)

Most web developers (including those on Repl) just use ECMAScript 2014 or earlier, not sure why. I personally prefer ECMAScript 2021

HTML and CSS aren't programming languages, so you don't need to know anything about code to use them.
ECMAScript is a scripting language, so you'll need to learn how to code, but not how to program. As for your server, that's all on you.

ThisUserTaken (245)

Python. It's a good start

FishballNooodle (211)

Do you have Discord, I can teach you Python.
I'm at to Intermediate Python to Advanced

vekotov (0)

I recommend clear C (not C++/C#, only C).
Because it is 'father' of any other languages. If you really know C then you can code on Java/Kotlin/Python/C# etc.
Also it is giving you really good way to shoot yourself in the leg, so you can use 'try and error' studing method. Basically it dont have many cool stuff, but it is only gives you ability to make it yourself and share it with your friends.

xxpertHacker (931)

@vekotov I'd suggest HolyC over raw C, much better, while still being close enough.

vismodo (6)

You could actually start off with scratch for a week or two, since it will help you understand the basics and it uses block coding. You can then move over to Python

ThunderPython (37)

Hi @DannyD77 welcome to, hope you find your way. Firstly I would recommend python as it is the easiest language. I would also recommend html as it is the second best language to learn. If you need any help in python you can ask me on my gmail address [email protected]

DannyD77 (8)

Thank u so much 😊@ThunderPython


Hello! I assume your new to replit, and heres a tutorial for beginners: Here!

Anyway, here are the top choices I would recommend:

  1. In General: Python! Of course. This is a very beginner friendly programming language. It helps you understand the basics of coding so you can move on to practice more complex languages like node js.

  2. For websites - HTML, CSS, Javascript is a bit more complicated. Used to make websites and all! Its very nice to learn!

  3. NOT BEGINNER FRIENDLY: Node Js is used for networking. Like making chat apps and multiplayer games! It takes years to master and would not recommend to a beginner.

Hope this helped you!

DannyD77 (8)

Thanks a mil 😊@CarlosRosiles

szdytom (0)

python(for backend) & javascript & vue(for frontend) is a good choose.
or if you want everything simpler: node.js & javascript

FlaminHotValdez (715)

Python is great and beginner-friendly and you can study it easily, it's got some cool modules too. However Python has very different syntax from most other languages so if you intend to use other languages it's not great. C++ is more difficult to learn, but it's great for coding contests because it's fast and has useful built-in functions, plus its syntax is really similar to a lot of other coding languages. If you want to make webpages though you'll want to use HTMl, CSS, JS.

Whacko (325)

I recommend Python as the best beginner-friendly language, easy to write and read, with simple codes and not many special characters. There are some very nice tutorials on the tutorials board, and if you need help, post your question in ask.

fuzzyastrocat (1867)

@DannyD77 I agree with this comment, but I also agree with some others here as well. I do think that Python is a beginner-friendly language, but because Python has its own way of doing things I'm not sure if it's the best language to learn first.

Whacko (325)

@fuzzyastrocat Perhaps it is HTML, since you can never get an error from that.

fuzzyastrocat (1867)

@JavaMaster1 @DannyD77 No, 100% don't learn HTML as your first language... HTML is not a programming language, it is a markup language, so you'll get the wrong idea of what programming is. (And yes, you can get an "error" from HTML in the form of a blank screen if you have invalid syntax.)

Whacko (325)

@fuzzyastrocat I'm not sure... I still think Python. I learned JavaScript, though, but JavaScript is a complicated language, so obviously not that.

fuzzyastrocat (1867)

@JavaMaster1 I don't find Javascript more complicated than Python. And also, you can't just judge only based on complexity: the SKI combinator calculus is insanely simple, but I certainly wouldn't recommend it to a beginner programmer.

Whacko (325)

@fuzzyastrocat Perhaps that Python is more words, like or is or and and is and.

fuzzyastrocat (1867)

@JavaMaster1 If that is the argument for Python, then Lua is the language to learn (as I suggested in another comment here).

Whacko (325)

@fuzzyastrocat I don't know... it really depends what you want to learn. If you want to learn a complicated language, well, then you're up for the challenge! You'll learn it eventually. Or you can start with an easy language and learn that, but it really doesn't matter what you start with. You can always learn one and then learn the other, or the other way around. But it depends which language you want to learn first. Not which language is the hardest, or which language is the easiest, but... just which one you want to learn.

fuzzyastrocat (1867)

@JavaMaster1 Agreed, it depends on the personal goal. However, I feel that there are some languages which represent the core "idea" of programming best for a beginner, and I just don't feel like Python is one of them. (It's hard to switch away from Python.)

Whacko (325)

@fuzzyastrocat So basically, there is no right or wrong language to learn first. It all depends on your goal, like do you want to be good at Python, or JavaScript, or HTML, or Lua.

fuzzyastrocat (1867)

@JavaMaster1 Right, I think you can learn any language first. But learning some languages will make it easier to get into programming. (Learning brainF isn't going to help your general programming skills much. While Python fits this mold less, I still think it won't make it as easy as it could be.)

Whacko (325)

@fuzzyastrocat Exactly. But if you are up for the challenge, go for it, and then learn another. (Hey, did you know running ++++++++++[>++<] in brainF crashes everything)

fuzzyastrocat (1867)

@JavaMaster1 (Actually, yes. This program has the same effect: ++[>++])

fuzzyastrocat (1867)

@JavaMaster1 And this program has the same effect as well: +[<].

When you just look at the program, yes it seems weird. When you think about what the programs do though, it probably doesn't seem so strange.

xxpertHacker (931)

@fuzzyastrocat Honestly XML is safer to use than HTML.

Dominicl645 (421)

i would do python because once you get the hang of it you will be able to do so many things. trust me i am learning how to use python as well

MocaCDeveloper (713)


When it comes to Starting Off, it is best to do what you truly want to do.

You cannot set your future off of getting advice from other developers and expect yourself to know exactly where you're heading. When it comes to learning a new language, you have to find something that interests you..not what interests other people.
You need to find a language you yourself will love to write in and use for nearly every project. I'd suggest never asking another developer(s) for there opinion on a language to learn..because you will simply NEVER GET A STRAIGHT FORWARD ANSWER.

So. Find a language you would be comfortable with, learn it, write it..and repeat if you want to learn another language!

fuzzyastrocat (1867)

Let me offer a slightly different opinion than most people would.

For an absolute beginner, I'd recommend Lua. Why Lua? Well, Lua uses a lot of english words rather than symbols, so it looks like something you can read rather than a "computer program". Here's an example of Lua code (slightly modified from the tutorial linked below):

-- defines a factorial function
function fact (n)
  if n == 0 then
    return 1
    return n * fact(n-1)
print("enter a number:")
the_number ="*number")        -- read a number

If you're interested, there's an external tutorial here: There's also a tutorial of Lua on the Lua website: And, you can get started with Lua right here on!

DannyD77 (8)

Thanks a million! Haven't heard of
Lua before but will definitely be trying it out 😊 @fuzzyastrocat

fuzzyastrocat (1867)

@DannyD77 No problem! One thing to note: I recommend Lua as a beginners language because I think it will be easy to learn and teach you all the important concepts of programming.

Once you have a firm grasp on that though, I'd suggest to moving to NodeJS. While you can use Lua to make web servers, that's really not what it was designed for. On the other hand, NodeJS was literally built to make web servers in (so it fits your goal of being a full-stack dev). And, it will be easy to learn once you have Lua down (but I wouldn't recommend starting with it).

Smart0ne (749)

@fuzzyastrocat Really? I learned Python first (:)). Then I tried Ruby (:(). Then Lua (:(). Then C (:)). Then some SQL (:)). Then currently learning HTML/CSS/JS (and I suck)

fuzzyastrocat (1867)

@Smart0ne What is there to not like about Lua? It's a simple, easy language.

Coder100 (18902)

There's a lot!


Good because of simplicity, but will haunt you in the future if you make a switch


The best language, very easy to go to other languages and very versatile.


A beautiful low-level language that allows you to do ANYTHING (we mean it! Chrome was built in C++, and so was JS and python!)


Great for unity game making! It will also give you a head start in object-oriented programming...

I recommend JS, but the choice is yours!

You can also search on google for more tutorials :)

realTronsi (923)

@Coder100 I'd say you're biased but then again I'm also extremely biased so okay

Coder100 (18902)

4 options, how is that biased?!? And it is true js is awesome @realTronsi

realTronsi (923)

@Coder100 do you know what baf means. Also javascript is beginning friendly, but it's more awesome at letting you get away with spaghetti code, which is bad if you actually want to be a developer.

Coder100 (18902)

@realTronsi wdym spaghetti code? the only spaghetti you are going to be writing (err compiling) is production code

realTronsi (923)

@Coder100 baf = stop making up excuses >:D

Coder100 (18902)

@realTronsi like literally it's just C++ but unstatic if you know what i mean

realTronsi (923)

@Coder100 btw I'm learning C/C++, which should I learn? I know they're very different but what are their use cases?

Coder100 (18902)

C++ because:

class CPP extends C

Any valid C program is valid in c++

fuzzyastrocat (1867)

@realTronsi I'd go against the grain here and say C. Why? Because in my opinion, it's much easier to get started with, and once you know C learning C++ will be easy.

fuzzyastrocat (1867)

@Coder100 What, I like C better than C++ :D

Coder100 (18902)

bad C++ has classes C doesn't which one is more easier to work with?
C does not have strings, C++ does
C does not have dynamic arrays, c++ does
C does not have ..., C++ does

realTronsi (923)

@Coder100 but technically C also has classes since C++ was originally compiled from C, so if you made a C compiler that compiled C you could technically havse classes and objects

Coder100 (18902)

never ever use it in place of classes >:(

fuzzyastrocat (1867)

@Coder100 Also, Python was not written in C++. It was written in C :D

Coder100 (18902)

actually you know what, you guys can fall in your own pit holes i will not help you anymore 😔 @realTronsi

Coder100 (18902)

Cython ok whatever same thing @fuzzyastrocat

fuzzyastrocat (1867)


C++ has classes C doesn't which one is more easier to work with?

C, since it provides less abstraction and therefore is easier to understand and manage. (And struct inheritance exists so extensibility is not an issue)

C does not have strings, C++ does

char* is not a string? Also, if you really want C++ strings in C, you can write your own definition very easily.

C does not have dynamic arrays, C++ does

malloc() is not a dynamic array? Actually, I'm not sure what you mean by "C++ does" if you're not talking about malloc()... if you mean a linked list, you can easily write your own in C.

C does not have ..., C++ does

Um... no?

realTronsi (923)

@Coder100 also how many langs do u know jeez

Summit (35)

@Coder100 unreal engine uses c++ for gamedev so not just C# is gud for gamedev

MocaCDeveloper (713)

A beautiful low-level language that allows you to do ANYTHING (we mean it! Chrome was built in C++, and so was JS and python!)

Not True. Python was indeed not written in C++, it was written in C.
Also, Chrome was written in Java, C++ AND C.

Don't believe me that Python wasn't written in C?
Take a look at this StackOverflow post

Smart0ne (749)

@fuzzyastrocat I love C. Does C++ have OO? I love OO.

Coder100 (18902)

@Smart0ne object orientation?
C does not, C++ does!

fuzzyastrocat (1867)

@Smart0ne Yes, C++ has OO, but it's bad OO since it's class-based. If you want true OO, try something like Smalltalk. (Or even Lua — Lua's OO is closer to true OO than C++'s is)

fuzzyastrocat (1867)

@Coder100 ._.
Class-based OO is not what OO was designed to be. It removes the nice flexibility of true OO and leaves only the rigidness available.

fuzzyastrocat (1867)

@Coder100 Also, C does have object orientation if you know how to use structs. It's not true OO, but neither is C++'s.

fuzzyastrocat (1867)

@Coder100 Oh also, by the way, this is a major misconception:

class CPP extends C

This C code is invalid C++ code:

auto int foo = 5;

Variable Length Arrays in C are also not valid C++. C allows redefinition at the global scope. No K&R function definitions are valid C++. There's actually quite a few differences, you can find more info here and here.

fuzzyastrocat (1867)

@Smart0ne ? (Also, there's been many comments since your last one here, which comment is that in response to?)

fuzzyastrocat (1867)

@Smart0ne Also, I'm fine with people liking C++ (it's fine to have your own opinion). What I'm not fine with is when people give "evidence" for C++ being better than C and it turns out that the evidence is blatantly not true. (Also @Coder100 I'm not trying to snidely reference your comment above, this has happened before so I really do mean this in general)

xxpertHacker (931)

@Coder100 Whoa whoa, that JavaSript there...
Surely you meant:

class CPP : C { ...
xxpertHacker (931)


C++: A beautiful low-level language that allows you to do ANYTHING (we mean it! Chrome was built in C++, and so was JS and python!)

Chrome was built in C++

Chrome isn't that good, I'm not sure what you're saying there.
Over 70% of Chrome's bugs would be solved by porting to Rust.
70% of Chrome's bugs are memory problems. (use after free, Spectre, etc).

JS [was built in C++]

JavaScript was not built in C++, what made you say that? It wasn't "built" in a language, it is just an implementation of the ECMAScript262 standard. There is an implementation in Rust.

Python [was built in C++]

Again, where did this come from!? Python was initially implemented C, it will likely never be built in C++.
Think "CPython."
There are other implementations, but none are in C++.

tutlane1 (0)

@Coder100 I think the following resources are also good to learn c#, python. Please check it.