Тёмный

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

NeetCodeIO
Подписаться 176 тыс.
Просмотров 162 тыс.
50% 1

🚀 neetcode.io/ - A better way to prepare for Coding Interviews
🧑‍💼 LinkedIn: / navdeep-singh-3aaa14161
🐦 Twitter: / neetcode1
⭐ BLIND-75 PLAYLIST: • Two Sum - Leetcode 1 -...
#neetcode #leetcode #python

Опубликовано:

 

7 сен 2024

Поделиться:

Ссылка:

Скачать:

Готовим ссылку...

Добавить в:

Мой плейлист
Посмотреть позже
Комментарии : 905   
@NeetCodeIO
@NeetCodeIO 7 месяцев назад
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 7 месяцев назад
I hate dependencies so much, I unplugged my ethernet cable and code only in handwritten Assembly.
@TabuHana
@TabuHana 7 месяцев назад
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 7 месяцев назад
"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 7 месяцев назад
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 7 месяцев назад
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.
@VMiXEZ
@VMiXEZ 7 месяцев назад
Anything is better than Web dev.
@dontreadmyusername6787
@dontreadmyusername6787 Месяц назад
Not gonna lie I have been building a compiler from scratch and never looked back at web dev
@reecedeyoung6595
@reecedeyoung6595 Месяц назад
​@dontreadmyusername6787 that's fine if you don't want to get paid.
@rileyowen7245
@rileyowen7245 Месяц назад
​@@dontreadmyusername6787 make a neural network with c
@dontreadmyusername6787
@dontreadmyusername6787 Месяц назад
@@reecedeyoung6595 i got an internship in embedded recently so i think i might atleast make something out of it lol
@Alfakatt
@Alfakatt Месяц назад
Build a compiler. Free yourself!
@elias8294
@elias8294 7 месяцев назад
This has happened to me so many times and it finally made me understand why a lot of people hate web development.
@parlor3115
@parlor3115 7 месяцев назад
Mostly frontend, though
@yzhu
@yzhu 7 месяцев назад
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 7 месяцев назад
Yes he become number one disgrace
@javiervidal2549
@javiervidal2549 7 месяцев назад
I don't hate web dev but I'm tired that all my jobs are about web 🤐
@usefulprogrammer9880
@usefulprogrammer9880 7 месяцев назад
@@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 😂
@annaczgli2983
@annaczgli2983 7 месяцев назад
Earlier the job used to be Software Engineering. Now the job is just glueing together APIs.
@mxbx307
@mxbx307 7 месяцев назад
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 7 месяцев назад
​@@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 7 месяцев назад
@@twothreeoneoneseventwoonefour5 Gigachad web dev here.
@algorithmsboul
@algorithmsboul 7 месяцев назад
@@lashlarue7924😂😂
@rusi6219
@rusi6219 6 месяцев назад
​@@twothreeoneoneseventwoonefour5"all higher than c" languages definitely are NOT Lego bricks and this comes from a person who dislikes "higher than c" programming.
@Nunoflashy
@Nunoflashy 7 месяцев назад
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 7 месяцев назад
You know why? Because implementing algorithms is easy.
@KleptomaniacJames
@KleptomaniacJames 7 месяцев назад
@@i-am-the-slime only if they are shit
@Nunoflashy
@Nunoflashy 7 месяцев назад
@@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 7 месяцев назад
@@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.
@user-tx4wj7qk4t
@user-tx4wj7qk4t 7 месяцев назад
This is basically the opposite of actual engineering. Go learn category theory and realize how unimportant obsessing over algorithms is
@aiw437591
@aiw437591 7 месяцев назад
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 7 месяцев назад
totally agree, every part of the world has it's own pain. that's why we called "get your hand dirty"
@DD8MO610
@DD8MO610 7 месяцев назад
As a recent grad in computer engineering, any advice on getting a low level job? Feeling a bit naive. Thank you.
@ncpeaksean4278
@ncpeaksean4278 7 месяцев назад
fake history
@daghetto101
@daghetto101 7 месяцев назад
⁠@@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 7 месяцев назад
This feels like the most well rounded answer hands down
@gnes04
@gnes04 7 месяцев назад
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
@hlrbBrambleX
@hlrbBrambleX 7 месяцев назад
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 7 месяцев назад
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 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
@IvanRandomDude
@IvanRandomDude 7 месяцев назад
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 7 месяцев назад
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 7 месяцев назад
​@@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 7 месяцев назад
@@franokkkappa8882 you're probably looking for python? You can think in mathematics and get stuff done without much boilerplate.
@zill150
@zill150 7 месяцев назад
⁠​⁠@@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 7 месяцев назад
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.
@midlFidl
@midlFidl 7 месяцев назад
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...
@akifimran9780
@akifimran9780 7 месяцев назад
I feel that way too. We want to become engineers that make those tools (make libraries), not be developers (use libraries).
@RicardoSilvaTripcall
@RicardoSilvaTripcall 7 месяцев назад
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 7 месяцев назад
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 7 месяцев назад
and in order to write your own library you have to use external libraries ¯\_(ツ)_/¯
@thes7450
@thes7450 7 месяцев назад
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 7 месяцев назад
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
@dealloc
@dealloc 7 месяцев назад
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 6 месяцев назад
C dev, same thing and stuck with bunch of Tint as well. I hope someday we get paid to reinvent
@bharghavak
@bharghavak 7 месяцев назад
Truly feel the same way. Feels more like fiddling and getting "stuff to work" than problem solving
@recarsion
@recarsion 7 месяцев назад
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 Месяц назад
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 7 месяцев назад
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 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 2 месяца назад
@@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.
@pengie_
@pengie_ 7 месяцев назад
This is why i love game dev, more primarily graphics development and using maths everywhere, its fun
@Novallovesgames
@Novallovesgames 7 месяцев назад
how did you learn all the math for graphics development
@user-ayush818
@user-ayush818 7 месяцев назад
​@@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 7 месяцев назад
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 7 месяцев назад
​@@brunojambeiro6776do you know what career path is good for problem solving? Im so confused rn
@brunojambeiro6776
@brunojambeiro6776 7 месяцев назад
@@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.
@rog0079
@rog0079 7 месяцев назад
why didn't you create your own graph-ui from scratch for your website? 🤔
@DarkNevrozz
@DarkNevrozz 7 месяцев назад
😂😂😂😂
@philliplam2704
@philliplam2704 6 месяцев назад
He’s trash that’s why and can’t
@daphenomenalz4100
@daphenomenalz4100 6 месяцев назад
Yeah, you can make it easily with lerps. You would have to search for some mathy stuff tho
@patrickmoehrke4982
@patrickmoehrke4982 7 месяцев назад
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 7 месяцев назад
It's worse with JS
@isaac10231
@isaac10231 7 месяцев назад
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
@rchronicler
@rchronicler 7 месяцев назад
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__ 7 месяцев назад
Broo 😭 I can use html, CSS, js/ts and when I was learning angular, it didn't feel like I was doing JavaScript anymore.
@HemstitchedIrony
@HemstitchedIrony 7 месяцев назад
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.
@ricopin
@ricopin 7 месяцев назад
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 7 месяцев назад
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 7 месяцев назад
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 7 месяцев назад
​@@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 7 месяцев назад
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 6 месяцев назад
@@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.
@darkdudironaji
@darkdudironaji 7 месяцев назад
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.
@surajmandal_567
@surajmandal_567 7 месяцев назад
C was my first programming language. I love it even though sometimes I do segfaults.
@kartik4792
@kartik4792 7 месяцев назад
Nowadays, there are many tools which help you figure out the cause of segfaults easily. Major issue is detecting them before release 😂
@sunofabeach9424
@sunofabeach9424 7 месяцев назад
@@kartik4792 there is also Rust that won't allow you to compile code that leaks or segfaults
@Ellefsen97
@Ellefsen97 7 месяцев назад
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 7 месяцев назад
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 7 месяцев назад
@@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.
@specy_
@specy_ 7 месяцев назад
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 7 месяцев назад
THIS 🙌
@detzel2397
@detzel2397 7 месяцев назад
Absolutely agreed 👍
@tanura5830
@tanura5830 7 месяцев назад
That's why we don't like it it's abstracted from you
@specy_
@specy_ 7 месяцев назад
​@@tanura5830but... You aren't forced to, go make it raw
@not_kode_kun
@not_kode_kun Месяц назад
@@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.
@Avantarius
@Avantarius 7 месяцев назад
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.
@lorenzomonacelli
@lorenzomonacelli 7 месяцев назад
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)
@luqmanhamdan9285
@luqmanhamdan9285 7 месяцев назад
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.
@cyndaguy
@cyndaguy 7 месяцев назад
this is the burnout I had after college, all the concepts feel like they're for nothing but interview prep
@tamasbalint1597
@tamasbalint1597 7 месяцев назад
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 7 месяцев назад
ru-vid.com/video/%D0%B2%D0%B8%D0%B4%D0%B5%D0%BE-CXFRMr40pPc.htmlsi=SJ0hmIZvFUacFY9l
@chuck_norris
@chuck_norris 7 месяцев назад
The thing i hate the most, is that People who do only WebDev think all Programming revolves around WebDev..
@ooogabooga5111
@ooogabooga5111 7 месяцев назад
not true, most of skilled web devs are trying to esc the hell.
@vadiks20032
@vadiks20032 7 месяцев назад
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
@LachlanMiller
@LachlanMiller 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.
@parkerhaskett5142
@parkerhaskett5142 7 месяцев назад
You said it, man
@dev.roysalazar
@dev.roysalazar 7 месяцев назад
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 RU-vid video about this when the project is further developed.
@eti-iniER
@eti-iniER 7 месяцев назад
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 7 месяцев назад
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 7 месяцев назад
@@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 7 месяцев назад
Abstraction abstraction
@pepehimovic3135
@pepehimovic3135 7 месяцев назад
Then why don’t you pursue a research position? Specifically those that involve developing algorithms.
@naughtiousmaximus7853
@naughtiousmaximus7853 7 месяцев назад
@@pepehimovic3135 I am opposite. I dislike C and C++. Give me C# and minimal APIs over them any day of the week.
@xodix1416
@xodix1416 7 месяцев назад
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.
@Nova04550
@Nova04550 6 месяцев назад
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!
@hotwings9382
@hotwings9382 7 месяцев назад
I feel you bro, same here, coming out of university and finding web development is so easy is disappointing.
@josemou6172
@josemou6172 7 месяцев назад
Easy? I know there isnt much problem solving but its still hard to get things to work properly.
@hotwings9382
@hotwings9382 4 месяца назад
@@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
@1DiscipleDragon
@1DiscipleDragon 6 месяцев назад
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.
@ItsMorze
@ItsMorze 7 месяцев назад
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 7 месяцев назад
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 7 месяцев назад
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 7 месяцев назад
@@knufyeinundzwanzig2004 Agreed.
@叵
@叵 6 месяцев назад
​@@knufyeinundzwanzig2004android ndk:
@sm-sayedi
@sm-sayedi 6 месяцев назад
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!
@pedrobotsaris2036
@pedrobotsaris2036 7 месяцев назад
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 7 месяцев назад
Exactly. C and c++ does also library dependency issues on some projects.
@rushyscoper1651
@rushyscoper1651 6 месяцев назад
@@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.
@8Trails50
@8Trails50 7 месяцев назад
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.
@BudgiePanic
@BudgiePanic 7 месяцев назад
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
@alvarosanchezp
@alvarosanchezp 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.
@papasligeramentesaladas8514
@papasligeramentesaladas8514 7 месяцев назад
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 7 месяцев назад
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 7 месяцев назад
@@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 6 месяцев назад
​​@@baldislavep00pczynski68 atleast you don't have to write long boring css 😂
@daphenomenalz4100
@daphenomenalz4100 6 месяцев назад
​@@papasligeramentesaladas8514 same
@lovrodvorski7180
@lovrodvorski7180 7 месяцев назад
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
@Wielorybkek
@Wielorybkek 7 месяцев назад
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 7 месяцев назад
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 7 месяцев назад
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 7 месяцев назад
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 7 месяцев назад
@@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 7 месяцев назад
@@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.
@thentheric6361
@thentheric6361 7 месяцев назад
💯 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.
@SeresHotes25
@SeresHotes25 7 месяцев назад
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!
@gauravvarma3645
@gauravvarma3645 29 дней назад
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!
@lihinfei8334
@lihinfei8334 7 месяцев назад
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.
@kissmyaft
@kissmyaft 7 месяцев назад
As a backend dev, i can totally relate. I hate nginx, i hate lambda, i hate docker, i hate it all with passion. I recently rewatched halt and catch fire and god i wish i was a coder in the 1980th and be actually able to utilize all that DSA knowledge and math instead of having to re-learn it all again every few years, because knowledge tends to degrade if not used. Instead most of the time i have to just glue stuff together and it's not that difficult, it's just not what i wanted.
@harddiskkosong3661
@harddiskkosong3661 7 месяцев назад
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.
@aleksey2960
@aleksey2960 7 месяцев назад
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
@alexnoman1498
@alexnoman1498 7 месяцев назад
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 7 месяцев назад
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)
@brianschalme1457
@brianschalme1457 7 месяцев назад
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.
@PedroFerreira-kz6mq
@PedroFerreira-kz6mq 7 месяцев назад
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 7 месяцев назад
Then with which language is getting job easy?
@sitaro1207
@sitaro1207 7 месяцев назад
​@@mrkike7343 tools get you a job. The popular language for web development tools is JavaScript
@_pawan
@_pawan 7 месяцев назад
@@mrkike7343let him cook he'll realise it's not about language
@PedroFerreira-kz6mq
@PedroFerreira-kz6mq 7 месяцев назад
@@mrkike7343 Nowdays, I think none, but if would say any languages, I would say .NET, Java and maybe Php.
@sukapow
@sukapow 7 месяцев назад
​@@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
@erickruben5536
@erickruben5536 7 месяцев назад
I thought there were few people who thought like that. While I was doing web development, I felt that I wasn't enjoying it as much as when I was doing my algorithms in C, that's why I decided to leave Frontend, (it's not that I don't like javascript, the problem is that I discovered that I don't like doing frontend, so at the moment I'm in the backend since the environment is very different in my opinion). Still too So for the moment I decided to go another route, like delving into C and C++ and even Rust to be able to create libraries that people can use. Thanks for the video I really needed to hear it from someone else :')
@josemou6172
@josemou6172 7 месяцев назад
Can you share a bit of your experience with backend development? How much problem solving did you do compared to front end? And how much annoyances were? I still havent decided if i should go deep into front or back end, im just learning both at the same time
@Mkrabs
@Mkrabs 7 месяцев назад
Alternative Title: "Web dev rants about dependency hell and talks about the good old days of using C in his younger age. "😅😂
@rajmalla5310
@rajmalla5310 7 месяцев назад
i tried to learn python but i didnt understand anything cause u dont have to declare data type in python and for beginners thats not good. But at C everything is from scratch. I learn c after not being able to understand python and it was the best decision of my life. C will forever be my top Programming langiugae
@1vader
@1vader 7 месяцев назад
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 7 месяцев назад
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.
@musicdev
@musicdev 7 месяцев назад
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
@asdasddas100
@asdasddas100 7 месяцев назад
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 7 месяцев назад
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 7 месяцев назад
@@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 7 месяцев назад
@@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 7 месяцев назад
@@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 7 месяцев назад
@@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.
@asatorftw
@asatorftw 7 месяцев назад
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.
@MineLoom
@MineLoom 7 месяцев назад
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 7 месяцев назад
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 7 месяцев назад
​@@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.
@jahoopyjaheepu497
@jahoopyjaheepu497 7 месяцев назад
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.
@besherkitaz4529
@besherkitaz4529 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.
@haha7836hahah
@haha7836hahah 7 месяцев назад
Agreed
@stumblinzz
@stumblinzz 7 месяцев назад
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.
@OGNord
@OGNord 7 месяцев назад
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 7 месяцев назад
C is definitely one of the easiest languages there is.
@krox477
@krox477 7 месяцев назад
Learn c if you want to get into system or embedded system programming c is best
@jonahbranch5625
@jonahbranch5625 7 месяцев назад
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
@abdirisakmohamed5664
@abdirisakmohamed5664 7 месяцев назад
sometimes getting the job done is the fun part specially when you have deadlines
@amynguy
@amynguy 7 месяцев назад
sometimes its the salary
@eliasgill2453
@eliasgill2453 7 месяцев назад
​​@@amynguy being paid is always the fun part 😂😂
@sukapow
@sukapow 7 месяцев назад
@@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 6 месяцев назад
tell that to golang and htmx that showed how silly that argument is.
@nerf9646
@nerf9646 7 месяцев назад
you are absoulolty right, you dont feels like a programmer, all your job now is to bring the libraries and make them work instede of coding the problem itself, making me feel like I am useless
@nick15684
@nick15684 7 месяцев назад
C programming is in my opinion much more rewarding than web dev, any day of the week. It feels more like actual engineering.
@suheelhussain4975
@suheelhussain4975 7 месяцев назад
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 6 месяцев назад
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.
@SuperAppsUSA
@SuperAppsUSA 7 месяцев назад
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- 7 месяцев назад
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 7 месяцев назад
@@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
@stark_energy
@stark_energy 7 месяцев назад
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.
@qorzzz9252
@qorzzz9252 7 месяцев назад
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 2 месяца назад
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.
@Liz3_
@Liz3_ 7 месяцев назад
Debugging segfaults is not hard, build with debug symbols and use gdb/lldb. It gives you a trace with the exact line that failed and even has on the fly expressions(yes lldb can run expressions to the debugger live)
@amynguy
@amynguy 7 месяцев назад
thats why they give front end work to new devs
@user-ij7oi9ek1n
@user-ij7oi9ek1n 7 месяцев назад
backend has dependency issues too
@emreaka3965
@emreaka3965 7 месяцев назад
@@user-ij7oi9ek1n nope
@pietime123123
@pietime123123 7 месяцев назад
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 7 месяцев назад
@@user-ij7oi9ek1n 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 7 месяцев назад
Back end gets super messy too. Idk where you got that from.
@BritainAndy
@BritainAndy Месяц назад
I was a backend web dev for the last 5 years. Now I just quit my job and dont rly know what to do next. I love programming in general, love developing in my freetime in C for IoT things or in the past I used to write cheats. But being a webdev for the last few years just completely ruined my enthusiasm regarding working in developing. I wanna do anything for a living now but webdev. Not too sure what my next steps are, but I really feel your point
@fredwh09
@fredwh09 7 месяцев назад
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.
@mxbx307
@mxbx307 7 месяцев назад
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.
@lasfito
@lasfito 7 месяцев назад
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)
@guyman8282
@guyman8282 7 месяцев назад
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.
@InnsmouthAdmiral
@InnsmouthAdmiral 7 месяцев назад
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.
@aminasuleiman6246
@aminasuleiman6246 5 месяцев назад
Thats what i felt too back when i tried to learn android for first time after coding with c
@thes7450
@thes7450 7 месяцев назад
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.
@sigurdhermann781
@sigurdhermann781 7 месяцев назад
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!
@technophile_
@technophile_ 7 месяцев назад
C's stdlib doesnt even have a hash map 😮‍💨
@satyamraj2779
@satyamraj2779 7 месяцев назад
that is where the fun begins, isn't it?
@OnFireByte
@OnFireByte 7 месяцев назад
@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 7 месяцев назад
​@satyamraj2779 he has an apple thingy profile picture. He doesn't understand.
@zw9423
@zw9423 7 месяцев назад
one can argue that's the beauty of it in a way
@mirakle9375
@mirakle9375 7 месяцев назад
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.
@dickheadrecs
@dickheadrecs 6 месяцев назад
finding is just the start.. managing and balancing deps is a hellscape.
@xc13z829
@xc13z829 7 месяцев назад
I agree completely about web dev. My other biggest gripe is learning abstractions on top of abstractions. It really sucks.
@DylanFalconer
@DylanFalconer 7 месяцев назад
I started in web and took the C-pill a few years ago. I never want to go back
@GreenSoap
@GreenSoap 7 месяцев назад
Idk man experienced way more pain with Win32 than any JS library
@theshlok
@theshlok 7 месяцев назад
Getting shit to work with win32 is so satisfying tho 😮‍💨
@knufyeinundzwanzig2004
@knufyeinundzwanzig2004 7 месяцев назад
how though?
@rtclark4068
@rtclark4068 3 дня назад
I want to get into web dev, but it just looks like a bunch of "tech stacks" and using libraries like you said. My only motive for web dev is making something people can see with a URL. I mainly just want to learn how computers work and play with them. C seems perfect, thanks man.
@TheGrandChieftain
@TheGrandChieftain 7 месяцев назад
You’re more focused on the process. All I care about is the results. In web dev, I belong.
@ginilance7427
@ginilance7427 7 месяцев назад
Nwanne opinion varies
@aghilannathan8169
@aghilannathan8169 7 месяцев назад
I haven't done Web Dev in 2 years and came back to try it for fun and realized it's just learning the API of some library.
@ScienceAfterDark
@ScienceAfterDark 2 месяца назад
Was noticing the same thing. I was even thinking heck: at this point it would actually be easier careerwise for some people to just learn Win32 API, and use C--at least Win32 has been stable for DECADES! In comparison to web platforms and trends, which can drastically change in a matter of months.
@josealejandroconcepcion2025
@josealejandroconcepcion2025 7 месяцев назад
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
@seasong7655
@seasong7655 7 месяцев назад
I think for me I rather have the opposite. I like to get things done and don't want to reinvent the wheel. It can be incredibly frustating in languages with few libraries like Nim or Rust to get anything done, and there is no manual you can even look up and you can't find the one specific way the thing works.
@connozac1109
@connozac1109 7 месяцев назад
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.
@NoodleBerry
@NoodleBerry 7 месяцев назад
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
Далее
Programming Languages I used at Google (C++ rant)
6:14
Why I Use C | Prime Reacts
13:00
Просмотров 152 тыс.
Сказала дочке НЕТ!
00:24
Просмотров 999 тыс.
Butch REACT to Creative way to fix damaged tile!
00:46
Front-end web development is changing, quickly
3:43
Просмотров 829 тыс.
C is The MOST Beautiful Language!
1:57
Просмотров 6 тыс.
I made a web server In C like a true sigma
3:19
Просмотров 498 тыс.
before you code, learn how computers work
7:05
Просмотров 291 тыс.
Linus Torvalds "Nothing better than C"
1:28
Просмотров 1,4 млн
15 Years Writing C++ - Advice for new programmers
4:04
The LeetCode Fallacy
6:08
Просмотров 495 тыс.
The difference between you and ThePrimeagen.
7:25
Просмотров 101 тыс.