Live data from Hacker News

Most(ly dead) Influential Programming Languages

hillelwayne.com

271–280 of 291 posts

Re: Most(ly dead) Influential Programming Languages

#271
post #74

Earlier quoted context omitted.

> Video games community is very luddite in what concerns adoption of technologies, they usually only move forward when the platform owners force them to do so. I think this is an unfair assessment. "Real devs" had to use assembly language because when targeting consoles and low-end home computers, this was the only really performant option for a long time. For a lot of types of games this doesn't matter so much, but…

While it might feel unfair, I wasn't attacking anyone on purpose, it is based on experience, from my demoscene days, to the friends I got to meet in the industry, to my former past as IGDA member, and the ways I have kept in touch with the industry, even though I have decided that the boring corporate world with graphics programming as hobby, was something I rather spend my time on than the typical studio life. While…

> While the demands of gaming industry have always driven the hardware evolution on mainstream computing, most studios only move to newer programing languages when the platform owners force them to do so.

My point is that it isn't a question of new vs old. It's a question of fast vs slow. There was a reluctance to adopt e.g. Pascal because the popular implementations favored convenience of implementation (UCSD Pascal, which generated code for a virtual machine) or speed of compilation (Turbo Pascal, a single pass compiler) over the quality of the generated code. For long, it was the case that C compilers generated code that couldn't nearly measure up with hand-written assembly.

I've seen plenty of old games and demos written in C and Pascal. Almost always using these languages as organization frameworks for executing snippets of in-line assembly where speed actually mattered.

So what are the alternatives to C++ today? A lot of game developers use Unity and write code in C#. Unity itself is of course written almost entirely in C++. Rust? Well, if you can figure out exactly when memory is freed, which Rust can make a bit of a puzzle. Zig seems like it could be a nice contender, at some point in the future. Swift? If you can accept the cost of reference counting.

All these are great options IMO, just perhaps not for the low-level work that goes on at the big high tech game studios. The closest thing to a contender is maybe Rust. The game industry's reluctance to adopt Rust is hardly unique to them.

Re: Most(ly dead) Influential Programming Languages

#272
post #250

Earlier quoted context omitted.

Everyone is using Swift and Kotlin when targeting iOS and Android, it is either them or Objective-C and Java. C++ doesn't have full access to OS APIs and some integration is always required.

What's your point? That you agree that game developers are using new technology?

Swift, Kotlin, Objective-C, Java are unavoidable when doing iOS and Android development, the OS features that are exposed to C and C++ aren'tt enough for doing a game.

Adoption is driven by platform owners.

Re: Most(ly dead) Influential Programming Languages

#273
post #215

Earlier quoted context omitted.

I am not saying it hasn't contributed, rather that it hasn't been a critical factor to keep C++ around, the OS SDKs have been it. Had Apple, Microsoft, Google decided otherwise and game community opinions wouldn't matter.

> game community opinions wouldn't matter. That's ludicrous. Because of game industry demand for programmable graphics pipelines we now have the modern AI industry. You're welcome. Because of game industry demand for high-performance, low-latency programming languages C++ stuck around. You've scoffed that it's basically used as C-in-a-C++-compiler, but that's because the steering committee seems to be completely out…

Programmable graphics pipelines were originally done at Pixar with Renderman, and used in Hollywood movies like Toy Story, definitly not a game related community.

Yes the games industry demand for better hardware has driven mainstream computing to adopt them.

And naturally we got shader Assembly, followed up by C dialects like Cg and 3DLabs initial GLSL implementation.

C++ on the GPUs happened thanks to CUDA and C++AMP.

Even Vulkan would keep being a bare bones C API if it wasn't for NVidia's initial use of C++ on their samples SDK.

Hardly any programming language innovation being done by gaming companies, with exception of snowflakes like Naughty Dog.

Re: Most(ly dead) Influential Programming Languages

#274
post #241
post #127

Earlier quoted context omitted.

Not sure I understand that one. I know Larry Wall is a linguist. But there's not much about Perl, to me, that seems like a human language. If I dig into the gripes about the syntax, it's usually use of the implied $_ variable, wide use of sigils ($, @, %), derefs of complex data structures (hash of lists of hashes, etc) or regex syntax that people are talking about.

That is one of the things that are so brilliant about Perl. Tell a developer to create a programming language inspired by natural languages and you'll get verbose crap like COBOL which superficially looks "natural" but is very far from how languages work. Perl, on the other hand, looks just like a programming language would if it was the only way we could talk to computers, day in, day out: - Implicit "it" variable,…

Yeah, Wall knew what he was doing. He didn't try to make it look like a human language, he tried to make it work more like a human language.

Another significant experiment in Perl was embracing the idea that everybody write in their own personal dialect or subset of the language. Again, the conclusion seem to be that this is a really bad idea since someone else will have to maintain the code eventually. But nevertheless it is valuable that the experiment have been tried. Python took some important lessons from that.

Re: Most(ly dead) Influential Programming Languages

#275
post #240

Earlier quoted context omitted.

As someone who works at a company where Perl is used as duct tape, we've slowly but surely been ripping it out piece by piece and replacing it with Python (and by "we", I mean "me"). Much of our "duct tape" is unmaintainable code with undocumented aracne regexes everywhere, single-letter variables, and 1990s-era flow control. Nothing you'd find in Modern Perl is in our duct tape. Ultimately, the fastest turnaround on…

It sounds like bad code is your problem, and not Perl. Am I missing something?

I'm a Perl fan, and I'll be the first to admit that something about Perl makes it easier to write idiosyncratic code that the writer understands, but the maintainer may not. The almost fanatical adherence to an official idiom one sees in Python is almost wholly lacking in Perl.

Re: Most(ly dead) Influential Programming Languages

#276
post #269

This article echos a lot of the themes that I saw in "Family spaghetti of programming languages" ( https://erkin.party/blog/190208/spaghetti/ ) which seems to be the best attempt at developing a family tree of programming languages I've seen thus far.

Ooh, I really like the idea of this, but I kinda wish he broke Fortran into a whole family, with separate entries for each major version. There was a lot of cross-influence between Algol and Fortran, and while the original Fortran inspired Algol, Algol ended up as a massive influence on how Fortran developed later.

Re: Most(ly dead) Influential Programming Languages

#277

Earlier quoted context omitted.

Wha? That's a take . Here's mine: ES6 classes are wildly smart. They provide the benefits of prototypical inheritance--you can just reach into the thing and do what you want to do!--while making it way easier for many developers to read and parse in short order, while reducing the difficulty spike in moving to JavaScript (or, today, TypeScript). "Pandering". Right. I can write old-style object prototypes. It makes my…

It makes your eyes bleed? If you thought mine was a take ... Anyways, let's not act like ES6 classes aren't without their slew of issues, obscure syntax, and most importantly, problems when it comes to transpiling and backwards compatibility: https://medium.com/@WebReflection/a-case-for-js-classes-with...

"Let's" not, but I don't care about much of anything in that article. I haven't written something that targets a browser that isn't ES2015 since...2016.

It's 2020. Things move on.

Re: Most(ly dead) Influential Programming Languages

#278
post #106

Earlier quoted context omitted.

Perl consultants and distributors know that Perl is still widely used duct tape in the industry, and has even seen a slight upturn in popularity recently (although perhaps not as much as some other languages), when a new generation of developers has discovered how useful it can be. It's just not something one talks about.

I like Perl a lot, it is the language I have used the most in my professional career. That being said, on my last two workplaces it happened to be in the list of forbidden technologies, not even being able to write a simple one liner and instead having to resort to using awk, sed and the like. It sadly suffers from underserved hate from developers who never used it.

Can you expand on the "forbidden technologies"? What else was on the list, what were the penalties for entering forbidden territory? Could you use it on your own machine for research?

Re: Most(ly dead) Influential Programming Languages

#279
post #264
post #254

For all the mentions of FORTRAN in the description of other languages, it's a real surprise that FORTRAN doesn't rate a mention of its own -- though there are corners of the world where it's still in use. It's notable not only for being the Lingua Franca of scientific computing through at least the '80s, but also for breaking ground in programming language technology, starting right at the beginning -- the Fortran I…

If you leave the HN/SV bubble, you find huge amounts of Fortran. It's still plays a significant role in scientific computing. If you lost track of it in the '80s, you might be interested that the language had major updates in '90, '95, '03, '08 and 2018. It's just not a part of the world of cat pix sharing websites and innumerable "Foo of Bar" startups. Same with COBOL.

One thing I credit COBOL with is the use of descriptive variable naming. In FORTRAN you see variables named i, j, x etc (just look at Numerical Recipes) but in COBOL you see TOTAL_MONTH_SALES and the like. It is considered good style and “self-documenting” to do that today.

Re: Most(ly dead) Influential Programming Languages

#280
post #200

I am sad that Forth did not make the list. It showed how to make a minimal programming language that runs in a very small amount of space with just a stack. And did a lot to popularize RPN notation. Even if you do not write in Forth, you can still benefit from knowing the ideas. For example I could not have written my answer at https://stackoverflow.com/a/60817908/585411 if I did not know the ideas of Forth.

It was probably considered too "alive" in the embedded world to be on the list.
Post reply on HN