- 8
- 758 965
Code Persist
United States
Приєднався 11 бер 2023
Everything from hot takes to the nitty gritty of programming languages. If a topic relates to coding it's fit for a Code Persist video!
How to finally Git Good
Git is a version control software that you’ll definitely use in your career and coding journey. Git helps you track your code and safely add new features to your code. I’ll talk about the basics of git and even show how to make pull requests on Github in this git tutorial! If you enjoyed the video a like and sub would be amazing!
💻 Github💻
github.com/code-persist/gitGood
The links below are Amazon affiliate links, meaning I may earn a small commission if you make a purchase through them.
🎥 My Gear 🎥
Laptop - amzn.to/3TOfJns
Mic - amzn.to/3N5wsyS
Keyboard - amzn.to/3Y30j1n
Timestamps:
0:00 dreaming
0:41 git intro
1:01 git staging
1:55 git reset
2:54 branches
3:44 merge explanations
4:40 merge conflict
5:43 rebase
6:30 github basics
8:12 pull requests
#programming #software #git
💻 Github💻
github.com/code-persist/gitGood
The links below are Amazon affiliate links, meaning I may earn a small commission if you make a purchase through them.
🎥 My Gear 🎥
Laptop - amzn.to/3TOfJns
Mic - amzn.to/3N5wsyS
Keyboard - amzn.to/3Y30j1n
Timestamps:
0:00 dreaming
0:41 git intro
1:01 git staging
1:55 git reset
2:54 branches
3:44 merge explanations
4:40 merge conflict
5:43 rebase
6:30 github basics
8:12 pull requests
#programming #software #git
Переглядів: 77 473
Відео
Don't be Lazy use Containers
Переглядів 24 тис.5 місяців тому
Docker Containers are essential to running code in production environments. Do you ever write some code and have it fail to run somewhere else, a container will solve that problem in no time! They take no time to spin up and are lightning fast. In this video we'll go over why to use docker containers and create a simple Docker container to run a Node.js web application. Not only will understand...
Is This the Next Python?
Переглядів 26 тис.Рік тому
Nim is a modern language with the syntax of Python, the speed of C, and the extensibility of Lisp. You can do almost anything with Nim from systems programming to high-level development of webpages and apps. If you enjoyed the video a like and sub would be amazing! 🔥 Nim Links 🔥 - Nim Homepage: nim-lang.org/ - Nim Docs: nim-lang.org/documentation.html - Nim Compiler Options: nim-lang.org/docs/n...
Data Collection through Web Scraping and Proxies
Переглядів 3,1 тис.Рік тому
🔥 Bright Data: brdta.com/codepersist Web Scraping is increasingly useful as more services cut their APIs. For some products, it's the only way to get data from the website. In this video, we'll be web scraping the internet with the Bright Data Scraping Browser to prevent many blocks from websites. We'll also look through Reddit and perform sentiment analysis on people's opinions regarding stock...
Does Python Really Need the GIL
Переглядів 21 тис.Рік тому
Python is a great language that can do almost anything. Its ease of use has been one of its greatest features. The Global Interpreter Lock is the opposite and can make it confusing to understand why multithreading doesn't work as you would expect. If you like the video consider subscribing for more like these! 0:00 GIL? 0:56 GIL Uses 1:10 Reference Counting 2:04 Multithreading 3:03 Numpy/IO thr...
Rust, Modern Solutions to Modern Problems
Переглядів 55 тис.Рік тому
Rust is a statically typed compiled language designed around performance and memory safety. Many of its features are considerably modern and solve a large sum of unsafe memory issues targeting computers today. Rust's borrow checker enables developers to write safe code with the power of low-level languages and the syntax of higher-level languages. If you enjoyed the video feel free to hit the s...
Ditch your Favorite Programming Paradigm
Переглядів 215 тис.Рік тому
Programming paradigms define the way our code is written and styled. With modern-day programming, a multi-paradigm approach is getting far more popularized. It's more important now than ever to not have a favorite paradigm as utilizing a multi-paradigm approach can significantly increase your coding quality and efficiency. If you enjoyed the video feel free to hit the subscribe button for more ...
How C++ took a turn for the worse
Переглядів 339 тис.Рік тому
C is a great language to know; however, as time goes on more features are added to the language. These extra features make it far weirder than it used to be. If you liked the video subscribe and hit that like button! 0:35 auto 1:32 STL 2:33 Package Manager 3:22 Error Messages 4:18 Backward Compatibility The links below are Amazon affiliate links, meaning I may earn a small commission if you mak...
Genial video, pero tengo curiosidad si HasData tiene una solución para scraping de Reddit también.
Great explaination. This video was very helpful to help me understand the WHY I have to learn Haskell and FP language, and why/how they are different. God bless you
C++ aint gonna be replaced and would probably still be heavily implemented within 10-15 years or so. Many game studios big and small use it and multiple codebases are used in operating systems as well like Windows.
2:20 I disagree here, sometimes it's easier to look into cppreference than to figure out what's going on here. It's easier for me to look for a ready-made solution in cppreference than to build a new bicycle.
Implicit return can never be a good thing - it does not make it easier to read. A shame that so many language developers do not understand that readability is more important than "writability". The distinction between functions and procedures is unfortunately lost in most programming languages used today. It was a part of languages like Pascal, COMAL-80, Ada, Algol, Fortran, and Visual Basic. It would be a great way to separate calls with and without side-effects.
I am a C developer but honestly if they can fix performance issues of python, I think python is the best language out there for most modern applications.
I'm sad that youtube doesn't allow me to dislike a video more than once.
this is dumb
This description of encapsulation misleading but the problem is that encapsulation is such an abstract concept that it is hard to map it onto a real life concept. private members are more about hiding functionality that is unneeded from outside the function or ensuring that the object has the responsibility over changing a member. E.G. SSN isn't private because it is sensitive information. it's private because instead of saying person.SSN=0123456789 you want to do person.setSSN(0123456789) the function not only sets ssn but also registers the new SSN with the SocialSecuityOffice object. Editing the public member could cause a discrepancy in data between the two objects.
C is still the best. Anyway, you said 'pip install' is easy. Well, it's not. If you want to bundle the packages with your source, you have to create an environment. And that's a heck of a lot more difficult to understand than "download + put into ./lib and ./include"
Bragging about how you don't know your algorithms is not a good look. Most code should just be algorithm composition
Prototypical paradigm of JavaScript (ECMAscript) is another great paradigm.
0:34 Same here, after doing C&C plus plus for over 30 years, python totally confuses me. I am staying far from it as much as I can. In fact, on two occasions I had the opportunity to remove a python app and replace it with C++ because the python was just too slow
C++ had to do this to get people off of it and use get other languages a chance. But we fooled them all. I don't let any on my developers use non readable/maintainable code. So we only use a sub set of c++. In face if it wasn't for the fact that encapsulation is so good we could do most of it in C just fine.
The standard template library gets quite intuitive if you use it a little, in my opinion
what a nice bait video 1200 comments on how u r wrong
Dont be Fanboys , listen to what he says instead of gleefully saying it's a python dev complaining. He makes a point
2:11 i dont think its bad tbh, i dont even code in C++, i just read the keywords and saw a foreach that returns 2 to every element, so it must be a list with the size of the list passed, then it has accumulate, that i suppose sums the elements up, and then we sort it
“I am a pyhon developer…..”. Shut up.
Sounds like a really bad skill issue.
OOP is good for experiments and prototyping or smaller projects, because they do not get so complex. ANything else, it's unneeded unless it's needed. THe big mistake I hear people make is that they reach for OOP IMMEDIATELY before they even know if it will help them or not. That's like already starting optimizing before you even understand what needs to be otpimized. I think the issue is that people really believe they DO need it, which makes it tricky to not start with 10 layers of inheritance. Same applies to FP, however, I gotta say, I do find myself using FP A LOT MORE than OOP. Command pattern and strategy pattern are my most used OOP design patterns.
I csn see you have used C++ in your life as much as the duration of your video.
"There is no indication of what this random function returns" It's cause you didn't document the code for example, I can do the same example in python, I = random_function(n) "Oh this is so bad I can't understand what it does".
segfault says exactly where the error occurs, you just can't read...
functional is good for modeling a more abstract problem (closer to actual math) while oop is better at modeling already clearer and closer to reality systems (talking objects)
1. auto has its place, like with reducing pleonasm or trailing type deductions, not obfuscating intent 2. the STL is fine - what you're describing is C++20 mixed with fold expression; it's interesting to see the potential of these functions, but just because you can doesn't mean you should 3. dependencies, learn cmake fetchcontent 4. segfaults, learn to debug with gdb and read core files 5. smart pointers is not the same as raw heap allocation - it is a definite improvement
for segfaults just use a debugger and backtrace
Not preference. FP does not work on its own merits. OOP ois battle proofed. .
Stopped watching at exactly 0:02
Nah, its enormous but its not weird or bad. Its just a gigantic language. Also the solution they arrived at for metaprogramming is clunky. But thats true for almost all non lisp programming languages. Metaprogramming is just fundamentally weird and stupid (yes im looking at you rust) when you are not dealing with s expressions. Outside of that, its a perfectly usable and valid language. You dont have to use all the features all the time, lol. And yes, it does take a lifetime to master. But so does any worthwile semipowerful language out there.
The problem with C and C++ and Java is: they never deprecate anything. Nothing is ever removed, because there's too many people using ossified code bases who want to keep their old bad behaviour rather than having to convert a million lines of code to better practices. And so we end up with three different `malloc`s, fifteen new templates, and keywords like `auto` being misused to just hope the compiler will figure it out. Until these languages actually start deprecating old bad practices, they're always going to end up with a mess of old and new, bad and good, side by side and indistinguishable.
that is wrong. std::random_shuffle was removed in c++17, garbage collector was removed, auto_ptr was removed, register keyword was removed, std::strstream and related were replaced with std::stringstream, along with plenty of other things.
interesting, but why people insist in the idea of oop being about "modeling the real world"? i mean, you can use "real world" as models on any paradigm. a better definition would be that oop have behaviour and state coupled while state is implicit here in gereral, on the other hand fp have behaviour and state decoupled, immutable and explicit
sounds like this guy isn't great at c++
Best video I've seen in the topic. Thanks.
keep cpp as cpp and keep interpreted stuff for interpreted languages
As a C++ developer for about 8 years, i dont think this is a fair review... You should not blame the language for bad code. The modern features are there to make it easier, but is not something you have to use. So again dont blame the language, when its really just a skill issue for most people disliking c++
skill issue
the idea for refactoring "Perfectly readable" code to this amalgamation is usually perfomance thats just a bad case here because there wont be a big impact here, but once just by changing a function i've managed to get it 5x faster
C++11 and I call it a day
So FPOOP is better than FP? I don't think so... Also, abstraction doesn't have anything to do with encapsulation. If anything, it has more to do with polymorphism. It's not about a hidden implementation. It's about defining an interface without the need to provide an implementation. E.g. a library may not even provide an implementation to an abstract interface, class, or method and still compiles fine, whereas the implementations can be provided by the users of that library (and of course they happen to also know the implementation then). Basically, any client of a method/function/procedure should not need to know its implementation details if it's well written and has a proper interface/signature. That concern is orthogonal to abstraction.
Functional program feels slow as is due to data copy , it adds so much time to process that other get it done quickly, the most expensive taks from cpu side is moving data and not computing data. It seems aceptable tradeoff but you know deep down as project grows large the experience of ui feels laggy more and more which could be just avoidable if it wasn't copied data and shared instead .
Just turn ur car params init to slots and u are functional, or you can do some funky, you could functions which take car as a module and throw it in there, if u have many you could partialize. For the car example, if i were doing functional, i would combine it with modular ``` import car mycar = Car(100, "honda") car.maintenance_check(mycar) ``` For car module ``` from __future__ import annotations from typing imort NamedTuple from enum import Enum, auto clads Make(Enum): Honda:Manufacturer=auto() Toyota:Manufactuter=auto() class Manufacturer(NamedTuple): miles_for_service:int=100 ... class Honda(Manufacturer): ... class Car(NamedTuple): make:Manufacturer def maintenance_check(car:Car) -> bool: if car.Miles < Manufactucturer[car.Make].miles: return False else: return True ```
You seem like someone who doesn't really have much experience with C++. Not sure why you would make a video about it like you do.
im just trying to figure out how to remove a file i committed in a commit thats 7 commits back without changing any of the last 6 commits. i cant push bc that file is too large to push to github, i never meant to add it but i cant remove it no matter what i try.
Video is too short
C++ was one of my first languages so I kind of just accepted this is what coding software is like. Now I look at it and think it's pretty crazy. I still like it though. You do feel more pro coding C++ than other languages.
on linux package management for C/C++ programs is easy since you can install libraries through the systems package manager itll put all the shared objects in /usr/lib and all the headers in /usr/include automatically
as a software developer (C primary) dealing with C++ gives me pure pain. I have no idea such ugly language could be made. Using C++ in embedded software development should be considered a crime.
I agree that C++ has become weirder and weirder, I never use auto. I prefer to use classic syntax every time, I mostly develop for small micro-controllers and IOT and prefer to explicitly tell what I need it to do, usually the code is more efficient and faster than using mambo jumbo optimized and modern syntax and I need to understand what I have done after some time as well 😅
What a dumb video
0:21 wtf man I immediately grab my phone