create account

Which programming language should I learn first? by bitcalm

View this thread on: hive.blogpeakd.comecency.com
· @bitcalm · (edited)
$66.70
Which programming language should I learn first?
<img src="http://steemit.bitcalm.mm.st/posts/which_language/banner.jpg">

When you [get started with programming](https://steemit.com/programming/@bitcalm/how-to-get-started-with-programming) one of the first obstacles is picking a language. A mistake beginners often make is asking experienced developers where they should start:

<center><img src="http://steemit.bitcalm.mm.st/posts/which_language/ddg_which_language.png"></center>

The truth is **it doesn't matter**.

The first programming language I was taught was [Pascal](https://en.wikipedia.org/wiki/Pascal_%28programming_language%29). This was long after my childhood experiments with ST BASIC. The year was 1998 and I was 17 years old. In case you're not familiar with pascal, here's its "hello, world":

```
program HelloWorld;
begin
  WriteLn('Hello World')
end.
```

**I've not used this language since.** If you were to ask me to write a program using this language now, I'd need a book. In fact, I had to search for the example above.

That doesn't mean it was a waste of time. Through Pascal I learned basic programming concepts such as variable assignment, loops and if statements; it even introduced me to object oriented programming.

I had a blast creating text-based GUI's. I remember during a lesson when the power went out I was so in the zone **I geeked out and began writing code with a pen on paper**. It was fun!

Programming languages share a lot of concepts. As a beginner, it's more important for you to learn those concepts than to focus on learning a particular language. Instead of trying to find the best language, take the advice of Allen Wirfs-Brock and think of it in terms of a toolbox that will grow:

<center><img src="http://steemit.bitcalm.mm.st/posts/which_language/twitter_quote.png"></center>

Or to use the same analogy I used in [how to get started with programming](https://steemit.com/programming/@bitcalm/how-to-get-started-with-programming), where I compared learning programming to learning to ride a bike: **you would never ask someone which bike you should learn to ride first**. Any bike will do, so long as you can reach the pedals.

Regardless of the language you choose you will learn something. You'll add another tool to your growing toolbox. So just **pick a language, any language**, and start having fun.
👍  , , , , , , , , , , , , , , , , , , , , , , , , , , , , , , , , , , , , , , , , , , , , , , , , , , , , , , , , , , , , , , , , and 99 others
properties (23)
authorbitcalm
permlinkwhich-programming-language-should-i-learn-first
categoryprogramming
json_metadata{"tags":["programming","howto","learn","coding"],"image":["http://steemit.bitcalm.mm.st/posts/which_language/banner.jpg","http://steemit.bitcalm.mm.st/posts/which_language/ddg_which_language.png","http://steemit.bitcalm.mm.st/posts/which_language/twitter_quote.png"],"links":["https://steemit.com/programming/@bitcalm/how-to-get-started-with-programming","https://en.wikipedia.org/wiki/Pascal_%28programming_language%29"]}
created2016-09-08 08:37:30
last_update2016-09-08 10:03:21
depth0
children19
last_payout2016-10-09 10:00:03
cashout_time1969-12-31 23:59:59
total_payout_value56.664 HBD
curator_payout_value10.040 HBD
pending_payout_value0.000 HBD
promoted0.000 HBD
body_length2,318
author_reputation24,919,530,803,138
root_title"Which programming language should I learn first?"
beneficiaries[]
max_accepted_payout1,000,000.000 HBD
percent_hbd10,000
post_id1,169,964
net_rshares23,494,549,445,024
author_curate_reward""
vote details (163)
@anarcist69 ·
I started with PHP as my programming language of choice. At the time it seemed like a good idea, the world was just starting to go "Cloud" crazy and PHP was an artisan type language i.e. had some age behind it. I do not regret it at all, sometimes I think maybe I should have chose a younger language such as Ruby or NodeJS but those thoughts leave quickly when you realise PHP does everything you need it to.

Plus PHP has helped me move onto the OOP languages such as Java for Android Dev.
👍  
properties (23)
authoranarcist69
permlinkre-bitcalm-which-programming-language-should-i-learn-first-20160908t100048111z
categoryprogramming
json_metadata{"tags":["programming"]}
created2016-09-08 10:00:33
last_update2016-09-08 10:00:33
depth1
children0
last_payout2016-10-09 10:00:03
cashout_time1969-12-31 23:59:59
total_payout_value0.000 HBD
curator_payout_value0.000 HBD
pending_payout_value0.000 HBD
promoted0.000 HBD
body_length491
author_reputation14,415,251,010,934
root_title"Which programming language should I learn first?"
beneficiaries[]
max_accepted_payout1,000,000.000 HBD
percent_hbd10,000
post_id1,170,441
net_rshares38,899,923,744
author_curate_reward""
vote details (1)
@comcentrate ·
The biggest obstacle I've been running into while learning how to code is that I don't have someone that can sit there and go over my code and debug it for me. So any time I start taking lessons, there comes a point where I just can't figure out I did wrong, and I have to give up. I've gone back to the same lesson a hundred times and still can't figure out it.
That is my major hang-up, and a friend of mine who has been trying for years to learn on their own feels the same way. You need an actual person to tutor and help you through the rough spots or else you simply can't move on to the next lesson.
properties (22)
authorcomcentrate
permlinkre-bitcalm-which-programming-language-should-i-learn-first-20160908t173059075z
categoryprogramming
json_metadata{"tags":["programming"]}
created2016-09-08 17:30:54
last_update2016-09-08 17:30:54
depth1
children2
last_payout2016-10-09 10:00:03
cashout_time1969-12-31 23:59:59
total_payout_value0.000 HBD
curator_payout_value0.000 HBD
pending_payout_value0.000 HBD
promoted0.000 HBD
body_length606
author_reputation367,179,836,108
root_title"Which programming language should I learn first?"
beneficiaries[]
max_accepted_payout1,000,000.000 HBD
percent_hbd10,000
post_id1,174,535
net_rshares0
@bitcalm ·
It's indeed very difficult to overcome difficulties when you're working on your own. There are resources like [stackoverflow.com](http://stackoverflow.com) and [r/programming](http://www.reddit.com/r/programming) on reddit where you can ask for help, but you're right, it won't compare to having someone there to sit there with you and explain it.

I recommend just moving on to other lessons and resources. You might just be stuck due to the context, and as you progress in other areas and go back, it might become clearer. Don't give up!
👍  
properties (23)
authorbitcalm
permlinkre-comcentrate-re-bitcalm-which-programming-language-should-i-learn-first-20160908t201420201z
categoryprogramming
json_metadata{"tags":["programming"],"links":["http://stackoverflow.com","http://www.reddit.com/r/programming"]}
created2016-09-08 20:14:18
last_update2016-09-08 20:14:18
depth2
children1
last_payout2016-10-09 10:00:03
cashout_time1969-12-31 23:59:59
total_payout_value0.000 HBD
curator_payout_value0.000 HBD
pending_payout_value0.000 HBD
promoted0.000 HBD
body_length539
author_reputation24,919,530,803,138
root_title"Which programming language should I learn first?"
beneficiaries[]
max_accepted_payout1,000,000.000 HBD
percent_hbd10,000
post_id1,176,429
net_rshares314,685,302
author_curate_reward""
vote details (1)
@comcentrate ·
I was doing JavaScript on Codeacademy. The other lessons I found were all about website design, though. Thanks for the support
properties (22)
authorcomcentrate
permlinkre-bitcalm-re-comcentrate-re-bitcalm-which-programming-language-should-i-learn-first-20160908t224131402z
categoryprogramming
json_metadata{"tags":["programming"]}
created2016-09-08 22:41:30
last_update2016-09-08 22:41:30
depth3
children0
last_payout2016-10-09 10:00:03
cashout_time1969-12-31 23:59:59
total_payout_value0.000 HBD
curator_payout_value0.000 HBD
pending_payout_value0.000 HBD
promoted0.000 HBD
body_length126
author_reputation367,179,836,108
root_title"Which programming language should I learn first?"
beneficiaries[]
max_accepted_payout1,000,000.000 HBD
percent_hbd10,000
post_id1,178,080
net_rshares0
@herzmeister ·
Nowadays kids get into programming with Minecraft.
properties (22)
authorherzmeister
permlinkre-bitcalm-which-programming-language-should-i-learn-first-20160908t094204120z
categoryprogramming
json_metadata{"tags":["programming"]}
created2016-09-08 09:41:09
last_update2016-09-08 09:41:09
depth1
children1
last_payout2016-10-09 10:00:03
cashout_time1969-12-31 23:59:59
total_payout_value0.000 HBD
curator_payout_value0.000 HBD
pending_payout_value0.000 HBD
promoted0.000 HBD
body_length50
author_reputation20,893,103,396,296
root_title"Which programming language should I learn first?"
beneficiaries[]
max_accepted_payout1,000,000.000 HBD
percent_hbd10,000
post_id1,170,348
net_rshares0
@bitcalm ·
That sounds like a lot more fun than reading a book on ST BASIC when you're ten :)
properties (22)
authorbitcalm
permlinkre-herzmeister-re-bitcalm-which-programming-language-should-i-learn-first-20160908t130050766z
categoryprogramming
json_metadata{"tags":["programming"]}
created2016-09-08 13:00:48
last_update2016-09-08 13:00:48
depth2
children0
last_payout2016-10-09 10:00:03
cashout_time1969-12-31 23:59:59
total_payout_value0.000 HBD
curator_payout_value0.000 HBD
pending_payout_value0.000 HBD
promoted0.000 HBD
body_length82
author_reputation24,919,530,803,138
root_title"Which programming language should I learn first?"
beneficiaries[]
max_accepted_payout1,000,000.000 HBD
percent_hbd10,000
post_id1,171,806
net_rshares0
@krnel ·
Yes indeed.

I learned VisualBasic, then Java as part of my college courses. PHP I had learned on my own.

I recommend people picking a higher level language to learn object oriented programming, and learn how it's really done from the beginning, at least after you learn the basic syntax/structure to coding. Then you know about function/methods/procedures, and then can apply that logic to any language. I don't recommend the Ruby and other framework languages. They take something away from the overall understanding of programming and make it "simpler".

Take care. Peace.
properties (22)
authorkrnel
permlinkre-bitcalm-which-programming-language-should-i-learn-first-20160908t185503921z
categoryprogramming
json_metadata{"tags":["programming"]}
created2016-09-08 18:55:09
last_update2016-09-08 18:55:09
depth1
children0
last_payout2016-10-09 10:00:03
cashout_time1969-12-31 23:59:59
total_payout_value0.000 HBD
curator_payout_value0.000 HBD
pending_payout_value0.000 HBD
promoted0.000 HBD
body_length576
author_reputation1,343,547,270,297,082
root_title"Which programming language should I learn first?"
beneficiaries[]
max_accepted_payout1,000,000.000 HBD
percent_hbd10,000
post_id1,175,422
net_rshares0
@rampant ·
Allen Wirfs-Brock is wrong, at least if you care about being employed.  The easy winner here is Javascript.  It's got tons of weird behavior but also lots of options and huge variety of tools and approaches.  It is used from embedded programming to web pages so it is VERY applicable if you are good.

People who can afford to program just for fun are both super odd (in that this is their fun time) but also extremely fortunate. Programming takes up a LOT of time.  Most people don't have that much time free to do things that don't get them paid.
👍  
properties (23)
authorrampant
permlinkre-bitcalm-which-programming-language-should-i-learn-first-20160908t084028710z
categoryprogramming
json_metadata{"tags":["programming"]}
created2016-09-08 08:40:27
last_update2016-09-08 08:40:27
depth1
children3
last_payout2016-10-09 10:00:03
cashout_time1969-12-31 23:59:59
total_payout_value0.000 HBD
curator_payout_value0.000 HBD
pending_payout_value0.000 HBD
promoted0.000 HBD
body_length548
author_reputation11,751,615,184,999
root_title"Which programming language should I learn first?"
beneficiaries[]
max_accepted_payout1,000,000.000 HBD
percent_hbd10,000
post_id1,169,984
net_rshares39,692,877,290
author_curate_reward""
vote details (1)
@bitcalm ·
The focus is on learning. When you start learning, you shouldn't focus too much on "what is best" and "what are other people learning" because you're a beginner.

Experienced programmers can learn a new language in a few weeks, and know enough about the language's idiosyncrasies in a few months to be relatively proficient.

It's the concepts and paradigms that underpin all languages that are important to learn, especially in the beginning.
properties (22)
authorbitcalm
permlinkre-rampant-re-bitcalm-which-programming-language-should-i-learn-first-20160908t085145263z
categoryprogramming
json_metadata{"tags":["programming"]}
created2016-09-08 08:51:45
last_update2016-09-08 08:51:45
depth2
children2
last_payout2016-10-09 10:00:03
cashout_time1969-12-31 23:59:59
total_payout_value0.000 HBD
curator_payout_value0.000 HBD
pending_payout_value0.000 HBD
promoted0.000 HBD
body_length443
author_reputation24,919,530,803,138
root_title"Which programming language should I learn first?"
beneficiaries[]
max_accepted_payout1,000,000.000 HBD
percent_hbd10,000
post_id1,170,066
net_rshares0
@rampant ·
I disagree.  You should very much be focused on that, at least if you care about employment OR about any particular projects.  Certain languages really do have advantages - sometimes large ones - in certain domains.  If you want to do web work you really don't have a choice about the javascript. If you are interested in working on operating systems or talking to hardware then you will need to learn C.

Javascript and C don't work even remotely similar to one another, just the syntax looks similar.  To spend a lot of time on one while you interests lie in the other realm is just silly.
👍  
properties (23)
authorrampant
permlinkre-bitcalm-re-rampant-re-bitcalm-which-programming-language-should-i-learn-first-20160908t085503833z
categoryprogramming
json_metadata{"tags":["programming"]}
created2016-09-08 08:55:03
last_update2016-09-08 08:55:03
depth3
children1
last_payout2016-10-09 10:00:03
cashout_time1969-12-31 23:59:59
total_payout_value0.000 HBD
curator_payout_value0.000 HBD
pending_payout_value0.000 HBD
promoted0.000 HBD
body_length591
author_reputation11,751,615,184,999
root_title"Which programming language should I learn first?"
beneficiaries[]
max_accepted_payout1,000,000.000 HBD
percent_hbd10,000
post_id1,170,084
net_rshares39,692,877,290
author_curate_reward""
vote details (1)
@sirwinchester ·
Swift 3.0
👍  
properties (23)
authorsirwinchester
permlinkre-bitcalm-which-programming-language-should-i-learn-first-20160908t091256927z
categoryprogramming
json_metadata{"tags":["programming"]}
created2016-09-08 09:12:57
last_update2016-09-08 09:12:57
depth1
children1
last_payout2016-10-09 10:00:03
cashout_time1969-12-31 23:59:59
total_payout_value0.000 HBD
curator_payout_value0.000 HBD
pending_payout_value0.000 HBD
promoted0.000 HBD
body_length9
author_reputation393,372,708,722,918
root_title"Which programming language should I learn first?"
beneficiaries[]
max_accepted_payout1,000,000.000 HBD
percent_hbd10,000
post_id1,170,183
net_rshares2,062,724,006
author_curate_reward""
vote details (1)
@gekko ·
finally, today is the best programming language to start learning imho
👍  
properties (23)
authorgekko
permlinkre-sirwinchester-re-bitcalm-which-programming-language-should-i-learn-first-20160908t092745559z
categoryprogramming
json_metadata{"tags":["programming"]}
created2016-09-08 09:27:45
last_update2016-09-08 09:27:45
depth2
children0
last_payout2016-10-09 10:00:03
cashout_time1969-12-31 23:59:59
total_payout_value0.000 HBD
curator_payout_value0.000 HBD
pending_payout_value0.000 HBD
promoted0.000 HBD
body_length70
author_reputation1,185,517,433,922
root_title"Which programming language should I learn first?"
beneficiaries[]
max_accepted_payout1,000,000.000 HBD
percent_hbd10,000
post_id1,170,275
net_rshares2,019,750,589
author_curate_reward""
vote details (1)
@spartanza ·
Thank you for this. I have been keen to go into programming. I believe I have that mind, but lack the physical skills.
Shouldn't the question, "What do you want to do" come into it as well as what language to use?
I wouldn't recommend Java to a guy who just wants to code websites for example.
I have been asking myself this question for a long time, and the end result is I would love to contribute in a meaningful way to the development of Blockchain. So with that in mind, what language should a total newbie start with first?
👍  ,
properties (23)
authorspartanza
permlinkre-bitcalm-which-programming-language-should-i-learn-first-20160908t084344098z
categoryprogramming
json_metadata{"tags":["programming"]}
created2016-09-08 08:43:42
last_update2016-09-08 08:43:42
depth1
children4
last_payout2016-10-09 10:00:03
cashout_time1969-12-31 23:59:59
total_payout_value0.000 HBD
curator_payout_value0.000 HBD
pending_payout_value0.000 HBD
promoted0.000 HBD
body_length529
author_reputation4,328,084,067,534
root_title"Which programming language should I learn first?"
beneficiaries[]
max_accepted_payout1,000,000.000 HBD
percent_hbd10,000
post_id1,170,013
net_rshares40,001,376,685
author_curate_reward""
vote details (2)
@bitcalm ·
It does matter a little bit what you want to achieve. Some languages are more suitable for certain tasks, but there are also a lot of misconceptions. Java, for example, is used a lot to make websites, often with the Spring framework.

Generally speaking, you can do anything with a language. Where I work we have a website written in C++. It seems insane, but there were good reasons for picking C++ at the time.

If I'm forced to answer the question, I say newbie's should pick a mainstream language that has a large support community - you are going to need help in the beginning :)
properties (22)
authorbitcalm
permlinkre-spartanza-re-bitcalm-which-programming-language-should-i-learn-first-20160908t085629765z
categoryprogramming
json_metadata{"tags":["programming"]}
created2016-09-08 08:56:27
last_update2016-09-08 08:56:27
depth2
children2
last_payout2016-10-09 10:00:03
cashout_time1969-12-31 23:59:59
total_payout_value0.000 HBD
curator_payout_value0.000 HBD
pending_payout_value0.000 HBD
promoted0.000 HBD
body_length584
author_reputation24,919,530,803,138
root_title"Which programming language should I learn first?"
beneficiaries[]
max_accepted_payout1,000,000.000 HBD
percent_hbd10,000
post_id1,170,093
net_rshares0
@cristi ·
should I imagine that is a very long code?
properties (22)
authorcristi
permlinkre-bitcalm-re-spartanza-re-bitcalm-which-programming-language-should-i-learn-first-20160908t201434413z
categoryprogramming
json_metadata{"tags":["programming"]}
created2016-09-08 20:14:36
last_update2016-09-08 20:14:36
depth3
children1
last_payout2016-10-09 10:00:03
cashout_time1969-12-31 23:59:59
total_payout_value0.000 HBD
curator_payout_value0.000 HBD
pending_payout_value0.000 HBD
promoted0.000 HBD
body_length42
author_reputation128,305,218,872,904
root_title"Which programming language should I learn first?"
beneficiaries[]
max_accepted_payout1,000,000.000 HBD
percent_hbd10,000
post_id1,176,432
net_rshares0
@rampant ·
Java's actually fine for websites but definitely has a longer ramp-up period.  Grails is a framework based on groovy (which is java but with a lot of the annoying BS chopped off) that runs on the JVM.  I've heard it's pretty good.
properties (22)
authorrampant
permlinkre-spartanza-re-bitcalm-which-programming-language-should-i-learn-first-20160908t085609057z
categoryprogramming
json_metadata{"tags":["programming"]}
created2016-09-08 08:56:09
last_update2016-09-08 08:56:09
depth2
children0
last_payout2016-10-09 10:00:03
cashout_time1969-12-31 23:59:59
total_payout_value0.000 HBD
curator_payout_value0.000 HBD
pending_payout_value0.000 HBD
promoted0.000 HBD
body_length230
author_reputation11,751,615,184,999
root_title"Which programming language should I learn first?"
beneficiaries[]
max_accepted_payout1,000,000.000 HBD
percent_hbd10,000
post_id1,170,091
net_rshares0
@vi1son ·
Many people say: PHP or Python.
properties (22)
authorvi1son
permlinkre-bitcalm-which-programming-language-should-i-learn-first-20160908t131045762z
categoryprogramming
json_metadata{"tags":["programming"]}
created2016-09-08 13:10:45
last_update2016-09-08 13:10:45
depth1
children0
last_payout2016-10-09 10:00:03
cashout_time1969-12-31 23:59:59
total_payout_value0.000 HBD
curator_payout_value0.000 HBD
pending_payout_value0.000 HBD
promoted0.000 HBD
body_length31
author_reputation6,286,810,078,777
root_title"Which programming language should I learn first?"
beneficiaries[]
max_accepted_payout1,000,000.000 HBD
percent_hbd10,000
post_id1,171,881
net_rshares0