General statistics
List of Youtube channels
Youtube commenter search
Distinguished comments
About
Lawrence D’Oliveiro
Fireship
comments
Comments by "Lawrence D’Oliveiro" (@lawrencedoliveiro9104) on "Fireship" channel.
Previous
7
Next
...
All
Your VM had to do a GC at that point.
1
Best left in a museum.
1
@ThatOneRobloxDev Not worth using any more. If you want a stack-based language, PostScript still has some interesting features worth redeeming. FORTH ... none.
1
You have a very noticeable senpai. What do I win?
1
It’s great for DSLs. What I find a pity is the lack of ability to define entirely new operators: languages like C++ only allow you to overload existing ones. Smalltalk lets you define new operators using one or two characters from a limited set. Algol 68 also allowed defining new operators according to limited rules. At first sight, Python seems no better. But thanks to the use of descriptors, you can give sense to constructs like v1 .cross* .v2 .cross* v3 which are not only syntactically valid, but also make semantic sense.
1
1:13 Actually XML.
1
Or try a Jupyter notebook. Each cell can have any number of lines of code, and produce any number of items of associated rich output—graphics, charts, sound, video, mathematical formulas, even arbitrary HTML. And interactive widgets to let the user control that cell output. You can intersperse code cells with narrative text cells, so the notebook becomes self-documenting. And you can use languages besides Python, if you want. Where is there a spreadsheet that comes close?
1
Of course. Then when some Excel jock discovers they can’t use this new feature without knowing Python, they’ll hire you.
1
I still think that.
1
That’s nothing ... try a “zip bomb”.
1
3:10 Subtly wrong answer. The length of a string is measured in code points, not characters. Don’t believe me? Try this: from unicodedata import normalize s = "naïve" s1 = normalize("NFC", s) s2 = normalize("NFD", s) print(s1, s2, len(s1), len(s2)) Output: naïve naïve 5 6
1
One question I don’t see addressed is: why Nginx and not Apache? Apache was around before Nginx, and can do much the same things; why is the new guy preferable?
1
1:42 Unfortunately, functions can either be first-class, or be named, but they cannot be both.
1
Did the Emacs you write have a LISP core? Emacs without Elisp seems ... incomplete.
1
@BobFrTube I had fun with TECO, back in the day. That’s where Emacs gets the odd choice of CTRL/G for cancelling input. Did your LISP have lexical binding and token-based macros? It’s not really LISP otherwise. ;)
1
Yeah, but monads are only needed for functional programming, which nobody in their right mind would use for anything important.
1
I learned it from a book called “The Compleat Cybernaut”. The bio said the author was working in some city (might have been Liverpool) as a blacksmith. She must have led an interesting life ... I devoured that book over a weekend. But in those days, I had no access to an actual computer -- not for another three years.
1
@arinahomuleba4165 I have done, successfully, with Emacs.
1
That’s a lot of code to do something so simple. Try this: import functools, operator for i in range(11) : print("%d! = %d" % (i, functools.reduce(operator.mul, range(1, i + 1), 1)))
1
Same here. put the application logic in the application language, not the DBMS.
1
Now it can have the full-grown sheepdas as well.
1
It already does. All you have to do is leave out the Microsoft part.
1
Once they realize that everything they do in Excel can be done better in Python+NumPy+Jupyter+Pandas+Matplotlib+all the rest of it, then Excel just becomes the shell you start to get to the other stuff. Microsoft will likely make some money off the crowd who are too dumb to realize that they can dump the Excel part and use the rest of it ... for free.
1
Doesn’t matter how advanced a framework is, if it’s built on a crappy language. Example: str_split() doesn’t work properly on empty strings. Yet when I try adding a note about this to the PHP docs, it gets deleted.
1
@rafadydkiemmacha7543 Python has strict typing. Every object is an instance of a class.
1
@rafadydkiemmacha7543 It’s a very fundamental feature. Functions and classes are objects. All objects are instances of some class. That means that functions and classes, too, are instances of classes.
1
PHP users have no idea about Python, do they?
1
In the same way that VBA is the best programming language!
1
@cmaxz817 One common headache with all these stack-based languages is keeping track of what’s on the operand stack at any moment. This is why, in my doodlings around a PostScript derivative, I added operators to manage additional operand stacks. So you temporarily create a new stack, with a known number of items transferred to it from the previous one, which is now temporarily inaccessible. Then when you have finished a calculation sequence, you expect to find a particular number of items remaining, which you transfer back to the previous stack, which becomes the current stack again, getting rid of this one.
1
The trouble with C♯ is that it’s Windows-only. That’s not enough any more.
1
@Bourn77 In theory. But Microsoft has never given a guarantee that it won’t sue cross-platform users for patent violations.
1
@firstlast-tf3fq Maybe you have, but nobody uses C♯/Dotnet for anything important. Even Microsoft won’t use it for something as important as Office.
1
Emacs can do that. (Which is in fact the usual answer whenever anybody asks “Why can’t my editor do that?”)
1
It’s officially “Unix”, but it is far from working the way normal people expect a “Unix” system to work.
1
“Time dilation in 100 seconds”
1
By the way, are you Zarch?
1
@fred.flintstone4099 “Decorative” ... I can imagine your house at Christmas time, festooned with XML hanging from the eaves ...
1
The GIL is integral to the reference-counting memory management system. Get rid of it, and Python becomes totally garbage-collected, like Java. You wouldn’t want that. Because currently you can write Python programs which run for a long time with reasonable memory requirements; if it became like Java, then you would need to impose a limit on the heap size to keep it from gobbling up all the memory on your system.
1
0:49 What’s the most obscure language on that diagram that you know something about? In my case, it’s probably Algol 68.
1
Emacs was originally implemented in TECO, which goes back to the 1960s. TECO used basically every ASCII character to mean something, so a TECO script was sometimes described as looking like “transmission line noise”. Fun game: enter your name to a TECO interpreter, and try to guess what it will do as TECO commands. Later Emacs was rewritten using its own custom LISP implementation (I think Stallman had a hand in this). But there are still one or two odd traces of its TECO heritage. For example, the keystroke to cancel a macro definition or other keyboard input is CTRL/G. No other software on Earth used that keystroke for that purpose, apart from TECO.
1
It’s a way to squeeze some more revenue out of those Excel jocks too dumb to realize that they can leave out the Excel part—indeed, the entire Microsoft part—and run a full professional-quality Python-based data-analytics stack for free.
1
Java is what COBOL used to be.
1
1.
1
They know where the revenue opportunity lies. And that is with Office 365, not Windows.
1
If Jesus is God, and Jesus is the son of God, does that mean that Jesus is his own grandpa?
1
“GitHub Copy-Lot” FTW!
1
I used to use Perl, before discovering Python. With Perl, I always felt that there were esoteric implications to the constructs I was using, that the Perl masters understood and I did not. With Python, I found it quite clear from the beginning what all the constructs did. Surprises were few.
1
Somehow I don’t think that anything built on Electron can be considered “lightweight” ...
1
Submit a patch.
1
I thought the C++ “<<” output operator was quite neat, until I realized it doesn’t allow easy localization. When you need to be able to reorder the parts of a sentence to fit different language grammars just with template strings, without having to change your code, printf works a lot better.
1
Previous
7
Next
...
All