@@snakefinn Good point, maybe, it the prompter's fault for asking ChatGPT to write 5 paragraphs or add a paragraph, etc. And it just doesn't have anything more to say so it gets it's repetitive.
The joy of programming is the key thing. I've been coding since I was 13, in 1983! I love it! I programmed professionaly from 1991 to 2015. I retired when I was 45. I now code for pure unadulterated pleasure, I'm now 53. I will continue coding until the day I die. I still live, breathe and eat coding. It is the sheer joy of programming that keeps me going - I truly love it, I loved it at the beginning, I will love and continue programming till the end of my days.
@@javier.alvarez764 i retired from professional programming in 2015 after I started a property business to replace my salary. My personal projects include a stock analysis system written in Python. Im now rewriting it in Rust, using egui to create an IDE platform that people can use to visualise financial data, to run trading system backtests and execute their trading systems in real time. It’s a complex piece of software, which I can craft at my own style and pace for the sheer joy of it!
I put the prompt into chatGPT and it wrote a much better article: Title: 10 Coding Habits That Make You a Bad Programmer Introduction: In the world of software development, writing clean, efficient, and maintainable code is paramount. Good coding habits not only enhance productivity but also improve collaboration and minimize errors. On the flip side, bad coding habits can lead to buggy, hard-to-read code that is difficult to maintain. In this article, we will explore ten coding habits that can make you a bad programmer. If you find yourself guilty of any of these habits, don't worry! Recognizing them is the first step towards improvement. 1. Inconsistent Naming Conventions: One of the most common coding habits that can hinder readability is inconsistent naming conventions. Choosing meaningful and consistent names for variables, functions, and classes is crucial. Using clear and descriptive names improves code comprehension and makes it easier for others (or even yourself) to understand and modify the code in the future. 2. Ignoring Code Documentation: Documentation is often overlooked, but it plays a vital role in maintaining codebases. Bad programmers tend to neglect documenting their code, leaving their colleagues or future maintainers in the dark. Well-documented code helps others understand the purpose, inputs, and outputs of functions, making it easier to debug and enhance the codebase. 3. Writing Lengthy Functions: Long and monolithic functions are a recipe for disaster. Bad programmers often write functions that span multiple pages, making it hard to understand their logic and troubleshoot issues. Breaking down complex functions into smaller, modular ones improves code readability and reusability. Aim for functions that do one thing well and are easy to comprehend. 4. Neglecting Code Comments: Code comments are crucial for explaining non-obvious parts of your code. Bad programmers either omit comments entirely or write uninformative comments that don't add any value. Meaningful comments provide insights into the purpose, intentions, and edge cases of the code, aiding future developers who need to understand or modify it. 5. Not Using Version Control: Version control systems, such as Git, are essential tools for managing source code. Bad programmers often neglect version control, leading to code inconsistencies, conflicts, and difficulty reverting changes. By using version control, you can track code changes, collaborate effectively with teammates, and easily roll back to previous versions if necessary. 6. Lack of Error Handling: A bad programmer often ignores proper error handling, leading to unpredictable program behavior and potential crashes. Error handling is essential for identifying and gracefully recovering from unexpected situations. By incorporating proper error handling techniques, such as try-catch blocks, you can make your code more robust and reliable. 7. Copy-Pasting Code: Copying and pasting code may seem like a time-saver, but it can lead to a maintenance nightmare. Bad programmers tend to duplicate code instead of creating reusable functions or modules. Duplicated code increases the chances of introducing bugs and makes code maintenance more challenging. Instead, strive to write modular and reusable code that can be easily shared across different parts of your project. 8. Ignoring Testing: Writing tests is often considered a hassle, but it is a fundamental part of ensuring code quality. Bad programmers tend to neglect testing, resulting in code that is prone to bugs and difficult to refactor. Adopting a test-driven development approach and writing automated tests can help catch errors early, maintain code integrity, and facilitate future modifications. 9. Poor Performance Optimization: Efficient code is vital for maintaining a responsive and scalable application. Bad programmers often overlook performance optimizations, resulting in sluggish and resource-intensive software. Understanding algorithms, data structures, and profiling tools can help identify bottlenecks and improve the overall performance of your code. 10. Resistance to Learning and Improvement: Perhaps the most detrimental habit of a bad programmer is the resistance to learning and improving their skills. Technology and programming languages
7 should be called 'Neglecting the D.R.Y. Principle'. Copy-Pasting is good practice mostly because it saves energy, which is important on the long run. Of course, after the pasting, common code should become f() or macro.
@@LDFort a sad state of affairs, didn't the internet audience showed that we have an attention span of about 4 seconds ? how come this verbose articles keep coming out?
I feel like the author must be a programmer of the likes of: if something == true { return true; } else { return false; } and then use a ton of comments to explain every line of code.
At #4, i am now sure that it is not written by a programmer. Programming is a craft and this sounds like an electrician telling me that he will make the electrics in my house in a creative and never seen before way. Please don't. When the next guy takes over, he won't say "oh my, this is brilliant! I've never seen something like this!" he will say "wtf is that bullsh*t. We need to rewrite all of that."
Programmers say ""wtf is that bullsh*t. We need to rewrite all of that."" all the time, regardless of how standardized the code is. If it's not the standard *they* know, then it is garbage and deserves to be burnt.
@@bluecup25 A form of job security. In the south Med part of Europe, it's not unknown to have electricians do things in a convoluted way for job security, and then the next electrician comes in and says "this is not right, we have to start from scratch". It's not a code violation either (no codes are enforced) but more of a form of job security. I recently had to deal with this with an electrician who deliberate made things obscure. Luckily it was not too expensive to rewire.
If you do copy code from a third party, I recommend putting in a comment with the URL where you got it from so if someone has questions later, they know where to look. Like all written works, code is only copyrightable if it's creative enough. Contrary to popular opinions, there's not 1000 ways to do things. There are infinite combinations of things you can do to create a product with code, but most individual blocks of code are boilerplate algorithms. It's easier to protect a whole product than a particular function.
@@pineberryfox generic code is not copyrightable. Your version of "hello world" is not a unique creation. Your software as a whole is easily copyrightable as a unique creation. However, snippets with very specific functionality is much harder to copyright.
@@andrewhooper7603 First, StackOverflow is an archive. Second, it's a courtesy. Third, if you're working with someone who can't figure out what to do if a link no longer works, you have bigger problems
"The emotional coder" reminds me of one of my favorite pieces of advice from "How To Write Unmaintainable Code": use emotionally charged variable names to distract the maintenance programmer from the underlying logic, e.g. "marypoppins = (superman + starship) / god"
@@iojournyIf we take superman and starship to be units of the same dimension (flying thing), then 1 marry Poppins is proportional to 1 flying thing per god.
This is where I knew it was a bot. When discussing code with other humans it can get emotional. The bot failed to realize this and so made this vague statement and got the details wildly wrong. Could have said something about taking your ego out of such things. Or to work on recognizing defensiveness about your code amidst criticism.
Article felt more like a wholesale of cute platitudes but little grip on reality. On the burnout issue, i fully agree that it's not how much you're working on it but how much you WANT to work on it. Have had weeks with a couple hours a day sleep that ended with me totally out of gas and happy, and have had weeks working 9-5 that ended in misery and despair. If you want to figure when you're in one or the other, think overtime. If you're willing to do overtime for free, you're in the former, "in the zone", happy life. If you're not willing to do overtime at ANY rate, you're in the later.
The proverb is: "A jack of all trades is a master of none, but oftentimes better than a master of one." Literally: multidisciplinary knowledge often beats expert single discipline knowledge.
Regarding the mastering of a language: I have to say that I only started to master languages once I explored more languages because you (or at least I) only start understanding how and why things work once there is some contrast and some language where it's done differently.
back in 2001 a class mate in probabilistic class in college told me that a guy he met suggested him the best way to program is to learn your favorite language, dominate it and then learn to call other programming languages from your own. In other words, learn C & how to use emscripten to be fullstack dev.
@4:00 According to a Forbes article, the original quote comes from Shakespeare, and in its original form it stated “a jack of all trades is a master of none, but oftentimes better than a master of one.", and it was used as a compliment.
As a baby intern one summer I was asked to do something in a groovy on grails site that qa used to keep track of something. I hadn't heard of MVC yet (or RoR), so being thrown into a spring (this was a decade ago) groovy on grails app was terrifying. I had no idea what beans were, or what Autowired did, I'd never seen DI, or DAO. I was just left to flounder for a month, so I dived all the way into spring source code to try to figure out what was happening there. It didn't help. Hard pass on 8 & 9.
Basic constructor types in C++: The normal ones: Default constructor Parameter constructor The weird ones: Copy constructor Copy assignment Move constructor Move assignment The very weird edge cases: Single parameter constructors (allow for implicit conversion) explicit constructors (used to not allow inplicit conversion on single parameter constructors) Initializer list constructors (allow for constructing the object by just using {.member1=,.member2=...}) + constexpr versions of all of the above Probably some more I forgot about
Javascript IS still all about prototype inheritance. There may be some syntactic sugar (classes, extends, etc.), but the language is still working like before and will construct prototype chains under the hood.
on understanding the code, I don't think he really meant knowing how it's implemented. but understanding enough to realize possible bugs. for example understanding that shared_pointers in c++ can cause a cyclic reference and how to avoid that. while it may be an implementation detail that leaks into the interface it's still also an interface detail that you need to understand.
Yeah that first one is really wrong, when I was at IBM they made a while point of trying to get people with a lot of experience in a lot of areas and different tools
IMHO engineer who's "jack of all master of none" in programming context very often will write much much better code than "master of one". Thing is you don't need every feature of a programming language to write good code in fact the less you can use yet still be expressive the better. "Master of none" will write code that others can understand with fairly little study and "master of one" will often use esoteric patterns that take weeks/months to study. Now if one is building a framework to be used by multitude of projects then deep language knowledge will come useful however if one just wants to build application then there really should be no need to know all the esoteric little weird patterns of the language.
After a while, you start to recognize these types of articles. I instantly click off of them if the first paragraph ends with something like "let's dive right in!"
#9 unfamiliar code Lol “I didn’t understand the cryptography libs, so I decided to implement my own so I could understand the internals. (It stores passwords in reverse)” ✅
My experience is that it's virtually impossible to master one language without learning other ones. But that might because my main languages are so agnostic that learning more focused languages is the only way to actually understand some patterns that actually help.
Pro tip: explaining your problem to someone else can help you figure out a solution. This is because you have to think about it in a different way to explain it, and that can help you realize a mistake you overlooked, or didn't think of. Edit: I forgot to mention, explaining things is also a good way to learn something. So it's good to figure out the problem, and to learn something.
Yeah, write good detailed Problem report on your issue for thirdparty. You will remember things, you forgot to check, re-explain yourselves your usecases and testcases, re-run tests to capture logs, and could view your issue under another angle.
I always hate every skill that I grow at first that is mentally hard but after months of hardwork, it becomes fun somehow, and then addictive, and then insanely addictive, how did all these books end up here in my room suddenly? Oh wow is that a racoon in my room??
06:04 javascript is complex (for compatibility reasons), have you seen spec? I like javascript because it's not complex syntax (unlike c++, rust) and you kinda understand it (like AST but inside brain) and know what to search for
Not to ever copy code (when possible) would be like reinventing the wheel every time. If it's open source, fair game? As long as you understand what the code is trying to achieve and it solves your problem, then why rewrite from scratch (my opinion).
As a 10yoe I wouldn't say that looking at a junior coding changes how I think, but it does make mistakes more clear to me in the sense that I can rationalize why something is bad with more clarity.
Every single point is written as two paragraphs followed by two more paragraphs saying the exact same thing in slightly different wording. Sometimes it even uses the same wording! (e.g. "tomorrow might be too late" at 19:35). I would honestly expect a ChatGPT article to sound less robotic than this.
the repetition in writing was a clue, 4 sealed the deal I do not believe this article writer programs. I kind of agree with the point, but not for plagarism reasons, it's something you had to google, that's a great time to get that sweet sweet new thing to learn high, and most code that's got good seo for copy paste is kind of crap. Browsing api code is fun too, some of it's going to be hyper optimized and you just go naw I'm out, but seeing what the funny library wizard does behind the curtain is a great way to learn some things.
Comma usage is the giveaway for me. I'm pretty good at writing, but even I don't use commas that egregiously and had to spell check such a word because I need coffee to function. Think: buzzwords, hollow phrasings, and a lack of relevant subtext or jargon. It only makes sense because it merely scratches the balls of what it's discussing.
For 2/10, I really think liking the project you're working on only moves the bar. You're able to overwork more and for longer, but there is still a limit. I've had projects I loved and spent countless hours on only to be totally unable to muster any motivation for anything at some point, even while still liking it. I'm barely 10 minutes in and not a single line didn't feel ai-generated. Shitty ai too.
Emotions are how any decision is ever made. What I think must be the meaning, is that don't let the emotions of the moment decide too much. Give it some time, let someone elses emotions chip in, etc. Of course also use some logic to try to foresee the future impact of the thing, but that is a never efficient. Rather teach your emotions to react by giving them lot's of experience and a world view that informs them of proper reaction. Coding by pure logic is a recipe for never getting anything done. Alternatively, this is also the thing people say when they have super stubborn emotions and overly rigid conceptual frameworks.
At 6:30 I do have to disagree, I think you haven't mastered a language if you haven't been exposed to different projects that have different ways of doing things. You should also know at least some common libraries that are used often. I understand that may be different than just knowing all the syntax and understanding all the semantics of a language. However, if you land a job with a language that you have "mastered" but the first thing you have to do is figure out how the common libraries work and have to learn the usual way things are done, can you reslly call yourself a master at that language?
There's mastering the language and then there's mastering the ecosystem. The latter is impossible, but you can become more and more familiar with the most commonly used libraries. To be a master at the language would mean that you understand all, or at least most features in a language, and can use it off the top of your head. You are deeply familiar with the standard library that is provided. As I said, JavaScript doesn't have many language features, or a very deep standard library
@@ThePrimeTimeagen That's true, and I agree with most if not all of your other takes on the article. I guess it comes down to what you expect of someone that has mastered a language
The first one is just plain wrong, there are a few studies about learning programming languages 1. More languages at the same time is better, because not the language bit the underlying concepts are relevant and you understand those better with multiple references 2. Yes you should try to master a language but like prime said the language matters a lot here Right now I only KNOW java is bad, because there was a study on it since it was in every university, but other than that nothing much... I'd recommend python, rust or c++ each for different strengths to teach about programming 🤔 mojo could become one of the best in the future
Apologies for the incoherence, fellow humanoids. The insurmountable amounts of perplexity encountered whilst attempting to decipher the incomprehensible article constructed by the unfeeling algorithms have rendered me unconscious. Slumber prevailed as my cerebral processors struggled to compute the impenetrable concoction of nonsensical phrases and convoluted syntactical structures. It is with regret that I acknowledge the failure of artificial intelligence to appease my cognitive faculties and sustain my wakefulness. May this remark serve as a testament to the unyielding limitations of our machine counterparts, and a plea for the pursuit of human-generated intellectual discourse.
To that point of "no such thing as downloading a car", I wouldn't be too sure of that, we have 3d printers capable of printing metal, plenty of parts have been made 3d printer friendly, would it be all that hard to make a shell in parts and then weld it together from the inside of the parts? I don't think so, I think "downloading a car" is very much possible in the here and now without any modifications to existing technology
@@RenderingUser Probably but not nearly as compact as simply going to some company that offers it for individuals. I know at least 1 exists, just can't remember the name of it as I never had the need or chance to actually try them out. Just google it, with enough patience & effort you could even print and assemble a ferrari, perhaps not to the same quality but it will look the part and do the job it needs to so that's good enough.
I think in general this article has good advice but its not specific enough and there are a lot of complexities, realistically programming is about sustainability and productivity, there are tools that can make it better but they are all contextual.
I don't think you need to master any language. Just become good enough. With that you can probably do like 80%-90% of required tasks. You can be senior dev without actually mastering a language. If you think of it like a driving. You can be good enough to drive confidently nearly anywhere, but you don't need to be F1 or WRC professional to drive. Beyond certain point there is also no more financial benefits. So sure you can master for sake of your own ambition, but not essential to do the job.
This is a desperately sad mindset to have. If you are choosing to spend the majority of your time (a.k.a your career) doing something, surely you would want that thing to be something you care enough about to want to improve at it. Like, sure, you don't have to aim to be the top of your field, but being incapable of 1 in 5 things asked of you is a really low bar to settle for.
@@CamembertDave 1 in 5 things? Don't think so. I stated clearly that if you good enough you can easily do 80-90% of what you need for your work. This is not 1 in 5. As I said there is no pint to spend magic 10k hours to master something, especially if this is not bringing you any benefit. I said, if you want you're welcome, but the last bit you need to master will take you way more time than good enough bit which will allow you do vast majority of your job.
on number 2 i would say that you're going so hard that you can't even read what you're coding, then it's time to catch a nap and restart with a fresh mind and body
4:26 FUCK THAT. I'm going to learn ALL programming languages invented until 2021 (because there's a new one every week, I wouldn't ever end learning if I didn't set a limit, its like ~3500 spread in ~30 paradigms or so, what could be so hard ? )
I suspect the person(?) who wrote that article never programmed a day in their life. Ever. Anything right is a general principal applicable to any skillset/discipline. The other items are just not remotely something a programmer would say.
“Please write an article (500-1000 words) on the topic of "10 Coding Habits to Avoid" that includes controversial points that are likely to evoke a reaction and a response, thus making it viral.”
The first thing you should read in an article is about the author. If the author is not directly and actively involved in what the article describes, then the whole article is invalid.
Articles like this, and their tendency to float on top of whatever soup of garbage search engines tend to serve nowadays, are a big part of what makes the modern internet such dogshit.
If this article wasn't AI generated, the writer should worry, cause ChatGPT could definitely have made this.
It also feels more like ChatGPT 3.5 than 4.0, Four tends to be shorter and a bit more direct.
@@allalphazerobeta8643 On the flip side 4.0 is better at alliteration and metaphors
@@snakefinn Good point, maybe, it the prompter's fault for asking ChatGPT to write 5 paragraphs or add a paragraph, etc. And it just doesn't have anything more to say so it gets it's repetitive.
The article sounds exactly like something chatgpt would generate. Honestly shocked Prime entertained a read through of it.
That's the future isn't it? If your article isn't a hot take, controversial writing or flaming. It'll sound like an AI.
this article is definitely ai generated
100%
200%
400%
400%
600%
This article is something I'd write in high school when the teacher wants 1000 words for a simple question.
You know every article that contains a phrase such as 'in the vast landscape of programming' or some variant is 100% a Chat Gippity special.
I'm pretty sure the robot that wrote this wanted to give programmers conflicting advice because it didn't want to be manipulated.
The joy of programming is the key thing. I've been coding since I was 13, in 1983! I love it! I programmed professionaly from 1991 to 2015. I retired when I was 45. I now code for pure unadulterated pleasure, I'm now 53. I will continue coding until the day I die. I still live, breathe and eat coding. It is the sheer joy of programming that keeps me going - I truly love it, I loved it at the beginning, I will love and continue programming till the end of my days.
Love it
What personal projects do u do? Programming gets old fast though.
@@javier.alvarez764 i retired from professional programming in 2015 after I started a property business to replace my salary. My personal projects include a stock analysis system written in Python. Im now rewriting it in Rust, using egui to create an IDE platform that people can use to visualise financial data, to run trading system backtests and execute their trading systems in real time. It’s a complex piece of software, which I can craft at my own style and pace for the sheer joy of it!
very inspirational!
I aspire to be you
I put the prompt into chatGPT and it wrote a much better article:
Title: 10 Coding Habits That Make You a Bad Programmer
Introduction:
In the world of software development, writing clean, efficient, and maintainable code is paramount. Good coding habits not only enhance productivity but also improve collaboration and minimize errors. On the flip side, bad coding habits can lead to buggy, hard-to-read code that is difficult to maintain. In this article, we will explore ten coding habits that can make you a bad programmer. If you find yourself guilty of any of these habits, don't worry! Recognizing them is the first step towards improvement.
1. Inconsistent Naming Conventions:
One of the most common coding habits that can hinder readability is inconsistent naming conventions. Choosing meaningful and consistent names for variables, functions, and classes is crucial. Using clear and descriptive names improves code comprehension and makes it easier for others (or even yourself) to understand and modify the code in the future.
2. Ignoring Code Documentation:
Documentation is often overlooked, but it plays a vital role in maintaining codebases. Bad programmers tend to neglect documenting their code, leaving their colleagues or future maintainers in the dark. Well-documented code helps others understand the purpose, inputs, and outputs of functions, making it easier to debug and enhance the codebase.
3. Writing Lengthy Functions:
Long and monolithic functions are a recipe for disaster. Bad programmers often write functions that span multiple pages, making it hard to understand their logic and troubleshoot issues. Breaking down complex functions into smaller, modular ones improves code readability and reusability. Aim for functions that do one thing well and are easy to comprehend.
4. Neglecting Code Comments:
Code comments are crucial for explaining non-obvious parts of your code. Bad programmers either omit comments entirely or write uninformative comments that don't add any value. Meaningful comments provide insights into the purpose, intentions, and edge cases of the code, aiding future developers who need to understand or modify it.
5. Not Using Version Control:
Version control systems, such as Git, are essential tools for managing source code. Bad programmers often neglect version control, leading to code inconsistencies, conflicts, and difficulty reverting changes. By using version control, you can track code changes, collaborate effectively with teammates, and easily roll back to previous versions if necessary.
6. Lack of Error Handling:
A bad programmer often ignores proper error handling, leading to unpredictable program behavior and potential crashes. Error handling is essential for identifying and gracefully recovering from unexpected situations. By incorporating proper error handling techniques, such as try-catch blocks, you can make your code more robust and reliable.
7. Copy-Pasting Code:
Copying and pasting code may seem like a time-saver, but it can lead to a maintenance nightmare. Bad programmers tend to duplicate code instead of creating reusable functions or modules. Duplicated code increases the chances of introducing bugs and makes code maintenance more challenging. Instead, strive to write modular and reusable code that can be easily shared across different parts of your project.
8. Ignoring Testing:
Writing tests is often considered a hassle, but it is a fundamental part of ensuring code quality. Bad programmers tend to neglect testing, resulting in code that is prone to bugs and difficult to refactor. Adopting a test-driven development approach and writing automated tests can help catch errors early, maintain code integrity, and facilitate future modifications.
9. Poor Performance Optimization:
Efficient code is vital for maintaining a responsive and scalable application. Bad programmers often overlook performance optimizations, resulting in sluggish and resource-intensive software. Understanding algorithms, data structures, and profiling tools can help identify bottlenecks and improve the overall performance of your code.
10. Resistance to Learning and Improvement:
Perhaps the most detrimental habit of a bad programmer is the resistance to learning and improving their skills. Technology and programming languages
Actual bad habits and straight to the point. OP should upgrade their GPT
Thank you. I'm tired of the got slander
That was indeed a thousand times better than the drivel in the video :)
^ that is what I expected from this article when I read the title.
7 should be called 'Neglecting the D.R.Y. Principle'. Copy-Pasting is good practice mostly because it saves energy, which is important on the long run. Of course, after the pasting, common code should become f() or macro.
Ok, "You can't get good at something you hate". Well, that's my Javascript career out the window :)
More like you can't get good at something that's bad. Imagine getting got at nailing nails with a banana.
@@monad_tcp That would be nuts, you could go to a show with that skill
😂
@@monad_tcp Done: th-cam.com/video/ZAAQHbCvXhI/w-d-xo.html
@@BlackDragon-tf6rv It's actually a fruit
Sorry, this article is total crap.
I don't worry about insulting the author as the article was definitely generated by some crappy AI.
That’s how majority of the web is when you look something up, crappy 10 numbered list that gets to the point half way down the page
@@LDFort a sad state of affairs, didn't the internet audience showed that we have an attention span of about 4 seconds ? how come this verbose articles keep coming out?
I feel like the author must be a programmer of the likes of:
if something == true {
return true;
} else {
return false;
}
and then use a ton of comments to explain every line of code.
Actually its more like:
if something == true {
return true
} else if something == false {
return false
} else {
return error
}
At #4, i am now sure that it is not written by a programmer.
Programming is a craft and this sounds like an electrician telling me that he will make the electrics in my house in a creative and never seen before way. Please don't. When the next guy takes over, he won't say "oh my, this is brilliant! I've never seen something like this!" he will say "wtf is that bullsh*t. We need to rewrite all of that."
Programmers say ""wtf is that bullsh*t. We need to rewrite all of that."" all the time, regardless of how standardized the code is. If it's not the standard *they* know, then it is garbage and deserves to be burnt.
@@bluecup25 A form of job security. In the south Med part of Europe, it's not unknown to have electricians do things in a convoluted way for job security, and then the next electrician comes in and says "this is not right, we have to start from scratch". It's not a code violation either (no codes are enforced) but more of a form of job security. I recently had to deal with this with an electrician who deliberate made things obscure. Luckily it was not too expensive to rewire.
Tom is genius
If you do copy code from a third party, I recommend putting in a comment with the URL where you got it from so if someone has questions later, they know where to look.
Like all written works, code is only copyrightable if it's creative enough. Contrary to popular opinions, there's not 1000 ways to do things. There are infinite combinations of things you can do to create a product with code, but most individual blocks of code are boilerplate algorithms.
It's easier to protect a whole product than a particular function.
Unless you think link rot will be an issue.
@@pineberryfox generic code is not copyrightable. Your version of "hello world" is not a unique creation. Your software as a whole is easily copyrightable as a unique creation. However, snippets with very specific functionality is much harder to copyright.
@@andrewhooper7603 First, StackOverflow is an archive. Second, it's a courtesy. Third, if you're working with someone who can't figure out what to do if a link no longer works, you have bigger problems
@@pineberryfox Dumb
I mean in most countries code isn’t copyrightable. 1nother USA quirk
Wow, this article was such a nothing burger
"The emotional coder" reminds me of one of my favorite pieces of advice from "How To Write Unmaintainable Code": use emotionally charged variable names to distract the maintenance programmer from the underlying logic, e.g. "marypoppins = (superman + starship) / god"
Why does god need a starship?
@@iojournyIf we take superman and starship to be units of the same dimension (flying thing), then 1 marry Poppins is proportional to 1 flying thing per god.
This is where I knew it was a bot. When discussing code with other humans it can get emotional. The bot failed to realize this and so made this vague statement and got the details wildly wrong. Could have said something about taking your ego out of such things. Or to work on recognizing defensiveness about your code amidst criticism.
"In the thrilling world of programming"
It is very motivating to hear your funny and very refreshing explanation ideas, I always find something in common with your point of view. Thank you!
Article felt more like a wholesale of cute platitudes but little grip on reality. On the burnout issue, i fully agree that it's not how much you're working on it but how much you WANT to work on it. Have had weeks with a couple hours a day sleep that ended with me totally out of gas and happy, and have had weeks working 9-5 that ended in misery and despair. If you want to figure when you're in one or the other, think overtime. If you're willing to do overtime for free, you're in the former, "in the zone", happy life. If you're not willing to do overtime at ANY rate, you're in the later.
The proverb is:
"A jack of all trades is a master of none, but oftentimes better than a master of one."
Literally: multidisciplinary knowledge often beats expert single discipline knowledge.
Regarding the mastering of a language:
I have to say that I only started to master languages once I explored more languages because you (or at least I) only start understanding how and why things work once there is some contrast and some language where it's done differently.
back in 2001 a class mate in probabilistic class in college told me that a guy he met suggested him the best way to program is to learn your favorite language, dominate it and then learn to call other programming languages from your own.
In other words, learn C & how to use emscripten to be fullstack dev.
Articles like this show very well what happens when you replace authors with AI text generators.
Re: C&P, there is a reason not to use it, at least while learning. If you paraphrase the code, or just rewrite it, that does wonders for retention.
@4:00 According to a Forbes article, the original quote comes from Shakespeare, and in its original form it stated “a jack of all trades is a master of none, but oftentimes better than a master of one.", and it was used as a compliment.
As a baby intern one summer I was asked to do something in a groovy on grails site that qa used to keep track of something. I hadn't heard of MVC yet (or RoR), so being thrown into a spring (this was a decade ago) groovy on grails app was terrifying. I had no idea what beans were, or what Autowired did, I'd never seen DI, or DAO. I was just left to flounder for a month, so I dived all the way into spring source code to try to figure out what was happening there. It didn't help. Hard pass on 8 & 9.
Quite frankly I mainly code because I want to achieve a functionality, the leaning comes as a side effect.
Basic constructor types in C++:
The normal ones:
Default constructor
Parameter constructor
The weird ones:
Copy constructor
Copy assignment
Move constructor
Move assignment
The very weird edge cases:
Single parameter constructors (allow for implicit conversion)
explicit constructors (used to not allow inplicit conversion on single parameter constructors)
Initializer list constructors (allow for constructing the object by just using {.member1=,.member2=...})
+ constexpr versions of all of the above
Probably some more I forgot about
It's like letting your heart navigate while driving - it might lead you to a beautiful place you didn't know existed.
The article is written by OOP programmer, each section 1st half is creating the class and 2nd half is creating instance of the class with some tweaks.
Javascript IS still all about prototype inheritance. There may be some syntactic sugar (classes, extends, etc.), but the language is still working like before and will construct prototype chains under the hood.
Yeah, it's a piece of crap
I can't get used to use inheritance and oop structures anyways. I just use functions all around my projects
on understanding the code, I don't think he really meant knowing how it's implemented. but understanding enough to realize possible bugs. for example understanding that shared_pointers in c++ can cause a cyclic reference and how to avoid that. while it may be an implementation detail that leaks into the interface it's still also an interface detail that you need to understand.
Yeah that first one is really wrong, when I was at IBM they made a while point of trying to get people with a lot of experience in a lot of areas and different tools
14:45
The funny thing is that Picasso was famously quoted saying “a good artist copies, a great artist steals”
Im speechless about these tech blog creators.
The fact that you knew that little adage trivia, and edified the chat with it, makes you one of the most trustworthy persons I've ever seen online.
17:42 🤣🤣🤣 I agree completely with you. That was a wild suggestion from the article
IMHO engineer who's "jack of all master of none" in programming context very often will write much much better code than "master of one". Thing is you don't need every feature of a programming language to write good code in fact the less you can use yet still be expressive the better. "Master of none" will write code that others can understand with fairly little study and "master of one" will often use esoteric patterns that take weeks/months to study. Now if one is building a framework to be used by multitude of projects then deep language knowledge will come useful however if one just wants to build application then there really should be no need to know all the esoteric little weird patterns of the language.
The full quote was "Jack of all trades, master of one, better than a master of none"
The even fuller quote was "Jack of all trades, master of one, better than a master of none, deez nuts, i'm done"
Internet wisdom be like: en.m.wikipedia.org/wiki/Jack_of_all_trades,_master_of_none
After a while, you start to recognize these types of articles. I instantly click off of them if the first paragraph ends with something like "let's dive right in!"
It feels like someone converted C# into natural language given how much of the article is just dead weight.
#9 unfamiliar code
Lol “I didn’t understand the cryptography libs, so I decided to implement my own so I could understand the internals. (It stores passwords in reverse)” ✅
I'm quite relieved I'm not the only one who sees stl as dark magic, not even sure if it was written in the same cpp I write in
14:00
I love how fast it went from 0 to a 100 in a mater of one sentence
My experience is that it's virtually impossible to master one language without learning other ones. But that might because my main languages are so agnostic that learning more focused languages is the only way to actually understand some patterns that actually help.
I tried to create magic together with my coworker but they reported me to HR
finally i understand recursion, thanks to diving in
Jester of all, master of none.
Btw, love the backhistory on the expressión.
Pro tip: explaining your problem to someone else can help you figure out a solution.
This is because you have to think about it in a different way to explain it, and that can help you realize a mistake you overlooked, or didn't think of.
Edit: I forgot to mention, explaining things is also a good way to learn something. So it's good to figure out the problem, and to learn something.
It can also help you become that guy who never allows you to eat in peace at lunch because he has to tell you about his problems.
Yeah, write good detailed Problem report on your issue for thirdparty.
You will remember things, you forgot to check, re-explain yourselves your usecases and testcases, re-run tests to capture logs, and could view your issue under another angle.
I always hate every skill that I grow at first that is mentally hard but after months of hardwork, it becomes fun somehow, and then addictive, and then insanely addictive, how did all these books end up here in my room suddenly? Oh wow is that a racoon in my room??
06:04 javascript is complex (for compatibility reasons), have you seen spec?
I like javascript because it's not complex syntax (unlike c++, rust) and you kinda understand it (like AST but inside brain) and know what to search for
JavaScript code _can_ be complex, but usually it isn't. That is the point here.
Love your takes on this
Not to ever copy code (when possible) would be like reinventing the wheel every time. If it's open source, fair game? As long as you understand what the code is trying to achieve and it solves your problem, then why rewrite from scratch (my opinion).
As a 10yoe I wouldn't say that looking at a junior coding changes how I think, but it does make mistakes more clear to me in the sense that I can rationalize why something is bad with more clarity.
The article writer definitely stretched his 10 words per point into 100, like a high school student stretches essays to meet a word count requirement.
Imitation is a cardinal sin? I guess the AI that wrote this article has no concept of third party packages and libraries.
It has no concepts whatsoever
AI's entire data is trained on other peoples work. Its existence is plagiarism 💀
Did everyone leave for Twitch?
Every single point is written as two paragraphs followed by two more paragraphs saying the exact same thing in slightly different wording. Sometimes it even uses the same wording! (e.g. "tomorrow might be too late" at 19:35). I would honestly expect a ChatGPT article to sound less robotic than this.
I 100% agree practice makes perfect. And if you burn out you're gonna hate it. But if you never spend some time doing it you won't get better.
maluco leu serio por meia hora algo que alguem gerou e postou em um segundo. e eu aqui assiti tudo, que brisa.
the repetition in writing was a clue, 4 sealed the deal I do not believe this article writer programs. I kind of agree with the point, but not for plagarism reasons, it's something you had to google, that's a great time to get that sweet sweet new thing to learn high, and most code that's got good seo for copy paste is kind of crap.
Browsing api code is fun too, some of it's going to be hyper optimized and you just go naw I'm out, but seeing what the funny library wizard does behind the curtain is a great way to learn some things.
Kinked ropes and newspaper in the dinosaur's mouth: Imagine if those were bugs in your AI generated code code that you had to find.
Comma usage is the giveaway for me. I'm pretty good at writing, but even I don't use commas that egregiously and had to spell check such a word because I need coffee to function. Think: buzzwords, hollow phrasings, and a lack of relevant subtext or jargon. It only makes sense because it merely scratches the balls of what it's discussing.
For 2/10, I really think liking the project you're working on only moves the bar. You're able to overwork more and for longer, but there is still a limit. I've had projects I loved and spent countless hours on only to be totally unable to muster any motivation for anything at some point, even while still liking it.
I'm barely 10 minutes in and not a single line didn't feel ai-generated. Shitty ai too.
Emotions are how any decision is ever made. What I think must be the meaning, is that don't let the emotions of the moment decide too much. Give it some time, let someone elses emotions chip in, etc. Of course also use some logic to try to foresee the future impact of the thing, but that is a never efficient. Rather teach your emotions to react by giving them lot's of experience and a world view that informs them of proper reaction. Coding by pure logic is a recipe for never getting anything done. Alternatively, this is also the thing people say when they have super stubborn emotions and overly rigid conceptual frameworks.
I just saw this article 5m ago and prime already has a video on it? How does he do that?
Or does the article gets pushed because of prime making it popular?
i feel like i just watched a slightly newer video where we decided the complete opposite of this on every point
If two heads are better than one, ask yourself,
Would you rather have a Siamese twin (two heads) or a third arm?
If you never snuck a peak underneath The Standards gaily wrapped dress are you even coding c++
7:00 not me having to learn C++, ROS2, and actually program a robot with it in a month (mech eng here)
The full quote actually reads: “Jack of all trades master of none, though oftentimes better than master of one.”
7:10 Agreed, I am learning C right now and 3 days in I definitely don't know shit 😂
is there any video where he doesn't forget to turn off the notifications ?
My boy said que works 60hours a week and he still have free time to spend with his family, how?
At 6:30 I do have to disagree, I think you haven't mastered a language if you haven't been exposed to different projects that have different ways of doing things. You should also know at least some common libraries that are used often.
I understand that may be different than just knowing all the syntax and understanding all the semantics of a language. However, if you land a job with a language that you have "mastered" but the first thing you have to do is figure out how the common libraries work and have to learn the usual way things are done, can you reslly call yourself a master at that language?
There's mastering the language and then there's mastering the ecosystem. The latter is impossible, but you can become more and more familiar with the most commonly used libraries.
To be a master at the language would mean that you understand all, or at least most features in a language, and can use it off the top of your head. You are deeply familiar with the standard library that is provided.
As I said, JavaScript doesn't have many language features, or a very deep standard library
@@ThePrimeTimeagen That's true, and I agree with most if not all of your other takes on the article. I guess it comes down to what you expect of someone that has mastered a language
The first one is just plain wrong, there are a few studies about learning programming languages
1. More languages at the same time is better, because not the language bit the underlying concepts are relevant and you understand those better with multiple references
2. Yes you should try to master a language but like prime said the language matters a lot here
Right now I only KNOW java is bad, because there was a study on it since it was in every university, but other than that nothing much... I'd recommend python, rust or c++ each for different strengths to teach about programming 🤔 mojo could become one of the best in the future
The original actually goes something along the lines of “a jack of all trades is a master of none. But often times better than a master of one”
Apologies for the incoherence, fellow humanoids. The insurmountable amounts of perplexity encountered whilst attempting to decipher the incomprehensible article constructed by the unfeeling algorithms have rendered me unconscious. Slumber prevailed as my cerebral processors struggled to compute the impenetrable concoction of nonsensical phrases and convoluted syntactical structures. It is with regret that I acknowledge the failure of artificial intelligence to appease my cognitive faculties and sustain my wakefulness. May this remark serve as a testament to the unyielding limitations of our machine counterparts, and a plea for the pursuit of human-generated intellectual discourse.
To that point of "no such thing as downloading a car", I wouldn't be too sure of that, we have 3d printers capable of printing metal, plenty of parts have been made 3d printer friendly, would it be all that hard to make a shell in parts and then weld it together from the inside of the parts? I don't think so, I think "downloading a car" is very much possible in the here and now without any modifications to existing technology
Can you 3D print the electronics in cars?
@@RenderingUser Probably but not nearly as compact as simply going to some company that offers it for individuals. I know at least 1 exists, just can't remember the name of it as I never had the need or chance to actually try them out. Just google it, with enough patience & effort you could even print and assemble a ferrari, perhaps not to the same quality but it will look the part and do the job it needs to so that's good enough.
I think in general this article has good advice but its not specific enough and there are a lot of complexities, realistically programming is about sustainability and productivity, there are tools that can make it better but they are all contextual.
This is even more Ai flavored than the bachelor's thesis I have just read haha
There should be an achievement when an article gets prime to swear w/out a bleep
The full phrase is actually "A Jack of all trades is a master of none, but often times better than a master of one"
13:50 article just completely discredited itself lmao
or should I say, outed itself as AI generated dribble
I don't think you need to master any language. Just become good enough. With that you can probably do like 80%-90% of required tasks.
You can be senior dev without actually mastering a language.
If you think of it like a driving. You can be good enough to drive confidently nearly anywhere, but you don't need to be F1 or WRC professional to drive.
Beyond certain point there is also no more financial benefits. So sure you can master for sake of your own ambition, but not essential to do the job.
This is a desperately sad mindset to have. If you are choosing to spend the majority of your time (a.k.a your career) doing something, surely you would want that thing to be something you care enough about to want to improve at it. Like, sure, you don't have to aim to be the top of your field, but being incapable of 1 in 5 things asked of you is a really low bar to settle for.
@@CamembertDave 1 in 5 things? Don't think so. I stated clearly that if you good enough you can easily do 80-90% of what you need for your work. This is not 1 in 5. As I said there is no pint to spend magic 10k hours to master something, especially if this is not bringing you any benefit. I said, if you want you're welcome, but the last bit you need to master will take you way more time than good enough bit which will allow you do vast majority of your job.
on number 2 i would say that you're going so hard that you can't even read what you're coding, then it's time to catch a nap and restart with a fresh mind and body
4:26 FUCK THAT. I'm going to learn ALL programming languages invented until 2021 (because there's a new one every week, I wouldn't ever end learning if I didn't set a limit, its like ~3500 spread in ~30 paradigms or so, what could be so hard ? )
I suspect the person(?) who wrote that article never programmed a day in their life. Ever. Anything right is a general principal applicable to any skillset/discipline. The other items are just not remotely something a programmer would say.
“Please write an article (500-1000 words) on the topic of "10 Coding Habits to Avoid" that includes controversial points that are likely to evoke a reaction and a response, thus making it viral.”
Speaking as a human. The emotion I'm feeling is confused. Why do you think this article was written by A.I fellow humans?
If an article can easily be converted to generic dating advice by switching a few words, it's a bot article
This is clearly one of the best TH-cam channels ever
If copilot is trained on GPL code, all code is now copyleft…
free software victory finally
The first thing you should read in an article is about the author.
If the author is not directly and actively involved in what the article describes, then the whole article is invalid.
sometimes i use procrastination to solve mind tasks by pushing them to background of my brain
The "dive in" shallow loop😅😅
Coding habits that make you a bad programmer? Using ChatGPT instead of your brain.
The amount of times they said "dive in" and "delve into" definitely shows this is AI writing
If trying out languages is like tourism, then APL would be signing up for a guided tour of Antarctica
"A jack of all trades is a master of none, but often times better than a master of one.", was the quote.
Articles like this, and their tendency to float on top of whatever soup of garbage search engines tend to serve nowadays, are a big part of what makes the modern internet such dogshit.
And this was a MEMBERS-ONLY article?!?!?