Should you use RUST as your FIRST programming language?

แชร์
ฝัง
  • เผยแพร่เมื่อ 30 ก.ย. 2022
  • Twitch
    Everything is built live on twitch
    Twitch : bit.ly/3xhFO3E
    Discord: discord.gg/ThePrimeagen
    Spotify DevHour: open.spotify.com/show/4MLaDrQ...
    Editor
    All my videos are edited by Flip. Give him a follow! / flipmediaprod He is also open to do more editing, so slide deeeeeeeeep into his dms.
    Join this channel to get access to perks:
    / @theprimeagen
    Links
    Linode: linode.com/prime
    / discord
    Twitch: / theprimeagen
    Insta: / theprimeagen
    Twitter: / theprimeagen
    VimRC & i3: github.com/ThePrimeagen/.dotf...
    Keyboard 15% off bit.ly/Prime360 USE CODE PRIME360
    #vim #programming #softwareengineering
  • วิทยาศาสตร์และเทคโนโลยี

ความคิดเห็น • 999

  • @KevinVandyTech
    @KevinVandyTech ปีที่แล้ว +1013

    My first language was C. I learned all the basics of programming, but had no idea what I could build with it. It was only after I got into the web stuff that I got excited about programming.

    • @zozephdev
      @zozephdev ปีที่แล้ว +31

      exact same for me 👁👄👁

    • @musashi542
      @musashi542 ปีที่แล้ว +4

      same with me

    • @katech6020
      @katech6020 ปีที่แล้ว +4

      Same

    • @tashima42
      @tashima42 ปีที่แล้ว +27

      Same, I spent years learning C and wasn't able to do anything with it.

    • @jellyfish1772
      @jellyfish1772 ปีที่แล้ว +2

      Same here

  • @davidrempel433
    @davidrempel433 ปีที่แล้ว +472

    I started with JavaScript, and now I'm learning Rust along with C. I find knowing C helps me understand why Rust is doing what it's doing.

    • @ThePrimeagen
      @ThePrimeagen  ปีที่แล้ว +195

      I do think C is a beautiful language. It really does help

    • @davidrempel433
      @davidrempel433 ปีที่แล้ว +39

      @@ThePrimeagen it feels so raw and simple

    • @MrjinZin0902
      @MrjinZin0902 ปีที่แล้ว +20

      old C that we all love and hate. If Rust or C++ can easily provide a adapter for other script language then we should not write a program with C. Every time I see a pointer I can't trust the program. how can we know that that memory properly freed or used? C is a modern day assembly. nobody should not touch that. just learn and forget about it.

    • @Notoriousjunior374
      @Notoriousjunior374 ปีที่แล้ว +1

      You’ll start learning the unsaid truth about js programmers the more you code less in it. It’s ignorance.

    • @ctdesing
      @ctdesing ปีที่แล้ว +14

      @@Notoriousjunior374 nope, it's money, professional JS programmers know a lot of backend languages, but nothing bring money as fast as JS.

  • @ChrisTitusTech
    @ChrisTitusTech ปีที่แล้ว +37

    I started on the Command Line... and I'm already subscribed.

    • @darukutsu
      @darukutsu ปีที่แล้ว +1

      I see this as an absolute win...

  • @Jubijub
    @Jubijub ปีที่แล้ว +134

    A wise piece of advise. It took me years to understand this, but getting "quick wins" is a powerful motivator to continue learning. And gives the motivation to learn the harder stuff. For me the language that did it was Python, but I can see why JS would yield that as well.

    • @ThePrimeagen
      @ThePrimeagen  ปีที่แล้ว +44

      yeah, that is the point. making quick wins and getting motivation.
      for me it was java applets. i was able to make fun little physics games with a few hours of work.

    • @8bitoverclocking932
      @8bitoverclocking932 ปีที่แล้ว +6

      I agree, I just got into programming and lost interest following C++ tutorials. I quit for a while, came back and tried python. I created a couple quick GUI's that are actually helpful to work colleagues and now I want to finish up python and move on to rust or even another shot at C or C++.

    • @allmusicplaysgames
      @allmusicplaysgames ปีที่แล้ว +5

      For me it has been C# as im learning unity in game development, all throughout my high school years i never really understood what it took to actually become better at something, but creating realistic goals and putting my nose to the grindstone working hard is what is finally allowing me to learn the basics and continue progressing.
      Doing
      Failing
      Learning
      Motivation
      Progressing
      Repeat success

    • @kevinmcfarlane2752
      @kevinmcfarlane2752 3 หลายเดือนก่อน

      I think for experienced programmers, when you’re investigating a new library or framework, a quick win also applies. What I mean is if the library, sample or whatever builds and runs straight away or with at most a couple of tweaks, then I’m motivated to explore further.
      But if I get nowhere after about an hour then that demotivates me and I move on to something else.

    • @demolazer
      @demolazer 2 หลายเดือนก่อน

      Yeah you can just build fun things straight away

  • @TheMeticulousMoo
    @TheMeticulousMoo ปีที่แล้ว +93

    I just cant help but chuckle everytime you say "blazingly fast" no matter how many times I hear it. Good stuff like usual

    • @TheStringBreaker
      @TheStringBreaker ปีที่แล้ว

      *Phenomenal video as always! Love your energy!*

    • @abstractapproach634
      @abstractapproach634 ปีที่แล้ว

      Yeah, I could C comparably fast programs without RUST though......just saying, I like Rust though.

  • @aslilac
    @aslilac ปีที่แล้ว +188

    I think Rust makes a fantastic *second* language. Wade into something easier first, but learn Rust after a couple months; before you've really got too many habits engrained in you, but when you have enough context for Rust's additional complexity to make more sense.

    • @fqdn
      @fqdn ปีที่แล้ว +12

      I started out with Bash, learned little bit of Python, then got into Rust while learning Python on the side. I find that Rust’s compiler has really made me a better programmer in Python as well. It’s hard to begin with but I came out of every problem a better programmer, while it has a steeper learning curve, I feel like I am learning more in Rust than Python.

    • @BA-oq2ih
      @BA-oq2ih ปีที่แล้ว +8

      That's what I am doing right now. Spent three months learning basics of Python, then switched to Rust completely. I believe it's a good thing that I didn't dive into Rust with absolutely zero experience and no idea of basic programming concepts. Also experience with Python motivates to learn Rust very well and never come back to Python again)

    • @kjuarez29
      @kjuarez29 ปีที่แล้ว +2

      This is the correct answer

    • @KManAbout
      @KManAbout ปีที่แล้ว

      I think rust us a good third language learn something like lua, python, or js, then move on to something like c, zig or go, finally use rust

    • @ghosthunter0950
      @ghosthunter0950 ปีที่แล้ว +1

      maybe a hot take but I think c is better as a second language. it works like a charm to gaining a better understanding of programming and it's tiny compared to other programming languages, they taught us at my uni for about 30 academic hours along with 3 medium sized exercises that take a day or two. after that you can go off and learn any language you choose without anything holding you back.
      It's like that feeling when you skipped out on your math lessons your whole life but completed them on your own time and finally understand everything that is spoken about in lessons.

  • @its_finn96
    @its_finn96 ปีที่แล้ว +22

    Great words as always! Personally for me, i technically started by learning some bash/Python since my dad is a Devops Engineer so that’s what was recommended to me. I then tried the html/css/js stack and I could not get into it…the whole front end thing for me just never got me excited. But once I picked up go and started learning that, I love it!

  • @Serria-Madre-Media
    @Serria-Madre-Media ปีที่แล้ว +72

    I must say I enjoy this type of content, been following the channel and I also like the series on vim and how to use it. Now i just got to put it to practice.
    Personally learning React, still creating vanilla JS projects. I have big interest learning about Rust, but I'm enjoying the experience with JavaScript and all it's ecosystem.
    One last thing I'll say is I enjoy the humor and passion about the topics, there's value in talking about something that can be boring and make it so viewers engaged and entertained. Congrats on the 100k sub.

    • @ThePrimeagen
      @ThePrimeagen  ปีที่แล้ว +25

      I appreciate that. I really do enjoy doing this stuff as well.

  • @arnavmohod9454
    @arnavmohod9454 ปีที่แล้ว +281

    Rust is the first language I'm studying seriously and I'm enjoying the process!

    • @zerquex4520
      @zerquex4520 ปีที่แล้ว +21

      based

    • @GustavoDiaz93
      @GustavoDiaz93 ปีที่แล้ว +22

      You’re the exception the majority of people are going to give up with Rust.

    • @shimadabr
      @shimadabr ปีที่แล้ว +1

      I hope you're not learning programming with hopes of getting employed in the next 1 to 2 years haha. Rust is great but it's not widely used

    • @BigBeesNase
      @BigBeesNase ปีที่แล้ว

      Good luck for the switch of career in advance.

    • @zerquex4520
      @zerquex4520 ปีที่แล้ว +51

      @@shimadabr I got employed when I knew only Rust. People with more than 2 braincells know that if you can learn Rust, you can learn some easy language like Pyth*n ( this is what happened to me, I got hired as a junior Python dev even though I have never written in Python before).

  • @trevorstoddart9624
    @trevorstoddart9624 ปีที่แล้ว +5

    Love the topical vids. You're like the mentor that many of us never had or will have.

  • @daedalus5070
    @daedalus5070 ปีที่แล้ว +17

    Needed this. I am basically 1 year in and already felt like just skipping ahead to just go Rust/WASM as it made more sense at times.

  • @SewnShutEye
    @SewnShutEye ปีที่แล้ว +4

    You're easily the best dev-related content creator. Love all your stuff.
    All the best in 2023.

  • @ammarejaz824
    @ammarejaz824 ปีที่แล้ว +3

    these type of videos are a blessing to programming community . keep it up

  • @Jay-fn2fo
    @Jay-fn2fo ปีที่แล้ว +8

    I definitely enjoy this format and I also absolutely love the streaming on TH-cam. Mostly because I can never catch your live streams so I rely on your vlogs. With you streaming on TH-cam I don't have to wait for you to remember to upload haha.

    • @ThePrimeagen
      @ThePrimeagen  ปีที่แล้ว +4

      Exactly. I have a very hard time remembering to upload

  • @JJ-jh4cm
    @JJ-jh4cm ปีที่แล้ว +1

    Definitely love these type of videos! Also loving the TH-cam streams! Keep em coming

  • @epiderpski
    @epiderpski ปีที่แล้ว +1

    I like this kind of stuff, and that it's not too long.
    What you said is so right, from all angles.
    Also, that zoom-in when you're serious ::mouth-kiss:: perfect.

  • @inferrna
    @inferrna ปีที่แล้ว +8

    There is a big difference between null and monads like Option/Result - in langs with null you should always consider any incoming variable as possible null. In Rust "String" always means "String", you don't have to check it to be non-null.

  • @semicharmedkindofguy3088
    @semicharmedkindofguy3088 ปีที่แล้ว +3

    Somewhat related to your point, I learned programming first in high school with java in an IDE called BlueJ. You could click a button to run your main function, you could see a visual layout of all the classes and inheritence relations between them etc. I didn't have to mess with the command line or think much about building actual software, I could just focus on writing code to solve the given problem and learning the core concepts. I think I would've been frustrated with the command line at that point in time. Later I learned my way around the command line and programming in C and Python. So I think using friendly tools will make learning as a beginner easier.

  • @ozzyaararon
    @ozzyaararon ปีที่แล้ว +1

    Watching people learn and doing some teaching of coding I think the hardest part is to teach people how to essentially explain how to do something so simply that a computer could also then do it. How you tell the computer is the smallest part of that. Being able to translate your thinking, or even introspect enough to know how you're thinking it probably the hardest part to get at first.
    I agree with you too. You want something that lets you do what you want fastest so you stay motivated and encouraged to continue .. and that has tonnes of tutorials and snippets to follow and steal.

  • @jackgisel3211
    @jackgisel3211 ปีที่แล้ว +2

    I'm enjoying this content. I appreciate hearing your take on tech! I like the little bit more "professional-ism" on the YT vs stream. Sometimes stream is a lot of chat, so I enjoy the YY videos better.

  • @entelin
    @entelin ปีที่แล้ว +5

    I agree. It's more important to learn to code something you can use and have fun with first. But unless you pick up a lower level language like C/C++ or Rust at some point I think you're missing out on some pretty important perspective.

  • @elliottholt4903
    @elliottholt4903 ปีที่แล้ว +5

    I think you are on the money with picking something you can feel you progress with being a first language. If I were to give advice to anyone today I would recommend either python or C# as a good starting point (I say C# as there a lot of tutorials and material around engines like Unity that can be used to teach you the bare bones whilst keeping you engaged)

  • @10Rmorais
    @10Rmorais ปีที่แล้ว +1

    love your streams on TH-cam man. I'm never able to watch on twitch and honestly I'm more used to hopping on TH-cam than Twitch. keep em coming, they help me go Blazingly Fast

  • @ShubhamRao
    @ShubhamRao ปีที่แล้ว

    Appreciate the topical content 💯 enough of these and i can send these videos as responses to day to day conversations

  • @earthling_parth
    @earthling_parth ปีที่แล้ว +9

    Yes please Prime. Pretty sane take on the first programming language topic. I would have appreciated it a bit more if you would also have given some lay of the land to the newbies - told them about JavaScript for web development (if getting a job is priority), Python for backend and some automation tooling (if they tried JS and didn't like it), and few other careers and fields IT industry offers. Also, I am sending you the algorithmic signals that I like this type of content and the recent YT streams.

    • @tanmaypanadi1414
      @tanmaypanadi1414 ปีที่แล้ว

      for the algorithm

    • @SandraWantsCoke
      @SandraWantsCoke ปีที่แล้ว

      python is not used much for backend, it's mostly java. Many switching to Go. But not python, python is terrible for backend, it's slow (high server costs etc)

    • @SandraWantsCoke
      @SandraWantsCoke ปีที่แล้ว

      @@Bayo106 No, it's mostly Java and those who can afford it, Go. Python is not used much for backend, it's too slow for it. We only use it for data import, because in this particular case it is faster.

  • @alexandersemionov5790
    @alexandersemionov5790 ปีที่แล้ว +76

    I started learning programming in college with C and C++. It was terrible and hard, but it was fun - mental issues I guess. Then came to JS and hated that, then liked. Now for half a year doing Rust for fun because it feels right. You’re exactly right in everything

    • @ristekostadinov2820
      @ristekostadinov2820 ปีที่แล้ว +4

      I actually had a good time with C, until the last lecture with the pointers came. I'm glad that the exam didn't had something with pointers. Later i learned pointers in C++.

    • @billeterk
      @billeterk ปีที่แล้ว +5

      Pointers was when C just started to make sense. “Oh, there’s a heap ad well as a stack…”

    • @Luxalpa
      @Luxalpa ปีที่แล้ว +5

      My first programming language was assembly on my calculator, and I wrote most of it using hexadecimal opcodes (+ when making a mistake it would delete your program). It was a ton of fun! I don't think I was masochistic, but I think my big advantage was that I was simply bored and didn't have any goal of like "making a game" or anything like that; I simply was curious and wanted to figure out how things work and what if.
      So I think you totally can start with something like Rust if you feel very curious and want to really figure out how the things work under the hood, but I'd say don't start with Rust if you want to make something useful, because it will be really frustrating at the beginning and everything will feel unnecessarily difficult!

    • @IwasabletoDisappearafterlitsen
      @IwasabletoDisappearafterlitsen ปีที่แล้ว

      @@Luxalpa okay bro.....I'mma complete noob here, who knows nothing about Coding, I'm basically in my High School, and just wanna fall deep into the Code world.....just what should I (a complete obvlivios Bimbo) choose as My First language, and from that how should I choose my path to other Languages? Or atleast tell Me, whom specially I should Listen to on TH-cam?
      Please man, I really need to know...

    • @alang.2054
      @alang.2054 9 หลายเดือนก่อน

      @@IwasabletoDisappearafterlitsen Learn C

  • @boody8844
    @boody8844 ปีที่แล้ว

    Thank you so much I needed this video

  • @robertjames9191
    @robertjames9191 ปีที่แล้ว +1

    My first proper language was Delphi.
    What I really liked about it was you could create and manage guis so easily. It also taught you good habits such as it made you declare variables before you start coding your method/function/procedure so it made you actually think what you actually going to need

  • @jgndev
    @jgndev ปีที่แล้ว +3

    Start with something that lets you build things you are interested in making. If it is hard and you don’t care about the things you are learning to make it will take a long time

  • @josephvigneau7401
    @josephvigneau7401 ปีที่แล้ว +57

    Hard agree on this take, Prime. I'm old, so I started with BASIC, 8-bit assembly, Pascal, then C. The bar for entry to programming is so much lower today, thanks to things like modern JavaScript (which I agree is a terrible language). Also- keep making content like this: these 5-10 minute focused blasts of information without the distraction of chat are fantastic.

    • @billeterk
      @billeterk ปีที่แล้ว +1

      Sounds like my start (basic, assembly, Pascal) but uni started us with Miranda before C and C++

    • @bentels5340
      @bentels5340 ปีที่แล้ว

      Never got BASIC, me. I started out on Pascal. In uni they used Pascal and GCL, with small detours into assembly and things like C++ for specific courses. I taught myself Java from the book in 1996. And bourne shell. I know a little Javascript and really don't like it. TypeScript suits me better.
      I'm learning Rust now. It's... different. I like some of their ideas. Other things are throwbacks to 1965 and C and feel _very_ old. It's a challenge to get your head around. Definitely wouldn't recommend it as a starter language.

    • @over1498
      @over1498 ปีที่แล้ว +5

      @@bentels5340 don’t be ridiculous boomer. The bar to entry is in no way lower. You could literally learn every single thing there is to know about programming and all of IT in one career in the 90s. Now everything is so fragmented you need to pick one microcosm of a microcosm

    • @jhiver1978
      @jhiver1978 ปีที่แล้ว +1

      @@over1498 yes and no... back then you didn't have the internet, stackoverflow or openai, so you actually needed to read reference books to get things done, and were mostly on your own when hitting issues. Different times.

  • @eligoldberg5499
    @eligoldberg5499 ปีที่แล้ว

    You are the only person I'm subscribed to, bro.
    Great job, love the entertainment

  • @MaverickFischer
    @MaverickFischer ปีที่แล้ว

    I like the "whatever is happening right now" topics. Keep up the great work!

  • @robohead1293
    @robohead1293 ปีที่แล้ว +5

    My first (real) programming language back in 1992 was AMOS for the Amiga 500, and because it was a language aimed at game development it made the whole process of learning to program very exciting and engaging 👾😊

    • @geekdesprairies
      @geekdesprairies 9 หลายเดือนก่อน

      Same here :D. It was a great tool to learn programming!

  • @thierrybeaulieu4403
    @thierrybeaulieu4403 ปีที่แล้ว +8

    I learned Cpp as a first langague. Really made me understand different types of data and how low level programming languages depends on memory. I feel like it made me a really good programmeur. Second language was Matlab, didn't learn a thing. Third language was Python, learned a about performances issues, bytecode, libraries. Fourth was Java, really helped me understand Object oriented programming.

    • @someonespotatohmm9513
      @someonespotatohmm9513 ปีที่แล้ว

      Went Matlab -> python (1 C project) -> java -> C++. Matlab isn't to bad as long as you use it for scripting, and being forced to avoid for loops does force you to learn how to write operations that act on an vector or matrix instead of singular data. Java is quite nice but same as matlab forces you to learn how to use something. C++ for me is just using a debugger by default and hunting down the cause of segfaults that happen in barely documented 3rd party libraries. Yea I know I am using it wrong but you are not telling me how to use it. But as long as you are not a complete idiot or have demanding algorithms/environment, you don't have to worry about performance. Hopefully rust will make the last part easier but support isn't there yet from what I hear.

  • @Venzera
    @Venzera ปีที่แล้ว

    Liked and subscribed lmao. I quit learning to code years ago but have been considering giving it another go

  • @rayallenbionsonromelo1201
    @rayallenbionsonromelo1201 ปีที่แล้ว

    BROTHER, YOU ARE THE BEST!!! You oooh really helped me!! THANK YOU VERY MUCH!

  • @rumplstiltztinkerstein
    @rumplstiltztinkerstein ปีที่แล้ว +5

    I went deep into Rust first. Had a lot of fun. The issue though was finding jobs related to Rust. Almost all the jobs I found were expecting Senior levels of experience.

  • @rafaelmorales1926
    @rafaelmorales1926 ปีที่แล้ว +12

    Learning to program and learning a programming language are two different things! the more you have to learn your language, the more time it takes away from learning how to code, so just take an easy language to get you going, and change to rust once you are more confident!

    • @m.sierra5258
      @m.sierra5258 ปีที่แล้ว +1

      I kind of agree. To be honest, I think running into frustrations in other languages like C actually made me value the borrow checker. Not sure if I would value it without those experiences first.

  • @amrelmohamady
    @amrelmohamady ปีที่แล้ว +1

    I don't really like/have time to watch streams like many others so I recommend keeping them in twitch, I had to disable notifications for your channel because of this. I really like the content :)

  • @rayatbinnasir6232
    @rayatbinnasir6232 ปีที่แล้ว +1

    Epic. was waiting for a vid like this.

  • @codedbyjordan
    @codedbyjordan ปีที่แล้ว +10

    started with Java when I was 11, I hated it and didn't understand it but I loved programming so I kept with it and moved on to Python, then JavaScript and finally TypeScript where I got my first job in June. I've tried to learn Rust multiple times but I always lost motivation but your videos make me want to learn it again.

  • @mykolalysynskyi8228
    @mykolalysynskyi8228 ปีที่แล้ว +42

    Started learning Rust as my first programming language(not counting 2 weeks of python and class on MatLab in university) for 3 months now. It feels great but hard, after three months i can understand some code in crates documentations. Also i`ve decided to use Vim(Neovim) as an editor and Linux as an operating system)

    • @ThePrimeagen
      @ThePrimeagen  ปีที่แล้ว +24

      you are a bold man :)

    • @bentels5340
      @bentels5340 ปีที่แล้ว +3

      Take a look at sh/bash as well. Very simple and straightforward, small feedback loop and you're always using it on Linux anyway.

    • @BA-oq2ih
      @BA-oq2ih ปีที่แล้ว

      Did you consider Helix instead of Neovim?

  • @hamm8934
    @hamm8934 ปีที่แล้ว

    More of this! Great vid as always

  • @mrcat9697
    @mrcat9697 10 หลายเดือนก่อน

    I'm new this channel, really loved it, ThePrimeTime too, Prime your content is entertaining and say really cool stuff, thank you for this kind of content.

  • @sorrowseal
    @sorrowseal ปีที่แล้ว +4

    For many people C/C++ was their first language, mine was MSX BASIC then right away to ASM86. So I think they should be fine with Rust. But if you are type of the individual who likes to see cool results right away, then maybe learn making games with Godot or Unit C#, web development with JS, once you are done impressing yourself and friends, then you'll naturally progress to your end goal.

  • @tibixdev
    @tibixdev ปีที่แล้ว +3

    Really cool video, I like how your take is the real deal, not trying to glorify anything. I'm personally a webdev and even after doing that for 4 years and looking at hours and hours of C/C++ development and projects I still feel like Rust is an extremely different language from all of them and everything but suitable for beginners. I still wouldn't get it after being a dev for years.

    • @ThePrimeagen
      @ThePrimeagen  ปีที่แล้ว +2

      yeah. i love rust. its a great language. but i am under no delusion of its learning curve.

    • @electricimpulsetoprogramming
      @electricimpulsetoprogramming ปีที่แล้ว

      how you learned web programming? how you got your first job?

    • @someonespotatohmm9513
      @someonespotatohmm9513 ปีที่แล้ว +1

      What makes rust so hard compared to C++? Sure the borrow checker exist but for beginners that just saves you hours of hunting down obscure bugs.

  • @velkanalpha
    @velkanalpha ปีที่แล้ว +2

    I started with Python and I liked, but felt like I was not making any progress or not knowing how to use all that.
    Then I thought the same thing you mentioned about the ability to have visual feedback and enjoy. Started HTML , went CSS , ended Javascript, learn Typescript in no time, and now Learning React-Typescript ... I've never lost the motivation through the process, so for me the gradual complexity was the key.

  • @KuldeepYadav-jw7jn
    @KuldeepYadav-jw7jn ปีที่แล้ว +2

    I completely agree with ThePrimeagan here, I started with c/c++ in school and then went on to learn the Java and honestly it was very hard and hence the feedback loop was very slow and discouraging at times, so initially picking a language which is not a barier in understanding some concepts like DS and Algo, web development, networking is very crucial. It will soon become a non enjoyable experience.

  • @RunOfTheTrill
    @RunOfTheTrill ปีที่แล้ว +4

    Started with C++. When I wanted a UI, I learned Win32 api. I was 13. You can do whatever the hell you want if you're willing to stick with it.
    I also did a gentoo stage1 tarball installation when I was the same age. Gentoo was still in beta. So maybe I'm different.

    • @johanneswelsch
      @johanneswelsch ปีที่แล้ว +4

      At the age of 34 I learned what a variable is.

  • @Sakrosankt-Bierstube
    @Sakrosankt-Bierstube ปีที่แล้ว +6

    I actually ONLY use the command line. Wrote a youtube cli which allows me to watch the video and comment.
    -posted with youtube cli

  • @sRoGoRs
    @sRoGoRs ปีที่แล้ว +1

    Love the topics love listening to you. Been using vim since 98. I love your environment. Bit I can't work that way... yet. I have a pretty good setup but lack some features that make you super fast. I may venture down the path of plugins. You inspire me. I need to practice hjkl, I use the arrow keys too much from habit. Sweet channel GNU/Linux rox!

  • @BlablablaBla-tp1ws
    @BlablablaBla-tp1ws หลายเดือนก่อน +1

    I have barely any coding experience, and thought it would be a good idea to learn rust. I have gotten 4 chapters into the rust book, and when I heard you say that you thought new programmers shouldn’t learn rust, I thought I had just wasted a whole bunch of time. Then I heard you say that it was because you thought the command line was hard... Back to the rust book! Subscribe button smashed.

  • @asdqwe4427
    @asdqwe4427 ปีที่แล้ว +6

    My first was c++. I do see the merit in being forced to understand memory management. But if you are learning on your own, I’d wait with that until later.

    • @LawlessSentry
      @LawlessSentry ปีที่แล้ว +1

      Same, started with C++, after learning how memory and variable typing works i found it much easier to move to other languages.

  • @dominicw6584
    @dominicw6584 ปีที่แล้ว +4

    Had a friend that did this. Worked out well for them

    • @kylemckell
      @kylemckell ปีที่แล้ว +2

      Sounds like hell though. He must've been ULTRA driven

  • @JohnLadan
    @JohnLadan ปีที่แล้ว +2

    I hadn't thought of that point before! My first language was QBasic. It had built-in functions for lines and circles, and a tui that took care of running programs. It was a lot more fun animating graphics than making a number-guessing game. When I progressed to C, having to learn about compiling and linking stalled me a few times before I could actually begin learning the language. In retrospect, Pascal or Modula 3 would have been a better stepping-stone.

    • @ThePrimeagen
      @ThePrimeagen  ปีที่แล้ว +1

      That is awesome. Qbasic was also one of my first.

  • @RobertoOrtis
    @RobertoOrtis ปีที่แล้ว

    Amazing as always! 👍🏻🙌🏻

  • @chefaku
    @chefaku ปีที่แล้ว +7

    I started with java and it was good to understand oop and basic concepts when starting but I left it and did nothing after learning it, but after a few months I did the freecode camp courses of html and js, and it was a whole other thing to have more visual feedback on what you're doing. if java was bad as a first language imagine rust

    • @bentels5340
      @bentels5340 ปีที่แล้ว

      Depends on when. Java was marvelously simple in the early days, great starter language. Since version 9 came along, still a great language and incredible ecosystem. Easy to learn... not so much.

    • @alejandroooow
      @alejandroooow ปีที่แล้ว

      Java itself isn't bad as a first language. I think the issue with learning languages, not just your first, but any overall, is that, if you lack a purpose for it or do not intend to use it for anything significant, you will just grow bored of coding. That's why I always recommend learning languages based on what you intend on coding.

  • @thomd2332
    @thomd2332 ปีที่แล้ว +7

    I think that C# is a good (maybe even the best) starting language and I would always recommend it if there isnt a specific consideration why someone should start with something else (even I started with C, did C++, PHP, Java, Ada, Eiffel and a few others before learning C#).
    1. The basic syntax is simple enough to start your first steps in the programming world (especially since top level statements got introduced, its as simple as some scripting languages).
    2. It is (usually) statically typed which allows to avoid plenty, hard to understand errors for beginners and make it easier to start to write more complex software, while it still supports dynamic typeing, which can lower the learning curve at the beginning, similar to dynamically typed languages like javascript.
    3. It comes with a functional library for almost everything like console applications, gui applications (I recommend, even while somehow legacy, Windows Forms as an easy start), web (primarily backend but also frontend with web assembly if you really want to), databases, network, and so on... (unlike C for example).
    4. It has great tools and an easy to start and use IDE (visual studio, with visual designers, intellisense, useful warnings, errors, even some ai assistance nowadays and plenty more which in total is much more superior than what you get for literally almost any other language, even Java). This point alone is a really big advantage for beginners.
    5. It still provides advanced techniques which you can gradeually learn and adapt (lambdas, linq, generics, pattern matching, asynchronous programming, functional programming, code generation, closures and many more). Unlike many other languages the syntax for those things (which got added over time and still keep getting added) is usually pretty simple and easy to understand and those features often feel like they were included in the language from the very beginning (and not patched into the language afters wars, like generics and lambdas in java for example...).
    6. Its one of the broadest general purpose languages out there because it includes almost any feature you can find in other languages. The language gets updated very frequently, usually without breaking old code and allows for example procedural, object oriented, asynchronous, declarative, event driven and even functonal codeing paradigms, among some others (I even did some aspect oriented programming with C#) being easly mixed and matched in a way that enhances the whole language while other languages feel restricted in how you can use them and are thus less general purpose in my opinion. C# even supports pointers (like C) or assembly like programming (emitting IL Code) if you really want to do stuff like this.
    7. Haveing so many features you can graduadly learn and adapt will make it easier to adapt to new languages, because you will already know plenty of the main aspects of those languages. For example switching from C to Scala (or the other way around) might be overwhelming and feel like learning something completely new at first, because both are so absolutely different, while in C# you gradeually can program in both ways, a C-like way and a Scala-like way and even mixing both on demand is possible. You even can create monads with the SQL like looking query syntax which is integrated in C# (but this is probably more playing around with the features than of any real use). For me learning Javascript after knowing already C# such made me think all the time (ah, I know that already from C#), because I already knew Closures and even sometimes programmed in a way (with functions), you usually do in Javascript.
    8. It has a big pool of third party frameworks and libraries (not as big as Java or C / C++, while the later can be easily used in C#, too) but nontheless big.
    9. Everything of that is completely free (in the meaning of not costing anything, not in the open source meaning, even the .NET platform is actually even open source for the most part) while you sometimes have to pay for other languages to be able to use them (for example for compilers) or at least to get a decent IDE for example (visual studio is also free in the comunity edition).
    10. There are plenty (good) sources (books, tutorials, posts, documentation) which will help new programmers.
    11. Its a sophisticated language / environment that is there probably to stay for a while and not the next hyped thing no one maybe cares about a few years later and I doubt that microsoft will ditch it / abondend it in the next years.
    12. If it would be about C# in general (and not only for a starting language) there would be plenty of points more (probably I even missed some important ones, why its a good a idea to use it as a starting language).
    All in all the language makes it very easy to get started but still allows to advance to even some of the most complex things while proveding a good and sophisticated base for the future of new developers (even if they will switch to another language later on).
    So my suggestion for the original poster (in reddit) would be: better start with C# and if you really want to / feel to / or have to, learn Rust or any other language later on.
    Btw. my first language was C (and some C++) which was also a great base (because it included back then many of the stuff I recognized later in languages like Java or PHP but even some more that werent possible in other languages), but I still wont recommend it for beginners, because its definetly not a language that is easy to get started in. Unlike C# which is easy to get started in and will provide a great base for further development while combining the best of several worlds.

  • @TheTjmclean93
    @TheTjmclean93 ปีที่แล้ว +1

    I think you picking comments online and adding your take is alot better. Brings in new subs too.

  • @alexandermeneses5688
    @alexandermeneses5688 9 หลายเดือนก่อน

    Ngl this is some fine content. Keep it up mr prime

  • @ISKLEMMI
    @ISKLEMMI ปีที่แล้ว +3

    This is great, practical advice. I started programming as a kid in the MS-DOS era, but I floundered until later in life when I picked up Python and JavaScript and could actually make cool things happen on my screen. This made it easier to learn C (the most beautiful language) and then C++.
    Project-based learning has trumped everything else in my experience.

  • @BrUSomania
    @BrUSomania ปีที่แล้ว +4

    Python is a fantastic language to start off with for beginners. It's how I fell in love with programming myself.

    • @RR-et6zp
      @RR-et6zp 7 หลายเดือนก่อน

      yeah but what do you build with it? for real

    • @BrUSomania
      @BrUSomania 7 หลายเดือนก่อน

      @@RR-et6zp You can create many individual scripts for handling files that are specific to your company. For instance, we use Python for backing up, converting, and organizing our files. We are a smaller company (~50 people) who use this codebase on a daily basis.

  • @Mafanca
    @Mafanca ปีที่แล้ว

    i like this type of videos! also, love to see you streaming on yt, i never check twotch.

  • @adelarsq
    @adelarsq ปีที่แล้ว

    Great advice. Just confirming that is a good choice to go on easy way.

  • @RobertCastilloC
    @RobertCastilloC ปีที่แล้ว +4

    I would recommend c# as first language I feel like it has that combination between JavaScript and c++ that is so sweet

    • @jeffxdd4351
      @jeffxdd4351 ปีที่แล้ว +2

      Interesting take, when I started learning C# was when things properly started to click for me in terms of programming. perfect level of abstation imo

    • @itellyouforfree7238
      @itellyouforfree7238 ปีที่แล้ว +1

      except that i'd have to install a steaming smelly pile of microsoft horseshit to run that crap. why not just straight forward C then?

    • @RobertCastilloC
      @RobertCastilloC ปีที่แล้ว

      @@itellyouforfree7238 that would be the best... Although I think many people me myself when staring at tech the most common and accesible OS available is windows, I have never heard of someone in moderm society that have never used windows or that have started at tech using Linux straight

    • @itellyouforfree7238
      @itellyouforfree7238 ปีที่แล้ว +1

      @@RobertCastilloC well sure anybody that buys a PC will get windows thrown at his face. surprisingly though any unix-derived environment is extremely more user friendly for beginner developers (c compiler and python probably preinstalled, any other language accessible with `apt/dnf/yum/whatever install`, the terminal is right there where you need it for CLI programs, ...). also along the way you learn how the file system works, how programs run, what environment variables are, etc. in windows everything is just magic instead: either you have some magic program to install that puts an icon on your desktop that does the exact right thing that you want, or you are doomed to hours of pain and horror trying to figure out how to do what you want to do in a system that doesn't let you do what you want to do

  • @daltonyon
    @daltonyon ปีที่แล้ว +6

    "Hear what saying because I'm CEO of a multi-billion Startup" hahaha
    I agree with you, learning Rust now ins't the best choice. Pick a popular language is better to get the first job, to understand the industry because its really different of schools.. and many other things. After that choice one languague to have fun!!

    • @ThePrimeagen
      @ThePrimeagen  ปีที่แล้ว +5

      You got it Dalton. I think sometimes people romanticize learning too much. They forgot about all the heartbreak and difficulty

    • @daltonyon
      @daltonyon ปีที่แล้ว

      @@ThePrimeagen I have more or less +5 years of experience at development of software and this year is when I start using vim/tmux/i3, so first foundation and after construction!

  • @seethisful
    @seethisful ปีที่แล้ว +1

    I like this type of videos keep them coming

  • @celsopatiri2846
    @celsopatiri2846 ปีที่แล้ว +2

    I like topical talking about things that are poppin
    also, I like the yt streams. It seems more convenient for me to just show up for a while in the middle of the workday. But if it takes too much more effort from you it may not be worth it

  • @blackfrog1534
    @blackfrog1534 ปีที่แล้ว +2

    Since I started using rust for my side projects when I code in JS or Python for work i keep wishing it was Rust. Rust is beautiful but its hard to pickup even for people who are experienced so i don't think a completely new person would be able to stick with it and not quit the whole field out of frustration.
    Begin with Python or JS, see if you even enjoy programming, them if you do and you learn one of the simpler languages then try out rust and be ready to cry in borrow checker and then in aysinc and then some more in aysinc.. tbih not sure if the aysinc crying ever stops.. xD
    P.S
    I'm not trying to say that Python or JS are easy, they are just easier then Rust IMO
    Just wanted to clarify that before ppl start yelling at me "Well actually Python is very complex under the hood...", yes Mr. Neckbeard I'm quite aware

  • @professornumbskull5555
    @professornumbskull5555 ปีที่แล้ว +5

    I agree that Rust doesn't make for a good starter language but I disagree with your reason, because Rust's compiler errors give you more feedback than JS errors which doesn't even tell you what's wrong sometimes whereas rust compiler will even tell you how to fix the issue for simpler problems. Secondly, to people who only know GUI, CUI seems fascinating... It may be most trivial thing but when they do it in CUI they feel high euphoria, IK because I started out the same... The reason I believe Rust is bad first language though is because it's not the norm, what I mean by that is, Rust's way of doing things is different from most of the other HLLs. To explain it simply Rust compiler is like a good friend, who's there always to carefully analyse all your steps and tell you if you're about to shoot yourself in foot. Other languages' compilers, are like judges, they won't tell you what's wrong, until you've already blasted your foot, and sometimes they won't even tell you, What happened they'll just tell you, 'Oh your foot blew up' (Segfaults).

    • @LowestofheDead
      @LowestofheDead ปีที่แล้ว

      That's really accurate, Rust compiler errors are on a different level to most languages. With the exception of Elm.
      I think Rust is hard for beginners because you think in terms of the computer, you don't think in terms of "What human problem in my life do I want to solve" like other higher-level languages.

    • @professornumbskull5555
      @professornumbskull5555 ปีที่แล้ว

      @@LowestofheDead IDK about you but I was actually expecting that in the beginning so...

  • @laupetre
    @laupetre ปีที่แล้ว

    I love the yt streams. Makes it easier to finish a stream later after I have to drop

  • @oilcake4392
    @oilcake4392 ปีที่แล้ว

    Thank you bro, you're doing life so much better ))) I really don't give a heck about rust, but I've watched the video just because it's funny, and YES, I've subscribed

  • @chillydoog
    @chillydoog ปีที่แล้ว +3

    I am here studying rust for organic chemistry. Now I'm considering changing majors to rust programmer.

    • @chrisdaman4179
      @chrisdaman4179 ปีที่แล้ว +1

      I wouldn't. There are almost no jobs that use rust, and it is so significantly different that learning other languages will be alien. Rust is a solution to a problem programmers don't really have. It is 100% propaganda. You can tell because rust fanboys refuse to acknowledge it's flaws.

    • @lauriethefish2470
      @lauriethefish2470 ปีที่แล้ว

      @@chrisdaman4179 Undefined behavior is definitely a problem programmers have. Rust doesn't solve all the problems with system's programming but it eliminates a whole category of vulnerabilities that have caused havoc for decades.

    • @chrisdaman4179
      @chrisdaman4179 ปีที่แล้ว

      @@lauriethefish2470 it does this by assuming it has the only solutions to every problem, and tossing every other possible solution out as "bad". Make a double linked list in rust without telling me "it's actually a bad data structure" because it is a corner stone, and rust can't actually do it correctly.

    • @twentyeightO1
      @twentyeightO1 ปีที่แล้ว +1

      @@chrisdaman4179 lol I can see you've been hating Rust very passionately by looking at your other comments.

    • @lauriethefish2470
      @lauriethefish2470 ปีที่แล้ว

      @@chrisdaman4179 My comments keep getting moderated, perhaps due to the link in them.
      Rust has a sound doubly linked list built into the standard library.

  • @student99bg
    @student99bg ปีที่แล้ว +6

    But algorithms, semaphores,locks in C etc are fun to learn. I agree that having your program have a GUI is very satisfying,especially for beginners. I started learning programming with Pascal and Lazarus which provided us GUI. It is motivating to make programs which a non programmer can use,programs that look like other programs that you have seen before you started learning programming.

    • @itznukeey
      @itznukeey ปีที่แล้ว +1

      Tbh I'm glad I didn't have to use C for threading, the POSIX threads look really scary. Glad to use C++ 11 lol

  • @shishsquared
    @shishsquared ปีที่แล้ว

    3:03 Hey it's me! Not exactly, I've built up some programming experience mostly in Java, but I was introduced to the command line through Cisco IOS in studying for my CCNA before I learned any serious programming. Started playing around with Linux around the same time

  • @migo70
    @migo70 ปีที่แล้ว

    never change Primeagen, I love your energy

  • @ringishpil
    @ringishpil ปีที่แล้ว +10

    what about Go as a first language? I think Go is pretty easy to get into, kinda opinionated so you won’t get into bad habbits that easily

    • @ASDFG856
      @ASDFG856 ปีที่แล้ว +2

      is a good programming language to start

  • @topcivilian
    @topcivilian ปีที่แล้ว +5

    Rust is the perfect first language for an individual if they meet the following criteria:
    1) Very serious about programming and highly motivated to overcome the learning curve.
    2) Demands that programs have minimal runtime, are memory-safe and are without data-races.
    3) Has the need for all things to be "blazingly fast" 🔥🏁

    • @jaredsmith5826
      @jaredsmith5826 ปีที่แล้ว +4

      Nobody learning programming understands what any of that means. I love Rust, out of the ~6 general purpose programming languages I know it's probably my second favorite. But Python w/tkinter or JS/HTML/CSS is way easier to start.

  • @christerpherhunter930
    @christerpherhunter930 ปีที่แล้ว

    I like this kind of stuff. Keep it up.

  • @zmdeadelius
    @zmdeadelius ปีที่แล้ว

    I just styped "vim" in the search and found your videos. So, that's a +1 for your YT uploads. Moar, please.

  • @harleyspeedthrust4013
    @harleyspeedthrust4013 ปีที่แล้ว +3

    Usually a "hard language" is only hard because it's unfamiliar. I think it's better to start new programmers off with these "hard languages" because they get a better idea of how a program should actually be designed and structured. For example ocaml is a great first language because you have no concept of what a function should be, so the idea that a function is a first class citizen is as natural as the idea that anything else is a first class citizen. The strong type system gets u used to the idea that everything has a specific type and those types are important - so when you go to any other language you've already picked up good habits and learned some "advanced" things, and these things are natural to u because u didn't have to unlearn any old prejudices. It's much easier to expand ur knowledge imo if u start w a harder language and u never learn bad habits

  • @TomNook.
    @TomNook. ปีที่แล้ว +3

    why not. I know some guys who learnt assembler as their first language, now they use Python in their jobs

    • @tashima42
      @tashima42 ปีที่แล้ว +2

      The video is literally just explaining why

  • @Frank-do1bg
    @Frank-do1bg ปีที่แล้ว

    really like these types of videos :)

  • @ezequielzion
    @ezequielzion ปีที่แล้ว

    Yes primeagen, i would like more videos of you commenting on recent programming news and events. There, you happy? I love you, you bastard

  • @PacificBird
    @PacificBird ปีที่แล้ว +1

    I never really thought much of other people's first way of 'experiencing' programming, so I always just kinda internally thought everyone started out doing things in the output console!

  • @lysandroc
    @lysandroc 9 หลายเดือนก่อน

    the funniest programming channel on yt, keep it up man

  • @tannishkmankar3998
    @tannishkmankar3998 ปีที่แล้ว

    This helped a lot thank you

  • @BeasenBear
    @BeasenBear 9 หลายเดือนก่อน

    I like this yeah! Can you do a vid where you go over your problem solving progress activity? I'm currently learning Python.

  • @74Bagas
    @74Bagas ปีที่แล้ว

    i watch all your videos. but this type is my cup of tea. keep blazingly rock.

  • @jonathanduran2921
    @jonathanduran2921 ปีที่แล้ว

    Love this type of content. Could you make one on "how to learn a new language (like rust)". The idea of going through a book or course is agonizing.. yet starting off with project-based and banging my head against a wall is equally frustrating.

    • @captainzoltan7737
      @captainzoltan7737 ปีที่แล้ว

      Not an expert/professional programmer so feel free to ignore. but what's worked for me teaching myself some cpp coming from python 1. Find a video series from a creator that you like/find interesting and matches your level.( So don't pick up a video series dedicated to total programming beginners) 2. Then try to do short excercise on the stuff you learn as you go to practice . 3. Once you've comfortable with the basics try a small project that your interested in but is feasible. Even better is if you pick an existing project you've already done and rewrite it in the language your learning. Boring I know, but it means you don't have to worry much about the logic/ problem and purley focus on how your using the language.

  • @Qwerty20238aw
    @Qwerty20238aw ปีที่แล้ว

    My new favorite channel!!

  • @tommyponce2511
    @tommyponce2511 ปีที่แล้ว

    when you yelled LISTEN!!! near the end of the video I was actually gonna go to YT's homepage but I stuck around to listen lmaooooo that was so funny lol

  • @richsadowsky8580
    @richsadowsky8580 ปีที่แล้ว

    I like it. I like it because you're funny and insightful. I think I've lived a similar life to you. Good stuff.

  • @darkfoxwillie
    @darkfoxwillie ปีที่แล้ว

    Hey senpai the youtube streams have been cool, I don't use twitch too much so this way I can see you more :)

  • @cassondrascruisecapers
    @cassondrascruisecapers 8 หลายเดือนก่อน

    Love this channel and I’ll be joining on discord

  • @itzik975
    @itzik975 ปีที่แล้ว +1

    :D i like you, you are funny.
    anyways, yeah i like those short videos reviewing these kind of questions.
    think you are right with easier language and dopamin hits, also it does helps you latter on appreciate rust more.
    im actually at the end hading the javascript way, nodejs more specifically, profession wise.

    • @ThePrimeagen
      @ThePrimeagen  ปีที่แล้ว

      I am of the same opinion. I started out loving node, now I do not like it nearly as much. I prefer rust

  • @nekoill
    @nekoill ปีที่แล้ว

    The first time I tried to learn programming I tried to learn asm, and given that I was in middle school, didn't know anything about transistors and how they work and didn't even have a PC back then, it went so bad that I was discouraged away from coding for about a decade and a half, so yeah, it does make more sense to start with something that provides a little visual feedback

  • @pauloffborba
    @pauloffborba ปีที่แล้ว

    Yes, please! Great advices!

  • @headlights-go-up
    @headlights-go-up ปีที่แล้ว +1

    Oh actually I started off on the command line so I feel very comfortable with it.
    And I have already subscribed a while back so JOKES ON YOU, PRIME.

  • @densidad13
    @densidad13 ปีที่แล้ว

    I do like this kind of videos because I can get some panoramic insight into the wider programming craft, which I'm reaching because of my academic research.
    I've been learning programing with Haskell as my first lenguage due to interest in Tidal Cycles (lenguage for live coding music). Had some past experience with linux command line, basic bash scripting and some SuperCollider composition. Having a mathematical background, Haskell has been engaging and fun to learn the main programming and algorithmic constructs. I would like to hear your opinion and experience in functional programming style.

    • @itellyouforfree7238
      @itellyouforfree7238 ปีที่แล้ว +1

      To me the best first languages to learn are alternatively C or Haskell, depending on the path you want to follow. The only real difference being that if you choose Haskell you won't have any friends in life. Apart from that, great choice!