GO lang is a awesome language to learn. It has all the tools a beginner would want. Easy syntax, great community, error checking, type safety and more importantly robust frameworks to get started on with a wide variety of project that essentially any beginner can use.
Great breakdown! Another big difference between your beginner friendly and non-bf lists is build systems, all the non-bf lang build systems can take a long time to grasp for all but very basic builds and gets in the way of learning basic programming concepts.
I've started from BASIC (ZX Spectrum), then was Pascal (Turbo Pascal 3.0). Since the first programming language (PL) is used to learn some basic concepts personally I would recommend picking up Python as a very first PL, and avoiding Golang for this role. Go has many caveats, and much stuff is doing on Go in an unusual style (in comparison to other PLs), so newbies will be forced to learn the Go details instead of learning the basics of programming.
I guess it depends on ones goal. If all one wants to do is web... Ok. Otherwise I would rather recommend assembly, definitely C, also C++ (However for beginner 'friendliness' I would rather recommend Java or C# as a next step, maybe after a short intro to C++ or Objective C or smth, where the focus would be solely on transition from procedural to OOP.). Why not JS? Because it has basically become a synonym for TS, and it is mixing various paradigms. Simple languages like C allow beginners to focus on more important things. Having to deal with memory (Hardware), and basic concepts, then being hit with the whole package (procedural, OOP and functional) is IMO... simply too much, considering that most beginner anyway struggle. With language like JS/TS, people would probably focus on 'get the shit done' approach, and would focus on the visuals and perceived functionality. Maybe I am wrong, but I would rather start with procedural or OOP, or hey maybe pure functional language like Haskell lol. Joking, I would not, because it's a too high abstraction from hardware, and Von Neuman arch.
My first programming language was java. I can say it was a good experience at the time, but only because of the way you can write Minecraft mods with it. Now i would use Kotlin if i needed to do that.
Currently hacking my way through Python and Julia for research work. I really like the look of go for general purpose applications but it’s just not my use case at the moment.
Melkey nailed the idea that when you start learning programming, concepts matter more than the language itself. Having said that, having had my first real contact with programming being with C as a language made me feel like i really understood how things worked, and when i moved to more "high level" languages, i had a better grasp of the abstractions involved. Starting from something like C or C++ is more challenging, but i feel like it pays off.
4:03 I disagree, The program that you pick as your first language does matter, here me out. It matter not because of the program itself, but because of the available resource to learn it. Just like you mentioned, the most important thing is to learn the `basics of programing`, but you wont learn the same basic if you pick something like zig which does not have a lot of learning material available; if you pick rust, you will be distract of the basics by having to learn the borrow checker, or any of the language's specific. One of the reason python (and javscrip) are recommended as first language is because th amoutn of learning resource available, and the the abstraction remove distractions from learning the basic. So, the language that you pick as your first language does matter; and they will most likely be divided in 2 groups based on that amount of time that you have to learn. This two groups are hight abstraction like python and javascript, and low abstraction like C (I am a junior dev, so idk what other low level programing language are out there with a lot of learning material like C).
@@arg0x- I think the syntax is great, the standard library is also great, goroutine is very simple I can say gorountine is the first form of concurrency I've ever used and error as value is elite (I know people say Rust have better handling but I don't know enough about Rust and I mean go did its job well) while missing some syntactic sugar and functional stuff and having some quirk (like all other languages) but I'm not the type of person complaining about it and the performance you get for such simple code and I don't think much about the compiler but it being good is just icing on top
In my opinion, nobody should learn Go as their first programming language. Go has the interesting syntax and concept. Just start with the hard or easy programming language. If you start with the easy one, Go will be a little difficult but not so much. If you start with the hard one, Go will be a little weird but not the problem.
Respect. Not pushing Go, especially as a "Go influencer", down everyone's throats is a key reason I'm proud to be of this community.
Unlike another community...
@@catto-from-heaven which one?
@@ImpulseIntrospect The Rust -community- cult
@@catto-from-heaven I enjoy TypeScript, Rust and Go. 💛
@@AdamFiregate Nice to know. As long as you're not a fanboy, you shall enjoy the technologies you use 🙃
GO lang is a awesome language to learn. It has all the tools a beginner would want. Easy syntax, great community, error checking, type safety and more importantly robust frameworks to get started on with a wide variety of project that essentially any beginner can use.
Why does it reference the feautres/failures of other languages though?
"easy stuff like CLI tools"
lol. This kids a chad
CLI is easier than writing the Unreal Engine.
@@AdamFiregatewth kinda comparison is that? lol
@@SnowDaemon Is writing a simple CLI tool Chad mode? Maybe I misunderstood something 🙂
@@AdamFiregate the point is that he's 14. lol
most 14 yr olds are not writing their own dev tools...their using other peoples.
@@SnowDaemon Most 14-year-olds aren't writing code in the first place lol
Great breakdown! Another big difference between your beginner friendly and non-bf lists is build systems, all the non-bf lang build systems can take a long time to grasp for all but very basic builds and gets in the way of learning basic programming concepts.
I've started from BASIC (ZX Spectrum), then was Pascal (Turbo Pascal 3.0). Since the first programming language (PL) is used to learn some basic concepts personally I would recommend picking up Python as a very first PL, and avoiding Golang for this role. Go has many caveats, and much stuff is doing on Go in an unusual style (in comparison to other PLs), so newbies will be forced to learn the Go details instead of learning the basics of programming.
As someone who started with Python. HARD AGREE. More people need to start with C style languages. Golang is a nice sweet spot.
lol am about to start python,but now i might start with C instead ! thank you dude
@@ayarisarah3747 if u learn c language python will feel like plain english. Keep building stuff
doesn't matter where you start, you will eventually end up doing Java if you want to put the food on the table(some niche area work is excluded ofc.).
Not true, but ok
Holy fuck I hated Java since my first year in college never wanted learn it now had to learn for an internship fuck Java man.
I guess it depends on ones goal. If all one wants to do is web... Ok. Otherwise I would rather recommend assembly, definitely C, also C++ (However for beginner 'friendliness' I would rather recommend Java or C# as a next step, maybe after a short intro to C++ or Objective C or smth, where the focus would be solely on transition from procedural to OOP.). Why not JS? Because it has basically become a synonym for TS, and it is mixing various paradigms. Simple languages like C allow beginners to focus on more important things. Having to deal with memory (Hardware), and basic concepts, then being hit with the whole package (procedural, OOP and functional) is IMO... simply too much, considering that most beginner anyway struggle. With language like JS/TS, people would probably focus on 'get the shit done' approach, and would focus on the visuals and perceived functionality. Maybe I am wrong, but I would rather start with procedural or OOP, or hey maybe pure functional language like Haskell lol. Joking, I would not, because it's a too high abstraction from hardware, and Von Neuman arch.
My first programming language was java. I can say it was a good experience at the time, but only because of the way you can write Minecraft mods with it. Now i would use Kotlin if i needed to do that.
Currently hacking my way through Python and Julia for research work. I really like the look of go for general purpose applications but it’s just not my use case at the moment.
Bruh you need to check your volume normalisation when editing in those "please subscribe" clips lol, it is WAY louder than the rest of your video.
Thanks for the heads up. Will edit and adjust!
Melkey nailed the idea that when you start learning programming, concepts matter more than the language itself.
Having said that, having had my first real contact with programming being with C as a language made me feel like i really understood how things worked, and when i moved to more "high level" languages, i had a better grasp of the abstractions involved.
Starting from something like C or C++ is more challenging, but i feel like it pays off.
I would suggest two complementary languages like Lua and Assembler. Both, quite easy to pick up.😉
4:03 I disagree, The program that you pick as your first language does matter, here me out. It matter not because of the program itself, but because of the available resource to learn it. Just like you mentioned, the most important thing is to learn the `basics of programing`, but you wont learn the same basic if you pick something like zig which does not have a lot of learning material available; if you pick rust, you will be distract of the basics by having to learn the borrow checker, or any of the language's specific. One of the reason python (and javscrip) are recommended as first language is because th amoutn of learning resource available, and the the abstraction remove distractions from learning the basic.
So, the language that you pick as your first language does matter; and they will most likely be divided in 2 groups based on that amount of time that you have to learn. This two groups are hight abstraction like python and javascript, and low abstraction like C (I am a junior dev, so idk what other low level programing language are out there with a lot of learning material like C).
Yeah even Go has less learning material and it's geared towards mid level devs who knows other languages well
@@arg0x- yeah go is not my first language but I fall in love when I pick it up
@@tranquangthang8897 Yeah same i like simplicity of Go
@@arg0x- I think the syntax is great, the standard library is also great, goroutine is very simple I can say gorountine is the first form of concurrency I've ever used and error as value is elite (I know people say Rust have better handling but I don't know enough about Rust and I mean go did its job well) while missing some syntactic sugar and functional stuff and having some quirk (like all other languages) but I'm not the type of person complaining about it and the performance you get for such simple code and I don't think much about the compiler but it being good is just icing on top
I would recommend python or c or both before i recommend anyone learn javascript as a 1st language. And I learnt js as my first language
C because the cs50 course I took said so
I think C is also beginner-friendly.
He should stick to whichever language he picked until hes proficient in it before thinking about other languages
In my opinion, nobody should learn Go as their first programming language. Go has the interesting syntax and concept. Just start with the hard or easy programming language. If you start with the easy one, Go will be a little difficult but not so much. If you start with the hard one, Go will be a little weird but not the problem.
learn basics of javascript then after that, learn what you want to do for a living
Go is a great last language to learn 😂
go is simple, not easy. python is the language beginners should learn.
good is not a good option for starting programing . he's tripping.
2nd
C#
first
Don’t