starting to programm: how and why?

in #coding5 years ago

First of all some reasons why you should start programming now:

  1. Programming makes always a lot of fun although it can be sometimes a bit frustrating.
  2. It gives you a unique way of thinking and enhances your problem solving abilities and problem solving is useful everywhere.
  3. You can get job opportunities as a programmer.

Some people suggest you should start by learning html or CSS. I don't see any advantage of that, unless your focus is on designing websites and not on programming. html(hypertext markup language) is a markup language. So you can only do some text-formatting with it. CSS is just a way of adding more graphical elements to your website. Even if you may need them later you can still learn them and they are no big deal to learn afterwards.
So if you want to do programming start by learning a programming language and not a language to design websites!

I suggest to start programming with java or python. Python is easy to learn and to use because python has a very simple syntax. On the other hand when used in bigger projects python is often harder to code with in my opinion. I personally started with java. Java is even when used in bigger projects still easy to use, but the syntax is a lot more complex and if you are unsure between those languages you should start with python and use java later on. Python and java also have the advantage that they can be used on all operating systems which is very useful when you want to show a friend a program.
Languages like C or C++ are hard to learn because you need to care a lot about memory which gives many errors to newcomers. That's not worth it, unless you really want to make a faster program than anything you could do with java or python. But my experience is that you usually don't need that speedup. You can gain speed in many other ways first.

There are 2 ways to learn programming. Either you can learn it from a friend(if you have a friend with programming skills) or you can learn it using the internet.
Before you start doing anything in your chosen language you should start by learning some basics:

  1. What are variables?
  2. What types of variables are there in your chosen language?
  3. What kind of operations can you perform with those variables and how do you do that?
  4. What are if, else, while and for and how do you use them in your language?

Then you should download everything you need to start:
In java you need the java development kit(JDK). You can download the newest version here. Then you need an editor and a comfortable way to compile your program. I suggest to use eclipse for that.
In python everything you need is included when you download the language.

And then you are ready to go. The best way to start is with programming a simple game. Therefor you usually need to copy some example programs on how to use graphics and how to use keyboard input and modify them and give them some context. Never copy an example of the game you want to make. That way you learn nothing.
When you get an error message just copy it into your favourite search engine or try to return to the last state your program worked.

You shouldn't feel bad if your first program is ugly. You should be happy that it works without any error! Mine looked like this:
Screenshot from 2019-04-20 10-54-51.png

Sort:  

Welcome to Steemit! Nice article...

I started off doing Android programming from a Udemy course, I did that for a while and got a couple of nice apps working.

Then I got a bit down as I realised that I was just copying, but didn't feel like I was learning. I then put it down for a while and started Java a bit later, however as you state the syntax is confusing and I couldn't get to grips with it.

Then another break and this time I tried Python, I like the simplicity with Python but still found that I couldn't program anything on my own. Then I tried Solidity, as I wanted to program an Ethereum smart token.

That got me into JS React, which I thought was pretty cool, and then C, which is very similar.

Anyway, I've recently discovered P5.JS and I really like the library, I'm still struggling to code my own stuff, but I'm going to stick at it till it all comes a bit more naturally!

Can't wait to see what you've got in store for us :-)

Cg

Congratulations @quantumdeveloper! You have completed the following achievement on the Steem blockchain and have been rewarded with new badge(s) :

You got more than 10 replies. Your next target is to reach 50 replies.
You made more than 10 comments. Your next target is to reach 50 comments.

You can view your badges on your Steem Board and compare to others on the Steem Ranking
If you no longer want to receive notifications, reply to this comment with the word STOP

Vote for @Steemitboard as a witness to get one more award and increased upvotes!

Hi @quantumdeveloper!

  • you have 2 units and 0 bonus units
  • your rshares balance is 117275149275 or 0.050 $
  • you need to wait until your upvote value (current value: 0.010 $) is above 0.011 $

Structure of your total SBI vote value:

  • 12.67 % has come from your subscription level
  • 0.00 % has come from your bonus units
  • 0.00 % has come from upvoting rewards
  • 0.00 % has come from new account bonus or extra value from pre-automation rewards


    To reduce blockchain clutter, you can also check your status in our Discord server!
    https://discord.gg/VpghTRz

Hi @quantumdeveloper!

  • you have 3 units and 0 bonus units
  • your rshares balance is 152667149275 or 0.053 $
  • you need to wait until your upvote value (current value: 0.011 $) is above 0.012 $

Structure of your total SBI vote value:

  • 32.91 % has come from your subscription level
  • 0.00 % has come from your bonus units
  • 0.00 % has come from upvoting rewards
  • 0.00 % has come from new account bonus or extra value from pre-automation rewards


    Did you know that your SBI level shows in your Steempeak wallet?

Hi @quantumdeveloper!

  • you have 5 units and 0 bonus units
  • your rshares balance is 187269149275 or 0.063 $
  • your next SBI upvote is predicted to be 0.013 $

Structure of your total SBI vote value:

  • 45.31 % has come from your subscription level
  • 0.00 % has come from your bonus units
  • 0.00 % has come from upvoting rewards
  • 0.00 % has come from new account bonus or extra value from pre-automation rewards


    Did you know that your SBI level shows in your Steempeak wallet?

Hi @quantumdeveloper!

  • you have 5 units and 0 bonus units
  • your rshares balance is 157769932426 or 0.054 $
  • you need to wait until your upvote value (current value: 0.011 $) is above 0.012 $

Structure of your total SBI vote value:

  • 48.05 % has come from your subscription level
  • 0.00 % has come from your bonus units
  • 0.00 % has come from upvoting rewards
  • 0.00 % has come from new account bonus or extra value from pre-automation rewards


    Did you know that your SBI level shows in your Steempeak wallet?

Hi @quantumdeveloper!

  • you have 27 units and 0 bonus units
  • your rshares balance is 184869729407 or 0.076 $
  • you need to wait until your upvote value (current value: 0.025 $) is above 0.032 $

Structure of your total SBI vote value:

  • 69.64 % has come from your subscription level
  • 0.00 % has come from your bonus units
  • 6.69 % has come from upvoting rewards
  • 0.00 % has come from new account bonus or extra value from pre-automation rewards


    Did you know that your SBI level shows in your Steempeak wallet?

Hi @quantumdeveloper!

  • you have 94 units and 0 bonus units
  • your rshares balance is 11773447518642 or 6.250 $
  • your next SBI upvote is predicted to be 2.083 $

Structure of your total SBI vote value:

  • 98.31 % has come from your subscription level
  • 0.00 % has come from your bonus units
  • 1.14 % has come from upvoting rewards
  • 0.00 % has come from new account bonus or extra value from pre-automation rewards


    Take Control! Include #sbi-skip in your text to have us skip any post or comment.

Coin Marketplace

STEEM 0.26
TRX 0.11
JST 0.033
BTC 62796.11
ETH 3045.55
USDT 1.00
SBD 3.85