...and Lisp. Then you know everything there is to know about programming languages, and will be able to pick up whatever is the latest fad of the day in a couple of hours.
You know, never gave it much thought. But C was my first programming language (by virtue of getting in to Linux at a young age), and I can understand code in other languages, that I've never used, with minimal effort.
Wonder if there's some correlation there. I know people who first learned to code in VB and are either stuck in the Microsoft ecosphere now, or had a hard time adapting.
I started programming with the likes of Fortran, Pascal, Modula-II... wish I had started with C; the dang language is awful of course, but doesn't hide anything, instead of trying to hide things under neat abstractions; it forces you to understand what is going on, AND if you learn it first, it gives you a preview of how shitty programming actually is, rather than gloss over the ugly truth :-)
I think it's the logical benefit of starting low level first. I inadvertently started with assembly first. Got a throw-away 5" green monochrome IBM from my step-dad's company. Started running all those neat little "*.com" files and ran into debug.com. Ended up buying a an OS book at Half Price Books back in the day when they'd share little TSR, terminate and stay resident, programs in plain hex text. Entered it into my precious debug.com to create a fully functioning program, and I was hooked.
I can't imagine how somebody who starts on something like javascript is ever going to grasp programming if they build their subconscious intuition around that language. Starting high level is well intentioned advice since it's easier and ideally closer to natural language, but it seems like the quality of programmers this sort of education produces could be indicative that it might not be the best idea.
everyone who programs needs to learn the fundamentals of something like 8 bit assembly.
I disagree. Those who program for a career should surely know how a compiler or a CPU work, but for those who don't some basic scripting skills will do.
It started with java(my real programming) and now I use the language that fits the project. Arduino? C. Raspberry Pi: C or python. Web? Java or PHP(ofc I prefer java over PHP anytime).
If you know one language you basically know them all.
It's accurate. But it's more which language fits a task than which language to learn first. You can use every language to do anything but only one fits best. Learning programming is not learning the language, someone who knows programming can switch languages quite fast.
37 comments
14 u/CirdanValen 14 Jun 2016 19:00
Everyone should just learn c and be done with it
0 u/pocketForceNapkin 14 Jun 2016 19:51
I like the way you think.
1 u/Gargilius 14 Jun 2016 19:54
...and Lisp. Then you know everything there is to know about programming languages, and will be able to pick up whatever is the latest fad of the day in a couple of hours.
3 u/TheTrigger 14 Jun 2016 21:27
You know, never gave it much thought. But C was my first programming language (by virtue of getting in to Linux at a young age), and I can understand code in other languages, that I've never used, with minimal effort.
Wonder if there's some correlation there. I know people who first learned to code in VB and are either stuck in the Microsoft ecosphere now, or had a hard time adapting.
2 u/Gargilius 14 Jun 2016 21:37
I started programming with the likes of Fortran, Pascal, Modula-II... wish I had started with C; the dang language is awful of course, but doesn't hide anything, instead of trying to hide things under neat abstractions; it forces you to understand what is going on, AND if you learn it first, it gives you a preview of how shitty programming actually is, rather than gloss over the ugly truth :-)
1 u/rwbj 15 Jun 2016 04:24
I think it's the logical benefit of starting low level first. I inadvertently started with assembly first. Got a throw-away 5" green monochrome IBM from my step-dad's company. Started running all those neat little "*.com" files and ran into debug.com. Ended up buying a an OS book at Half Price Books back in the day when they'd share little TSR, terminate and stay resident, programs in plain hex text. Entered it into my precious debug.com to create a fully functioning program, and I was hooked.
I can't imagine how somebody who starts on something like javascript is ever going to grasp programming if they build their subconscious intuition around that language. Starting high level is well intentioned advice since it's easier and ideally closer to natural language, but it seems like the quality of programmers this sort of education produces could be indicative that it might not be the best idea.
0 u/luckyguy 15 Jun 2016 00:59
I thought that way. I started implementing dynamic websites in it. Then I realized I was stupid.
6 u/motoguy 14 Jun 2016 20:15
I think everyone who programs needs to learn the fundamentals of something like 8 bit assembly.
This is website that helped me a lot: https://schweigi.github.io/assembler-simulator/
Once you sort of understand the principles between memory, instructions, pointers, and subroutines, everything else will fall into place.
0 u/Stavon [OP] 14 Jun 2016 20:43
I disagree. Those who program for a career should surely know how a compiler or a CPU work, but for those who don't some basic scripting skills will do.
1 u/dspfoisdafodsi 14 Jun 2016 23:20
it would save an enormous amount of "what's a segfault?" posts though
2 u/dialate 14 Jun 2016 18:54
Don't know why LOLCODE doesn't come up more often :D
https://en.wikipedia.org/wiki/Esoteric_programming_language#LOLCODE
2 u/IdSay 14 Jun 2016 19:03
better than brainfuck
2 u/Atarian 14 Jun 2016 21:21
No lisps.
Infographic discarded
2 u/DrBunsen 15 Jun 2016 13:57
It started with java(my real programming) and now I use the language that fits the project. Arduino? C. Raspberry Pi: C or python. Web? Java or PHP(ofc I prefer java over PHP anytime).
If you know one language you basically know them all.
1 u/Drenki 14 Jun 2016 18:17
Learn you a Haskell.
1 u/hairybawbag 16 Jun 2016 15:24
Good to see Perl is not on this list
0 u/IdSay 14 Jun 2016 19:03
if you wanna work in UnrealEngine or Unity3d, the only choice really is C#
0 u/Stavon [OP] 14 Jun 2016 19:08
Or if you want to work on the Voat code.
4 u/ExpertShitposter 14 Jun 2016 19:17
Unreal is primarily C++
0 u/David_Bains_Jumper 14 Jun 2016 20:50
Nope. C# for unity, but unreal uses a modified version of C++ and/or their visual "blueprints" system.
0 u/devoworx 24 Jun 2016 22:43
Python , C#
0 u/TheJackofAss 01 Jul 2016 21:27
I wonder how accurate this graphic is.
1 u/Stavon [OP] 02 Jul 2016 08:44
It's accurate. But it's more which language fits a task than which language to learn first. You can use every language to do anything but only one fits best. Learning programming is not learning the language, someone who knows programming can switch languages quite fast.
0 u/JordanTShackelford 03 Jul 2016 06:33
This infographic has been floating around for a few years, I think. Just wondering how relevant it still is in July 2016?
0 u/Stavon [OP] 03 Jul 2016 06:40
I don't know any new languages which should be included. But I'm open to suggestions.