code logs -> 2014 -> Sun, 05 Oct 2014< code.20141004.log - code.20141006.log >
--- Log opened Sun Oct 05 00:00:00 2014
00:28 Harlow [harlow@Nightstar-d3n3qj.mycingular.net] has joined #code
00:31
< Harlow>
I know this is a 'hot topic' so I'll offer this talk too, "How many programming languages do we need?"(Presented By: Jeff Bezanson). Let me know if you want me to stream it. This is the last presentation I'm going to.
00:32
<@Tamber>
Clearly (n+1), where n is the number of programming languages we have right now. Re-evaluate every time a new programming language comes along.
00:33
< Harlow>
lol
00:34
< Harlow>
"Why python is the last language you'll have to learn"
00:34
< Harlow>
:/
00:34
<&McMartin>
Python: where every method call is basically a magic number in the code.
00:34
<&McMartin>
Clearly nothing can possibly go wrong
00:35
<@Tamber>
That sounds... Bad.
00:36
<&McMartin>
Welcome to the debate between static vs. dynamic languages. It's only been raging for like 60 years, I'm sure we can sort it out by casually asserting that of course our views on it are right.
00:37
<@Tamber>
:)
00:37
< Harlow>
well so far he's just presenting quotes and information
00:37
< Harlow>
"popularity comes from spreading to other niches, not being the best in the niche" - Leo Meyerovich
00:38
< Harlow>
So basically he's going on how languages actually need to have a broadening scope.
00:39
<@Tamber>
"Specialisation is for insects. And Forth."
00:39
<@Tamber>
:p
00:42
<@Alek>
:P
00:44
< Harlow>
brb
00:44 Harlow [harlow@Nightstar-d3n3qj.mycingular.net] has quit [[NS] Quit: BED]
00:45
<&McMartin>
How about "and C"~
00:45
<&McMartin>
That said, um
00:45
<&McMartin>
Forth was written to control the motors on telescopes.
00:45
<&McMartin>
Forth hella metastasized.
00:46
<~Vornicus>
I've never written in Forth
00:46
<~Vornicus>
PostScript yes, but never Forth
00:53
<@Tamber>
:)
00:53 harlow [NSwebIRC@Nightstar-lke.m1q.36.72.IP] has joined #code
00:53
< harlow>
http://www.ustream.tv/channel/pgrm
00:54
< harlow>
if you want to watch the stream
00:54
<@Tamber>
I've puttered about with it, but never actually done anything beyond trying to code-golf little snippets.
00:54
< harlow>
thats it, the guy is form mit
01:00
< harlow>
so this guy is pushing Julia because he wrote it, its like c++ but really like python
01:00
< harlow>
http://julialang.org/ i've never even heard of this
01:01
<&McMartin>
I've heard of it but mostly ignored it
01:01
<&McMartin>
Ironically, despite compilers and programming languages being my primary focus as a grad student, this has resulted in me caring *less* about esoteric/niche languages
01:01
<&McMartin>
Possibly because I've seen under the hood enough to know how to scross idiomatic boundaries.
01:02
< harlow>
this code is crazy
01:02
< harlow>
it seems to over simplify
01:02
< harlow>
but its pretty quick looking at the bench marks on the web
01:06
< harlow>
any questions i should ask to stump this guy?
01:07
< harlow>
just for giggles
01:10
< harlow>
so the final answer is we need an infinite sequence of ever-better languages.
01:10
<&McMartin>
Sure~
01:11
<&McMartin>
That said there are also different value metrics
01:12
< harlow>
what is a value metric?
01:12
< harlow>
like what the language is designed for
01:13
<&McMartin>
"What does it mean to be 'a good language'?"
01:13
< harlow>
should i ask him that?
01:13
<&McMartin>
Nah
01:14
<&McMartin>
It's not where he's targeting the talk.
01:14
<@TheWatcher>
Ask him what is best in life.
01:14
<&McMartin>
What the language is designed to be good at is decent, though.
01:14
< harlow>
lol
01:14
<&McMartin>
If you're in a place where assembler makes sense to use, Python is going to such.
01:14
< harlow>
magic pointer wrapper classes?
01:14
<&McMartin>
That keeps being true if you generalize "python" to families of languages
01:15
< harlow>
some guy just asked a question too far over my head
01:15
< harlow>
:/
01:15
<&McMartin>
If you're in a place where "pointer" is the sensible level to operate, you should be using C, not assembler >_>
01:16
< harlow>
he just explained it, i guess it has to do with if you dont know who owns the item then you cant parallelize it.
01:18
<&McMartin>
What was the question?
01:19
<&McMartin>
And yeah, parallelizability ends up being very difficult in a lot of 'low-level' languages that are nevertheless abstracting important things away
01:19
< harlow>
The question was something like how does julia deal with objects that it might not know who it belongs to.
01:20
< harlow>
something like that
01:21 * McMartin nods
01:21
<&McMartin>
Ownership disciplines usually surround manual memory management, but it has a place in multiprogramming too
01:21
<&McMartin>
The memory management one amuses me though because of its formal definition.
01:21
<&McMartin>
Object A owns object B if A destroys B in every possible run of the program.
01:21
<&McMartin>
PWN3D.
01:22
<@Alek>
pfft
01:22
<&McMartin>
For added fun there is a notion of "domination" in control flow graphs
01:26
< harlow>
well he says lisp syntax is the closest syntax gets to good
01:28
< harlow>
whelp
01:28
< harlow>
thats it
01:28 harlow [NSwebIRC@Nightstar-lke.m1q.36.72.IP] has quit [[NS] Quit: ]
01:35 gnolam [lenin@Nightstar-utbkuh.cust.bredbandsbolaget.se] has quit [Connection reset by peer]
01:35 gnolam [lenin@Nightstar-utbkuh.cust.bredbandsbolaget.se] has joined #code
01:35 mode/#code [+o gnolam] by ChanServ
01:36
<~Vornicus>
Arg. I have determined that I have no idea at all how to do, uh
01:36
<~Vornicus>
users.
01:39
<&McMartin>
wat
01:40
<~Vornicus>
Well, okay, let me explain
01:42
<~Vornicus>
I need to figure out a way to make sure that users can only do the things that they're allowed to do.
01:42
<&McMartin>
That is a pretty hard problem
01:45
<~Vornicus>
At any given moment the list of things that a user actually *can* do is very limited; in typical cases for my particular use case there are usually only one or two write-shaped commands available, and only one user can access these at a time (it is a turn-based game)
01:47
<~Vornicus>
now, the problem I'm having right now is that every single command has this pattern: "is it the phase where this command can be executed? Is it this user's turn?"
01:47
<~Vornicus>
and only then does it get to the nitty gritty. And it feels like I should be able to push this out further?
01:49
<~Vornicus>
Never mind that I also need to set up the thing where it decides what user is actually talking
03:06
<&ToxicFrog>
In spellcast I'm doing the latter by having the network/http routing layer automatically tag each message with the id of the player that sent it
03:06
<&ToxicFrog>
And the former by dividing the game into phases and having each phase explicitly declare the message types that it understands.
03:07
<&ToxicFrog>
So e.g. every phase understands "chat", but "gestures" is only permitted during the collect-gestures phase.
03:07
<&ToxicFrog>
And actions that mutate player state implicitly apply to the player that sent them.
03:07
<&ToxicFrog>
(I have no idea if this helps at all)
03:09
<~Vornicus>
It does, some. I'm trying to figure out how to handle it though; as it is, you interact with the model (as a controller) by calling the model's manipulate functions directly
03:12
<~Vornicus>
(thus, all my command functions have the pattern: "right phase? right user? resources available for command?"
05:11 Derakon is now known as Derakon[AFK]
05:21 Kindamoody[zZz] is now known as Kindamoody
05:36 mac is now known as macdjord|slep
05:41
<&jerith>
Vornicus: A decorator that knows which phases are allowed and checks the user, etc?
05:41
<~Vornicus>
hmm, could
05:42
<&jerith>
@command_for(user='active', phase=('upkeep', 'movement'))
05:44
<&jerith>
That won't cover everything, but it lets you factor out the common bits.
05:56 Red_Queen [Z@Nightstar-g2q2tu.customer.tdc.net] has quit [Ping timeout: 121 seconds]
06:52 Vornicus [vorn@ServerAdministrator.Nightstar.Net] has quit [[NS] Quit: Leaving]
07:04 celticminstrel is now known as celmin|sleep
07:56 thalass [thalass@Nightstar-sbrrj9.bigpond.net.au] has joined #code
07:56 mode/#code [+o thalass] by ChanServ
07:56 thalass [thalass@Nightstar-sbrrj9.bigpond.net.au] has quit [Connection closed]
07:57 Thalass [thalass@Nightstar-sbrrj9.bigpond.net.au] has joined #code
07:57 mode/#code [+o Thalass] by ChanServ
09:08 Kindamoody is now known as Kindamoody|afk
09:30 Orthia [orthianz@Nightstar-6dj3iv.callplus.net.nz] has quit [[NS] Quit: Going dooooown...]
12:44 Orthia [orthianz@Nightstar-6dj3iv.callplus.net.nz] has joined #code
12:44 mode/#code [+o Orthia] by ChanServ
14:29 macdjord|slep is now known as macdjord
14:33 Thalass [thalass@Nightstar-sbrrj9.bigpond.net.au] has quit [[NS] Quit: ARRR]
15:29 celmin|sleep is now known as celticminstrel
17:16 Vornicus [vorn@ServerAdministrator.Nightstar.Net] has joined #code
17:16 mode/#code [+qo Vornicus Vornicus] by ChanServ
18:15
<@Tamber>
"Project now has an #ASCII-art banner. Clearly, now serious projekt. Professionalism levels through the roof."
18:16
<@Tamber>
And, now the important business is concluded, time to make it... well, do something.
19:10 Derakon[AFK] is now known as Derakon
19:15 Kindamoody|afk is now known as Kindamoody
19:58 Checkmate [Z@Nightstar-484uip.cust.comxnet.dk] has joined #code
19:59 mode/#code [+o Checkmate] by ChanServ
21:07 Checkmate [Z@Nightstar-484uip.cust.comxnet.dk] has quit [Ping timeout: 121 seconds]
21:36 Kindamoody is now known as Kindamoody[zZz]
22:21 Checkmate [Z@Nightstar-g2q2tu.customer.tdc.net] has joined #code
22:21 mode/#code [+o Checkmate] by ChanServ
22:23 Checkmate [Z@Nightstar-g2q2tu.customer.tdc.net] has quit [Connection closed]
22:23 Checkmate [Z@Nightstar-g2q2tu.customer.tdc.net] has joined #code
22:23 mode/#code [+o Checkmate] by ChanServ
23:04 RchrdB2 [RichardB@Nightstar-v5j366.understood.systems] has joined #code
23:04 RchrdB [RichardB@Nightstar-v5j366.understood.systems] has quit [Connection closed]
23:41 McMartin [mcmartin@Nightstar-rpcdbf.sntcca.sbcglobal.net] has quit [Ping timeout: 121 seconds]
--- Log closed Mon Oct 06 00:00:16 2014
code logs -> 2014 -> Sun, 05 Oct 2014< code.20141004.log - code.20141006.log >

[ Latest log file ]