ProjectXiel
ProjectXiel
  • 8
  • 30 685
The Art Of Bits
A video briefly going over bits, their role in the hardware, two's compliment, binary addition, arithmetic overflow, and underflow, as a precursor to The Art of Bit Manipulation, that I plan to release in the future.
The article that I wrote that this video was based off of, can be found at projectxiel.org/resources/bit-manipulation
This was originally recorded January of 2024, 3 months prior to its upload date.
Переглядів: 305

Відео

Channel Update.
Переглядів 1156 місяців тому
Channel Update.
The Death Of CoffeeScript
Переглядів 2,9 тис.Рік тому
A video briefly talking about CoffeeScript, and how it became irrelevant overtime. How other technologies completely took over and made it obsolete. Timestamps 0:00 - Intro 0:58 - CoffeeScript 3:54 - ES6 5:22 - TypeScript 6:02 - Conclusion
The Art Of Pointers
Переглядів 3,4 тис.Рік тому
A video about pointers, heavily inspired by an article I read years ago on duramecho.com. It has the classic Art Of Pointers title. We'll discuss pointers, what they are, how they're used, and why they exist in the first place, as well as their significance overall. Timecodes 0:00 - Intro 2:19 - Memory 4:00 - Pointers 5:17 - Why? 7:07 - Arrays 13:32 - Strings 16:12 - Pass By Reference 17:21 - O...
The Best Programming Language To Learn (IMO)
Переглядів 1,7 тис.Рік тому
This video goes over different programming languages, and how their used in real world situations, as well as what the optimal choice is for any given domain or industry. Timecodes 0:00 - Intro 1:34 - Beginners 4:09 - Frontend 6:22 - Backend 10:41 - Mobile 13:23 - Mainframe 15:14 - Data Science 16:23 - AI/Machine Learning 17:47 - Game Dev 18:56 - Embedded Systems 21:25 - Science & Engineering 2...
The Art Of Object Oriented Programming
Переглядів 8 тис.Рік тому
Throughout the video, we'll explore essential OOP concepts such as classes, objects, inheritance, abstraction, polymorphism, and encapsulation, demonstrating how they enable us to create modular, reusable, and extensible code. You'll witness how OOP encourages a holistic and structured approach to problem-solving, empowering developers to build complex systems while prioritizing maintainability...
Vim Basics: Your Essential Guide to Getting Started
Переглядів 860Рік тому
In this video, we'll cover the bare minimum you need to know to start using Vim effectively. Cheet Sheet: vim.rtorr.com/ Timestamps 0:00 - Intro 2:12 - Installation 4:11 - Entering and Exiting 4:59 - Vim Modes 5:40 - Normal Mode 6:43 - Insert Mode 7:10 - Visual Mode 7:37 - Command Mode 8:11 - Replace Mode 8:23 - Plugins 10:16 - Conclusion
The Art Of Programming
Переглядів 14 тис.Рік тому
In this video, we'll explore the basics of programming, including the different programming paradigms such as procedural, object-oriented, and functional programming. We'll also dive into important concepts like data structures, algorithms. Whether you're a complete beginner or just looking to refresh your knowledge, this video is perfect for anyone interested in programming. Timecodes 0:00 - I...

КОМЕНТАРІ

  • @varg1952
    @varg1952 21 день тому

    i need a developer on my team who knows coffeescript in 2024 respond back with a way to contact you

  • @MrOsu45
    @MrOsu45 4 місяці тому

    I wanted to thank you for your hard work. I have found your videos very helpful as someone who is interested in these topics and programming, but need a 5,000ft level explanation to feel comfortable jumping in. You offer a great overview of dense topics to a noob like myself, but with detailed explanations and examples that cement the new information. Your videos offer "information anchors" to someone like myself. Thank you

  • @youflix_24
    @youflix_24 5 місяців тому

    Coffeescript is not yet dead, im still using it for making web games. Its easier to code in coffeescript than javascript because of less annoying brackets.

    • @youflix_24
      @youflix_24 5 місяців тому

      And even it became completely dead I will still use it.

  • @123Baxter321
    @123Baxter321 5 місяців тому

    I just wanted to let you know that I found your channel only a few days ago, but it's become one of my favorites already. I'm a novice programmer, only been studying it for about a year now, but I find your content to be very insightful and informative. Frankly I am very surprised that with the quality I've seen (and I know you are going to be the most critical of your work, so maybe hearing it from another person will help) that you haven't blown up to be much larger. The presentation of the content is excellent and the length is long enough to be engaging without overstaying its welcome in my opinion. I really do enjoy your content and I hope to see more as you continue to create and grow. Best of luck!

  • @RelaxationTop
    @RelaxationTop 6 місяців тому

    Here before this channel becomes 1and 0 at the same time.

  • @Nesdac-k1l
    @Nesdac-k1l 6 місяців тому

    3:36 bash is a shell, not terminal :)

  • @Fungustus1
    @Fungustus1 6 місяців тому

    Well done! Concise presentation with great animations! Thank you.

  • @najhd5423
    @najhd5423 6 місяців тому

    I usually dont like or comment but this is a small video by a small channel still densly packed with well explained information

    • @najhd5423
      @najhd5423 6 місяців тому

      hope more people see it

    • @jamespilcher5287
      @jamespilcher5287 6 місяців тому

      I just randomly got it in my feed, so maybe the algorithm has latched onto it

  • @PatrickStaight
    @PatrickStaight 6 місяців тому

    My hope is to play for the audience that grows internally because of my work, rather than numerically because of output consistency. What is your goal in all of this?

    • @ProjectXiel
      @ProjectXiel 6 місяців тому

      It's a question I should try to answer

    • @PatrickStaight
      @PatrickStaight 6 місяців тому

      @@ProjectXiel best of luck to you

  • @randomsearches369
    @randomsearches369 6 місяців тому

    You are You are helping me, Thank you for that!

  • @mikemhz
    @mikemhz 8 місяців тому

    When CoffeeScript was about, I was in the middle of my 'overcoming fear of javascript' phase. IMO, all current web technologies are just layers on top of JavaScript that make learning fundamental JavaScript really annoying. Learning JavaScript and want to do anything on the web? Well, why not install Node.js and inflate your file structure x1000, and then do the front end in React which has a totally different syntax. Like bro, all I want to do is dynamically update a single div.

    • @Chiny_w_Pigulce
      @Chiny_w_Pigulce Місяць тому

      If you just want to dynamically update a single div then use vanilla JavaScript

  • @evan_ry
    @evan_ry 9 місяців тому

    I miss CoffeScript so much...(

    • @abudi-channel
      @abudi-channel 5 місяців тому

      Then use it,, Im new to programming and im using it.

    • @evan_ry
      @evan_ry 5 місяців тому

      ​@@abudi-channel You will encounter too many compatibility issues :(

    • @abudi-channel
      @abudi-channel 5 місяців тому

      @evan Its ok, im just using it for making games.

    • @abudi-channel
      @abudi-channel 5 місяців тому

      @Evan Its ok, im just using it for making games.

  • @6H111G9
    @6H111G9 11 місяців тому

    Well made thank you

  • @coder_one
    @coder_one 11 місяців тому

    The spiritual successor to CoffeScript is Civet. It combines the functionality of CoffeScript, but is a superset for TypeScript, so it inherits all of its type-related features.

    • @ProjectXiel
      @ProjectXiel 11 місяців тому

      Its called Civet right? I hadn't heard of it, until this comment, looked interesting, it definitrly ressembles CoffeeScript, atleast the idea of it, but the syntax is widly different, it just seems to give shorthands for TypeScript syntax, but ig in a way thats what CoffeeScript did.

  • @kiewass
    @kiewass 11 місяців тому

    Why would you say `using namespace std` is necessary? It's not, not even recommended by a lot of C++ devs. And `return 0` is also optional. Also OOP is pronounced as O O P.

    • @ProjectXiel
      @ProjectXiel 11 місяців тому

      you're right, it can theoretically cause namespace collisions, but I really didn't care enough while I was making the video, I was mostly just trying to get the idea behind the syntax across, sure I could written std:: a bunch of times, but it wasn't a real program, but I do agree you with you there. Though looking back on the video there was a lot that could've been improved, way beyond that. Return 0 is technically optional, but that doesn't really matter, having an explicit exit code is pretty standard, and why do you care how I pronounce OOP??

    • @ProjectXiel
      @ProjectXiel 11 місяців тому

      Wait did I actually say 'using namespace' is necessary? If that's the case, I just got that wrong

  • @dienvidbriedis1184
    @dienvidbriedis1184 Рік тому

    Atom is now also dead? Jesus..

  • @Null-Red-Blue
    @Null-Red-Blue Рік тому

    6:47 whats the current contemporary with similar concise readability. Seems like it was the most straightforward where the overtakers complicated syntax again.

    • @ProjectXiel
      @ProjectXiel Рік тому

      I kinda agree, typescript is way less readable today, but a lot of stuff inspired by CoffeeScript did get baked into ES6 and beyond, and stuff got added to ES6 that did not exist in CoffeeScript, so CoffeeScript basically got outdated at some point, and typescript has static typing, and transpiler checks that are way more useful in a production environment for preventing bugs. These are the main 2 reasons I think CoffeeScript died, despite being essentially a mix of python, ruby and javascript with more brevity overall.

  • @Voobus
    @Voobus Рік тому

    You are way overplaying the hype and userbase behind coffeescript in the first half. It was barely ever relevant before dying a painful death. You've got some serious rose colored glasses looking back at the history of it.

  • @grod3an
    @grod3an Рік тому

    you lost me at arrays, video suddenly went from explaining clearly to straight up CS-lecture.

    • @ProjectXiel
      @ProjectXiel Рік тому

      Don't overcomplicate it, if you understand what an array is then it should be kinda simple. Basically you have bunch of memory addresses, each one able to hold 1 byte of data, so 1 index will be 4 memory adresses, incrementing the pointer will go forward 4 addresses or 1 depending on the data type, thats all indexing is. The array is a pointer to start of the memory block (the first index). Thats basically it, instead of declaring 1 variable you're declaring multiple variables at the same time basically. malloc, calloc, and realloc, are basically giving you the ability to allocate, deallocate and resize memory freely, the compiler handles the statically allocated memory (normal arrays), but you handle the dynamically allocated memory. The syntax for dynamic memory alloction does look kinda confusing, but I think I did an ok job at explaining. idk I tried

  • @salpelter
    @salpelter Рік тому

    Hey, great video. Made some things clearer, although I already learned most of this stuff the hard way and understand the idea behind it. I really liked the smooth animations! There were a few moments which I understood because I already knew what you were talking about, but I felt like it might've been a bit confusing for beginners. Also note that some of the inserted clips felt out of place, I remember one of them was cut out too early and the other was way too loud (yes, the explosion). All in all, I enjoyed these 20 minutes and definitely would recommend this video to anyone who is having trouble understanding pointers.

    • @ProjectXiel
      @ProjectXiel Рік тому

      Thanks for the feedback I'll keep it in mind

  • @kcwidman
    @kcwidman Рік тому

    Thank you algorithm. You got a new sub!

  • @StormCalamity
    @StormCalamity Рік тому

    I'm not sure why UA-cam's benevolent blackbox algorithm pushed this video to me, but I'm glad it did. Great quality video and really taught me a lot. I just started learning JavaScript about 2 months ago and I'm finally tackling DOM manipulation but this is the first time I've actually comprehended programming and a language. I'm thankful to JavaScript for being there at the right time and right place for me despite its flaws I keep seeing reiterated. You've gained yourself a subscriber, may I also ask, do you know the name of the song with the angelic voice in the background? It sounded pretty nice.

    • @ProjectXiel
      @ProjectXiel Рік тому

      Its called "Wind" by Rafael Krux or Orchestralis

  • @anon-fz2bo
    @anon-fz2bo Рік тому

    @10:53 its actually best practice to check if a pointer is == to NULL || nullptr because dereferencing a nullptr causes a crash. the malloc function doesnt "return NULL if the allocation fails" it only ever returns void* which is why u can cast it to a pointer to any type in the first place.

    • @ProjectXiel
      @ProjectXiel Рік тому

      Why did I get a segmentation fault then? Not saying you're wrong, but gcc will give me a Segmentation Fault if I attempt to dereference a null pointer. As for it returning void, not sure if thats true, but it does indeed become of value NULL, because it a becomes a pointer pointing to nothing, and a pointer without a valid address is a value of NULL.

    • @ProjectXiel
      @ProjectXiel Рік тому

      You deleted your comment, but you were right about one thing, malloc can return a void pointer type if your allocation fails for a reason other then insufficient memory, no need to get hostile, I'm not afraid of being wrong

  • @fabricehategekimana5350
    @fabricehategekimana5350 Рік тому

    What a great video ! I am interested in the evolution of languages and framework or other technologies for coding. For instance I tought that class and inheritance were dying seeing some new popular languages choosing type over class and implementing ADT (kotlin, scala, typescript, etc.) and some language completely removed classes (rust, go, julia, etc.), but fortunately that was not the case. Today some new languages come with classes (like solidity)

    • @ProjectXiel
      @ProjectXiel Рік тому

      Solidity? I haven't heard of that language, I'm gonna have to check it out though.

    • @ProjectXiel
      @ProjectXiel Рік тому

      Ahh, its a blockchain language, no wonder I haven't heard of it.

  • @ProjectXiel
    @ProjectXiel Рік тому

    Here are the main sources for this video: Source 1: hackernoon.com/coffee-what-how-developers-quit-to-use-coffeescript-29aj36wn Source 2: thecodebytes.com/is-coffeescript-dead/ The first script I wrote I was unable to save, so I had to rewrite a lot from scratch, but ended up with a script really close to the source material unfortunately.

  • @mydudesima
    @mydudesima Рік тому

    19:56 I'm not sure if this is true. For what I know, for the same amount of power, ARM processor can actually be much more performant than x86-64.

    • @ProjectXiel
      @ProjectXiel Рік тому

      Is that actually true? Every resource I've come across has described x86 as being the more performant proccessor, or is that just based on power consumption? If that is true, than x86 is basically obsolete. Well not really, its kinda everywhere, like any intel chip or the majority of modern PC's, but still crazy to think about.

  • @beeboylinux7524
    @beeboylinux7524 Рік тому

    C is very easy than C++. C++ is very difficult.😢

  • @WarrenMarshallBiz
    @WarrenMarshallBiz Рік тому

    I love C. I adore C. It's the best thing, it's just SO fun and expressive...

  • @LambdaJack
    @LambdaJack Рік тому

    How do I work with my DDR4 in C!?

  • @juliansteden2980
    @juliansteden2980 Рік тому

    Very cool video, thanks!! There is a small mistake (typo?) at 7:40 It should be `*(array1 + 1)` instead of `(*array1 + 1)` if you want to increase the pointer. Your version dereferences the array first to be "1" and than just adds to that. In your case this works by accident because the array values also increase by 1. If your array was [10, 20, 30, 40} it would print "10, 11, 12, 13" ;)

    • @ProjectXiel
      @ProjectXiel Рік тому

      int array1[6] = {1,2,3,4,5,6}; int n = sizeof(array1)/sizeof(array1[0]); cout << *array1 << endl; array1[0] = 55; for (int i = 0; i < n; i++) { cout << (*array1 + i) << endl; } Yea this makes it even clearer that I screwed up. Wow I made such a huge mistake.

    • @ProjectXiel
      @ProjectXiel Рік тому

      I genuinely just didn't realize the mistake bc I got the correct output

    • @ProjectXiel
      @ProjectXiel Рік тому

      okay maybe not huge, but still embarrassing nonetheless, thank you for pointing it out though.

  • @Brundxn
    @Brundxn Рік тому

    Goated channel

  • @Lionasty1
    @Lionasty1 Рік тому

    Great video, although I had to pause and replay so many parts. Advice: try to change the visuals right when you change the audio when you're jumping from one thing to another, it would make the video easier to watch and understand!

  • @AURORAFIELDS
    @AURORAFIELDS Рік тому

    I'm not sure why in god's name you thought you need severe code duplication to set the *same* variables for different entities if you don't have classes. Arrays and structs exist in C, and any intermediate programmer will figure out how to use pointer or indices to set different variables of the same type with a single function. If you're gonna argue for why OOP is good, please don't post something so offensively misinformed.

    • @ProjectXiel
      @ProjectXiel Рік тому

      Oh no, you're absolutely correct, you can honestly just use a function with a, ...well no optional arguments exist in cpp, but like, its easy to just create 2 functions with half the code of what the classes were. I don't actually believe in OOP, some of the examples were exaggerated on purpose.

    • @ProjectXiel
      @ProjectXiel Рік тому

      And yea especially with them being same type, there was no reason for the classes, honestly not even a struct was needed. I'm aware of this.

    • @AURORAFIELDS
      @AURORAFIELDS Рік тому

      @@ProjectXiel I think in that case you could really have thought of a different example that would highlight a genuine difference, because I feel that some people who are just learning programming are going to not understand why it is not very widely applicable, and will keep perpetuating this narrative of "OOP good, anything else bad". There's definitely advantages to OOP, but its just as much misused by people who haven't taken the time to know better. Mind I'm not blaming you for that, but I think you should feel compelled to represent the material in your videos accurately, and acknowledge when you're using a hypothetical example when you couldn't do so concisely otherwise.

    • @ProjectXiel
      @ProjectXiel Рік тому

      @@AURORAFIELDS That's fair critcism, I didn't really know what example to give, in my opinion the best advantage that OOP has, is organization, and abstraction, which is a double edged sword, maybe OOP has other benefits, maybe I'm ignorant. I planned on making another video talking about OOP again (somewhat negatively) and referring to the same code explaining why it was actually a bad example. I kinda forgot about the example though. I apologize if the example upset you, I don't really like OOP, so it makes even harder to come up with a reason to actually use it, and it was also on screen for a very short period of time.

  • @HollowNinja10
    @HollowNinja10 Рік тому

    I have some recommendations Xiel: The Art of Software Engineering The Art of Operating Systems The Art of Compilers The Art of Front-End Development The Art of Databases The Art of Data Structures The Art of Algorithms

    • @ProjectXiel
      @ProjectXiel Рік тому

      Ill see what I can do

    • @HollowNinja10
      @HollowNinja10 Рік тому

      @@ProjectXiel Just make sure to take your time! Take it easy champ!

  • @ChrisAthanas
    @ChrisAthanas Рік тому

    Mac was 1984 Maybe you were thinking of the Altair?

    • @ProjectXiel
      @ProjectXiel Рік тому

      Yea, I was thinking Altair, the first picture is the wrong computer

    • @ChrisAthanas
      @ChrisAthanas Рік тому

      @@ProjectXiel thank you for acknowledging Also animations that show the data going to and from the memory and not just the code would be helpful for beginners I'm a very visual person and until I had all the stuff visualized and animated in my head did I begin to understand the very simple concepts of pointers that have been greatly exaggerated due to overly technical terminology and referring to the syntax of C, which is quite poor but when compared to assembly is like a panacea

  • @shaartmcl
    @shaartmcl Рік тому

    Dude your code is super unsafe!!! Kidding. Can you please start a patreon. I don't want these videos to stop.

  • @Quantumbyte01
    @Quantumbyte01 Рік тому

    Man this is very Cool I am an undergrad in Software engineering and i can assure you this UA-cam project is very informative and its gonna grow exponentially

  • @mohamedabdelrehem7698
    @mohamedabdelrehem7698 Рік тому

    LOL i was watching the video and thought it was a 1 million+ view and was going to comments I have to be a subscriber now ❤️🫡

  • @johnbalogune
    @johnbalogune Рік тому

    nice video, do you have a discord group

    • @ProjectXiel
      @ProjectXiel Рік тому

      No, but I might have one at some point, depending on what happens

  • @n0kodoko143
    @n0kodoko143 Рік тому

    Great overview

  • @smanzoli
    @smanzoli Рік тому

    OOP should be used when many people in a team are cooperating to write huge and complex programs... and when most of the team do prefer OOP.

  • @ito-sanBrent
    @ito-sanBrent Рік тому

    That's beautiful how programming is complex yet you make it simple to understand and have a clear understanding in the tech world. Thank you for sharing this content

  • @jacekjacenty
    @jacekjacenty Рік тому

    What is the best language to learn depends on lots of circumstances, much more than you mention here. You may be somewhat correct in advising people at the early stages of learning programming, but what about a seasoned programmer looking for the next language to learn? What if we encounter the next earthquake in the programming ecosystem? How do I adapt to the new situation?

    • @ProjectXiel
      @ProjectXiel Рік тому

      I don't have a great answer, but the best answer I can come up with is just keep learning constantly, if you're actually keeping up with new technologies, you should be aware of when a new language or framework comes out, things don't change right away anyways, its more of a slow progressing change, plus some stuff is basically immortal (PHP, C, JavaScript). Stuff that died like Perl, Fortan, Ruby, CoffeeScript, they died because there was no longer a demand for the technology and better solutions emerged, but even Jquery is still used today. Just keep up with your industry. Other than that, I don't really have all the answers, no one does. The video was based on my opinion, perspective, and limited knowledge. I was hesitant to post the video in the first place, but counted to 3 and hit publish. You do make somewhat of a good point though.

  • @tommyleespartan5640
    @tommyleespartan5640 Рік тому

    Great video

  • @nuwagabaprinceaubrey
    @nuwagabaprinceaubrey Рік тому

    I Love the music in the background, where can I get it

  • @principleshipcoleoid8095
    @principleshipcoleoid8095 Рік тому

    6:16 wouldn't Rust's Animal trait be somewhat useful? So we get composition over inheritence.

    • @ProjectXiel
      @ProjectXiel Рік тому

      Rust traits are pretty nice, I'm not a Rustacian or anything, but from what I know about them they're a way of working with structs, and Composition in general can probably replace inheritance, infact its probably a better approach in most ways, inheritance promotes refactoring, bc if you decide to deviate on any children even a little, refactoring the layers of inheritance and all of the inherited classes becomes tiresome, atleast with composition you're just nesting classes within eachother, but avoiding the lack of flexibility that inheritance would bring

  • @principleshipcoleoid8095
    @principleshipcoleoid8095 Рік тому

    Automation is when you make a script that does your job and the employer pays you a subscription fee to use it :p

  • @principleshipcoleoid8095
    @principleshipcoleoid8095 Рік тому

    18:46 there are some Rust engines. From ones I know, Bevy is best

  • @principleshipcoleoid8095
    @principleshipcoleoid8095 Рік тому

    18:37 Rust is looking promising, and I wonder when JAI will be released publicly. JAI language is created specifically for game development to dethrown C++, and probably has faster compilation than Rust.

    • @ProjectXiel
      @ProjectXiel Рік тому

      Rust compilation is painful. I think C++ is used somewhat bc of OOP, and structuring games with OOP is arguably easier, but I'm not completely sure, its also basically as fast as C, so that could be it aswell. JAI sounds interesting, just looked into it, sounds like it has some the same ideas of Zig, tbh I'm kinda mad I didn't include Zig in this video.

  • @principleshipcoleoid8095
    @principleshipcoleoid8095 Рік тому

    11:32 parts of it are FOSS. But quite often stock Android is full of Google things. GrapheneOS is probably one of the best Android versions