@r I'm pretty sure JavaScript /is/ objectively slow when you compare it to most other languages...

@jbauer @r Yes.

Just because speed has improved (as technology has improved, which is probably more a factor than anyone wants to admit) doesn't make JS fast or good. People are quick to say it's faster now, but it's still slower than anything else I know of.

People will fall on their swords for JS, but .Net overhead somehow never gets the same benefit of the doubt. :/

For interpreted languages, *Java* is actually king. C/C++ for compiled.

@jbauer @r There's actually a lot to be said for Java in terms of things like power consumption as well. There was a great article a few years ago rating languages in not only speed, but electricity required.

C++ of course rules the roost because it's fast and efficient by design and everyone knows it. Knowing it consumes the least energy of any language is really no surprise.

@jbauer @r I know! I was really surprised about that!

I haven't written Perl in ages (I was in school the last semester they taught it and I grabbed it because at the time Perl to PHP conversions were big). But you'd think an older language would be a little gentler on the resources.

TBF, I haven't written PHP in ages, either. I also unfortunately graduated the semester before they added AJAX. So that's a little ironic. XD

@bluestarultor @jbauer @r Not that surprising. The rule of thumb for language performance is that A) static beats dynamic, and B) anything you don't pay for upfront costs tenfold later (at best). Perl needs to start fast because it's designed for scripts, it's very dynamic, and it can't pay any costs upfront: perl isn't precompiled to bytecode and doesn't have time to do any warmup operations like Java does.

@thoth @jbauer @r Hey, I learned something today! That's pretty cool!

I never really considered HOW languages worked all that much, other than the differences between compiled, JIT compiled, interpreted, the bare basic explanation of .Net CLR and JVM, etc. They really don't delve into the mechanics in pure programming classes. They never really teach what's under the hood, you know? :)

@bluestarultor @jbauer @r They should.

If you want to get into language stuff (under the hood and design-wise), I recommend taking a look at The Lambda Papers, which encompass Sussman and Steele's ruminations on both developing a more elegant Lisp and making Lisp perform (which is a really hard problem: it's genuinely crazy that Common Lisp and Scheme perform as well as they do). This lead directly to the creation of Scheme...

@bluestarultor @jbauer @r ...But the papers are pretty mind-expanding in their own right, covering how to use lambda to implement all kinds of interesting programming constructs (and later how to implement things like lexical scoping and closures, and how to do tail-call elimination).

@thoth @jbauer @r Thanks for the recommendation!

That's a limitation of technical education, I think. It's all about practice, very little theory, except for A+ prep and infosec. Which is good if all you want to do is get hired and work. I got a late start in my programming education due to a prior major, so learning a lot of practical stuff quickly was what I needed.

But sometimes you learn and understand more by taking things apart.


@bluestarultor @jbauer @r TBH a university-level computer science education isn't worth nearly as much as a willingness to dig in and do your own learning.

@thoth @jbauer @r TBH, the biggest issue is often unknown unknowns. Most of my concerns are ultimately practical and learning techniques gets me where I need to go in my chosen or work-related languages.

Like quantum computing has my attention, but it's largely because it's in the news.

@thoth @jbauer @r Absolutely, what you learn on your own time is valuable in this industry. I've advised younger programmers to put the languages they learned at home on their resumés. I've also taken what I learned at home for text parsing and text analysis to work and it gets people excited every time, even though we still haven't applied it to anything.

But being dangerous can be a good thing if you direct it right. :)

Sign in to participate in the conversation

cybrespace: the social hub of the information superhighway jack in to the mastodon fediverse today and surf the dataflow through our cybrepunk, slightly glitchy web portal support us on patreon or liberapay!