Programming Language Gurus Converge on 'Curry On' Conference (curry-on.org)
Videos are now online from this week's Curry On conference, which incuded talks by programming pioneers Larry Wall and Matthias Felleisen, as well as speakers from Google, Twitter, Facebook, Microsoft, and Oracle. Dave Herman from Mozilla Research also talked about building an open source research lab, while Larry Wall's keynote was titled "It's the End of the World as We Know It, and I Feel Fine."
Billing itself as a non-profit conference about programming languages and emerging computer-industry challenges, this year's installment included talks about Java, Rust, Scala, Perl, Racket, Clojure, Rascal, Go and Oden. Held in a different European city each year, the annual conference hopes to provoke an open conversation between academia and the larger technology industry.
Billing itself as a non-profit conference about programming languages and emerging computer-industry challenges, this year's installment included talks about Java, Rust, Scala, Perl, Racket, Clojure, Rascal, Go and Oden. Held in a different European city each year, the annual conference hopes to provoke an open conversation between academia and the larger technology industry.
Perl is quite alive. Just use the last non-drug fueled version (5.x) and you will not have to deal with pink elephants.
Although 6.x Perl serves as a nice example of the "Second System Effect" (a bit delayed) and hence is quite useful as an example of how to not do things.
Most ACs are not even worth the keystrokes to insult them. Be generically insulted by this and ignored otherwise.
niche and egghead languages aren't how the world at large does things.
The fallacy of appealing ad populum applies to programming languages as well. Not to mention the fact that lots of people who are not doing things "how the world at large does [it]" are not exactly going to be talking about it a lot if they find themselves in a competitive environment. Why give your competition ideas? I mean, the probability of your competition "getting it" is often very low but still non-zero.
Ezekiel 23:20
Well, probably so that you could go there and tell them in person. /s
Ezekiel 23:20
Now you made me wonder...which ones are those two? :) (I admit that I'm personally increasingly leaning towards general language implementation ideas and perhaps metalanguages that can be easily ported on top of different platforms so that one didn't have to get skills that are less-than-generally useful and could still easily change jobs while retaining the ability to create useful structures in languages that generally don't include them - without having to switch your entire platform, which is often not desirable, or having to press your employer for a platform switch, which is often unlikely to succeed.)
Ezekiel 23:20
Some people have legacy Perl to maintain you insensitive clod!
Some of us still code new stuff in Perl, you doubly insensitive clod!!
Going to a technical conference for a language that is popular or that you know well does not offer that much value, because almost anything you learn there could have been learned online quicker.
Going to a conference filled with niche languages or higher level ideas is great because it's much more mind-expanding, and even if ideas seem esoteric there's always some interesting twist you can take back into languages you know better or are more practical to work with. It also helps keep you from getting too pigeon-holed by ignoring changes in the world around you, as I see many object-oriented die-hards doing...
"There is more worth loving than we have strength to love." - Brian Jay Stanley
Perl is quite alive. Just use the last non-drug fueled version (5.x)
But you don't need to go to a conference for that. I use perl all the time for quick throw-away scripts, because I can do a lot with minimal typing. But I would never use it for a project that needed to be maintained, or for anything over 100 lines of code. I also assiduously avoid any new features, which is the focus of conferences.
With Perl 7 being released, Perl is young and hip again and actually I've seen an uptick in new upstart projects using them just because they can. Releasing open source projects in obscure languages is the newest trick to keep the host companies involved with expensive licensing/support agreements.
Custom electronics and digital signage for your business: www.evcircuits.com
no new language is going to give competitive features to a product. Mature libraries, analysis and debugging tools and standard approaches to common problems instead should be primary concerns of a new business or new product idea.
Is that you Larry Wall?
The same reasoning in civil engineering would translate to saying that you only need a shovel and a mason's trowel to build anything. Yes, you can, the "competitive features" like improved insulation or just fashionable architecture don't depend on how you put the parts in place. But more powerful tools allow you to do more things in limited time.
Having said that, building those tools is complicated enough so it takes too much time and isn't generally done, be it building languages, debuggers, or whatever tool you need, basically equally. You do correctly, if obliquely refer to a well-identified problem of insufficient tooling even in those languages that are generally considered sufficiently expressive to not require additional syntax or semantics. Interestingly, this is independent of whether you're working in a more specialized language that has the concepts in question embedded in its core primitives, or in a less specialized language that requires you to first build these higher concepts (of interest to you) out of its lower-level constructs. It would even appear that the problem is roughly of the same scope regardless of whether you're building a new language (in the traditional "lexical-syntactic" sense, not just in terms of new APIs) or not, with the "standard approach" you're mentioning involving using non-specific analysis and debugging tools that are all-too-often only of marginal benefit because they don't provide the views that a large system might require to be more easily comprehended or modified, for example, by a newcomer. Building improved tools unfortunately requires some kind of model regardless of whether the model is explicit in form of another language or merely implicit in the code of the tools and the patterns of use of some API you're building. But the designers of programming environments can't possibly anticipate all the domains you might want to use their environment for, so even if you decide not to use or develop another language for an application, unfortunately, not much changes, there are still tooling problems to be solved. You've merely shifted the burden from one kind of tools to another kind of tools, and one could successfully argue that accessible techniques for building better tools (to bring them into the realm of what Eric Raymond refers to as "casual programming" in TAoUP) are highly desirable for overall productivity.
Ezekiel 23:20
This looks like worth a watch... https://youtu.be/q1Yi-WM7XqQ?t=6m20s (actual content starts 6:22 into the video).
If you need to ask, then you cannot understand the answer. Or maybe you are just trolling?
Most ACs are not even worth the keystrokes to insult them. Be generically insulted by this and ignored otherwise.
Just my take. That is why I am back to C for anything but glue-logic. All that clutter more "modern" languages add is just not worth it. True, I currently use Python3 as glue, and the C I write is somewhat OO as it is Python modules, but that is it. Most "revolutionary" trends in programming languages are just not fit for actual production use.
Of course, most programmers are not fit to write productive code either (the utter crap I see when doing code-reviews is incredible), but that is another story.
Most ACs are not even worth the keystrokes to insult them. Be generically insulted by this and ignored otherwise.
Wow. That was so nonsensical. Complete gibberish. The point is mature libraries and tools are more important than ego-driven language masturbation.
Yes, I did. But there's probably better/more-compatible-with-the-rest-of-the-world ways of doing the same. Mind you, they don't have to involve "reinventing the wheel badly": for example, META-II and TREE-META are both as old as Forth, and almost as old as Lisp.
Ezekiel 23:20
and the C I write is somewhat OO
Have you read Ian Piumarta's paper on open extensible object models? There's some food for thought for C programmers.
Ezekiel 23:20
Why would I have to be trolling if I'm asking which two of "Java, Rust, Scala, Perl, Racket, Clojure, Rascal, Go and Oden" you as an individual consider relevant? Two different people can look at the same thing from two different angles. That's why multiple-criteria decision analysis has arisen as a discipline in the first place.
Ezekiel 23:20
What a way to completely miss the point. You're not even disagreeing with me!
Ezekiel 23:20
This is research. Relevance to fashion is not important. All of the "relevant" languages got their start from people researching and using a wide variety of programming languages.
The world won't get much done if there aren't eggheads discovering new ways to do things. You do realize Slashdot is news for nerds, right? So arguments about "not cool enough for me" don't hold a lot of weight.
What do you do for database queries then?
"First they came for the slanderers and i said nothing."
Well I guess different people have different opinions about what is "relevant" and a "fad".
I haven't seen any Perl in production use in a number of years - although I'm sure it exists, for me and my career it's way past being "relevant". I was using it 20 years ago...
Scala is highly relevant, it's a fantastic language which I've been using professionally for over 2 years to great effect. I've built infrastructures serving millions of requests per second using it - and I'm not alone - Scala is widely used at Twitter, LinkedIn, Netflix, FourSquare, AirBnB, Apple, ... the list goes on.
Java is widely used, of course, but it's kind of dull at this point. Relevant but there's not much new to talk about at a conference.
Rust is .. interesting. I don't think it's ready for production yet, but it has some really interesting ideas, which even if they don't make it in the form of Rust could be seen in future languages. Very relevant to discuss and think about.
Go is spreading very quickly - I personally don't care for it but in my last job we had ops people who swore by it (I just swore at it). Extremely relevant right now as so many places are evaluating it, plus, obviously, the Google link.
The others - clojure, racket, & co are niche for sure. I don't think they even qualify as fads because (with the possible exception of clojure) no-one's really using them - and fad implies something is popular.
I do think they could have included F# though, that's a really interesting language that's starting to pick up steam in the commercial world. And Swift, while not that revolutionary, is bringing some new stuff to the masses and spreading very fast.
---- Den ene knappen er powerknapp, den andre er Bender voice knapp "Bite My Shiny Metal Ass"
You know what? This is actually starting to sound like a good way to do things.
The drawback is the maintenance time it would take, as new versions of the DB come out. That is absolutely the only drawback I can see.
"First they came for the slanderers and i said nothing."
The main replies to this story seem to be basically hatin' on people who want to do something interesting with their spare time. How horrifying that people want to do something new and better rather than stick to whatever was state-of-the-art in the 1970s.
SJW n. One who posts facts.
Give it up, man. He's basically bitter that the world is largely moving on from C. He seems to be on every language thread telling everyone how superior he is for using older, less powerful tools.
SJW n. One who posts facts.
niche and egghead languages aren't how the world at large does things.
Wow you actually have just dropped down as far as using anti intellectual insults. This is supposed to be news for nerds, you know. Since when did anti intellectualism become a nerd thing?
SJW n. One who posts facts.
No, but from a quick glance now, the way to do it is rather obvious. The Python OO model also transfers fully to embedded C components. Still nice that somebody wrote this up.
Most ACs are not even worth the keystrokes to insult them. Be generically insulted by this and ignored otherwise.
What do you mean? That depends on the database, obviously. Usually it will be the Simple (but stupid) Query Language, but some other models exist. Databases are not complicated or powerful enough to really matter language-wise and a query language hardly qualifies as programming language, far too limited. Databases can just get large and they have (if sane) ACID out of the box, but that is about it.
Most ACs are not even worth the keystrokes to insult them. Be generically insulted by this and ignored otherwise.
Hehehehe, funny. Have looked at the TIOBE index lately? It may not be very accurate, but nothing in the TIOBE top-5 is going away anytime soon, let along the long-term 2nd place.
Most ACs are not even worth the keystrokes to insult them. Be generically insulted by this and ignored otherwise.
But you don't need to go to a conference for that.
No argument on that. Perl 5.x is basically finished. "Improving" something finished makes it usually much worse. The exceptionally long time Perl 6 has been in the works is a valuable clue.
Most ACs are not even worth the keystrokes to insult them. Be generically insulted by this and ignored otherwise.
The world is moving away. It's slow, and not going to move completely away for a loooong time, but C used to be the #1 king of the hill. It's now relegated to niches, albeit large ones. You can almost certainly avoid learning anything new until you retire, but nonetheless that does not make you superior for only using C.
SJW n. One who posts facts.
As an L2 speaker, perhaps I could have expressed it more clearly, but I don't know how. Unfortunately I can't help 110010001000 in any other way than by asking him to carefully reread the text once again and to try to comprehend it. I can't make him succeed at it, though.
Ezekiel 23:20
I'm definitely not afraid of learning new languages, but if by "new" you mean "recently created", those very often bring little or nothing novel relative to what was already known. For example, people have already compared Go to Algol 68. In a way, it's a favorable comparison, but it's also damning with faint praise. Otherwise...no. Currently looking into APL.
Ezekiel 23:20
I mean the C APIs to databases are a pain to use a lot of times (ribs2 does a good job with it, but not many people know about that)
"First they came for the slanderers and i said nothing."
No, no, and no.
I've never 100% agreed with this quote. A big chunk of computer science is about building better telescopes; and so it is with astronomy, too, that a not-insignificant part involves building better computers.
However, the real currency of the world is ideas.
Innovative computer languages express ideas about how the discipline of programming might be made better. People who study computer languages do so to prioritise ideas over mere skills, not without good motivation.
This sentiment motivated one of the all time best ideas in computer science.
Unfortunately, we could have learned this lesson centuries sooner, but for some narcissistic revisionism.
Larry's glacial pace may yet reshape the landscape in a profound way. Perhaps Camelia is the moulder of giants. Time will tell.
Since Joe_Dragon signed up.
Confucius say, "Find worm in apple - bad. Find half a worm - worse."
Curry on? Was the name chosen because it's mainly for H-1Bs?
Confucius say, "Find worm in apple - bad. Find half a worm - worse."
'Oh! I know! We'll stack another layer of software on top! That'll just fix everything!'
Reminds me of one of my favorite quotes:
"All problems in computer science can be solved by another level of indirection"
It's not a fallacy, it's true. How many lines of Rust are in use compared to C or even COBOL?
Confucius say, "Find worm in apple - bad. Find half a worm - worse."
You think you're an expert on logical fallacies, which you aren't. But you just hit the excluded middle bang dead centre.
Confucius say, "Find worm in apple - bad. Find half a worm - worse."
Last time I checked, most embedded development is done using C especially on low power devices. We are getting more of these devices added to our world every day, not less. The PC on the other hand is in decline in terms of numbers. I don't think the world is moving away from C, but I do think that C is in decline on the PC.
Not much competes with C in the embedded space. While Java is having some limited success on the bigger embedded systems; Those that have enough space to install it and still have room left for your code that is. As I stated earlier, embedded development is growing rapidly. With regard to C on the PC though... it's easier to work in other more forgiving languages at the expense of having slower code because modern machines are so fast very few people actually care that much about the overhead. I think the basic problem is that our industry is has a large number of computer programmers that are quite bad at what they do. We found out through painful experience that we don't want these people working in C because the damage they can do in it is very large and costly, compared to the damage they can do in something like Java where idiocy is much easier to detect early in a project.
Last time I checked, most embedded development is done using C especially on low power devices.
A mix. Some is done in C. In part that's due to a lack of a good C++ compiler. AVRs and Arms support C++. My shitey little 8051 only supports C (lol IAR making class a synonym for struct does not a C++ compiler make), so I write in C.
However, many of the shitey 8051s are being superceded by ARMs. I'd love to switch, but we're about to enter production so it's not worth it now. The next version will use the ARM. It's lower power too, so better battery life, and possibly cheaper overall since it is more heavily integrated.
Not much competes with C in the embedded space.
Apart from C++, that's true.
I don't think the world is moving away from C, but I do think that C is in decline on the PC.
OK fair enough. C's in heavy decline everywhere except embedded and for some reason Linux userland apps. But hell, have you ever seen glib code? Holy fuck why would anyone ever subject themsleves to that, it's bloody mental. Imagine writing code in CPython exclusively. Madness.
With regard to C on the PC though... it's easier to work in other more forgiving languages at the expense of having slower code because modern machines are so fast very few people actually care that much about the overhead.
Forgiving? There's C++ which is precisely as fast in theory and in practice often faster, and supports vasty richer abstractions. And of course there's Rust. It has mostly the same machine model as C and C++, so one would expect it to reach the same speed soon. That will of course depend on the quality of the front (and middle?) end of the compiler, and the back end is shared with C and C++ compilers.
That's also not a hypothetical "java is 10x faster than before and THIS year it just edges out C++ (like every other year)" bullshit that you get. Rust's machine model allows exactly the same optimizations as C.
One of the design goals of Rust is to be as fast as C++.
We found out through painful experience that we don't want these people working in C because the damage they can do in it is very large and costly, compared to the damage they can do in something like Java where idiocy is much easier to detect early in a project.
Ain't that the case!
SJW n. One who posts facts.
Isn't the Linux kernel written in C? Seems that at least one luminary thinks it's still relevant.
Ys, but that luminary has shown he doesn't actually know enough about C++ to have an opinion on it! Or at least his biases are so strong and lacking in perspective that they're clearly overwhelming any technical argument.
Anyway now that GCC has gone the way of C++, the existence of Linux is dependent on C++ albeit indirectly.
SJW n. One who posts facts.
Why. Were you planning on acting like a sexist douche at a conference and now you can't get away with it anymore?
Sounds like you need to cast a vote for the insane clown posse guy in November to vent a little of that hormonal rage.
Where are we going and why are we in a handbasket?
No, the same reasoning in civil engineering would be Caterpillar holding a seminar bulldozing the caterpillar way
Nope, most languages are just rehashes of same old ideas. java is warmed over C++ and gives NOTHING more, for example.
JavaSCRIPT on the other hand is a step backwards giving somewhat less power.
In fact let's just skip the other languages and say the "improvements" to the most languages are just additions that make them slightly more approach the power LISP had decades ago.