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.
@ChristopherElwell10 ай бұрын
I hate dependencies so much, I unplugged my ethernet cable and code only in handwritten Assembly.
@TabuHana10 ай бұрын
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".
@Ripred021910 ай бұрын
"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.
@Wielorybkek10 ай бұрын
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?
@SuperAppsUSA10 ай бұрын
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.
@elias829410 ай бұрын
This has happened to me so many times and it finally made me understand why a lot of people hate web development.
@parlor311510 ай бұрын
Mostly frontend, though
@yzhu10 ай бұрын
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
@RanjakarPatel10 ай бұрын
Yes he become number one disgrace
@javiervidal25499 ай бұрын
I don't hate web dev but I'm tired that all my jobs are about web 🤐
@usefulprogrammer98809 ай бұрын
@@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 😂
@VMiXEZ9 ай бұрын
Anything is better than Web dev.
@dontreadmyusername67873 ай бұрын
Not gonna lie I have been building a compiler from scratch and never looked back at web dev
@reecedeyoung65953 ай бұрын
@dontreadmyusername6787 that's fine if you don't want to get paid.
@rileyowen72453 ай бұрын
@@dontreadmyusername6787 make a neural network with c
@dontreadmyusername67873 ай бұрын
@@reecedeyoung6595 i got an internship in embedded recently so i think i might atleast make something out of it lol
@Alfakatt3 ай бұрын
Build a compiler. Free yourself!
@aiw43759110 ай бұрын
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.
@wongwong74799 ай бұрын
totally agree, every part of the world has it's own pain. that's why we called "get your hand dirty"
@DD8MO6109 ай бұрын
As a recent grad in computer engineering, any advice on getting a low level job? Feeling a bit naive. Thank you.
@ncpeaksean42789 ай бұрын
fake history
@daghetto1019 ай бұрын
@@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).
@ethanherring25429 ай бұрын
This feels like the most well rounded answer hands down
@Nunoflashy10 ай бұрын
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-slime9 ай бұрын
You know why? Because implementing algorithms is easy.
@KleptomaniacJames9 ай бұрын
@@i-am-the-slime only if they are shit
@Nunoflashy9 ай бұрын
@@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.
@chriskingston19819 ай бұрын
@@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-j9p9 ай бұрын
This is basically the opposite of actual engineering. Go learn category theory and realize how unimportant obsessing over algorithms is
@gnes049 ай бұрын
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
@annaczgli298310 ай бұрын
Earlier the job used to be Software Engineering. Now the job is just glueing together APIs.
@mxbx30710 ай бұрын
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.
@twothreeoneoneseventwoonefour59 ай бұрын
@@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.
@lashlarue79249 ай бұрын
@@twothreeoneoneseventwoonefour5 Gigachad web dev here.
@algorithmsboul9 ай бұрын
@@lashlarue7924😂😂
@rusi62199 ай бұрын
@@twothreeoneoneseventwoonefour5"all higher than c" languages definitely are NOT Lego bricks and this comes from a person who dislikes "higher than c" programming.
@chuck_norris9 ай бұрын
The thing i hate the most, is that People who do only WebDev think all Programming revolves around WebDev..
@ooogabooga51119 ай бұрын
not true, most of skilled web devs are trying to esc the hell.
@IvanRandomDude10 ай бұрын
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.
@franokkkappa888210 ай бұрын
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.
@nishantjoshi671210 ай бұрын
@@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
@SandwichMitGurke10 ай бұрын
@@franokkkappa8882 you're probably looking for python? You can think in mathematics and get stuff done without much boilerplate.
@zill15010 ай бұрын
@@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.
@mxbx30710 ай бұрын
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.
@midlFidl10 ай бұрын
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...
@pengie_9 ай бұрын
This is why i love game dev, more primarily graphics development and using maths everywhere, its fun
@Novallovesgames9 ай бұрын
how did you learn all the math for graphics development
@user-ayush8189 ай бұрын
@@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.
@brunojambeiro67769 ай бұрын
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.
@josemou61729 ай бұрын
@@brunojambeiro6776do you know what career path is good for problem solving? Im so confused rn
@brunojambeiro67769 ай бұрын
@@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.
@xodix14169 ай бұрын
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.
@akifimran978010 ай бұрын
I feel that way too. We want to become engineers that make those tools (make libraries), not be developers (use libraries).
@RicardoSilvaTripcall10 ай бұрын
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 ...
@twothreeoneoneseventwoonefour510 ай бұрын
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.
@ashishnagar477210 ай бұрын
and in order to write your own library you have to use external libraries ¯\_(ツ)_/¯
@thes745010 ай бұрын
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.
@GolderiQ10 ай бұрын
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
@bharghavak10 ай бұрын
Truly feel the same way. Feels more like fiddling and getting "stuff to work" than problem solving
@hlrbBrambleX10 ай бұрын
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_r34l1ty9 ай бұрын
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.
@adriatic1239 ай бұрын
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
@sushanth168928 күн бұрын
@@adriatic123lol low level programming is much harder that's why pplmchoose web dev
@kowaihana26 күн бұрын
@@sushanth1689web development is just gluing together frameworks/libraries
@recarsion9 ай бұрын
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.
@jackbraxton89223 ай бұрын
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!
@dealloc10 ай бұрын
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.
@thesila20009 ай бұрын
C dev, same thing and stuck with bunch of Tint as well. I hope someday we get paid to reinvent
@Roboprogs23 күн бұрын
DLL hell?
@surajmandal_56710 ай бұрын
C was my first programming language. I love it even though sometimes I do segfaults.
@kartik479210 ай бұрын
Nowadays, there are many tools which help you figure out the cause of segfaults easily. Major issue is detecting them before release 😂
@sunofabeach942410 ай бұрын
@@kartik4792 there is also Rust that won't allow you to compile code that leaks or segfaults
@Ellefsen979 ай бұрын
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.
@recarsion9 ай бұрын
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_5679 ай бұрын
@@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.
@darkdudironaji10 ай бұрын
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.
@anon_y_mousse10 ай бұрын
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.
@ScienceAfterDark4 ай бұрын
Win32 for the win! (Just not very happy about the direction Microsoft is going with Windows 11+ however.)
@anon_y_mousse4 ай бұрын
@@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.
@ricopin10 ай бұрын
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.
@hago75689 ай бұрын
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
@RisenThe9 ай бұрын
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.
@naughtiousmaximus78539 ай бұрын
@@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.
@yahyaa44999 ай бұрын
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?
@ricopin9 ай бұрын
@@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.
@patrickmoehrke498210 ай бұрын
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
@kingsleyugwu93999 ай бұрын
It's worse with JS
@isaac102319 ай бұрын
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
@rchronicler10 ай бұрын
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__9 ай бұрын
Broo 😭 I can use html, CSS, js/ts and when I was learning angular, it didn't feel like I was doing JavaScript anymore.
@HemstitchedIrony9 ай бұрын
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.
@specy_9 ай бұрын
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.
@patrickkdev9 ай бұрын
THIS 🙌
@detzel23979 ай бұрын
Absolutely agreed 👍
@tanura58309 ай бұрын
That's why we don't like it it's abstracted from you
@specy_9 ай бұрын
@@tanura5830but... You aren't forced to, go make it raw
@not_kode_kun3 ай бұрын
@@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.
@vadiks200329 ай бұрын
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
@tamasbalint159710 ай бұрын
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.
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!
@lorenzomonacelli10 ай бұрын
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)
@LachlanMiller10 ай бұрын
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.
@parkerhaskett51429 ай бұрын
You said it, man
@rog007910 ай бұрын
why didn't you create your own graph-ui from scratch for your website? 🤔
@DarkNevrozz9 ай бұрын
😂😂😂😂
@philliplam27049 ай бұрын
He’s trash that’s why and can’t
@daphenomenalz41009 ай бұрын
Yeah, you can make it easily with lerps. You would have to search for some mathy stuff tho
@j.r.r.tolkien8724Ай бұрын
Good question. He loves reinventing the wheel but he chooses not to then complains about it.
@JeyDotC27 күн бұрын
Yup, any C savy person can grasp webGL rather quickly and do these kind of fun stuff with their (usually good) math knowledge, 🤷
@luqmanhamdan928510 ай бұрын
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.
@hotwings93829 ай бұрын
I feel you bro, same here, coming out of university and finding web development is so easy is disappointing.
@josemou61729 ай бұрын
Easy? I know there isnt much problem solving but its still hard to get things to work properly.
@hotwings93827 ай бұрын
@@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
@eti-iniER10 ай бұрын
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 😅
@ataulhaqakbar736510 ай бұрын
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
@wongwong74799 ай бұрын
@@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...
@krox4779 ай бұрын
Abstraction abstraction
@pepehimovic31359 ай бұрын
Then why don’t you pursue a research position? Specifically those that involve developing algorithms.
@naughtiousmaximus78539 ай бұрын
@@pepehimovic3135 I am opposite. I dislike C and C++. Give me C# and minimal APIs over them any day of the week.
@Mkrabs9 ай бұрын
Alternative Title: "Web dev rants about dependency hell and talks about the good old days of using C in his younger age. "😅😂
@SeresHotes2510 ай бұрын
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!
@besherkitaz45299 ай бұрын
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.
@haha7836hahah9 ай бұрын
Agreed
@lovrodvorski718010 ай бұрын
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
@lihinfei833410 ай бұрын
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.
@nick156849 ай бұрын
C programming is in my opinion much more rewarding than web dev, any day of the week. It feels more like actual engineering.
@fredwh099 ай бұрын
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.
@Avantarius9 ай бұрын
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.
@dev.roysalazar10 ай бұрын
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 KZbin video about this when the project is further developed.
@brianschalme14579 ай бұрын
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.
@SuperAppsUSA10 ай бұрын
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-10 ай бұрын
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
@SuperAppsUSA10 ай бұрын
@@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
@1DiscipleDragon9 ай бұрын
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.
@BudgiePanic9 ай бұрын
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
@jahoopyjaheepu49710 ай бұрын
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.
@cyndaguy10 ай бұрын
this is the burnout I had after college, all the concepts feel like they're for nothing but interview prep
@sm-sayedi9 ай бұрын
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!
@ItsMorze10 ай бұрын
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.
@suheelhussain49759 ай бұрын
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
@knufyeinundzwanzig20049 ай бұрын
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
@suheelhussain49759 ай бұрын
@@knufyeinundzwanzig2004 Agreed.
@universaltoons9 ай бұрын
@@knufyeinundzwanzig2004android ndk:
@musicdev9 ай бұрын
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
@PedroFerreira-kz6mq10 ай бұрын
I'm this current position, and mostly because I'm studying DSA with C/C++. But getting a job with C++ is kinda hard.
@mrkike734310 ай бұрын
Then with which language is getting job easy?
@sitaro120710 ай бұрын
@@mrkike7343 tools get you a job. The popular language for web development tools is JavaScript
@_pawan10 ай бұрын
@@mrkike7343let him cook he'll realise it's not about language
@PedroFerreira-kz6mq10 ай бұрын
@@mrkike7343 Nowdays, I think none, but if would say any languages, I would say .NET, Java and maybe Php.
@sukapow10 ай бұрын
@@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
@aleksey29609 ай бұрын
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
@asdasddas10010 ай бұрын
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
@thes745010 ай бұрын
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.
@asdasddas10010 ай бұрын
@@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
@thes745010 ай бұрын
@@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.
@dreambuffer10 ай бұрын
@@thes7450 d3 and three.js is cool, I agree. It's mostly just making UI and as you say basic websites that is boring.
@minhquando1009 ай бұрын
@@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.
@watswat1239 ай бұрын
Title could have been "Why I like pulling my own teeth out and swallowing them whole more than web dev" and it would've still made sense.
@Wielorybkek10 ай бұрын
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
@morkallearns78110 ай бұрын
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.
@phoneywheeze10 ай бұрын
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
@twothreeoneoneseventwoonefour510 ай бұрын
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.
@Wielorybkek10 ай бұрын
@@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.
@twothreeoneoneseventwoonefour510 ай бұрын
@@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.
@guyman828210 ай бұрын
I currently work mostly with fullstack TS/React and I 100% I agree. I couldn't take it anymore. I took a paycut and quit my job to get a new position working in Rust.
@pedrobotsaris203610 ай бұрын
You can just build your own in JS. By the way, have you ever tried managing libraries and build tools in C or C++?
@TheBrainDunne9 ай бұрын
Exactly. C and c++ does also library dependency issues on some projects.
@rushyscoper16519 ай бұрын
@@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.
@alvarosanchezp5 ай бұрын
"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.
@abdirisakmohamed566410 ай бұрын
sometimes getting the job done is the fun part specially when you have deadlines
@amynguy10 ай бұрын
sometimes its the salary
@eliasgill245310 ай бұрын
@@amynguy being paid is always the fun part 😂😂
@sukapow10 ай бұрын
@@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
@rushyscoper16519 ай бұрын
tell that to golang and htmx that showed how silly that argument is.
@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
@suheelhussain49759 ай бұрын
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.
@rushyscoper16519 ай бұрын
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.
@kowaihana26 күн бұрын
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.
@SchioAlves9 ай бұрын
Well, that’s not about C versus JS at all, nothing is stopping you from building it from scratch in JS
@papasligeramentesaladas85149 ай бұрын
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
@baldislavep00pczynski689 ай бұрын
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?
@papasligeramentesaladas85149 ай бұрын
@@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
@daphenomenalz41009 ай бұрын
@@baldislavep00pczynski68 atleast you don't have to write long boring css 😂
@daphenomenalz41009 ай бұрын
@@papasligeramentesaladas8514 same
@jonahbranch56259 ай бұрын
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
@harddiskkosong366110 ай бұрын
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.
@ifstatementifstatement270410 ай бұрын
Exactly. This has been my experience too. I find web and mobile apps simple to program as opposed to programming a game engine in c++ where I have to implement most of the features using the native capabilities of the langage rather than libraries that do it all for me. The latter is way more interesting and stimulating to me.
@MrIndiemusic1019 ай бұрын
I had a similar realization when I got bit by the gamedev bug recently. Mind you I'm not going as far to create my own engine from scratch. But for the longest time I thought my problem solving skills when it came to coding were getting dull once I became a senior dev. I initially thought it was because I don't do as much ground level coding since a lot of my work has to do with architecting solutions for stories these days. But after getting a starfox clone prototype up and running in unity without any tutorials and built out an entire frame work to create a star fox like experience in unity, I realised its not that my problem solving skills or coding skills were getting dull, they were just as sharp as ever it's that the domain of webdev has so many abstracted layers and pre packaged solutions that just snap together. There's no engineering aspect to speak of it's just repeat the same recycled solution for the next upcoming feature over and over.
@OGNord10 ай бұрын
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.
@rusi621910 ай бұрын
C is definitely one of the easiest languages there is.
@krox4779 ай бұрын
Learn c if you want to get into system or embedded system programming c is best
@Fuzbo_10 ай бұрын
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.
@amynguy10 ай бұрын
thats why they give front end work to new devs
@PleasFre10 ай бұрын
backend has dependency issues too
@emreaka396510 ай бұрын
@@PleasFre nope
@pietime12312310 ай бұрын
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.
@amynguy10 ай бұрын
@@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-_-Ol10 ай бұрын
Back end gets super messy too. Idk where you got that from.
@NoodleBerry9 ай бұрын
I think I'm gonna be writing (C++) libraries at my next job (I start next week!!!) so hopefully exactly that sort of implementing algorithms fun
@alexnoman149810 ай бұрын
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.
@twothreeoneoneseventwoonefour510 ай бұрын
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)
@kowaihana26 күн бұрын
@@twothreeoneoneseventwoonefour5go for it
@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
@1vader10 ай бұрын
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.
@Luxalpa10 ай бұрын
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.
@8Trails509 ай бұрын
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.
@InnsmouthAdmiral10 ай бұрын
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.
@thentheric63619 ай бұрын
💯 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.
@MineLoom10 ай бұрын
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.
@lorenzomonacelli10 ай бұрын
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.
@MineLoom10 ай бұрын
@@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.
@haha-eg8fj9 ай бұрын
I feel you and this happened numerous times in my coding career. But this is life for a developer. It could be worse for some language/platform but in general they are pretty much the same when you are facing a business need and you try to look for a better solution.
@qorzzz925210 ай бұрын
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.
@ScienceAfterDark4 ай бұрын
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.
@stark_energy9 ай бұрын
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.
@xc13z82910 ай бұрын
I agree completely about web dev. My other biggest gripe is learning abstractions on top of abstractions. It really sucks.
@davew2040x9 ай бұрын
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.
@lasfito10 ай бұрын
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)
@stumblinzz9 ай бұрын
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.
@thes745010 ай бұрын
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.
@ALL4gr8fun9 ай бұрын
100% agree. That's exactly why I quit web development and went into embedded. Refreshing.
@ScienceAfterDark4 ай бұрын
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?
@EngineeringLife03 ай бұрын
@@ScienceAfterDarkyou need a stem degree at the minimum. I’ve seen defense companies have that as a requirement.
@technophile_10 ай бұрын
C's stdlib doesnt even have a hash map 😮💨
@satyamraj277910 ай бұрын
that is where the fun begins, isn't it?
@OnFireByte10 ай бұрын
@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.
@luigidabro10 ай бұрын
@satyamraj2779 he has an apple thingy profile picture. He doesn't understand.
@zw942310 ай бұрын
one can argue that's the beauty of it in a way
@mirakle937510 ай бұрын
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.
@asatorftw9 ай бұрын
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.
@jintz210 ай бұрын
Web developers these days just string together frameworks to meet business requirements; they’re not programming.
@ShikaIE10 ай бұрын
I am the best person when it comes to UI dev in my team of mostly backend engineers (i too prefer backend). And yes i agree frontend dev is soooo tedious.
@TheGrandChieftain10 ай бұрын
You’re more focused on the process. All I care about is the results. In web dev, I belong.
@ginilance74279 ай бұрын
Nwanne opinion varies
@mxbx30710 ай бұрын
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.
@GreenSoap10 ай бұрын
Idk man experienced way more pain with Win32 than any JS library
@theshlok10 ай бұрын
Getting shit to work with win32 is so satisfying tho 😮💨
@knufyeinundzwanzig20049 ай бұрын
how though?
@gauravvarma36453 ай бұрын
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!
@josealejandroconcepcion202510 ай бұрын
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
@nandishnan568010 ай бұрын
I feel exactly like you, the more I learn JavaScript more I love c++, best language to solve all problems 😊
@unknownguywholovespizza9 ай бұрын
LMAO no 💀
@connozac110910 ай бұрын
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.
@ChristopherSalisburySalzАй бұрын
I feel this rant big time! Package hell, abstraction hell, pipeline hell. Programming has gotten exponentially harder while becoming much less satisfying.