Does anyone use a general programming language?

Sorry, but no. Imagine if every code base broke every two years. :joy:

Well, I would not say that for .NET and C#. The framework is definitely not perfect, but it is very consistent and stable. New components for WebApps and mobile apps were added recently, and I was amazed at how much code I was able to adopt without changes. Definitely not as ghastly as NodeJS. (hey, Iā€™m not getting paid for this post. This is really my opinion)

1 Like

You donā€™t use anything based on Node, do you? Granted, most code bases are fixable by updating dependencies, but they do tend to degrade quickly.

1 Like

Thatā€™s the whole point, though! (I know I say this a lot, but thatā€™s because, in my opinion, the documentation about I7 tends to sell it all wrong. So someone should be saying it.)

Code is read much more than itā€™s written. So I7 optimizes for code readability rather than writability. Since it looks like English, itā€™s easier to skim (using the part of your brain thatā€™s already used to skimming English text) and get to the part thatā€™s important.

Especially when I6 has multiple inheritance. The big issue is that I7 cares a lot about ā€œspecificityā€ā€”a rule about taking a container is more specific than a rule about taking a thing, so it should be given precedenceā€”and once you have a container-supporter, is the rule about containers or the rule about supporters more specific?

Itā€™s the diamond problem on a vast scale. So while Iā€™d love to see multiple inheritance added to the language, Iā€™m not sure how much of the specificity mechanism would have to be sacrificed for that.

3 Likes

Honestly, though, Iā€™d say thatā€™s a condemnation of Node more than anything else. I can generally run Python code from a decade ago or C code from before I was born, and it works just fine (assuming I can find the right libraries). I canā€™t imagine needing to update all my code that frequently just to keep up with changes to the language or the standard library.

2 Likes

No, no, C# is really cool. You wouldnā€™t need to pay me to say this stuff, either. I use Mono C#, though, as Iā€™m on Linux.

Thereā€™s a lot of churn in whatā€™s the current hotness in JS, but itā€™s really not true that you canā€™t run old code. I canā€™t think of any times thatā€™s happened to me.

4 Likes

Haha, I thought I may have opened a can of worms with my Inform 7 comment. I apologize; I didnā€™t mean to sidetrack the topic.

Web development is the worst in this regard. Itā€™s largely why I quit it. Two year from now, the industry standard will be whole new libraries, bulky frameworks, convoluted buildng environment, and maybe even new language. Not to mention all the meta shorthand languages that compile into other languages like coffeescript, sass, etc. And to compensate for compatibility, language environments like Ruby and Node have version managers to help you manage all the different versions you need to have installed. Itā€™s triggering PTSD symptoms just talking about it.

I can completely agree with that. And thanks for the interesting source example.

I just rarely encounter programmers that are like ā€œyay, yet another language to learn!ā€ And doubly so when itā€™s something so entirely different as Inform 7. I think thatā€™s the main thing that urked me: that it took longer to grasp than if it were something like Lua, or any other traditional scripting language Iā€™d never used, despite the clear efforts to make it easier to understand/learn. But I already know people love it, itā€™s a cool project.

To be clear: Iā€™m not suggesting something like Lua would be an improvement. Heaven forbid lol. When dealing with big bodies of interactive text, having a proper interpreted shorthand is inevitably a good investment, even if it requires ditching traditional languages.

1 Like

Actually, I do. Besides youā€™re contradicting yourself. First, they said applications needed major rewrites, now you are saying applications just need to update dependencies. In any case, ECMAScript rarely breaks backward compatibility. So I donā€™t know where youā€™re getting this notion from unless youā€™re thinking about specific libraries or frameworks, but then thatā€™s a different game.

Anyway, that is off topic I suppose.

1 Like

To be fair (though Node hardly deserves fairness), to do this, you will inevitably need both Python 2 and 3 installed, and respective duplicates of libraries needed. That is still somewhat of a pain.

1 Like

I donā€™t know why Iā€™m playing the advocate here, Iā€™m not a fan by any means, but I think you guys are giving Node too much of a bad time.

Around here, I think youā€™ll find a decent number. Remember that most of us are writing IF just for fun; I learned I7, Dialog, Scottkit, a little bit of ZIL, and some fragments of others just because theyā€™re cool and different.

1 Like

Perhaps. Itā€™s probably more of a problem of immature web frameworks (which just happen to require node/npm) that change entire paradigms between releases. See AngularJS. Anyway, yes, way off-topic.

And Iā€™ve got to admit there have been a few times when a well-known extension to Inform 7 has turned out to be out-of-date and unusable.

This. For the most part, I suspect my ADHD is more of a liability than a benefit to me as a programmer, but I find it helpful when learning esolangs. Thereā€™s something about learning new programming paradigms that appeals to me on a visceral level.

Doesnā€™t hurt that it often yields new approaches to old problems, either.

1 Like

The personification of a TADS library was not something I knew I needed. Adv3 is such a crewel mistress, so I myself have been discovering the joys of adv3Lite.

1 Like

Curious in what ways you view adv3 as cruel, and so improved in Liteā€¦

1 Like

concur and second your motion. Blindhunter, why you consider ā€œcruelā€ adv3 and enjoy adv3Lite ?

Best regards from Italy,
dott. Piergiorgio.

On the point of portability, perhaps I have reached the ā€œevent horizonā€ of C, having successfully compiled with the then-current GCC the oldest surviving C program (cp(1) from 1972 UNIXā€¦), OUT OF BOX albeit I wisely donā€™t tested the resulting a.outā€¦

itā€™s a shame that gfortran dropped f77 support, but thereā€™s plenty of F77 and even Fortran IV compiler for emulated environment, and I have around a sizeable set of Fortran II/IV/77 source code in form of .pdf listings from scientific/technical reports from at least late 1950s, and I have successfully ā€œborrowedā€ many lines from those listings, and even some full sources, some ported to F77 or gfortranā€¦
(side note, is interesting & extremely gratifying watching this machine doing in real-time calculations & computation whose taken hours on the 1960s big irons, even the supercomputersā€¦)

Best regards from Italy,
dott. Piergiorgio.

3 Likes

We are obviously way out of topic here, but do you have a reference for this?

Borg: my mistake. mixed 66 (IV) with 77ā€¦

Best regards from Italy,
dott. Piergiorgio.

1 Like