Why I like C programming more than Web Dev (rant)

แชร์
ฝัง
  • เผยแพร่เมื่อ 27 พ.ย. 2024

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

  • @NeetCodeIO
    @NeetCodeIO  10 หลายเดือนก่อน +363

    Yes I could've built my own graph lib. But my point is it doesn't make sense to do that in web dev. The reason you don't use a lot of external dependencies in C isnt a matter of personal preference, it's just that most types of C programming don't require many dependencies.
    I'm NOT saying C is the better tool for the job in this case. I'm saying I like C programming better, partially because it's closer to the hardware level and requires less abstraction in most cases.
    The abstraction that actually is required can be understood by C fundamentals, e.g. fork a process, file descriptors, etc.
    Anyways, this was more of a rant video. Not trying to downplay webdevs, obviously most of the important software being made today is web applications.
    ---
    I'm curious, what part of webdev do you guys actually enjoy? (other than learning a new framework every year to solve the exact same problems as before, except in a slightly different way :p).
    Feel free to roast me back, I like it.

    • @ChristopherElwell
      @ChristopherElwell 10 หลายเดือนก่อน +103

      I hate dependencies so much, I unplugged my ethernet cable and code only in handwritten Assembly.

    • @TabuHana
      @TabuHana 10 หลายเดือนก่อน +28

      Yeah I hate dependencies too. Especially when the docs are barely written at all and you just have to turn to a yt tutorial or some external guide to figure out how it works. My favorite thing about web dev is just making something for people to enjoy, rather than "enjoying the process".

    • @Ripred0219
      @Ripred0219 10 หลายเดือนก่อน +20

      "The reason you don't use a lot of external dependencies in C isnt a matter of personal preference, it's just that most types of C programming don't require many dependencies."
      True but the idea that C programming has less abstractions(dependencies) than Web dev isn't necessarily true. Abstractions tend to increase as the magnitude and components of an issue increase. A lot of C programming in undergrad involved problems that are minuscule to what it takes to maintain and build a codebase that supports an entire business.

    • @Wielorybkek
      @Wielorybkek 10 หลายเดือนก่อน +12

      can we all agree that writing stuff on our own is more fun but an objective, althoug sad, waste of time when the purpose is to actually deliver something of a value in a reasonable amount of time and within a budget?

    • @SuperAppsUSA
      @SuperAppsUSA 10 หลายเดือนก่อน +5

      I have been working with react and react native for around 5 years, and have been employed much of that time as a software developer, I cant really speak for all "javascript" packages and libraries, but I would completely disagree with the statement, "learning a new framework every year to solve the exact same problems". I think a lot of people dislike web development, because they choose some offshoot weird library that has little support, even less good packages, and little documentation (angular, flutter, vue, the list goes on), and then decide its not good enough for them, and they should move into something else... So my recommendation, is to use the most popular, and robust libraries, unless you have a very specific reason to use one of the other ones (not just, "ewww I don't like react or the way its written!", but a real and legitimate product limitation).
      So... I would just say now that you have chosen something like "angular", you are forced to use something like:
      swimlane.github.io/ngx-graph/
      Instead of... reactflow.dev/
      TLDR; Use React, don't waste your time with all the other crap out there.

  • @elias8294
    @elias8294 10 หลายเดือนก่อน +993

    This has happened to me so many times and it finally made me understand why a lot of people hate web development.

    • @parlor3115
      @parlor3115 10 หลายเดือนก่อน +61

      Mostly frontend, though

    • @yzhu
      @yzhu 10 หลายเดือนก่อน +65

      I hate web dev because every client thinks the web should behave like an native app, with route transitions by default, fixed screen size, no accessibility concern, can weight 100mb and all bundle downloaded at once etc

    • @RanjakarPatel
      @RanjakarPatel 10 หลายเดือนก่อน +6

      Yes he become number one disgrace

    • @javiervidal2549
      @javiervidal2549 10 หลายเดือนก่อน +11

      I don't hate web dev but I'm tired that all my jobs are about web 🤐

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

      @@parlor3115backend framework libraries aren’t much better. Their release notes are trash, and they change syntax for basic calls far too regularly. Can’t tell you how many times I’ve seen release docs indicating they’ve fixed an isssue, without telling you they changed the function names. Front end is definitely worse though, they update stuff in storybook and post no code to see the components they’ve changed sometimes. Like what, do you want me to view source? It’s storybook, that’s literally the fucking purpose of storybook 😂

  • @VMiXEZ
    @VMiXEZ 9 หลายเดือนก่อน +488

    Anything is better than Web dev.

    • @dontreadmyusername6787
      @dontreadmyusername6787 3 หลายเดือนก่อน +31

      Not gonna lie I have been building a compiler from scratch and never looked back at web dev

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

      ​@dontreadmyusername6787 that's fine if you don't want to get paid.

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

      ​@@dontreadmyusername6787 make a neural network with c

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

      @@reecedeyoung6595 i got an internship in embedded recently so i think i might atleast make something out of it lol

    • @Alfakatt
      @Alfakatt 3 หลายเดือนก่อน +16

      Build a compiler. Free yourself!

  • @annaczgli2983
    @annaczgli2983 10 หลายเดือนก่อน +498

    Earlier the job used to be Software Engineering. Now the job is just glueing together APIs.

    • @mxbx307
      @mxbx307 10 หลายเดือนก่อน +75

      Yup. I'm not seeing much original programming anymore, it's just taking a load of different digital Lego bricks and fitting them together in order to do something.

    • @twothreeoneoneseventwoonefour5
      @twothreeoneoneseventwoonefour5 9 หลายเดือนก่อน +49

      ​@@mxbx307 It depends on what you consider "original". Technically, all code is original. All "higher than C" level of languages are Lego bricks. List is an abstraction to make working with arrays easier, GC helps you not worry about memory. And it goes however wide you want it to be. So what, everything that is not C is not original? Every game that uses Unity engine is also "not original"? Every and any mistery novel is "not original" because there are already thousands of mistery books out there? Makes no sense. Especially in web dev, where everything is already written mostly. You guys talk like you would rather build your own frontend framework and libraries from scratch or what? Complaining for the sake of complaining, I see nothing more. I would say there is enough original stuff in webdev, if you are at the edge and not working with outdated technologies. With the rise of WASM, webgl, the possibilities are endless. Some companies may create simplest dashboards, and some (usually startups) would create something more innovative, it is your choice where you want to end up. You guys severely underestimate the amount of complexity these "lego bricks" bring to the table. You think you just combine 3-4-5 simple api-to-api lego bricks, but in a complex project it is tens, if not hundreds of such lego bricks, intertwined with your own code, and you need to know how each of them works and interacts with each other at the deepest level, to properly optimize the performance. And those lego bricks are not even always your own code, it is something you have no control over, but you need to understand them and always have their intricacies in your mind. You guys underestimating frontend sound like: "oh, art? you just draw a couple of lines and you have a Mona Lisa, nothing complicated really, just a bunch of lego bricks. Now architecture on the other hand is much harder...". In reality it is as shallow or as deep as you want it to be. This pointless webdev hate needs to stop seriously.

    • @lashlarue7924
      @lashlarue7924 9 หลายเดือนก่อน +15

      @@twothreeoneoneseventwoonefour5 Gigachad web dev here.

    • @algorithmsboul
      @algorithmsboul 9 หลายเดือนก่อน +2

      @@lashlarue7924😂😂

    • @rusi6219
      @rusi6219 9 หลายเดือนก่อน +3

      ​@@twothreeoneoneseventwoonefour5"all higher than c" languages definitely are NOT Lego bricks and this comes from a person who dislikes "higher than c" programming.

  • @aiw437591
    @aiw437591 10 หลายเดือนก่อน +387

    I was a low level device driver dev in C for the first 7 years of my career. Learned a ton building out all sorts of drivers and OS features for a router like product. Then, made the switch to web development doing loads of React and Nextjs. For me each has their own values. I love building something I can show my family instead of a command line interface. Building great UX is practically an art. But so can writing C. I’ve spent hours debugging webpack before. I’ve also spent days trying to track down some esoteric makefile problem with a gigantic makefile that had a lot of tech debt. No matter what level you are programming at you will bang your head on the wall at some point or another.

    • @wongwong7479
      @wongwong7479 10 หลายเดือนก่อน +20

      totally agree, every part of the world has it's own pain. that's why we called "get your hand dirty"

    • @DD8MO610
      @DD8MO610 9 หลายเดือนก่อน +14

      As a recent grad in computer engineering, any advice on getting a low level job? Feeling a bit naive. Thank you.

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

      fake history

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

      ⁠@@DD8MO610Software Development, Web Development, Network Engineer, Sys Admin.
      Low Level Jobs such as Aerospace, Electronics Microprocessors and Embedded are not entry level. You need to be experienced on those jobs above to be one.
      You dont have to be tho. Afterall CS, IT and CPE all have same job opportunities. Its just that CPE has those additional electronics, microprocessors and embedded classes (shout out to those useless Physics, Chemistry and Biology classes too lmao).

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

      This feels like the most well rounded answer hands down

  • @chuck_norris
    @chuck_norris 9 หลายเดือนก่อน +12

    The thing i hate the most, is that People who do only WebDev think all Programming revolves around WebDev..

    • @ooogabooga5111
      @ooogabooga5111 9 หลายเดือนก่อน +2

      not true, most of skilled web devs are trying to esc the hell.

  • @Nunoflashy
    @Nunoflashy 10 หลายเดือนก่อน +364

    Exactly my experience. C, C++ programming and actually implementing the algorithms and data structures is what's fun to me, and learning new things in the process.
    Web development is just this, handling many dependencies hoping they play nice with each other, and you don't get to build the interesting parts, you only connect them together... Exactly my problem with web dev.

    • @i-am-the-slime
      @i-am-the-slime 9 หลายเดือนก่อน +16

      You know why? Because implementing algorithms is easy.

    • @KleptomaniacJames
      @KleptomaniacJames 9 หลายเดือนก่อน +7

      @@i-am-the-slime only if they are shit

    • @Nunoflashy
      @Nunoflashy 9 หลายเดือนก่อน +23

      @@i-am-the-slime I disagree, it forces you to actually think about solutions and logic, instead of gluing libraries together, which is just busy and boring work to have something function.

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

      @@i-am-the-slimegreat point! I see that in learning playing the piano to, just learning patterns and algorithms. Learning piano scales is just a pattern.

    • @AndreiGeorgescu-j9p
      @AndreiGeorgescu-j9p 9 หลายเดือนก่อน +14

      This is basically the opposite of actual engineering. Go learn category theory and realize how unimportant obsessing over algorithms is

  • @gnes04
    @gnes04 9 หลายเดือนก่อน +47

    Bro so relatable lmao. You spend hours figuring out why something isn't working, but even after you fix it you don't feel like you learnt anything cos you'll never use that crap again. When you aren't using libraries and external tools as much, you know more about the inner working and can debug better. Even if you have to go hunting for a solution to your bug, you'll end up learning stuff and will use this later.
    Shoutout to everyone who gives back to the community by answering on stack overflow and such

  • @xodix1416
    @xodix1416 9 หลายเดือนก่อน +6

    Javascript: A commercial application that is a learning platform with a code editor.
    C: Hello, world!
    C feels just so raw and so powerfull and javascript is a dependency hell. Try to make what you are making as a native C application and tell me how much you love C.

  • @midlFidl
    @midlFidl 10 หลายเดือนก่อน +28

    Sometimes I honestly find it simpler to "reinvent the wheel" then having to learn someone else's api. Most of my PR comments at work have been "use instead". If the use case is complex and my own implementation is buggy, I get it. but a lot of times if it is something fairly simple and it works I dont see the point of ripping it out and npm installing another package. But hey...

  • @IvanRandomDude
    @IvanRandomDude 10 หลายเดือนก่อน +281

    Web development nowadays basically boils down to integrating dozen SaaS services "with generous free tier". Which is understandable, using already existing solutions is a good idea instead of making your own. I hate it but I understand it. With that said, if you hate this trend then maybe web development is not for you. You should try embedded programming, systems programming, game development or whatever else exists.

    • @franokkkappa8882
      @franokkkappa8882 10 หลายเดือนก่อน +39

      Any alternatives to embedded, sys programming and game dev? Maybe cloud computing, data engineering?
      Recently I realized that using a lot of already existing libs and frameworks which always require reading docs a lot gives me zero drive as basicaly I do not use my math and algorithmic skills, instead I seat for hours trying to understand unknown bugs or ask chatgtp to code what I want without even understanding the thing.

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

      ​@@franokkkappa8882 ​ I do programming on the aws cloud related to Dr and backup using java 8 and aws sdk. So far most of my work has been - understanding the codebase and coding style followed in my company, interacting with aws services using aws sdk where you have to call methods/APIs for various functions and some other tools. So far, the main part that takes thought is the research about a service, use cases, various configurations for the service. What data should be stored, how should be stored, creating tables, etc. and I think most cloud related development should be in the same ballpark. The most here important learning for me has been reading the existing codebase which helped me learn about various Design patterns used like strategy, factory, adapter and builder pattern, multithreading and many nuances about java. You can maybe find some help as to what cloud development is like (again this had been my work as a junior Dev in a startup so things may vary) and if you wanna get into cloud development

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

      @@franokkkappa8882 you're probably looking for python? You can think in mathematics and get stuff done without much boilerplate.

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

      ⁠​⁠@@franokkkappa8882 If you want to use math and algorithms then data science/engineering like you mentioned sounds great. You’re going to end up using Python with existing libs and reading docs though. Another option may be application programming (not APIs) writing software people use that is math heavy on the backend like Photoshop & other applications that require clever applications of math and algorithms to really push performance.

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

      Don't forget you sign up for something like Azure to host your site. The runtime cost of your instance is negligible, the cost of your storage is trillions despite the virtual disk being so small it belongs in the 1980s.
      Been there. I've seen people move back to on-prem because of that and similar nonsense.

  • @akifimran9780
    @akifimran9780 10 หลายเดือนก่อน +366

    I feel that way too. We want to become engineers that make those tools (make libraries), not be developers (use libraries).

    • @RicardoSilvaTripcall
      @RicardoSilvaTripcall 10 หลายเดือนก่อน +33

      That's what I thought some time ago, I would like to create/produce the tech and tools we use, and not to be the user of those things ...

    • @twothreeoneoneseventwoonefour5
      @twothreeoneoneseventwoonefour5 10 หลายเดือนก่อน +31

      Hmm I think it is the same thing though. People always use something abstracted to build something. There can be a lot of complexity either way, either it is a library, or a whole blown project with a non trivial use case. Someone may like developing a "heat statistics library" and someone may like developing the "scientific dashboard" that uses a bunch of those libraries to aggregate the statistics, process, visualize and make dynamic user event interactions, for example. Both are fun imo.

    • @ashishnagar4772
      @ashishnagar4772 10 หลายเดือนก่อน +21

      and in order to write your own library you have to use external libraries ¯\_(ツ)_/¯

    • @thes7450
      @thes7450 10 หลายเดือนก่อน +5

      Lol engineers and developers both integrate and build system..Even if your title is a software engineer, you have at some point have to use other dependencies..think about efficiency rather than what's fun. Sure at some point you have to build the solution yourself. In general, just stay at the middle ground.

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

      I don’t know man I just wanna make a living, and the wage way ain’t gonna cut it too. Build your tool, then build a company on top of it

  • @pengie_
    @pengie_ 9 หลายเดือนก่อน +54

    This is why i love game dev, more primarily graphics development and using maths everywhere, its fun

    • @Novallovesgames
      @Novallovesgames 9 หลายเดือนก่อน +1

      how did you learn all the math for graphics development

    • @user-ayush818
      @user-ayush818 9 หลายเดือนก่อน +13

      ​@@NovallovesgamesLinear algebra and multivariable calculus is the only requirement, just if you prefer, you can learn from pdfs, wikipedia, or use video tutorials if you like.

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

      Interesting comment. Didn't enjoy gamedev a lot when I tried, with the exception of graphics programming. Felt like a lot of work creating textures setting up levels instead of problem solving and coding. The time to reward ration didn't feel great to me either, it took a massive amount of hours to make 1 min of medium quality gameplay.

    • @josemou6172
      @josemou6172 9 หลายเดือนก่อน +2

      ​@@brunojambeiro6776do you know what career path is good for problem solving? Im so confused rn

    • @brunojambeiro6776
      @brunojambeiro6776 9 หลายเดือนก่อน +3

      @@josemou6172 I mean, I am currently in university and don’t have any work experience. My plan was just to work on AI or some other field which involved a lot of math. Graphics programming was actually pretty enjoyable, but it was just a small part of doing an entire game. If you are more artistically inclined than I am then perhaps you will enjoy game dev more than me, since I didn’t enjoy drawing textures or making/designing levels.

  • @bharghavak
    @bharghavak 10 หลายเดือนก่อน +34

    Truly feel the same way.
    Feels more like fiddling and getting "stuff to work" than problem solving

  • @hlrbBrambleX
    @hlrbBrambleX 10 หลายเดือนก่อน +69

    I remember back in college, I was chilling programming in c++ for two years and web programming course came to me. The learning curve was a mess. That's the first time I felt hatred in programming.

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

      I remember when I was a kid I used to make websites in plain HTML, CSS, and PHP. It was fun to do. Then in college I joined a webdev club and had to start learning React. Oh boy, even after already having used Node.js for a variety of different projects, I was not having a good time learning React.

    • @adriatic123
      @adriatic123 9 หลายเดือนก่อน +7

      Why did you force yourself into web dev. It is a completely different mindset and skills, not much easier than low-level programming in C

    • @sushanth1689
      @sushanth1689 หลายเดือนก่อน +1

      ​@@adriatic123lol low level programming is much harder that's why pplmchoose web dev

    • @kowaihana
      @kowaihana 29 วันที่ผ่านมา

      ​@@sushanth1689web development is just gluing together frameworks/libraries

  • @dealloc
    @dealloc 10 หลายเดือนก่อน +36

    To me this is just a general approach that some people have. Regardless of language. C is no different when it comes to dependency hell. It's just that you kind of create it yourself, due to vendoring, or your forget it after having spent an enormous amount of time with CMake or the like.
    If you were to do any async programming, graphics (3D, 2D, GUI, etc.), audio, you name it; something more that "just manipulating memory", chances are that you'd have a similar experience scouring for suitable libraries in the same vein, and having to deal with those who then have ton of extra dependencies.
    I agree with your last statement. It's fun to build it yourself; of course it's not always viable in cases where you are restricted by deadlines and whatnot, but for the most part, whether it's C, JavaScript or any other ecosystem, it's fun to try and build it yourself and learn from it.

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

      C dev, same thing and stuck with bunch of Tint as well. I hope someday we get paid to reinvent

    • @Roboprogs
      @Roboprogs 25 วันที่ผ่านมา

      DLL hell?

  • @recarsion
    @recarsion 10 หลายเดือนก่อน +18

    I've just been thinking about this recently. I've been feeling not unhappy, but sort of half-happy in my daily work for years at this point, like most days I'm not into it that much but then I'll get one or two days every week when I really just get into the flow of coding and solve problems and I feel happy, and this is why I became a developer, this is the high I'm chasing. And I realized this happens the moment I go back to basics, when I'm writing algorithms, doing loops, and conditions, so in summary when I'm solving complex logical puzzles, not when I'm basically just configuring and orchestrating already existing tools. And sadly a lot of the most in demand and well paid areas of the industry have been for a good while becoming less and less of the former and more and more of the latter. I guess it's sort of just the way it works, it's our profession, creating software so other people can get things done more efficiently, but ironically this affects our own field as well, we're basically continually optimizing out the fun part of our work, which makes me incredibly sad.

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

      I think that your unsatisfaction from solving these problems, might indicate that you should pursue avenues that are more challenging for you. The growth from this might not only make you happier, but will also make a more competent person all-round. I'm also not so sure if this type of work is among the most well paid in the industry. If the types of problems you have to solve aren't difficult to solve, then are a lot of other people who can do it. Thus lowering the wage that an employer is willing to pay. Good luck man!

  • @anon_y_mousse
    @anon_y_mousse 10 หลายเดือนก่อน +31

    My take on the problem is that if you're a professional C programmer, you either build up your own dependencies or you build up a list of other's dependencies that you know how to make use of. If you already know how to implement the various data structures you need, don't keep reimplementing them unless it's for fun, use a library. If it's your own, then great, but it doesn't have to be. Though, I will say that I've been unhappy with most of the various UI libraries for a while now. It doesn't help when they seem to revel in making breaking changes. I'm sure some people will make excuses and rationalize on the time periods but when you've been at it for 25 years you expect an interface to last longer than 5 or 10 years.

    • @ScienceAfterDark
      @ScienceAfterDark 4 หลายเดือนก่อน +2

      Win32 for the win! (Just not very happy about the direction Microsoft is going with Windows 11+ however.)

    • @anon_y_mousse
      @anon_y_mousse 4 หลายเดือนก่อน +1

      @@ScienceAfterDark Sadly true, and I'm a Linux user. Of course, because of WINE and my old school knowledge of Win32 from my Win98 days, I could still make use of that stable interface if I wanted. So in a way, it's still also a Linux win because I've got *many* choices.

  • @darkdudironaji
    @darkdudironaji 10 หลายเดือนก่อน +9

    This is exactly how I feel. I like the problem solving part of programming. Not the finding other stuff to do this for me part.

  • @rog0079
    @rog0079 10 หลายเดือนก่อน +67

    why didn't you create your own graph-ui from scratch for your website? 🤔

    • @DarkNevrozz
      @DarkNevrozz 9 หลายเดือนก่อน +2

      😂😂😂😂

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

      He’s trash that’s why and can’t

    • @daphenomenalz4100
      @daphenomenalz4100 9 หลายเดือนก่อน +1

      Yeah, you can make it easily with lerps. You would have to search for some mathy stuff tho

    • @j.r.r.tolkien8724
      @j.r.r.tolkien8724 2 หลายเดือนก่อน +1

      Good question. He loves reinventing the wheel but he chooses not to then complains about it.

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

      Yup, any C savy person can grasp webGL rather quickly and do these kind of fun stuff with their (usually good) math knowledge, 🤷

  • @specy_
    @specy_ 10 หลายเดือนก่อน +18

    If you want to do it by hand like you do in C, do it, none is stopping you.
    The thing with web development is that it's a lot of complexity abstracted away form you, you have the freedom to do things by hand and do them however you want, which is something i prefer to do personally (for everything that isn't "really hard" to make like monaco editor) because it gives you more control on your code, but many people just go the lazy route and just install the dependency, you do that to yourself, it's not web development.
    C has libraries too, and things that you absolutely need to use if you don't want to go on a one year roll on making your own implementation, it always depends on what you need to do, people see web development with things premade so they think it's all nice and simple, but all those dependencies are really complex under the hood.
    I also see many many first coders saying "oh c and c++ is better" yet the most they have done is a one/two files script with some CLI input and output, ofc you like it more, you barely got the tip of your foot into it, the program opens once, runs, and finishes.

    • @patrickkdev
      @patrickkdev 9 หลายเดือนก่อน +2

      THIS 🙌

    • @detzel2397
      @detzel2397 9 หลายเดือนก่อน +1

      Absolutely agreed 👍

    • @tanura5830
      @tanura5830 9 หลายเดือนก่อน +1

      That's why we don't like it it's abstracted from you

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

      ​@@tanura5830but... You aren't forced to, go make it raw

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

      @@specy_ you are forced to if its your job. that's why most libraries and tools we use, no matter which field of programming you're in (webdev, gamedev, embedded, etc) are free and open source, made by the community on our spare time. companies don't care about making good software, they care about putting out a product as fast as possible with as low of a cost as possible.
      that's why indie games nowadays are almost always better than AAA, and why open source software is being adopted more and more, even by non-developers (the only reason they aren't more popular than their proprietary alternatives, in my opinion, is that most developers are really bad at making an UI and UX that would please a regular person. We have very different needs and a very different definition of optimal than tech-illiterate people, for better or for worse).
      If all free and open source software vanished from the world tomorrow, we would no longer have internet, or any real compute for that matter. Almost everything would be bricked.
      The digital world, as rotten as its gotten in recent years, is still being held up by love, not money.
      If you want to make good software, you need to do it yourself on your spare time for no monetary gain or start your own company around it. But good software doesn't sell.
      We have access to too many clock cycles and memory for our own good.

  • @vadiks20032
    @vadiks20032 9 หลายเดือนก่อน +5

    C is about using few libraries and thinking how to do a task
    javascript is about using lots of libraries and finding which one is suitable for task

  • @patrickmoehrke4982
    @patrickmoehrke4982 10 หลายเดือนก่อน +30

    I've only used vanilla JS to code some small functionalities for basic sites but wow I feel this way about Python (data science type work)! It feels like lego but the pieces are from different sets! The data types coming out of the libraries don't want to talk to each other and then suddenly my version of Python is too high for the library, then C/C++ dependency issues creep in and I need to containerise everything with specific pinned libraries (down to the patch) tied to a specific version of Python and such so it doesn't break... I also find the whole 'reads like English' thing to be overstated imho

    • @kingsleyugwu9399
      @kingsleyugwu9399 9 หลายเดือนก่อน +2

      It's worse with JS

    • @isaac10231
      @isaac10231 9 หลายเดือนก่อน +1

      I've had the opposite experience personally. When something breaks in Python I'm like "yeah I can definitely figure this out"
      When something breaks in JS I pray I can figure it out lol

  • @surajmandal_567
    @surajmandal_567 10 หลายเดือนก่อน +97

    C was my first programming language. I love it even though sometimes I do segfaults.

    • @kartik4792
      @kartik4792 10 หลายเดือนก่อน +6

      Nowadays, there are many tools which help you figure out the cause of segfaults easily. Major issue is detecting them before release 😂

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

      @@kartik4792 there is also Rust that won't allow you to compile code that leaks or segfaults

    • @Ellefsen97
      @Ellefsen97 10 หลายเดือนก่อน +3

      I also rarely find segfaults to be that hard to debug after getting more used to C. When an segfault happens I generally have a good idea what part of my code produced it. Then I just look to see if there are any obvious bugs that could cause "out of bounds" errors, maybe put some print statements here and there. Even while making semi complex projects it's been a while since I've gotten stuck on a segfault.

    • @recarsion
      @recarsion 10 หลายเดือนก่อน +1

      Honestly I loved doing C, there's just something incredibly cool about doing all the low-level stuff, and segfaults are usually not that difficult to fix, there's tools like valgrind for that. In retrospect why I wouldn't do C again is the lack of proper build tools, make, cmake and the like are just such a pain in the ass...

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

      @@recarsion That's actually true. Starting a project and setting up build tools is pain in C relative to newer language s like rust and zig. I think we can use zig's build tool for C.

  • @ricopin
    @ricopin 10 หลายเดือนก่อน +76

    I agree 100%. I started with JS programming in the mid 2000s and had a lot of fun. But over time using JS didn't felt I was solving any problems but rather just puzzle together half baked external solutions and libraries. I had the feeling I had to solve problems that wouldn't exist if I would just solve the issue from scratch. Instead I have to blame programmers I don't even know for errors that aren't mine. This became worse and worse.
    I switched eventually to C#, then C++ and now I am programming games in Unreal 5.
    Recently I had to briefly work on a web app using react and oh boy, I don't miss webdev.

    • @hago7568
      @hago7568 10 หลายเดือนก่อน +1

      Interestingly my journey went the other way around! I started with C++ UE4 and kind of stopped with UE5. I think the advantage with webdev is definitely that as a one man show you can make things happen without having to rely on a large team of artists designers etc. So I guess swings and roundabouts

    • @RisenThe
      @RisenThe 10 หลายเดือนก่อน +2

      I'm choosing one right now... web dev or game development. One look at job postings tells me I should go for web dev if I want a job.

    • @naughtiousmaximus7853
      @naughtiousmaximus7853 10 หลายเดือนก่อน +2

      ​@@RisenThe dont let them gaslight you, web dev is where money and W/L balance is. I have friends in game development, they all work really long hours and on top of that have worse salaries.

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

      Is it fun designing the world etc?
      Creating chatacter and actors in unreal made me stop learning it. I always messed up with level creation etc.
      But i love the C++ programming part.
      Any advice plz?

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

      @@yahyaa4499 Unreal is quit a beast, I also did Unity before that. Unity is pretty good to just get going. Unreal has a lot of manual work going on before you can actually concentrate on the game making part. For a one person project I would maybe stick with unity for now.

  • @rchronicler
    @rchronicler 10 หลายเดือนก่อน +6

    This is it! This is what I've been feeling too, when I'm developing websites using today's modern stacks. It doesn't really feel like I'm an engineer, I know they're there to make our lives easier, but you know I just don't get the spark of programming because I just spend my day to look for libraries and learn those libraries instead of building something from scratch on my own.

    • @gintoki_sakata__
      @gintoki_sakata__ 10 หลายเดือนก่อน +3

      Broo 😭
      I can use html, CSS, js/ts and when I was learning angular, it didn't feel like I was doing JavaScript anymore.

  • @SeresHotes25
    @SeresHotes25 10 หลายเดือนก่อน +3

    Nah, you're wrong. In C developers don't have dependecies because it's easier to write the whole thing than to add dependency in C. Compare it to Rust or Go, where projects can have a lot of dependencies, because of how easy it is to add one.
    I dislike webdev because of how many ways you can develop an application. A "default" way doesn't exist. You can have a popular one (React), a trendy one (Svelte, htmx), an old one (jQuery), an easy one (lambdas, firebase), etc. And all of these have its own shortcomings!

  • @HemstitchedIrony
    @HemstitchedIrony 10 หลายเดือนก่อน +5

    You actually articulated this so well, I've been feeling like my job has just been piecing together libraries to make something useful instead of actually building something myself, I still enjoy it but it feels more like combining different pre-built Lego sets to make a cool city of Lego buildings, instead of building a Lego house from scratch by yourself.

  • @LachlanMiller
    @LachlanMiller 10 หลายเดือนก่อน +7

    2:30 "skill goes out the window". This is where experience comes in, I guess. agree dependency management kind of sucks, though! webpack is a huge pain, though.
    One thing thing about webdev and all the tooling/integration is you can get a lot done really fast! I agree coding the thing is more fun than wiring the thing, but a lot of webdev is about business value - using things and spending a few hours tinkering with deps has a much bigger ROI than implementing X from scratch.

  • @nick15684
    @nick15684 9 หลายเดือนก่อน +3

    C programming is in my opinion much more rewarding than web dev, any day of the week. It feels more like actual engineering.

  • @BudgiePanic
    @BudgiePanic 9 หลายเดือนก่อน +3

    You know JavaScript devs are loosing it when your using a library to add strings together, a library to check if a variable is an integer

  • @Nova04550
    @Nova04550 8 หลายเดือนก่อน +1

    This is a great rant.. When I learned to program I fell in love with understanding things at a low level, data structures, algorithms, problem solving, building whatever I want... Then it turns out that 90% of modern day programming is not any of that, it's like you said.. a scavenger hunt. Wading through endless amounts of libraries, APIs, documentation, abstractions, error codes, community posts, etc.
    Learning a large codebase is a similar experience. Wading through endless abstractions to finally piece together the actual logic / work that's being done!

  • @luqmanhamdan9285
    @luqmanhamdan9285 10 หลายเดือนก่อน +8

    This is why I hate web development jobs in general and it never works for me. You learn the basics and then when you enter a company doing web development, you're almost going insane. To create this feature, you need to use this framework and you set it up in your laptop. Suddenly, there are so many packages and dependencies needed to install before you start doing the actual work, jump through so many hoops and search even before you start building a feature. Don't get me started that every single year there's a new JavaScript framework pop up and you also need to catch up with the existing framework.

  • @fredwh09
    @fredwh09 9 หลายเดือนก่อน +4

    the argument is strongly biased. Even in C you dont code everything with basic control logics, you use libraries. And hell there is no package management out of the box. If you want to use a library (e.g. OpenSSL) version thats different than the version pre-installed on your system, good luck getting all that compiled on your own and get all the include path figured out.

  • @lorenzomonacelli
    @lorenzomonacelli 10 หลายเดือนก่อน +5

    Oh, finally someone that tells this story. I hate when people bring the big “ecosystem” as some plus of a language, while in reality, most of the time, the work to make random libraries work together or, even worse, maintaining that code requires much more effort than rewriting everything from scratch. I had a similar issues with a python application I was developing with tons of dependencies that started randomly conflicting. I had to first downgrade and fix all the version (which was a hell to figure it out what version was working before), then somehow, pip managed to broke also that as one of the library version ceases to exist on the repository, and then all again the work of finding new fixed versions that work. It is like this every few months. Returning back, I would simply rewrite everything from scratch and avoiding libraries at all except for the basic ones (numpy)

  • @SchioAlves
    @SchioAlves 9 หลายเดือนก่อน +1

    Well, that’s not about C versus JS at all, nothing is stopping you from building it from scratch in JS

  • @Avantarius
    @Avantarius 10 หลายเดือนก่อน +4

    The main difference is that C doesn't have a package manager with dependency management so C libraries tend do be self-contained more often then not, thus avoiding those kind of problems.

  • @hotwings9382
    @hotwings9382 9 หลายเดือนก่อน +5

    I feel you bro, same here, coming out of university and finding web development is so easy is disappointing.

    • @josemou6172
      @josemou6172 9 หลายเดือนก่อน +2

      Easy? I know there isnt much problem solving but its still hard to get things to work properly.

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

      @@josemou6172 but solving issues isnt that much of a challenge on web than it is on say, embedded systems where you would spend weeks fixing a bug

  • @dev.roysalazar
    @dev.roysalazar 10 หลายเดือนก่อน +13

    If React is the wheel of a tractor, and what you need is a water wheel, you should definitely reinvent the wheel.
    If the first thing that comes to our minds in web development is "what libraries/dependencies do I need to use?" we have lost our way. I believe our mindset should be, "how can I achieve the desired outcome while minimizing the possible moving parts (aka. simplicity)?"
    I am working on a web application project in C, avoiding the use of external packages. I will create a TH-cam video about this when the project is further developed.

  • @Mkrabs
    @Mkrabs 10 หลายเดือนก่อน +32

    Alternative Title:
    "Web dev rants about dependency hell and talks about the good old days of using C in his younger age. "😅😂

  • @cyndaguy
    @cyndaguy 10 หลายเดือนก่อน +5

    this is the burnout I had after college, all the concepts feel like they're for nothing but interview prep

  • @1DiscipleDragon
    @1DiscipleDragon 9 หลายเดือนก่อน +1

    I learned C/C++ during my undergrad for embedded system applications. It was fun to be given how a motor vehicle or sensor should receive data and how I should manipulate that data by implementing my own specific logic to make a decision for the microcontroller to do. I like making and figuring my own logic to how something should work. I don't like it when a library does everything for me. I sometimes question and want to see how the library does a certain part of the logic or conversion of data rather than just accept that it works.

  • @besherkitaz4529
    @besherkitaz4529 10 หลายเดือนก่อน +7

    Yes, I would totally agree with that. It is more fun to write code from scratch. You feel like you are accomplishing something, rather than getting stuff for granted. Although using dependencies is more efficient in most of modern development cases.

  • @brianschalme1457
    @brianschalme1457 9 หลายเดือนก่อน +1

    Java solved this problem of transitive dependency management some 15 years ago with Maven. Until then, we suffered through this same hell. Nowadays, Maven or Gradle are used in pretty much every Java code base.

  • @tamasbalint1597
    @tamasbalint1597 10 หลายเดือนก่อน +9

    Love to see your perspective on C vs web dev. I am a self-taught web dev with 7 years of experience and it is really interesting to me how someone like you looks at web dev. I feel your pain by the way. Just been upgrading an 8 year old React codebase to React 16.9 (will get to 17 or 18 eventually) and it was not fun. The pp was crashing without any errors at some point.

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

      th-cam.com/video/CXFRMr40pPc/w-d-xo.htmlsi=SJ0hmIZvFUacFY9l

  • @sm-sayedi
    @sm-sayedi 9 หลายเดือนก่อน +1

    Very well said!!
    I started programming with Java as my first language. I learned it through a book called "Introduction to Java Programming and Data Structures" by Y. Daniel Liang, and those times were the best so far in my coding journey. Working on that book's problems, I felt challenged and had a feeling of achievement with everything I was learning! But nowadays working on modern frameworks, is just learning about the framework itself, not the actual problem-solving! Now, I just feel useless, to be honest. 😒
    I hope the programming gets back to its original enjoyment state!

  • @eti-iniER
    @eti-iniER 10 หลายเดือนก่อน +32

    I agree 100%
    I did Leetcode and Codeforces for fun, but I worked as a full stack React/Django developer at my last internship. It was extremely boring, and difficult in a tedious sort of way. Getting state to work properly, routing, caching API request data... It was just so stressful; I'd take a LC Hard over all that any day 😅

    • @ataulhaqakbar7365
      @ataulhaqakbar7365 10 หลายเดือนก่อน +6

      Lmao I'm the opposite, I absolutely love routing, API caching, microservices, etc. This is why I'd much rather do a system design interview than leetcode coding interviews

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

      @@ataulhaqakbar7365 actualy comparatively, system design and framework design takes more time to learn than LC. higher Learning curve for building a critical system than solving hundreds of LC in few months...

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

      Abstraction abstraction

    • @pepehimovic3135
      @pepehimovic3135 10 หลายเดือนก่อน +2

      Then why don’t you pursue a research position? Specifically those that involve developing algorithms.

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

      @@pepehimovic3135 I am opposite. I dislike C and C++. Give me C# and minimal APIs over them any day of the week.

  • @ALL4gr8fun
    @ALL4gr8fun 9 หลายเดือนก่อน +1

    100% agree. That's exactly why I quit web development and went into embedded. Refreshing.

    • @ScienceAfterDark
      @ScienceAfterDark 4 หลายเดือนก่อน

      For someone to go into embedded, do they need an actual engineering degree, or are there lots of embedded programmers without engineering degrees, who just learn the electronics and circuit aspects on their own?

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

      @@ScienceAfterDarkyou need a stem degree at the minimum. I’ve seen defense companies have that as a requirement.

  • @lihinfei8334
    @lihinfei8334 10 หลายเดือนก่อน +4

    Kind of agree with this, just like people would enjoy cooking more while at camping rather than at home. But the problem will not change unless you can find a job building something from scratch and I would say most of the job just building block using dependency and even worst maintaining it with some legacy package.

  • @thentheric6361
    @thentheric6361 9 หลายเดือนก่อน +1

    💯 Dumpster-diving for libraries in Java was the very reason why I switched from Academy level IT Engineering to a Multimedia Development Technical back in 2004. Then Flash died (no regrets there) and JS took over, and by now webdev became a way worse cesspit of dependencies than Java was to me back in the day. I've been looking into Zig lately, because I picked up C-like coding with Quake modding, and the language feels very comfy so far. Too bad my daily bread's still webdev.

  • @suheelhussain4975
    @suheelhussain4975 9 หลายเดือนก่อน +3

    Based on my experience in C, Web frameworks, backend -- the issue with Webdev is lack of standardization. In Python, Java, and C well-tested open source libraries are released by well-known organizations (say Apache for Java, and GNU for C/C++). This is not true in Webdev.

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

      kinda hard to standardize when ur span life is 2 years of fame.
      also a lot of them are tools frameworks instead of lib so they have a lot more magic involved.

    • @kowaihana
      @kowaihana 29 วันที่ผ่านมา

      It's ultimately because of how the internet and browsers work (which we can't fundamentally change nowadays. Developing in web dev is just copage.

  • @alvarosanchezp
    @alvarosanchezp 5 หลายเดือนก่อน +2

    "Most of the programming I do nowadays is in JS, and I really hate it"
    👏👏👏👏👏👏
    That's exactly how I feel. I totally understand you.
    I will say more, JS should be prohibited outside the browser. NodeJS was the biggest mistake in computers history.

  • @asdasddas100
    @asdasddas100 10 หลายเดือนก่อน +19

    This is how I feel about frontend. Backend is fine for the most part
    It's mind boggling to me how people can enjoy frontend development in this day and age

    • @thes7450
      @thes7450 10 หลายเดือนก่อน +2

      Because you think front end is just a building basic website..try look at what you can do with three js. If you want to do advance stuff with three js, you gotta know some math. If you know stats, you can do advance data visualization with d3.js. There are more things you can do on the front end than just basic website especially when web assembly is getting more popular. Yes what you see in games not just the web is also considered as the front end.

    • @asdasddas100
      @asdasddas100 10 หลายเดือนก่อน +13

      @@thes7450
      I looked. I don't see how this is useful in 99% of web applications and I highly doubt the majority of frontend devs are using libraries like this... I could be wrong though

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

      @@asdasddas100 It's useful for complex interactivity on the front end. I would say about 30% of front end dev know this kind of libraries but those who mastered it is probably around 10% . It's getting more popular and are used by a lot of creative developer. With web assembly getting more popular, you're going to see a lot more complex interactivity like this with near native performance.

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

      @@thes7450 d3 and three.js is cool, I agree. It's mostly just making UI and as you say basic websites that is boring.

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

      @@thes7450d3 honestly isn’t that hard of a library to work with unless you’re doing physics simulations using force body and stuff like that (which I had to do for a little bit and it was frustrating as hell). All in all, it took me about a week to build out the visualization of a dag using dagre, dagre-d3, d3, and htmx. Dagre and dagre-d3 were used to render the dag, and then I used d3 to place htmx attributes onto the elements of the dag to make it respond to clicks, poll a backend, respond to SSE, and stuff like that.

  • @davew2040x
    @davew2040x 9 หลายเดือนก่อน +1

    I mean, technically you COULD have just written the code yourself!
    I agree that so much of Web development devolves into package management hell. Of course that tends to drive people to want to just do everything themselves, and then when they’re done they put up a package for it, and then the universe of packages gets larger and the problem gets worse.

  • @ItsMorze
    @ItsMorze 10 หลายเดือนก่อน +6

    C & C++ actually have a similar problem with the building process - make, cmake, ninja, gcc, clang, msvc
    and don't even get me started on cross compiling
    But yeah, JS is worse.

    • @suheelhussain4975
      @suheelhussain4975 10 หลายเดือนก่อน +1

      Gcc clang and msvc are compiler and linkers: c make is a set of build instructions. Cross compiler is just building a tool chain - that is one time cost. So not sure where is the difficulty

    • @knufyeinundzwanzig2004
      @knufyeinundzwanzig2004 9 หลายเดือนก่อน +2

      the thing is though in C or C++ there is a chance you can ignore all of these garbage build tools, just call the compiler and you're done. the only time when this doesn't work (which might unfortunately be quite a lot of times) is when someone builds a garbage library that is so overcomplicated you can't even figure out which source files to feed to the compiler to make it work

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

      @@knufyeinundzwanzig2004 Agreed.

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

      ​@@knufyeinundzwanzig2004android ndk:

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

    good video brother. i can relate. i view lower level programming like building the tetris blocks themselves, and web dev is just finding the right blocks to put together. been programming for almost 2 decades and that's how i view it, for what it's worth. and with lower level programming, you can also move and position those blocks too, to be even more powerful

  • @pedrobotsaris2036
    @pedrobotsaris2036 10 หลายเดือนก่อน +11

    You can just build your own in JS. By the way, have you ever tried managing libraries and build tools in C or C++?

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

      Exactly. C and c++ does also library dependency issues on some projects.

    • @rushyscoper1651
      @rushyscoper1651 9 หลายเดือนก่อน +1

      @@TheBrainDunne c++ yes but c is mostly about "rewriting better then importing"
      kinda like go and how they refuse to use frameworks and adding feature but somehow that work and make it easier.
      there is value in minimalism with programming in some domains like system programming but also value in extensibility and large eco system, like c++ python which kinda have lib for almost anything u can think of.
      when come to web dev domains honestly i think they went with the wrong option for the wrong reasons, u should never choose the second option for faster production and prototyping solution.

  • @lovrodvorski7180
    @lovrodvorski7180 10 หลายเดือนก่อน +2

    agree, also started with c and I hate how different issues are in web dev and anything you do in c, in c it's difficult to make anything so you need to learn how to do it by yourself and you grow, in web dev you just need to remember different exceptions and interactions between different libraries and api's, which isn't easy but your skillset is limited to those tools and if they ever change you can still remember the basic principles which caused errors but you can't really change/fix them in the first place, with all that said I'm still a junior :D

  • @PedroFerreira-kz6mq
    @PedroFerreira-kz6mq 10 หลายเดือนก่อน +10

    I'm this current position, and mostly because I'm studying DSA with C/C++. But getting a job with C++ is kinda hard.

    • @mrkike7343
      @mrkike7343 10 หลายเดือนก่อน +2

      Then with which language is getting job easy?

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

      ​@@mrkike7343 tools get you a job. The popular language for web development tools is JavaScript

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

      @@mrkike7343let him cook he'll realise it's not about language

    • @PedroFerreira-kz6mq
      @PedroFerreira-kz6mq 10 หลายเดือนก่อน

      @@mrkike7343 Nowdays, I think none, but if would say any languages, I would say .NET, Java and maybe Php.

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

      ​@@mrkike7343none...
      It's not about you know the language syntax or how good you are at leetcode with it.
      Getting a job is hard bc it requires trust now and days.
      I rather make a product and make money in my sleep rather than working for a company money.
      If I get layoff from my job like those people did in the tech industry, the money I was making from the company will stop and that's not good.
      Most of those people who got lay off did not have a backup plan. Some did save up money other didn't.
      Tech people needs to know how can I make money in my sleep so I don't have to worried about getting terminated in my job.
      School doesn't teach you how to become rich

  • @8Trails50
    @8Trails50 9 หลายเดือนก่อน +1

    I started my career in frontend. I went deeper into frontend, all the way to frontend infrastructure. Maintaining the entire "ecosystem" around static type tools, frontend package management, GraphQL libraries, etc.
    I am now far and away from it, writing literally only C++ at Faang, and the happiest I've been in my entire career.

  • @harddiskkosong3661
    @harddiskkosong3661 10 หลายเดือนก่อน +3

    Initially I hate web/mobile dev too. I'm more into embedded stuff. I did a lot of arduino programming back in college. Afterwards I'm hired as an IoT engineer. Instead of making an edge device using a microcontroller, guess what I'm doing all this time? Yeah making an API so HTTP requests can accept these sensor data. Feels like at the end of the day, I always end up in web dev rather than the actual embedded work.
    I really do like getting my hands dirty not only in programming but also on the hardware part. But this is where I'm now. Still wishing to have a firmware engineering job tho. Don't know if it's possible for me or not.

  • @SomeAndrian
    @SomeAndrian 9 หลายเดือนก่อน +1

    It's irrelevant to web development or JavaScript.
    Anytime you work on a large project with multiple teams, maybe even all over the world, you have to navigate someone else's code, learn some internal library and architecture.
    It comes with the territory.
    When you grow, that's what you grow into.
    To help you with that try "Working efficiently with legacy code"

  • @alexnoman1498
    @alexnoman1498 10 หลายเดือนก่อน +6

    I would like to recommend Zig here. It's C without any of the horrible decisions, it's safe and the build code is also just Zig. Even the macros are just more Zig. Zig does not leave you stranded or confused where C often does.

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

      Recommend, as in? Can/should I learn it if I don't know C yet? (for context, I am a frontend dev and I already have a job, so just for fun)

    • @kowaihana
      @kowaihana 29 วันที่ผ่านมา

      ​@@twothreeoneoneseventwoonefour5go for it

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

    So true
    actually recently I felt this boredom about what I'm doing in a daily basis as a back-end engineer
    you know, it's just doing some routine stuff that don't trigger my curiosity . I'm always stuck in problems that need searches and understanding some abstract tools better rather than building something using my creativity
    I understand that I have to start a side project that fulfills this passion to build things using more concrete and basic programming tools
    for example writing a simple game engine , or writing a framework which has less dependency on other tools

  • @Wielorybkek
    @Wielorybkek 10 หลายเดือนก่อน +31

    What is stopping your from writing your own implementation in JavaScript of the stuff that you need, like this graph? That would actually be a pretty fun exercise to figure it out yourself! You don't have to have libraries for everything. The same with C, do you implement everything by yourself? You don't have dependencies? If yes, do you really like managing dependencies in C/C++ more rather than with npm? If not, do you really love implementing over and over the same stuff by yourself, even the most basic things?
    Or the answer might be that you just want to solve leetcode problems instead of doing anything useful, then it's fine. :D

    • @morkallearns781
      @morkallearns781 10 หลายเดือนก่อน +35

      What's stopping him is the same thing that stops a company from doing it: money! Neetcode contradicts himself so hard in this saying "oh using libraries isn't fun" but when it comes to making his website he doesn't hesitate to use libraries because his primary concern, just like a company, is output.

    • @phoneywheeze
      @phoneywheeze 10 หลายเดือนก่อน +1

      i think it's different use cases
      implementing from scratch would be like writing a mini game engine
      while he uses to write C it was memory management and stuff

    • @twothreeoneoneseventwoonefour5
      @twothreeoneoneseventwoonefour5 10 หลายเดือนก่อน +12

      You didn't get what he was trying to say at all. It is not that "something stops him", but that using libraries is the most effective way and that it is EXPECTED for people to use them. So, if you a are a dev, and you WORK as a dev, then you are expected to be as good as someone else on average. People use libraries on average. And he don't really like that (preference). But in C world people build all the stuff themselves all the time, so you are not reaallly expected to use and juggle tons of dependencies and he (preference) likes that more.

    • @Wielorybkek
      @Wielorybkek 10 หลายเดือนก่อน +1

      @@twothreeoneoneseventwoonefour5 I am building my own web components all the time, it depends on the use case. If you want to have full control and something is important part of the business then it makes sense to write it yourself. I also don't really believe it's the case that C programmers don't use libraries, I would be very suprised if that's the case. Maybe if you don't write anything complex but if you actually want to solve some useful problem then you need dependencies and you need many of them for different purposes.

    • @twothreeoneoneseventwoonefour5
      @twothreeoneoneseventwoonefour5 10 หลายเดือนก่อน +2

      @@Wielorybkek I generalized. The amount of libraries and dependencies in complex frontend over which you have no control and have no idea what's going under the hood is 10+x more than in any C program ever.

  • @jahoopyjaheepu497
    @jahoopyjaheepu497 10 หลายเดือนก่อน +2

    I feel the same way. I generally enjoy vanilla Javascript, but prefer C-like languages where using dependencies isn't the norm. I try to build most things myself unless I absolutely don't have the skill, or if doing so would take an unbelievable amount of time. This is one of the reasons I prefer vanilla JS: I almost never work on a project massive enough to require React.

  • @SuperAppsUSA
    @SuperAppsUSA 10 หลายเดือนก่อน +14

    That "throwing dependencies together", is a skill, and it takes time. But I agree with everything you said. I think that my attitude towards it is very much the opposite, I find it very fun and really hate writing code I don't need to write. Very interesting viewpoints.
    I work with React Native every day, and it is everything you just said, very little development, and a lot of package lookup and implementation.
    Subbed!

    • @Snollygoster-
      @Snollygoster- 10 หลายเดือนก่อน +2

      It's only because the js ecosystem is polluted with loads of garbage and unnecessary dependencies. If you need a package for something, you shouldn't have like 45 options to choose from. It should be like 1-3 decent options. And then there's things like...leftpad

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

      @@Snollygoster- I agree with that, but I think that is just the nature of packages, there are good ones, there are bad ones, and there are ugly ones :P

  • @amynguy
    @amynguy 10 หลายเดือนก่อน +6

    thats why they give front end work to new devs

    • @PleasFre
      @PleasFre 10 หลายเดือนก่อน +9

      backend has dependency issues too

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

      @@PleasFre nope

    • @pietime123123
      @pietime123123 10 หลายเดือนก่อน +2

      Bro backend web development is no different, it has the exact same dependency issues. Web dev as a whole just blows, and the only reason it's so popular is because it's the money generator.

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

      @@PleasFre not really unless you are using java script for that too 😂 as in node js. Java spring and c# dependency stuff is easier to work with

    • @IO-_-Ol
      @IO-_-Ol 10 หลายเดือนก่อน

      Back end gets super messy too. Idk where you got that from.

  • @musicdev
    @musicdev 10 หลายเดือนก่อน +1

    This 100%. It’s why I left the web world for DevOps, and while I unfortunately can’t run away from this problem completely, it’s very rare I have to pull in external libraries in my code

  • @abdirisakmohamed5664
    @abdirisakmohamed5664 10 หลายเดือนก่อน +45

    sometimes getting the job done is the fun part specially when you have deadlines

    • @amynguy
      @amynguy 10 หลายเดือนก่อน +28

      sometimes its the salary

    • @eliasgill2453
      @eliasgill2453 10 หลายเดือนก่อน +15

      ​​@@amynguy being paid is always the fun part 😂😂

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

      @@eliasgill2453 fun is getting paid but deadlines are deadlines.
      We needed them if we wanna keep our job.
      You have to learn to scam your company. I just network with the other engineers to fool our managers. Never be loyal to your company no matter what. Only be loyal to the people you are working with. We are in it together

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

      tell that to golang and htmx that showed how silly that argument is.

  • @stark_energy
    @stark_energy 9 หลายเดือนก่อน +1

    Agreed, this happens to me. The web Javascript/Typescript and NPM world really just about adding more and more plugins i.e. dependencies with exponential unreliability and compatibility + bugs every time you add another. There will be neverending updates and revisions every week, some don't change your program, some will make your program buggy, some will even crash your program. The more complex project you have the more time you spend on others internal code or documentation or StackOverflow just to find out, maybe, that their plugin is buggy.

  • @1vader
    @1vader 10 หลายเดือนก่อน +11

    This has nothing to do with C vs JS though. It's just that you're doing much more complicated but also common things with web dev and don't have time to implement an editor or a graph library yourself.

    • @Luxalpa
      @Luxalpa 10 หลายเดือนก่อน +2

      I mean, you just straight up wouldn't have any of those problems if you were using editor libraries in C++. It is unique to webdev, because webdev requires all this (nonstandard) meta programming, bundling, etc. for web browsers.

  • @DylanFalconer
    @DylanFalconer 9 หลายเดือนก่อน +1

    I started in web and took the C-pill a few years ago. I never want to go back

  • @OGNord
    @OGNord 10 หลายเดือนก่อน +5

    I’m a new CS student and currently semi deep in to C, I was scared of it after listening to a bunch of semi senior programmers bashing it and calling it “extremely difficult”. I love it despite the hair pulling, it’s everything I thought programming was after at first trying python and honestly being disappointed in its simplicity. It felt dumbed down, granted scratch was easier but still fun and challenging at first. I’ve got a long road ahead of me but I think later transition in to C++ for my game development will be fun.

    • @rusi6219
      @rusi6219 10 หลายเดือนก่อน +1

      C is definitely one of the easiest languages there is.

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

      Learn c if you want to get into system or embedded system programming c is best

  • @stumblinzz
    @stumblinzz 9 หลายเดือนก่อน +1

    I am the complete opposite man. You actually bring up so many good points. I'm also going to add that because everything I've done in webdev has basically been this, it has been a truly odd experience trying to learn algorithms just so I can go screw around with webdev and UI bullsh*t at MULAFAANG and pass their ridiculous interview.

  • @papasligeramentesaladas8514
    @papasligeramentesaladas8514 10 หลายเดือนก่อน +4

    U right bro! That's the reason why i love backend dev.Even with moderns frameworks or libraries working on backend i can get reduce this kind of problems.I like c lenguaje too

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

      Do you want to say that guy from the video meant frontend when he said "webdev"? If so, can you say that backend dev remains more fun and interesting in this regard than frontend?

    • @papasligeramentesaladas8514
      @papasligeramentesaladas8514 9 หลายเดือนก่อน +4

      @@baldislavep00pczynski68 Not really , i said that when u working with webdev you'll probably get this situations but at backend it is less common.Anyways , for me is more fun backend , but it's just a opinion

    • @daphenomenalz4100
      @daphenomenalz4100 9 หลายเดือนก่อน +2

      ​​@@baldislavep00pczynski68 atleast you don't have to write long boring css 😂

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

      ​@@papasligeramentesaladas8514 same

  • @jonahbranch5625
    @jonahbranch5625 9 หลายเดือนก่อน +1

    Yep, my job as a web dev is mostly setting up libraries, reading the docs to learn how to configure them, or when the docs don't support what I want I'll write a few lines of js or css to hack my solution. Not much actual coding happens

  • @MineLoom
    @MineLoom 10 หลายเดือนก่อน +6

    I agree with you that doing things from scratch is more fun. But let's ask the question here, what is my goal as a developer? In a startup/professional environment you basically need to ouput as much value as possible in order to progress an application/product to a better state. You could have theoretically built that UI graph implementation by yourself but you choose to use a library because it was the wisest decision in terms of value/performance. There is a reason why is called a job, it's because most of the times is not gonna be fun, there are always the hard parts in jobs, and nowdays it seems that it has become what you described, which is finding the correct library for your needs and implement it. I understand that is hell to deal with dependencies but the amount of time you gained and later on value on your business is not comparable to some lost fun.

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

      I am not so sure. The cost in terms of maintainence of dependency hell is a lot, while the cost of maintainence of self-written code is way lower. So on the long term, it could be much more convenient to write from scratch. Let us say that Angular gets updated and you want to update to use a new feature. Now one of your libraries does not work any more with the latest Angular. Good luck solving that problem. And if you depend on hundreds of libraries that may conflict with each other, the cost of maintaining this hell is extremely high and slows down the work much more than the bare time required to reimplement everything. The reimpliementation time is once, while dependency hell is a constant friction in development.

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

      ​@@lorenzomonacelli I agree that in the long term a solid and independed implementaion will payoff but we always have to look at each case differently. In your example I would first ask the question, how urgent is that new Angular feature, and is it worth disrupting many of my implementations for it? In case of a big update, if you installed a popular and well maintained library it will usually update to integrate to the latest version. If that's not the case I'm pretty sure there will most likely be an alternative, and impletementing it would still probably take less time than building it.
      I don't think in your usual company/startup you would update to a new major version unless your code is legacy/outdate and you've decided on a refactor. With the pace at which things move today, if me and you started a startup tomorrow and part of our web app needs a text editor, the last thing we would do is build it from scratch when we have many available that are well tested and cover more edgecases that we can think of. If you also look at it, the business meaning of building has changed, today building a product is more of a multi composition of elements and functionality, you rarely work on something that only does one thing, and if you work on a small team ther's so much time that can be allocated and that is usually placed on what you can do to increase sales or ensure a next round of funding. There are pros and cons to this, and you highlighted one, one pro I given is that you propel your product faster.
      From my experience as a web dev I rarely built any big complex feature from scratch, which is a bit demotivating, that's why I'm trying to compensate that with projects on the weekend, that usually involve learning C or building random stuff.

  • @aleksey2960
    @aleksey2960 9 หลายเดือนก่อน +1

    Oh yeah I feel where you’re coming from. C is a hard language (and C++ is just a tad easier imo ), but what I like about them is that I don’t have to deal with package managers too much.
    The python language can be hard to work with at times because of its package manager (ironically it’s one of the easier languages), and I gave up on Dlang because it’s package manager was impossible for me to figure out lol

  • @qorzzz9252
    @qorzzz9252 10 หลายเดือนก่อน +3

    You're feelings on the state of web development being over saturated with dependencies is completely valid. Most developers I know would agree with this. However I don't find any value any comparing JS and C. They are two very different and distinct tools.

    • @ScienceAfterDark
      @ScienceAfterDark 4 หลายเดือนก่อน

      It's certainly valid to compare the two, when the question at hand relates to life quality, and what you actually enjoy doing all day long. The point of this video was NOT to compare say, JS vs C, for writing a website. Instead the point of the video was to ask: which one would bring YOU more personal HAPPINESS in life! It's a subjective, emotional, spiritual comparison. Answers will vary from person to person.

  • @ArkenGAMES
    @ArkenGAMES 22 วันที่ผ่านมา +1

    I mean... You can try to create this project in C, pretty sure you'll get similar issues.

  • @lasfito
    @lasfito 10 หลายเดือนก่อน +5

    Dependency management is an issue because we choose to take the easy path and just grab libraries instead of coming up with solutions ourselves. Don’t complain about trade offs when it is you who made the choice. You can always implement your own solutions (saying this as a js hater myself)

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

    I feel this rant big time! Package hell, abstraction hell, pipeline hell. Programming has gotten exponentially harder while becoming much less satisfying.

  • @InnsmouthAdmiral
    @InnsmouthAdmiral 10 หลายเดือนก่อน +6

    I do TS at work and I am with you. I just do not like it at all. My personal programming is usually in python for data science stuff and Rust for fun.

  • @asatorftw
    @asatorftw 9 หลายเดือนก่อน +1

    This is exactly why I'm moving away from webdev to ml. It feels like I'm finally doing something myself again. Even if its implementing someone elses paper. I wrote the damn code myself, and I feel happy about it.

  • @technophile_
    @technophile_ 10 หลายเดือนก่อน +7

    C's stdlib doesnt even have a hash map 😮‍💨

    • @satyamraj2779
      @satyamraj2779 10 หลายเดือนก่อน +4

      that is where the fun begins, isn't it?

    • @OnFireByte
      @OnFireByte 10 หลายเดือนก่อน +1

      @satyamaraj2779 Imagine everyone have to implement the TCP and HTTP protocol from scratch, then creating json parser just to get random data from the internet. Either you are the pro at that point or quit the programming entirely.

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

      ​@satyamraj2779 he has an apple thingy profile picture. He doesn't understand.

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

      one can argue that's the beauty of it in a way

    • @mirakle9375
      @mirakle9375 10 หลายเดือนก่อน +1

      Zig has some. From what I've seen, it's pretty much C with a more modern standard library, a better toolchain, and some other cool features.

  • @mxbx307
    @mxbx307 10 หลายเดือนก่อน +1

    It does my tits in when library and language devs just release a new version which breaks old stuff, tips the syntax on its head, basically becomes a new language and means you have to relearn things you've been doing on autopilot for years.
    Python did it. C++ definitely did it. Java sort of did it. Unreal Engine did it. OpenGL and Vulkan is like comparing a motorcycle to a flatpack house. It's a nightmare.

  • @xc13z829
    @xc13z829 10 หลายเดือนก่อน +3

    I agree completely about web dev. My other biggest gripe is learning abstractions on top of abstractions. It really sucks.

  • @Fuzbo_
    @Fuzbo_ 10 หลายเดือนก่อน +1

    Skill issue (/s)
    All jokes aside I definitely see your point. Web dev is really a whole different experience than even backend dev, let alone C programming.
    I think my personal saving grace, is that I like building things users personally interact with, and developing a user *experience*. Doesn’t help much when you spend the entirety of an afternoon debugging a small stupid issue, but I’ve grown to enjoy it a bit because I do feel like I learn more about my project when I dive into some third party dependency code / behavior like that.

  • @GreenSoap
    @GreenSoap 10 หลายเดือนก่อน +3

    Idk man experienced way more pain with Win32 than any JS library

    • @theshlok
      @theshlok 10 หลายเดือนก่อน +2

      Getting shit to work with win32 is so satisfying tho 😮‍💨

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

      how though?

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

    I agree with you on both examples sort of: If the documentation for a library is bad and there’s little support out there it can be frustrating because you not being able to implement the library is not your fault. The second example you mentioned is the most frustrating and happened to me too, where I had to downgrade another package just to make the buggy dependency work! It’s literally impossible for that to be due to a lack of skill.
    At the same time mastering a library can be rewarding and expand your capabilities. Becoming a good web dev on the front end is sort of underrated in my opinion. People say “oh front end is easy” or “oh that’s just css I can do that in my sleep”- but then also notice 9/10 people who say that also say they hate front web dev. Coincidence? I don’t think so; people who say it’s easy but they hate it probably aren’t as good as they think they are at it because if it was that easy then you wouldn’t be so frustrated in the first place!

  • @thes7450
    @thes7450 10 หลายเดือนก่อน +4

    At some point, you gotta let go of the pride and use libraries to increase your productivity. Delegation is an underated skill, implementing everything by yourself is not efficient. I agree at some point, you have to implement the solution yourself even if you're using pure js. If you're doing everything yourself or you depend too much on libraries then you're not being efficient. There are edge cases for both cases where this is false though but in general you better stay at the middle ground.

  • @aminasuleiman6246
    @aminasuleiman6246 7 หลายเดือนก่อน +1

    Thats what i felt too back when i tried to learn android for first time after coding with c

  • @TheGrandChieftain
    @TheGrandChieftain 10 หลายเดือนก่อน +3

    You’re more focused on the process. All I care about is the results. In web dev, I belong.

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

      Nwanne opinion varies

  • @gnes04
    @gnes04 9 หลายเดือนก่อน +1

    It's ALWAYS a dependency version mismatch that you spend hours debugging just to realise it was BS. I hate non backwards compatible upgrades with a passion.

  • @jintz2
    @jintz2 10 หลายเดือนก่อน +3

    Web developers these days just string together frameworks to meet business requirements; they’re not programming.

  • @sigurdhermann781
    @sigurdhermann781 9 หลายเดือนก่อน +1

    You can still run into this in C, with dynamic libraries and ABI breakage. Also a lot of painpoints in C is that the syntax is horrible and the compiler doesn't really help you with the memory management problems, you know, the ones that give you SIGSEGV. Add to this that C didn't really have a good story for depedency management except for using the ones that come with the distro, and then distrubuting this to users when they may have different sets of libraries is.. ass. So yeah, other than those issues, use C!

  • @connozac1109
    @connozac1109 10 หลายเดือนก่อน +4

    The argument is a bit rubbish really. People made those libraries to solve their specific needs or as a product right… but your saying in C you’d have to make it yourself… so where’s this going you don’t want to make your own web libraries because you don’t want to reinvent the wheel but then complain about not making your own.

  • @mohamedaityoussef9965
    @mohamedaityoussef9965 9 หลายเดือนก่อน +2

    my first programming language is also C and i'm learning javascript and tbh i prefer C even though it's hard

  • @josealejandroconcepcion2025
    @josealejandroconcepcion2025 10 หลายเดือนก่อน +3

    Software Engenniering is hard and stressful. But if you need to do something cool and apply DSA and algorithms in the Web Dev. Do by yourself the library and the gadget or tools