Jump to content

NEED HELP FOR NOOB

Stygian Zenith

I want to learn to code but don't know where to start. Any good resources i can use? Don't have any experience with programming and would like some suggestions on what language I should start first. 

Should i learn phyton or Java first? Or C++ as I hear it's the easiest language. If the website/place I can get information is free it is really appreciated but anyways thank you for your time and help!

-Zenith

 

Link to comment
Share on other sites

Link to post
Share on other sites

Well, going with books is the easiest way to learn something from ground up... 

Python should be a good starting point..

Link to comment
Share on other sites

Link to post
Share on other sites

C++ is NOT the easiest language, on the contrary.

 

Start with Python, there's lots of documentation available, at various levels (beginner, medium, expert etc ). Another option to make computer  software, instead of Python, would be C#.

 

In parallel, you could read some stuff about HTML and Javascript, which allows you to write programs that run inside a web browser and manipulating the content inside the pages.

There's also PHP which is the program/script language which runs on the server and prepares the HTML page (retrieves records from databases like user names, logos, signatures, posts, likes on this page, and builds the HTML file which then gets sent to the user's browser). This is different than Javascript which runs on user's computer, and runs after the html page was downloaded.

 

This area in which you write messages is actually controlled/improved by Javascript code, as an example of what it could be done.

 

Link to comment
Share on other sites

Link to post
Share on other sites

11 minutes ago, mariushm said:

There's also PHP which is the program/script language which runs on the server and prepares the HTML page (retrieves records from databases like user names, logos, signatures, posts, likes on this page, and builds the HTML file which then gets sent to the user's browser). This is different than Javascript which runs on user's computer, and runs after the html page was downloaded.

I feel the need to make a comment on this. Javascript is not limited to browsers. It can be used on the server side, to create mobile or desktop apps and so on.

ಠ_ಠ

Link to comment
Share on other sites

Link to post
Share on other sites

I agree, but if we are to go into technicalities then I'd have to mention Typescript  which would be even better, or Google's Kotlin.

 

I avoided to also mention Golang, which would be an easy programming language to learn, and has quite a few modern features like concurrency and other things, but it has a small downside, you have to go through extra steps to make a graphical interface or a window for an application. By default, Golang (go) makes command line (console) applications, services, there's no GUI editor to draw windows and buttons and things as you have in C# or Python (tkinter or whatever)

So or a beginner where the actual visual feedback is important, it may not be such a good language to start with. 

 

It really helps motivate someone to continue learning something, for example when that someone places three text boxes and a button on a form and calculates the sum of the numbers in the first two text boxes when the button is clicked.

Link to comment
Share on other sites

Link to post
Share on other sites

@mariushmThanks for the help! I've always wanted to learn to code but found it difficult to find what language I should learn. You seem very knowledgeable at these types of stuff, do you have any specific places where I should learn from? Eg. Youtube, A forum. Also anything I need to know before I learn progarmming?

Link to comment
Share on other sites

Link to post
Share on other sites

I'd suggest starting with a physical book or a digital copy of a book, aimed for BEGINNERS. Don't be ashamed to say you're a beginner, everyone starts from somewhere.

 

Learning the basics like data types,  logical operators and operators that work with bits,  the basic things you can write programs with (if-then-else, loops as in difference between while/repeat/loop, functions, this is all programming things that apply to any programming language and will be reused no matter what language you'll eventually like, so find a book that has a few good chapters that touch on them at the beginning.

 

A Python book that starts right away with something like "let's make a game by clicking here and here and dragging this and paste this code" and so on won't help you. You'll get that high "oh wow, i just read the first two chapters and already have a working game" but afterwards if you don't have those basics you'll get stuck often.

 

 

Also, a very good advice I can give you is  ALWAYS copy / write the programs or examples printed in the books, and run them yourself, even if you think to yourself "duh, this is obvious, I got it". Try to make the "homework" at the end of chapters.

 

It's quite possible that you understood it and it's all good, but by writing the program and running it,  adding stuff to the program to make your own, even if it's something as basic as changing a text "the result is"  to "heres my answer",  the act of typing the code yourself will help you in long term. It's about muscle and visual memory, days and months from when you write this code you'll remember how you typed that or think something like "hey maybe i can solve this problem the same way like it was done in that exercise or problem" and you go quickly go back in the code you typed and played with a see if you could adapt that code to your problem.

 

Video tutorials or lessons work, but only for some people, and imho you don't retain as much information and your attention can go to other things or you miss some details. With a book you can also go back to previous chapters are recap something much easier and faster, you're less likely to go back and listen/view 1-2h of video a 2nd time.

 

Link to comment
Share on other sites

Link to post
Share on other sites

On 11/16/2020 at 11:40 AM, mariushm said:

C++ is NOT the easiest language, on the contrary.

 

Start with Python, there's lots of documentation available, at various levels (beginner, medium, expert etc ). Another option to make computer  software, instead of Python, would be C#.

 

In parallel, you could read some stuff about HTML and Javascript, which allows you to write programs that run inside a web browser and manipulating the content inside the pages.

There's also PHP which is the program/script language which runs on the server and prepares the HTML page (retrieves records from databases like user names, logos, signatures, posts, likes on this page, and builds the HTML file which then gets sent to the user's browser). This is different than Javascript which runs on user's computer, and runs after the html page was downloaded.

 

This area in which you write messages is actually controlled/improved by Javascript code, as an example of what it could be done.

 

Hey friend, why do people recommend Javascript and HTML more than they do for python when suggesting an introduction to coding? granted, this thread telling me the opposite. but even Khan Academy (a great organization by the way) was starting out with Javascript. I just wanna know~

Link to comment
Share on other sites

Link to post
Share on other sites

They start with that because near instant gratification,  you can write something in notepad or in a website like jsfiddle or codesandbox.io  and hit preview or reload the html file in browser and you see the results ... no need to compile a program or whatever.

 

They want to convince a total noob to paste a few lines or type as the video goes on and get the person happy that they did something and that their code is working and they see something change in the browser and therefore hook him to continue and learn more.

 

Javascript is simple and relatively easy for basic stuff, no need to know about data types, pointers, you write and the browser shows the changes on screen quickly..

 

If you start like you should start to learn programming, like I did in high school, some people may drop it, because they think it's too confusing, or they get upset that they spent a few hours already and didn't actually make a program already.

 

When I was in highschool, the teacher started by teaching us how computers think differently than us, and how to translate the way we think about solving a problem to how a computer solves problem by following the instructions you write ... we've had a few students that simply couldn't wrap their head around the differences in the way computers do things compared to regular math.

We practically started to type programs on a computer in Borland Pascal probably a month or so AFTER we started to learn programming (with 2-4 hours of teaching every week) you can't do the same with a video course, because people are not so patient anymore these days, they'd just skip ahead or give up.

 

They then tought us about data types and logical blocks  (if then else,  while condition do instructions, functions and procedures  aka reusable blocks of code and how to use function parameters and so on ) and gave us simple problems and tell us to write on paper how would we solve it ... like for example  ' we have 10 cups of water, with various amounts of water on them .. how would you sort the cups so that they're ordered least full to most full '  and you'd write pseudo code ...

 

 

Link to comment
Share on other sites

Link to post
Share on other sites

10 minutes ago, mariushm said:

They start with that because near instant gratification,  you can write something in notepad or in a website like jsfiddle or codesandbox.io  and hit preview or reload the html file in browser and you see the results ... no need to compile a program or whatever.

 

They want to convince a total noob to paste a few lines or type as the video goes on and get the person happy that they did something and that their code is working and they see something change in the browser and therefore hook him to continue and learn more.

 

Javascript is simple and relatively easy for basic stuff, no need to know about data types, pointers, you write and the browser shows the changes on screen quickly..

 

If you start like you should start to learn programming, like I did in high school, some people may drop it, because they think it's too confusing, or they get upset that they spent a few hours already and didn't actually make a program already.

 

When I was in highschool, the teacher started by teaching us how computers think differently than us, and how to translate the way we think about solving a problem to how a computer solves problem by following the instructions you write ... we've had a few students that simply couldn't wrap their head around the differences in the way computers do things compared to regular math.

We practically started to type programs on a computer in Borland Pascal probably a month or so AFTER we started to learn programming (with 2-4 hours of teaching every week) you can't do the same with a video course, because people are not so patient anymore these days, they'd just skip ahead or give up.

 

They then tought us about data types and logical blocks  (if then else,  while condition do instructions, functions and procedures  aka reusable blocks of code and how to use function parameters and so on ) and gave us simple problems and tell us to write on paper how would we solve it ... like for example  ' we have 10 cups of water, with various amounts of water on them .. how would you sort the cups so that they're ordered least full to most full '  and you'd write pseudo code ...

 

 

So they recommend starting with javascript because it's easier to learn and provides a visible growth check to keep you motivated... I see... So what are the benefits of starting python as noob as opposed to Javascript?

Link to comment
Share on other sites

Link to post
Share on other sites

2 minutes ago, Sakuriru said:

Python is strongly typed.

 

My recommendation is to spend some time in python to get used to the idea that there are different data types and flow control, then start in C.

so basically javascript is a tricycle and python is a dirt bike with training wheels?

Link to comment
Share on other sites

Link to post
Share on other sites

No, they're different programming languages, with various trade-offs  ...  a programming language can lose points at one category but gain points at other category... 

 

Javascript is good for its purpose, running in browser, but it's less good to making desktop applications with it or high performance applications.

Python is better in that regard, you get more things, more features, some things are easier to make in it,  but it's got a higher learning curve, but still not quite as "close to the metal" , not as "dangerous" as C or C++, where you can easily have memory leaks or do some things that could crash the computer.  You can write reasonably performant software, probably on par with C# or other .net languages, but if you want the super fastest code, most optimized, etc, you want C or C++.

 

Sometimes you just don't need the most faster, most optimized, or there's a tradeoff ... like let's say you'd rather spend 100 work hours to make a 4 function calculator instead of spending 200 work hours making the same program in C, because it doesn't matter that the C version calculates the sum of two numbers a few nanoseconds faster.   You make the application faster, it's cheaper to make and also if you quit or decide to move on to some other project, others in the company will probably be able to read and understand your code much easier, compared to reading C or C++.

 

 

Think for example when you go to the store to self checkout where you scan the barcodes of products and press the "checkout" button and have a receipt printed ... that software doesn't need to be the most optimized C program, because between two product bar codes scans, there's plenty of free cpu time to perform calculations so speed is not critical, there's also basic connecting to a database to retrieve the price for that bar code read and quantity and so on ... printing receipt is again something super basic in any language... no need for C for such application. 

 

Link to comment
Share on other sites

Link to post
Share on other sites

24 minutes ago, Sakuriru said:

Python is simply more general purpose, but I wouldn't say that it's that comparable. Javascript was created for a single purpose, and while it was expanded to do other things, this was more of a pursuit to have the holy grail of web development where only one language needs to be used for the full stack. And some companies do use Node to run their full architecture on JS.

 

JS's weakest area is objects, where they're more like garbage bags you throw things into. This can be a real hindrance to more complex applications and I believe would be a bad first impression to give someone.

cool. so for web development its safe to start at HTML then CSS then learn python?

Link to comment
Share on other sites

Link to post
Share on other sites

1 minute ago, Sakuriru said:

You'll still need Javascript.

ok so what order would you suggest?

Link to comment
Share on other sites

Link to post
Share on other sites

3 minutes ago, Sakuriru said:

Web development is particularly challenging because in reality it normally involves 5 different languages and multiple different technologies. If you're just beginning with web development you'll quickly overwhelm yourself or fall into the trap of getting comfortable with Javascript and never wanting to learn anything else.

 

If you want to start coding find one general purpose language and learn that. I stand by my original recommendation of python then move into C, just so you'll build an understanding of how computers actually work.

so just ignore HTML and CSS and go to python then C?

Link to comment
Share on other sites

Link to post
Share on other sites

I'm a programming teacher. Debating which language you should start may vary on your future about programming.

 

Why will you learn how to code? to build your idea, just curious, you want to work coding?

 

C# and Java are a very good initiative languages since they are C based and C/C++ are complex if you are not really studying full time how to code.

 

Python is very good if you want to build your idea, but I don't recommend as first language, maybe second to compare based C languages vs Python.

 

Which is better for all cases? I think C# since we have .Net Core 3, you can build websites, apis, server and console applications (multiplatform). It's free and opensource. Then you can use .Net Framework (new version ahead) and build desktop apps (only windows).

 

Which languages do I teach as first? It depends on school/academy/university, but mostly is Java.

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

×