Variable, Anonymous, Callable, Closure & Arrow Functions In PHP - Full PHP 8 Tutorial

  Рет қаралды 56,146

Program With Gio

Program With Gio

Күн бұрын

Пікірлер: 147
@gabryos3807
@gabryos3807 Жыл бұрын
I really like this course, basically it takes every single topic and delves into the PHP documentation to cover the important topics and gives examples. Moreover, the rythm is quite fast, which means that you don't lose focus and, the videos are short and to the point, which means that for somene who is learning this while working and looking after a family, you can go and see (or review) a 5 minutes a 10 minutes video. Perfect and I can imagine this has been a lot of work
@ProgramWithGio
@ProgramWithGio Жыл бұрын
Glad you like it, thank you 🙌. It has been a challenge for sure & took up a lot of time. Almost 3 years to complete the series to be exact heh
@prajwalsiwakoti9866
@prajwalsiwakoti9866 2 жыл бұрын
i think a separate detail video about callbacks and closure would be great Gio
@ProgramWithGio
@ProgramWithGio 2 жыл бұрын
Thanks for the suggestion
@aayushmishra6469
@aayushmishra6469 3 жыл бұрын
It was so hard for me to find this series but at last a good PHP course.
@ProgramWithGio
@ProgramWithGio 3 жыл бұрын
Glad you found it 😊. Thank you 🙌
@aleksandrkanygin2672
@aleksandrkanygin2672 2 жыл бұрын
Exactly, but finally that's exactly what i was looking for
@ZeeshanMRaje
@ZeeshanMRaje 4 күн бұрын
forget about functions but i wasn't aware of lot terms i have heard in this course from last 6 days . Great Tutorial
@emekatimothyiloba699
@emekatimothyiloba699 Жыл бұрын
PHP is here to stay!! Thanks man
@ProgramWithGio
@ProgramWithGio Жыл бұрын
For sure 🙌
@rickybarabba7866
@rickybarabba7866 3 жыл бұрын
Your videos are very good Gio.
@ProgramWithGio
@ProgramWithGio 3 жыл бұрын
Thank you 😊
@borakayalar
@borakayalar 11 ай бұрын
Gio, I'm so sorry I found you late. You are the channel that offers the best php content I have ever seen.
@ProgramWithGio
@ProgramWithGio 11 ай бұрын
Welcome 👋 & thank you 🙌
@MrWhy07
@MrWhy07 3 жыл бұрын
Thanks for your hard work. These videos helped me understand better a lot of things.
@ProgramWithGio
@ProgramWithGio 3 жыл бұрын
That's awesome, you're welcome Viorel 🙌
@petruciucur
@petruciucur 2 жыл бұрын
This video lesson requires more viewings. Very well worked.
@ProgramWithGio
@ProgramWithGio 2 жыл бұрын
Thank you
@FatosDaNaturezaOficial
@FatosDaNaturezaOficial Жыл бұрын
So far i'm learning php in your videos and I'm loving it, thanks for this great free opportunity, i checked several php course on udemy, i bought one course and i didn't like it, until i found your youtube channel, as far as i can say , you teach very well!!!
@ProgramWithGio
@ProgramWithGio Жыл бұрын
Happy to hear that, thank you 🙌
@TechFutureFocus
@TechFutureFocus 2 жыл бұрын
brother u do magic with this course ,really thank u and please continue for projects love ur way on explanation really u are awesome
@ProgramWithGio
@ProgramWithGio 2 жыл бұрын
Thank you 💙
@BrenIrwin
@BrenIrwin 2 жыл бұрын
Two minutes in and I've learned something new. Thanks for the video!
@ProgramWithGio
@ProgramWithGio 2 жыл бұрын
That's awesome 🙌
@Vitalii-m6r
@Vitalii-m6r Жыл бұрын
These lessons are extremely useful for PHP learners. Thanks a million!
@ProgramWithGio
@ProgramWithGio Жыл бұрын
Glad you like them, thank you
@CarlosAndresAristizabal-d2s
@CarlosAndresAristizabal-d2s Жыл бұрын
Thanks for sharing your knowledge. This is without a doubt one of the best, if not the best PHP channel out there.
@ProgramWithGio
@ProgramWithGio Жыл бұрын
Thank you 🙏
@ahmedmahdy6676
@ahmedmahdy6676 2 жыл бұрын
Thank you for sharing your valuable knowledge with us!
@ProgramWithGio
@ProgramWithGio 2 жыл бұрын
you're welcome
@OlayDede
@OlayDede 2 жыл бұрын
Great video. Thank you!
@ProgramWithGio
@ProgramWithGio 2 жыл бұрын
Thank you 💙
@andrewsokolovsky9127
@andrewsokolovsky9127 2 жыл бұрын
Thank you man, I get a lot of new information!
@ProgramWithGio
@ProgramWithGio 2 жыл бұрын
Glad to hear that, thank you 🙏
@OlgaFB1
@OlgaFB1 Жыл бұрын
wow! so thorough! thank you!💗
@ProgramWithGio
@ProgramWithGio Жыл бұрын
You're welcome, thank you
@Jam-ht2ky
@Jam-ht2ky Жыл бұрын
im already starting to get my hand on experience and caching up on PHP and this is only tutorial 25 I can only wonder what finishing the entire course will teach me! thank you for making this amazing PHP 8 tutorial
@ProgramWithGio
@ProgramWithGio Жыл бұрын
Happy to hear that, keep going 💪
@Armando-px8hi
@Armando-px8hi Жыл бұрын
Another Perfection by you Gio.Thank you
@ProgramWithGio
@ProgramWithGio Жыл бұрын
Thank you 🙌
@jessieren6476
@jessieren6476 3 жыл бұрын
I will thumb up all your tutorials, thank you sir.
@ProgramWithGio
@ProgramWithGio 3 жыл бұрын
Thank you Jessie
@iqorimane3575
@iqorimane3575 Жыл бұрын
amazing content 👏
@ProgramWithGio
@ProgramWithGio Жыл бұрын
Thank you
@lotuslando1994
@lotuslando1994 Жыл бұрын
Yet another very thorough and comprehensive explanation. Thanks so much! And I agree with the other commenters. Your course is far and away better than any paid course I have looked at. One question though, at timestamp 6:50, using your code example, I get the expected output array values, plus the number 1 at the end: $array = [1, 2, 3, 4]; $array2 = array_map(function($number) { return $number * $number; }, $array); echo ''; echo print_r($array2); echo ''; OUTPUT: Array ( [0] => 1 [1] => 4 [2] => 9 [3] => 16 ) 1
@ProgramWithGio
@ProgramWithGio Жыл бұрын
Thank you. You probably have echo statement somewhere after the print_r, that 1 is not part of the print_r output so its a separate echo statement seems like
@cininformatica22
@cininformatica22 9 ай бұрын
Hello Gio! Great tutorial. Thanks for making available this course. Just an observation I could realize about arrow functions: we can modify the variables from the parent scope by using the superglobal $GLOBALS. For instance: $x = 5; $array = [1, 2, 3, 4, 5]; $result = array_map(fn($number) => $number * $GLOBALS['x']++, $array); var_dump($x); // It prints int(10)
@ProgramWithGio
@ProgramWithGio 9 ай бұрын
Hey. You should not use $GLOBALS at all, and in PHP8.1 write access was disabled I think. Either way you shouldnt use it
@cininformatica22
@cininformatica22 9 ай бұрын
@@ProgramWithGio thanks for the explanation. I just tried to use $GLOBALS as an exercise as I saw you explaining in the normal functions topic. But I'll avoid to use $GLOBALS as recommended.
@alexandershnaidman8188
@alexandershnaidman8188 11 ай бұрын
Very useful lesson!
@ProgramWithGio
@ProgramWithGio 11 ай бұрын
Glad to hear that!
@jessieren6476
@jessieren6476 2 жыл бұрын
That's so cool! $sum = function(callable $callback, int|float ...$numbers): int|float{ return $callback(array_sum($numbers)); }; echo $sum ('foo',1,2,3); function foo($element){ return $element *2; }
@ProgramWithGio
@ProgramWithGio 2 жыл бұрын
👍
@TioJobs
@TioJobs 2 жыл бұрын
A loved this content! Thanks for share Gio!
@ProgramWithGio
@ProgramWithGio 2 жыл бұрын
Glad to hear, thank you 💙
@mohammadsjh
@mohammadsjh 3 жыл бұрын
really helpful, thank you sooo much
@ProgramWithGio
@ProgramWithGio 3 жыл бұрын
You're welcome. Glad it was helpful
@benjaminvenezia1944
@benjaminvenezia1944 Жыл бұрын
I want to thank you again for this amazing content. You have a very thorough knowledge of the language, it is very impressive. If it's not intrusive, is it possible to know your background? Have you passed the zend certification? Thanks, I'll take note of everything!
@ProgramWithGio
@ProgramWithGio Жыл бұрын
You're welcome, glad you like it. I have not taken any certifications. I've just been working with PHP for awhile over 12 years, have worked on legacy projects that started from PHP 4 and had to migrate some to PHP 5 many years ago. Before PHP I've coded in Java & C++ mainly.
@hex9219
@hex9219 2 жыл бұрын
Thanks man, awesome
@ProgramWithGio
@ProgramWithGio 2 жыл бұрын
You're welcome 💙
@josephjohn4810
@josephjohn4810 2 жыл бұрын
if i can like this series twice i would, very informative, more than lot of paid courses on udemy, thumbs up. However, i would like you to create for laravel if possible, thank you
@ProgramWithGio
@ProgramWithGio 2 жыл бұрын
Thank you 🙏. I'll be doing more Laravel content after I finish the PHP series 💙.
@aswadali5139
@aswadali5139 2 жыл бұрын
@@ProgramWithGio YES! please come with a complete LARAVEL course in the future! that will be really awesome.
@AxxionMarketPlace-iu6ri
@AxxionMarketPlace-iu6ri Жыл бұрын
Thank you
@ProgramWithGio
@ProgramWithGio Жыл бұрын
You're welcome
@ilya_123__
@ilya_123__ Жыл бұрын
thank you!
@ProgramWithGio
@ProgramWithGio Жыл бұрын
You're welcome
@lairotuT-Tutorial
@lairotuT-Tutorial Ай бұрын
Wew.... first of all great video again! We are getting into really deep stuff for me... I can't wait for the end of the video to ask the question about callable functions. What is a typical usecase for is_callable in real programming life? In my limited understanding the coder should know if there is a function that is called to... The only exception could be what you did not recommend some lessons ago when the function is conditionally declared? I consider if it makes sense for me to add this to my testing object that is extracted in published version. Are there other usecases?
@ProgramWithGio
@ProgramWithGio Ай бұрын
You an have functions assigned to variables, you may also have function names stored in variables. In practice you wont use is_callable as much
@FranciscoJunior29
@FranciscoJunior29 2 жыл бұрын
It's awesome!
@ProgramWithGio
@ProgramWithGio 2 жыл бұрын
I'm glad you like it
@nyinyiandnyinyi
@nyinyiandnyinyi 7 ай бұрын
can you please do similar video covering important basics for JavaScript? thanks
@ProgramWithGio
@ProgramWithGio 6 ай бұрын
I might
@NguyenHung-hb3sb
@NguyenHung-hb3sb 4 ай бұрын
I come from javascript and I also hope that they will support multiline for the arrow function. :D
@ProgramWithGio
@ProgramWithGio 3 ай бұрын
Maybe in future heh
@jewgienijbrzozowski8451
@jewgienijbrzozowski8451 2 жыл бұрын
Maybe in future Arrow functions like in ES6. That would be dope
@ProgramWithGio
@ProgramWithGio 2 жыл бұрын
It's pretty close :)
@imperialgamer8361
@imperialgamer8361 2 жыл бұрын
Clear thnx
@ProgramWithGio
@ProgramWithGio 2 жыл бұрын
Glad to hear, thank you
@yarik83men51
@yarik83men51 3 жыл бұрын
Will you continue with your PHP lessons?
@ProgramWithGio
@ProgramWithGio 3 жыл бұрын
There are three sections to this series. This is the first section. Second section was recently completed & we'll start the third section soon.
@derzskyi1
@derzskyi1 Жыл бұрын
Is there a video about \Closure , first class callable in your channel? I have not found it.
@ProgramWithGio
@ProgramWithGio Жыл бұрын
This video has some info about closures. You can see full list of topics github.com/ggelashvili/learnphptherightway-outline here
@gincaza1913
@gincaza1913 2 жыл бұрын
i hope callable/callback will be easier to understand later lol
@ProgramWithGio
@ProgramWithGio 2 жыл бұрын
It will make more sense later in the series 👌
@ahmedalmaazon7525
@ahmedalmaazon7525 Жыл бұрын
Excellent work Gio, but this part could be done better.
@ProgramWithGio
@ProgramWithGio Жыл бұрын
Thank you. Can you elaborate a little bit on what could be better?
@ahmedalmaazon7525
@ahmedalmaazon7525 Жыл бұрын
@@ProgramWithGio - Real life examples, when should I use closures and why they existed. As a new comer to PHP I got overwhelmed with these functions branching, that a real life example will help a lot. And this will not change my opinion that this series it the best PHP intro ever.
@ProgramWithGio
@ProgramWithGio Жыл бұрын
@@ahmedalmaazon7525 Got it, thanks for the feedback. Will keep that in mind. At the end of this section there is a mini exercise where we get to practice things learned in the first section.
@yarik83men51
@yarik83men51 3 жыл бұрын
Super
@ProgramWithGio
@ProgramWithGio 3 жыл бұрын
Thanks
@mbpfx-
@mbpfx- 3 жыл бұрын
thanks and whats this color theme ?
@ProgramWithGio
@ProgramWithGio 3 жыл бұрын
You're welcome. It's Darcula theme from PHPStorm
@prajwalsiwakoti9866
@prajwalsiwakoti9866 2 жыл бұрын
so the concept of PHP closure and Js closure is different?
@ProgramWithGio
@ProgramWithGio 2 жыл бұрын
It's the same idea. There are some differences though like variable scoping. In js closure you can access variable from outer scope in PHP you can't unless you put "use" and pass the variables.
@watchernode6138
@watchernode6138 Жыл бұрын
@@ProgramWithGio So, what is the use of closure in PHP, instead of passing arguments normally fn($x), you pass through use($x). Or is it to bind a variable to a function, so use is alternative to global variables. If I'm not mistaken we can pass a variable as default value of argument, since it evaluates to value in most cases. I think PHP is trying hard to emulate JavaScript features, to compete with NodeJs.
@ahzamlathiya6367
@ahzamlathiya6367 3 жыл бұрын
How to make class methods/static methods bind as variable functions? So that they can be passed in somewhere where entire function body is to be passed. Thanks.
@ProgramWithGio
@ProgramWithGio 3 жыл бұрын
You would pass an object of the class and call those methods on that object. For static methods you can just directly call them using classname
@lairotuT-Tutorial
@lairotuT-Tutorial Ай бұрын
Next question (related to anonymous function/"use"): I see that "use" inside the anonymous function only gains access to parent-local-scope-parameters, where global gains access to all global parameters, right? Does it make sense that use is not usable in standard functions? Or the other way around, why not pass the parameter in an anonymous function in the same way you do it in a standard function? Is, in your opinion (or in the programmers community you know): $sum = function (int|float ...$numbers) use($x): int|float {//code}; more readable than $sum = function ($x, int|float ...$numbers): int|float {//code}; or does it even have differences I don't see?
@ProgramWithGio
@ProgramWithGio Ай бұрын
They have different purposes, first one brings in the variable access from the outer scope while the second one passes down the variable as a dependency. Passing it as dependencies is always better but sometimes you just want to grab the variable from outer scope instead of passing it as a dependency, thats when you would use the 'use'.
@lairotuT-Tutorial
@lairotuT-Tutorial Ай бұрын
@@ProgramWithGio I guess I still don't have the point here. Maybe I do not really understand the clear difference between a dependency and the variable that the function usually depends on when you pass it down. I guess thats the lack of real IT education on my side. But from what you said I understand that there would be usecases for standard (non-anonymous) functions to get access to a "use"-functionality as well, correct? How do I realize the purpose of a dependency in case of a normal function?
@ProgramWithGio
@ProgramWithGio Ай бұрын
For standard non anonymous functions to get access to variables outside of its scope is called global scope & you want to avoid global scope as much as possible. Its bad design. The proper way to get access to outer scope from a function is by having class properties, that way methods defined in your class get access to properties of the class. If your function/method needs say tax rate variable, its a lot better to pass this as a dependency as an argument versus accessing it from somewhere in the global state.
@lairotuT-Tutorial
@lairotuT-Tutorial Ай бұрын
@@ProgramWithGio rofl... guess we are biting the snakes tail .... That is exactly where we started off. It is possible (but not advised) to access global variables in anonymous functions in the same way as it is within standard functions. But instead we are using dependencies by ...use($x)... option 1: argument: function($x) can be used in anonymous and standard parent scope option 2: dependency: function() use ($x) can only be used in anonymous - no equivalent in standard other than option 1 or 3 parent scope option 3: global: function() { global $x;} (not advised) possible but not advised in anonymous and standard global scope Now if there is a separate purpose for option 2 in anonymous functions, why isn't it there for standard functions as well? Or is it like that: When I see the purpose for option 2 I should search for a solution using anonymous function instead of the standard one? With saying this I want to thank you once again and deeply from the heart that you discuss with me in this depth, but of course this is not neccessary. You may always just say that this could be discussed on other platforms but your comments section. That would be fine for me and I would still go on to comment, hoping that I can support your channel by this - at least if you like my commenting 🙂. I can of course as well switch over to a standard "well done"-comment if this is preferred.
@ProgramWithGio
@ProgramWithGio Ай бұрын
​@@lairotuT-TutorialYou are confusing the use & dependencies. Use gives you access to outer scopes, it's not dependency function. Passing dependencies through function arguments is passing dependencies. It doesn't make sense to have use available for regular functions. Commenting is fine or you can reach me on Twitter/X
@codingtalkies4749
@codingtalkies4749 3 жыл бұрын
thanx for the tutorial but a bit tough to keep up with the speed of the video !!
@ProgramWithGio
@ProgramWithGio 3 жыл бұрын
Thanks for the feedback. I'll try to improve that for the 2nd section of the course 👍
@codingtalkies4749
@codingtalkies4749 3 жыл бұрын
@@ProgramWithGio cool. many thanx for your time and effort
@codingtalkies4749
@codingtalkies4749 3 жыл бұрын
Please do videos to explain singleton, Adapter, decorator, etc
@ProgramWithGio
@ProgramWithGio 3 жыл бұрын
@@codingtalkies4749 You're welcome 🙌. I'll cover some design patterns towards 3rd section of the course.
@mikulcek
@mikulcek 3 жыл бұрын
Yeah, talking speed in some of the videos is very fast, making it hard to wrap around some of the concepts, but Gio is putting emphasis on the right things. What you can do is adjust the video playback speed in the youtube video settings menu. There is an option for a custom speed setup to match anything that works for you.
@crystall_sh
@crystall_sh Жыл бұрын
As a beginner, this is quite tough to grap coz using array map which you hvnt taught before is difficult...
@ProgramWithGio
@ProgramWithGio Жыл бұрын
That is just an example for this lesson, we cover array functions in 2 videos so you are almost there. I cant cover everything in one video because then it will just diverge from the main topic. In this specific lesson we are focusing on function types, the underlying function "array_map" is not important because its not the topic, that is covered separately. Keep watching & you'll get to it
@keremardicli4013
@keremardicli4013 Жыл бұрын
Plain perfect...
@ProgramWithGio
@ProgramWithGio Жыл бұрын
Thank you
@benderbg
@benderbg 3 ай бұрын
The confusing part about working with anonymous functions and callbacks is what part is a parameter and what is an argument. Even official docs keep mixing them up.
@ProgramWithGio
@ProgramWithGio 3 ай бұрын
I wouldnt stress too much about it. I sometimes make the same mistake. The way I look at it is when defining a function or method those are parameters, when calling the method & you are passing something to it those are arguments. So argument is the value being passed & parameter is the definition
@tanzimibthesam5861
@tanzimibthesam5861 3 жыл бұрын
It looks so similar to Es6 n hint of typescript
@ProgramWithGio
@ProgramWithGio 3 жыл бұрын
Yup
@tanzimibthesam5861
@tanzimibthesam5861 3 жыл бұрын
@@ProgramWithGio Anyways do you have plans on a typescript crash course?
@ProgramWithGio
@ProgramWithGio 3 жыл бұрын
@@tanzimibthesam5861 not currently. I haven't used TS in my projects
@ZeppGoesPro
@ZeppGoesPro 2 жыл бұрын
Master Gio tell more about this pls: $sum = function (callable $callback, int|float ...$numbers): int|float { return $callback(array_sum($numbers)); }; echo $sum('foo', 1, 2, 3, 4); function foo($element) { return $element * 2; } I am total noob right now and i can't get the order how it works =(
@ZeppGoesPro
@ZeppGoesPro 2 жыл бұрын
Master Gio i figured it out! =))
@ProgramWithGio
@ProgramWithGio 2 жыл бұрын
That's awesome, glad you figured it out
@ינוןאלבז-כ1ז
@ינוןאלבז-כ1ז 2 жыл бұрын
It makes me laugh to think that before this course I thought I knew PHP
@ProgramWithGio
@ProgramWithGio 2 жыл бұрын
heh, thank you. I'm glad that you are finding this course useful, happy to have you 💙💙
@devope
@devope Жыл бұрын
isset is a function
@ProgramWithGio
@ProgramWithGio Жыл бұрын
It's a language construct www.php.net/manual/en/reserved.keywords.php
@orenders
@orenders Жыл бұрын
very hard to understand array fun inside arrr_map, why you complicate this so much ...
@ProgramWithGio
@ProgramWithGio Жыл бұрын
Not sure what you mean? That's part of the language, I didn't complicate anything, can you be more specific?
@arturlinnik2128
@arturlinnik2128 7 ай бұрын
Wtf, why are those "variable functions" even legal?
@ProgramWithGio
@ProgramWithGio 6 ай бұрын
its a standard feature & is not exclusive to PHP. Javascript has that as well
@Naton
@Naton 2 жыл бұрын
passing callback function params by string name? why is this a feature? damn i hate php
@ProgramWithGio
@ProgramWithGio 2 жыл бұрын
You don't have to use it & you don't have to code in PHP 🙂. There are use cases for it.
@Naton
@Naton 2 жыл бұрын
@@ProgramWithGio empty('0') returns false pisses me off. I dont get why my boss wants me to code in php
@wickedtorpedo75
@wickedtorpedo75 2 ай бұрын
​@@Natonphp are great and empty('0)' returns true
@olezhonnv3215
@olezhonnv3215 2 жыл бұрын
Arrow functions are awfull! Really bad implementation! PHP language devs are real dorks! JS implementation is much better and readable! Thet 'fn' before () is something stupid. And there is one more thing. call_user_func_array - who is that dork, that gave such stupid ending as '_array' ?
@olezhonnv3215
@olezhonnv3215 2 жыл бұрын
PHP is a masterpiece of stupidity!
@olezhonnv3215
@olezhonnv3215 2 жыл бұрын
But youre course is great! I use PHP more then 10 years and I do not know it! I never learned it fundamentally, just wrote the code, used CMS and frameworks. And now I watch your videos and I understand why so many people hate it! It is so stupid! There is so many strange syntax in PHP.
@petruciucur
@petruciucur 2 жыл бұрын
​@@olezhonnv3215 Ha ha ha, so in the end ("I use PHP more then 10 years") you admit you're a dork. PHP is awesome.
@ProgramWithGio
@ProgramWithGio 2 жыл бұрын
I respectfully disagree, but thank you 💙
@nextebiz6897
@nextebiz6897 29 күн бұрын
love from pakistan
@ProgramWithGio
@ProgramWithGio 22 күн бұрын
💙💙
How To Work With Dates & Time Zones - Full PHP 8 Tutorial
6:09
Program With Gio
Рет қаралды 40 М.
How To Work With Arrays In PHP - Full PHP 8 Tutorial
15:09
Program With Gio
Рет қаралды 53 М.
Ouch.. 🤕⚽️
00:25
Celine Dept
Рет қаралды 15 МЛН
龟兔赛跑:好可爱的小乌龟#short #angel #clown
01:00
Super Beauty team
Рет қаралды 61 МЛН
Naming Things in Code
7:25
CodeAesthetic
Рет қаралды 2,2 МЛН
PHP 8 3 Released
11:03
ThePrimeTime
Рет қаралды 108 М.
Inline Functions: inline, crossinline, and noinline
11:59
Dave Leeds
Рет қаралды 6 М.
WHY IS THE HEAP SO SLOW?
17:53
Core Dumped
Рет қаралды 251 М.
PHP Namespace Tutorial - Full PHP 8 Tutorial
20:15
Program With Gio
Рет қаралды 58 М.
PHP doesn't suck (anymore)
10:48
Aaron Francis
Рет қаралды 208 М.
Dear Game Developers, Stop Messing This Up!
22:19
Jonas Tyroller
Рет қаралды 720 М.
Why Do So Many Languages Use Double Negation?
20:04
human1011
Рет қаралды 44 М.