from Hacker News

PolyConf 2015 – A multi-disciplinary conference for polyglot programmers

by albanlv on 6/11/15, 8:59 AM with 84 comments

  • by noir-york on 6/11/15, 11:09 AM

    Shouldn't programmers be polyglot by default. It's like saying there is a conference for golfers who play with more than one club!
  • by awjr on 6/11/15, 10:13 AM

    Do people really only programme in one language? The simple act of connecting to a database and retrieving data by definition requires knowledge of 2 languages. What I think people do do, is silo themselves onto specific technology stacks (e.g. Microsoft solutions).
  • by artumi-richard on 6/11/15, 11:38 AM

    Does anyone know of a conference that takes a wider view of the job of programming? It has always felt to me like the focus is all about our tools, because tools can look cool, but I'm interested in the process of starting with a messy list of requirements and getting to a completed project in the most successful way, which is often the real challenge in my work.
  • by hliyan on 6/11/15, 10:23 AM

    I almost thought they were referring to this Polyglot approach: http://en.wikipedia.org/wiki/Polyglot_%28computing%29

    That would have been... frightening.

  • by petercooper on 6/11/15, 10:57 AM

    Nothing against this conference but on the "now have", aren't things like OSCON or Strange Loop technically multi-language cross-pollinated programming conferences? Or is the way some of the talks are about joining two languages the unique draw?
  • by spot on 6/11/15, 12:59 PM

    The best tool for polyglot programming is the Beaker Notebook: http://BeakerNotebook.com

    Set a variable in one language and use it in another, work with multiple languages on the same page, including javascript, and run them all interactively.

  • by kriro on 6/11/15, 10:52 AM

    Good conference to have in general. I'd suspect most programmers have a natural interest for different languages/paradigms but practically using them in concert often reveals subtle problems.

    I have a decent background in Prolog (hardly an expert) and know it's often a good tool for the job but often shy away from using it regardless.

    I hope the "Erlang in multi-lingual systems" talk (all of them for that matter) will be available later :)

    "Why should you learn to program Commodore 64 this year?" sounds like the exact kind of talk I'd enjoy.

    Prices seem very fair and I love that a %age goes to CodeStarter.

  • by jgrahamc on 6/11/15, 11:13 AM

    I did an interview at QCon this year (http://www.infoq.com/interviews/John-Graham-Cumming-Polyglot) where I was specifically asked about 'polyglot programming'. The question totally surprised me because I'd never thought of myself like that because it doesn't seem to me that it's anything special at all.
  • by jawns on 6/11/15, 12:09 PM

    Did anybody else read through the (English language) conference website for the (presumably English language) conference, and wonder to themselves, "Why ... Poland?"

    I'm not knocking Poland, but it seems strange to have an English-language conference there and not offer anything in the way of explanation for the choice.

    I mean, I'm sure there is a reasonable explanation (central location, picturesque setting, low costs, fits the ethos of a polyglot conference, offers the possibility of both a conference and a vacation) but I find it strange that the explanation isn't more visible.

  • by erikb on 6/11/15, 10:49 AM

    What is a Polyglot programmer? A programmer who speaks more than his native language (e.g., for me it's German, English, Chinese)? A programmer who codes in more than one language?
  • by hamhamed on 6/11/15, 3:59 PM

    Admins of the conf may want to embed this map on their page ;) https://www.stay22.com/embed/polyconf-2015?promptembed=true
  • by aaggarwal on 6/11/15, 11:24 AM

    Can someone help me understand how is the polyglot approach to software development different from normal software development?
  • by Dewie3 on 6/11/15, 11:50 AM

    I'm interested in programming languages. But I don't know if I'm really a polyglot programmer. Ideally I want to be able to rely on a handful of languages for the vast majority of things that I want to do. If I'm being idealistic, maybe it would be possible to rely on two, or even just one.

    But this "one" language would probably have the power to express its own EDSLs for different domains and problems (like Lisps). So in effect, maybe you could say it's many different languages in one. So why not just use many different programming languages instead of one extensible one...?

    Because general purpose programming languages seem to end up feeling too monolithic when considering that they might only be used by you for that one thing. Consider two approaches: have one language that solves problems in domain A really well. Then you want to solve problems in domain B really well. But the first language is not suited for that. So you use a totally different language for that. Maybe it has its own interpreter/compiler/library and specification. Maybe you need to interoperate between these languages. What do you do? Inter-language communication seems to be in a sorry state, if the Unix philosophy of "strings anywhere" is the prevailing philosophy. I guess we're supposed to use Json now, perhaps? Corba is dead. I saw a thick old book about it where I work and didn't feel inspired.

    Compare that to having a language where you can express domain B more clearly in the first language. It turns out that there was some friction and ceremony with expressing domain B in the first language, but being able to express this as as EDSL -- maybe by using something like macros -- gets you 90-100% of the benefits of using a totally new language. Additionally, there is less underlying complexity -- you have one language derived from the other using constructs from the original language. And ideally you can inspect and unfold this implementation; go through a few layers of macros, perhaps. Contrast this with having two wholly separate languages with their own runtimes, libraries and what have you.

    This might be a philosophy of building layers of languages -- actually, probably more like a tree. Or maybe a DAG if you have several implementations that express the same DSL. Contrast this with several distinct implementations of monolithic languages, which probably have no knowledge of each other (languages tend to end up shallowly similar, but subtle in many many small ways; probably Turing Complete which makes analysis tricky or at least not straightforward, certainly not reliable...). But when looked at in isolation they look simple; hey this language is really good at expressing X. It doesn't have that many user-visible constructs. Simplicity! Only when you look at the bigger picture, you see how much effort and code that goes into implementing software that is subtly different, only to give the feeling of simplicity when looked at more in isolation from the whole overarching system.

    Some people will look at you in horror if you suggest using a powerful and expressive language. A language that can effectively express a lot of 'languages'. They find things like operator overloading disgusting, because code should look uniform and it should be "obvious" what it is doing. Then they choose to involve 12 different programming languages on a project, because that is obviously good engineering practice. The right tool for the job! The fact that they have to learn and deal with so many languages is apparently trivial to them. The difference between the semantics and ecosystems of a dozen different programming languages is simpler then learning about and judiciously using operator overloading, I guess.

    I am not trying to diminish the need for programming languages -- they seem incredibly hard to design, and the more I read about them the more I get convinced of that. There are ever more considerations that they can choose to care about, potentially at the expense of something else immediately next to it or maybe something far away. It doesn't seem like the ones who are designing them are close to converging on designs that express many of the problems that programming languages can/should care about. I look forward to seeing more language (designs) -- hopefully ambitious ones. :-)

    tl:dr; I should learn a Lisp. Code truly is data, or it should be. But not even Lisp is able to do everything with sufficiently many macros, it seems.