[00:36] *** m007a83 has quit IRC (Read error: Connection reset by peer) [00:42] *** m007a83 has joined #archiveteam-ot [01:03] *** dashcloud has joined #archiveteam-ot [03:18] *** ivan has quit IRC (Leaving) [03:26] *** ivan has joined #archiveteam-ot [03:32] *** dashcloud has quit IRC (Ping timeout: 480 seconds) [03:56] *** wp494 has quit IRC (Quit: LOUD UNNECESSARY QUIT MESSAGES) [03:58] *** wp494 has joined #archiveteam-ot [04:04] *** wp494 has quit IRC (LOUD UNNECESSARY QUIT MESSAGES) [04:06] *** wp494 has joined #archiveteam-ot [04:10] *** wp494 has quit IRC (Client Quit) [05:06] *** wp494 has joined #archiveteam-ot [06:16] *** MrRadar_ has joined #archiveteam-ot [06:16] *** MrRadar has quit IRC (Read error: Connection reset by peer) [07:27] *** wp494 has quit IRC (Quit: LOUD UNNECESSARY QUIT MESSAGES) [07:35] *** wp494 has joined #archiveteam-ot [07:45] *** schbirid has joined #archiveteam-ot [07:55] *** Stilett0 has quit IRC () [07:58] *** schbirid2 has joined #archiveteam-ot [08:02] *** schbirid has quit IRC (Read error: Operation timed out) [08:35] *** Stilett0 has joined #archiveteam-ot [08:48] *** Stilett0 has quit IRC (Ping timeout: 268 seconds) [08:48] *** Stilett0 has joined #archiveteam-ot [08:58] *** Stiletto has joined #archiveteam-ot [09:01] *** Stilett0 has quit IRC (Read error: Operation timed out) [09:17] *** chferfa has quit IRC () [09:22] Ooh, TIL that Python 2 will *finally* reach EOL on 2020-01-01. It's about time. [09:25] *** caff_ has quit IRC (Read error: Connection reset by peer) [10:38] *** MrRadar_ has quit IRC (Read error: Operation timed out) [10:38] *** godane has quit IRC (Ping timeout: 268 seconds) [10:51] *** godane has joined #archiveteam-ot [10:52] *** svchfoo1 sets mode: +o godane [11:16] *** DragonMon has joined #archiveteam-ot [11:32] *** dashcloud has joined #archiveteam-ot [12:27] *** dashcloud has quit IRC (Ping timeout: 480 seconds) [13:20] *** vitzli has joined #archiveteam-ot [13:26] *** Jens has joined #archiveteam-ot [13:41] *** BlueMax has quit IRC (Quit: Leaving) [13:48] *** dashcloud has joined #archiveteam-ot [14:06] *** dashcloud has quit IRC (Ping timeout: 492 seconds) [14:10] JAA: and yet, it will remain in use for another century. [14:14] There're already forks/alternate interpreters for python that say that they'll continue supporting it beyond 2020 [14:14] 2020 is just EOL for the standard python interpreter [14:19] *** dashcloud has joined #archiveteam-ot [14:21] Good enough for me. [14:37] *** odemg has joined #archiveteam-ot [14:54] geez. some people cannot just let go. [15:12] *** dashcloud has quit IRC (Read error: Operation timed out) [15:14] *** vitzli has quit IRC (Quit: Leaving) [15:28] *** keith20 has quit IRC (Read error: Operation timed out) [15:35] *** keith20 has joined #archiveteam-ot [15:36] *** DragonMon has quit IRC (Quit: Leaving) [15:46] it's like they're frozen [15:59] I´ve been doing a lot in Python 2, and didn´t start doing much with Python 3 until recently (1.5 years or so) [16:00] The biggest advantage of Python 3 is how it now handles encoding [16:01] I would not want to go back to Python 2 [16:12] *** schbirid2 has quit IRC (Remote host closed the connection) [16:13] Yeah, that's definitely the elephant in the room, but I also strongly prefer the exception handling, new-style classes without inheriting from object explicitly, and proper division of Python 3. [16:13] And range and map being generators. [16:13] *** schbirid has joined #archiveteam-ot [16:51] *** Stiletto has quit IRC () [17:11] I recommend trying a language with pattern matching and protocols/traits and macros for a few months and seeing if Python still looks like an acceptable language [17:30] ivan: Which languages are you thinking of? [17:34] Clojure, Elixir, Rust, but plenty of other languages that I'm less familiar with like Haskell [17:35] if you come to expect those three things (or more) the big differences between the new options are polytyped vs unityped http://theorangeduck.com/page/defence-unitype and GC/runtime vs no GC/runtime [17:41] I've been using Elixir for a few years but I'm looking at Rust again now that it's more mature and I desire less runtime [17:48] *** jut has quit IRC (WeeChat 1.4) [17:49] Yeah, I have zero experience with those languages. I also lack the motivation to try out a new language currently, to be honest. [17:51] And one thing I really like about Python (which is also briefly touched on in that article you linked) is its clean basic syntax. It looks like pseudo-code, forces you to reveal the structure of the code through the indentation, and there is no begin/end spam around code blocks. [17:52] I'm sure there are other languages out there that would satisfy this as well, but that's definitely a big advantage of Python in my opinion. [18:01] one of things you get from working in a language with a good type checker is a feedback loop that tells you if you refactored or used something wrong before your program blows up at runtime [18:01] you can often just make some crazy change you want and keep fixing compiler errors until it works [18:03] as programs scale up that can be a killer feature that outweighs clean-looking code [18:05] the other thing you get is being able to fit a lot more data into memory because you've got structs instead of hashmaps everywhere [18:05] *** dashcloud has joined #archiveteam-ot [18:07] (I restricted "good type checker" to polytyped languages there because the ones that get bolted on like typescript and mypy are not so great) [18:08] *** jut has joined #archiveteam-ot [18:20] *** dashcloud has quit IRC (Read error: Operation timed out) [18:21] *** jut has quit IRC (Quit: WeeChat 1.4) [18:25] *** dashcloud has joined #archiveteam-ot [18:30] *** jut has joined #archiveteam-ot [18:34] I agree, (proper) type checkers can be very useful. [18:36] The memory (and, in at least some cases, computational) efficiency point is very dependent on what you do. I didn't have to care about this too much in any of my recent projects - except in one case, where I ended up implementing a Python extension in C. [18:46] I also just had to think of something semi-related: I once read about how we should really just completely reconsider the way we write code because the current way is very error-prone and can never (?) guarantee that the code actually does what it claims to do (i.e. there is no way to prove its correctness in the general case). So instead of writing (more or less directly) machine code, we should [18:46] write complete specifications and let the computer generate the machine code from that. There's a name for this concept, but I can't remember it right now. [18:53] Genetic Coding, IIRC [18:53] that said, your tests need to be *very* specific. [18:54] otherwise it'll likely be horribly insecure [18:54] In general, good code does what it's designed to do quickly and efficiently [18:54] Secure code does what it's designed to do, and only what it's designed to do. [19:25] *** caff_ has joined #archiveteam-ot [20:14] *** schbirid has quit IRC (Remote host closed the connection) [20:16] *** chferfa has joined #archiveteam-ot [21:20] *** dashcloud has quit IRC (Read error: Operation timed out) [21:21] *** dashcloud has joined #archiveteam-ot [21:40] *** jeekl has quit IRC (Ping timeout: 260 seconds) [21:51] *** jeekl has joined #archiveteam-ot [22:25] *** dashcloud has quit IRC (Read error: Operation timed out) [22:29] *** dashcloud has joined #archiveteam-ot [23:38] *** caff_ has quit IRC (Read error: Connection reset by peer) [23:52] *** BlueMax has joined #archiveteam-ot