From cfd0246b241cb6e58153e68f7e30ed56b9bf054b Mon Sep 17 00:00:00 2001 From: EuAndreh Date: Sun, 17 Nov 2024 20:15:02 -0300 Subject: Remove jekyll infrastructure setup --- ...t-paradigm-shift-in-programming-video-review.po | 248 --------------------- 1 file changed, 248 deletions(-) delete mode 100644 po/eo/LC_MESSAGES/_articles/2020-11-08-the-next-paradigm-shift-in-programming-video-review.po (limited to 'po/eo/LC_MESSAGES/_articles/2020-11-08-the-next-paradigm-shift-in-programming-video-review.po') diff --git a/po/eo/LC_MESSAGES/_articles/2020-11-08-the-next-paradigm-shift-in-programming-video-review.po b/po/eo/LC_MESSAGES/_articles/2020-11-08-the-next-paradigm-shift-in-programming-video-review.po deleted file mode 100644 index 953f769..0000000 --- a/po/eo/LC_MESSAGES/_articles/2020-11-08-the-next-paradigm-shift-in-programming-video-review.po +++ /dev/null @@ -1,248 +0,0 @@ -# -msgid "" -msgstr "" - -msgid "title: The Next Paradigm Shift in Programming - video review" -msgstr "" - -msgid "date: 2020-11-08" -msgstr "" - -msgid "layout: post" -msgstr "" - -msgid "lang: en" -msgstr "" - -msgid "ref: the-next-paradigm-shift-in-programming-video-review" -msgstr "" - -msgid "" -"This is a review with comments of \"[The Next Paradigm Shift in " -"Programming](https://www.youtube.com/watch?v=6YbK8o9rZfI)\", by Richard " -"Feldman." -msgstr "" - -msgid "" -"This video was *strongly* suggested to me by a colleague. I wanted to " -"discuss it with her, and when drafting my response I figured I could publish" -" it publicly instead." -msgstr "" - -msgid "" -"Before anything else, let me just be clear: I really like the talk, and I " -"think Richard is a great public speaker. I've watched several of his talks " -"over the years, and I feel I've followed his career at a distance, with much" -" respect. This isn't a piece criticizing him personally, and I agree with " -"almost everything he said. These are just some comments but also nitpicks on" -" a few topics I think he missed, or that I view differently." -msgstr "" - -msgid "Structured programming" -msgstr "" - -msgid "" -"The historical overview at the beginning is very good. In fact, the very " -"video I watched previously was about structured programming!" -msgstr "" - -msgid "" -"Kevlin Henney on \"[The Forgotten Art of Structured " -"Programming](https://www.youtube.com/watch?v=SFv8Wm2HdNM)\" does a deep-dive" -" on the topic of structured programming, and how on his view it is still " -"hidden in our code, when we do a `continue` or a `break` in some ways. Even " -"though it is less common to see an explicit `goto` in code these days, many " -"of the original arguments of Dijkstra against explicit `goto`s is applicable" -" to other constructs, too." -msgstr "" - -msgid "" -"This is a very mature view, and I like how he goes beyond the \"don't use " -"`goto`s\" heuristic and proposes and a much more nuanced understanding of " -"what \"structured programming\" means." -msgstr "" - -msgid "" -"In a few minutes, Richard is able to condense most of the significant bits " -"of Kevlin's talk in a didactical way. Good job." -msgstr "" - -msgid "OOP like a distributed system" -msgstr "" - -msgid "" -"Richard extrapolates Alan Kay's original vision of OOP, and he concludes " -"that it is more like a distributed system that how people think about OOP " -"these days. But he then states that this is a rather bad idea, and we " -"shouldn't pursue it, given that distributed systems are known to be hard." -msgstr "" - -msgid "" -"However, his extrapolation isn't really impossible, bad or an absurd. In " -"fact, it has been followed through by Erlang. Joe Armstrong used to say that" -" \"[Erlang might the only OOP " -"language](https://www.infoq.com/interviews/johnson-armstrong-oop/)\", since " -"it actually adopted this paradigm." -msgstr "" - -msgid "" -"But Erlang is a functional language. So this \"OOP as a distributed system\"" -" view is more about designing systems in the large than programs in the " -"small." -msgstr "" - -msgid "" -"There is a switch of levels in this comparison I'm making, as can be done " -"with any language or paradigm: you can have a functional-like system that is" -" built with an OOP language (like a compiler, that given the same input will" -" produce the same output), or an OOP-like system that is built with a " -"functional language (Rich Hickey calls it \"[OOP in the " -"large](https://www.youtube.com/watch?v=ROor6_NGIWU)\"[^the-language-of-the-" -"system])." -msgstr "" - -msgid "" -"So this jump from in-process paradigm to distributed paradigm is rather a " -"big one, and I don't think you he can argue that OOP has anything to say " -"about software distribution across nodes. You can still have Erlang actors " -"that run independently and send messages to each other without a network " -"between them. Any OTP application deployed on a single node effectively " -"works like that." -msgstr "" - -msgid "" -"I think he went a bit too far with this extrapolation. Even though I agree " -"it is a logical a fair one, it isn't evidently bad as he painted. I would be" -" fine working with a single-node OTP application and seeing someone call it " -"\"a *real* OOP program\"." -msgstr "" - -msgid "[^the-language-of-the-system]: From 24:05 to 27:45." -msgstr "" - -msgid "First class immutability" -msgstr "" - -msgid "" -"I agree with his view of languages moving towards the functional paradigm. " -"But I think you can narrow down the \"first-class immutability\" feature he " -"points out as present on modern functional programming languages to \"first-" -"class immutable data structures\"." -msgstr "" - -msgid "" -"I wouldn't categorize a language as \"supporting functional programming " -"style\" without a library for functional data structures it. By discipline " -"you can avoid side-effects, write pure functions as much as possible, and " -"pass functions as arguments around is almost every language these days, but " -"if when changing an element of a vector mutates things in-place, that is " -"still not functional programming." -msgstr "" - -msgid "" -"To avoid that, you end-up needing to make clones of objects to pass to a " -"function, using freezes or other workarounds. All those cases are when the " -"underlying mix of OOP and functional programming fail." -msgstr "" - -msgid "" -"There are some languages with third-party libraries that provide functional " -"data structures, like [immer](https://sinusoid.es/immer/) for C++, or " -"[ImmutableJS](https://immutable-js.github.io/immutable-js/) for JavaScript." -msgstr "" - -msgid "" -"But functional programming is more easily achievable in languages that have " -"them built-in, like Erlang, Elm and Clojure." -msgstr "" - -msgid "Managed side-effects" -msgstr "" - -msgid "" -"His proposal of adopting managed side-effects as a first-class language " -"concept is really intriguing." -msgstr "" - -msgid "" -"I haven't worked with a language with managed side-effects at scale, and I " -"don't feel this is a problem with Clojure or Erlang. But is this me finding " -"a flaw in his argument or not acknowledging a benefit unknown to me? This is" -" a provocative question I ask myself." -msgstr "" - -msgid "What about declarative programming?" -msgstr "" - -msgid "Conclusion" -msgstr "" - -msgid "" -"Beyond all Richard said, I also hear often bring up functional programming " -"when talking about utilizing all cores of a computer, and how FP can help " -"with that." -msgstr "" - -msgid "" -"Rich Hickey makes a great case for single-process FP on his famous talk " -"\"[Simple Made Easy](https://www.infoq.com/presentations/Simple-Made-" -"Easy/)\"." -msgstr "" - -msgid "" -"This is something you can achieve with a library, like " -"[Redux](https://redux.js.org/) for JavaScript or [re-" -"frame](https://github.com/Day8/re-frame) for Clojure." -msgstr "" - -msgid "" -"Also all FP languages with managed side-effects I know are statically-typed," -" and all dynamically-typed FP languages I know don't have managed side-" -"effects baked in." -msgstr "" - -msgid "" -"In \"[Out of the Tar " -"Pit](http://curtclifton.net/papers/MoseleyMarks06a.pdf)\", B. Moseley and P." -" Marks go beyond his view of functional programming as the basis, and name a" -" possible \"functional relational programming\" as an even better solution. " -"They explicitly call out some flaws in most of the modern functional " -"programming languages, and instead pick declarative programming as an even " -"better starting paradigm." -msgstr "" - -msgid "" -"If the next paradigm shift is towards functional programming, will the " -"following shift be towards declarative programming?" -msgstr "" - -msgid "eu_categories: video review" -msgstr "" - -#~ msgid "category: video review" -#~ msgstr "" - -#~ msgid "" -#~ "This is something you can achieve with a library, like " -#~ "[Redux](https://redux.js.org/) for JavaScript or re-frame for Clojure." -#~ msgstr "" - -#~ msgid "" -#~ "Also all languages with managed side-effects I know are statically-typed, " -#~ "and all dynamically-typed languages I know don't have managed side-effects " -#~ "baked in." -#~ msgstr "" - -#~ msgid "" -#~ "\"[Out of the Tar Pit](http://curtclifton.net/papers/MoseleyMarks06a.pdf)\" " -#~ "by B. Moseley and P. Marks goes beyond his view of functional programming, " -#~ "and name a possible \"functional relational programming\" as an even better " -#~ "solution. They explicitly call out some flaws in most of the modern " -#~ "functional programming languages, and instead pick declarative programming " -#~ "as an even better starting paradigm." -#~ msgstr "" - -#~ msgid "" -#~ "If functional programming is the next paradigm shift, is declarative " -#~ "programming the next next paradigm shift?" -#~ msgstr "" -- cgit v1.2.3