Hacker Newsnew | past | comments | ask | show | jobs | submitlogin

I really miss fast, compiled programming languages like Turbo Pascal in the web space.

How many languages can you identify for web development that match the following features:

- Fast

- Compiled

- Small, single file executables

- Low-memory consumption

- Readable syntax that isn't afraid of being a bit verbose

- A small language vocabulary you can actually learn rather than the labyrinthine language definitions of today

I always liked Niklaus Wirth's philosophy on programming language design. I wish more programming language designers would follow it.



What I miss are 4GL. 90% of bussiness systems are some form of CRUD, or record keeping software. With Clipper/DBase III, etc you had systems up in no time, fast and with little non-functional bugs. And on the UI side you had keyboard shortcuts and forms that worked 100% of the time. Maybe some kind of browser based shell for running Harbour[1] apps.

[1] https://harbour.github.io/


Related: Why does Wikipedia list Python, Ruby and PHP as 4GL ? https://en.wikipedia.org/wiki/Fourth-generation_programming_...


Probably related to this slightly weird sentence at the beginning: "Some advanced 3GLs like Python, Ruby, and Perl combine some 4GL abilities within a general-purpose 3GL environment." I sorta get the argument but it's not standard usage. The problem is that there are (multiple categories of) language that are really post-3GL but 4GL was long ago coopted for a different purpose. And given different classes and branches of languages I'm not sure talking in generations makes sense any longer anyway.


This was kind of destroyed by Microsoft Access, wasn't it?


I wouldn't say Microsoft/Access was the sole cause. Nantucket (who were eventually bought out by CA) and Ashton-Tate really missed the boat when it came to developing Windows versions of their flagship apps/tools.

You should have a read of "In Search of Stupidity"[0] and revel in the eye-watering commercial mistakes and foot shooting these companies indulged in during the late 80's to mid 90's.

From the mid 80's until around 1995-96 I used many of the tools written about in that book - WordStar, dBase, Clipper, then one day they were gone, largely because of incompetence and entrenched complacency.

[0]: http://amzn.eu/3Bqm2xR


I think Access was the start of it. But Microsoft's purchase of FoxPro is what really put the nails in the coffin. FoxPro had some shortcomings (e.g. Foundation Read) but it was incredibly productive and fast. And there was a Mac version early on.

It makes me sad to think of what FoxPro could have become. Microsoft didn't just kill the product, they pretty much killed the category.


Haha I worked with Vision 4GL. It promised all of that, delivered none of it. If only we would have chosen some other vendor...


I programmed in Progress for a while. I won't ever miss that.


Never looked into Go? When I did, I felt instantly transported into the Pascal Kind of Flow!

In fact ever since I call it the lovechild (or offspring anyway) between C and Pascal, but one's that ready to party like it's the 2010s (with regards to networking, parallelism, graphics etc)

Certainly it meets your bullet points, indeed I was looking for the same back when I got into it


"Compiled" doesn't seem to be inherently virtuous. Why is it on your values list? It sounds like it could be an unnecessary proxy for what you actually value. So rather than include "compiled" as a line item, replace it with those things explicitly and avoid the indirection. Or pause to review and see if you might've already included them and have started double-dipping/begging the question.


> "Compiled" doesn't seem to be inherently virtuous

Well, you said that, he didn't. Just something some are looking for.

> It sounds like it could be an unnecessary proxy for what you actually value.

"Could", huh? Or it "could" be a "necessary proxy".. or it "could" be no proxy at all! I like having a tool that translates source code into machine instructions. Silly ole me huh? How on earth did I ever come up with such an unfounded preference?! Now you tell me what in the heck that could possibly be a proxy for, because I have no idea myself.. sometimes a cigar is just a cigar.

Given how Facebook eventually wrote a PHP-to-C compiler, how many Python code-bases end up trying to go CPython or some such, how much JS is transpiled from other languages.. the notion of "liking compilers" isn't entirely exotic


> Well, you said that, he didn't.

Er, what?

> "Could", huh? Or it "could" be a "necessary proxy".. or it "could" be no proxy at all! I like having a tool that translates source code into machine instructions. Silly ole me huh? How on earth did I ever come up with such an unfounded preference?! Now you tell me what in the heck that could possibly be a proxy for, because I have no idea myself.. sometimes a cigar is just a cigar.

I have no idea what you're saying here, or if you're even saying anything at all (it doesn't sound like it), but it doesn't seem like you understood what I said, either.

> Given how Facebook eventually wrote a PHP-to-C compiler, how many Python code-bases end up trying to go CPython or some such, how much JS is transpiled from other languages.. the notion of "liking compilers" isn't entirely exotic

To be clear: no one has pursued those things just because people "like compilers". People created those compilers because they like the side effects they bring. They're producing desirable results—things like better performance at runtime, better memory use, et cetera. So I return to my original point: if those things are desirable, then mention those things. That something is compiled is not an attractive pursuit in and of itself, to anybody. After all, you could write a terrible compiler that takes forever to build and generates slow code for an obscure machine that nobody is interested in owning. The mere fact that it compiles does not add anything in its favor, and the same is true for the "good" compilers. "Compiled" is a null proposition.

Secondly, please maintain an overall better sense of decorum. The way you responded above is not how we have discussions here.


> They're producing desirable results—things like better performance at runtime, better memory use, et cetera. So I return to my original point: if those things are desirable, then mention those things

My original, admittedly obscured "point" --- why? All these are obvious to anyone here and we store them under the compressed moniker/variable name "compiler" so every HN reader automagically decompresses this moniker upon encounter into the entire range of benefits. People talking about programming languages naturally see no obstacle in this, in fact usage of umbrella terms (esp. when the usual motivation for usage is "whatever benefits are implied by term X, I want them all anyway") makes for more fluid and rapid conversation in all manner of fields.

He could have said "I want better performance at runtime, better memory use". How insanely generic, every programmer wants this from any language. Then some clever guy comes and asks "better than?", OP answers "than interpreted languages", then flamewar ensues. Not productive either.

Ah well. A curious discussion for sure. =)




Consider applying for YC's Winter 2027 batch! Applications are open till November 2.

Guidelines | FAQ | Lists | API | Security | Legal | Apply to YC | Contact

Search: