Codecademy Forums

Getting into Coding

Hi,

I am new to coding and to Codecademy and have a desire to create both web apps and mobile apps. However I am kind of confused.

Researching into coding is confusing because there are too many languages and frameworks flying around. I’m trying to narrow it down so that it all makes more sense. I have a few questions and hope you gurus can help me clarify and set me on the right path:

  1. What is front end developer and what is back end developer and what’s the difference between them?

  2. Where do Java, JavaScript, HTML, CSS, C#, SQL and Python fall into the above?

  3. HTML and CSS are needed to make websites/web apps. Is it a case of choosing JavaScript or Python after those two to define the website/web app?

  4. For mobile apps, android uses Java & iOS uses Swift but Python can be used for both. Besides a framework what else is needed?

  5. Based on Question 4, to build websites/web apps we use HTML, CSS and either JS or Python. HTML gives skeleton, CSS gives shape and feel, JS/Python give user interaction. For mobile apps, what’s the equivalent for HTML and CSS?

  6. Node.js seems to be the framework best for JS whilst Django seems the best framework for Python. Any other suggestions?

I would really appreciate if i could get these clarified. I’ve been googling for the last week and have ended up much more confused as I keep coming across different languages and frameworks and terminologies.

Thank you.

before i start answering this, i would like to disclaim i cut some corners for simplicity sake.

front-end is what you see on this webpage. When you make a topic on this website, the topic needs to be validated and stored. That is back-end.

backend: java, c#, sql, javascript (nodeJS) and python
front-end: html, css and javascript

yes, html are the structure of a page, css is styling and positioning. They are vital. But they are markup language, javascript is the only available front-end programming language

Python is back-end

python can’t do both on its own, you need a library/framework. This is known as hybrid apps, for which many solutions exists:

https://www.websoptimization.com/blog/hybrid-mobile-app-frameworks/

if you are interested, you can google: hybrid vs native app

hybrid apps are not some magic which make everything perfect. There might be scenarios where you want a native app

that depends, java and swift have there own toolset for building GUI’s. You can even have a web-app with a layer/wrapper to make it a mobile app

nodeJS is back-end, not front-end.

Django comes includes a lot of bells and whistles. Can be handy, depending on what you want. But there is also flask (micro-framework) and pyramid (only heard of it, never used it).

like you said, there is a lot, and it makes your head spin. Considering the pros and cons of different technology stacks/frameworks/languages is difficult, especially for a beginner.

Hope this answer helps some

1 Like

Hey Stetim

Thanks a lot for your answers it’s clarified a lot for me. Just a question, you mentioned:

What do you mean by markup language? And since javascript does both front end and back end is it just worth learning that?

I’ve currently planned the following: Learn HTML, then CSS then JavasScript. After that learn Python. Once I’ve done that then I will experiment Web App Development.

I am a complete beginner by the way. What do you think of the above and what would you advise me to do?

Thanks!

css doesn’t seem to be a markup language:

https://www.lifewire.com/what-are-markup-languages-3468655

anyway, doesn’t matter much.

I think that is the precisely the reason nodeJS came into life, to let front and back-end developers work together better and more easily.

please take my response with some care, its sometimes difficult to stick to the facts without my opinion shining through.

i have no experience with nodeJS so far, personally i would just learn whatever the project requires. Languages and frameworks are just tools to the job done. If you had a piece of wood and nail, you would use a hammer, not a screwdriver. Same for frameworks/technology stacks/programming languages

i have some more experience with JS in the front-end, there i did not enjoy the language. If i had to use JS again, i would also consider using TypeScript (if possible of course)

not really an answer to your question so far, is it? I doubt there is a single answer, like most things in programming its considering pros vs cons.

sounds fine, you can always adjust your course later when you understand things better.

1 Like

Thanks bud! Appreciate your help.

1 Like