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

> 1. Pascal

Pascal is a "hidden" gem in the area of languages. Sadly not enough pus for it, but imagine if it have the push that other languages have...




"Pascal is a "hidden" gem in the area of languages"

I agree. Programmers won't look at it because they perceive it to be old and out-of-date. But the language hasn't stood still. It's a fast, low-memory language. FreePascal with the Lazarus IDE is one of the best cross-platform development toolkits for building native desktop apps.

Sadly a lot of programmers can never see beyond the verbose (but readable) syntax.


Maybe somebody needs to create a more palatable language, that'll transpile (I know, I know, compile) into pascal?


This guys made a pascal-like language:

http://www.elementscompiler.com/elements/oxygene/

Exist various dialects of pascal (Modula, Oberon, etc) so is not something so far in the wind.

But if you lose too much of the syntax you remove part of the charm.


Palatable how? Pascal's syntax is not especially different from that of most scripting languages


Every time I look at the syntax, it feels really verbose. IIRC some dialects require all caps or initial caps on keywords; at any rate that's how most examples are shown, and it's rather off-putting. Superficial, I know, but I'm probably not the only one.


I don't know about other implementations but FreePascal is completely case insensitive. Identifiers are actually treated the same if the only difference is case. I don't particularly like this, but I've never seen it actually be an issue


That was what I was looking for in Go, but they seem to have other goals in mind.

Failing that there is always Ada, .NET Native, Kotlin Native, D,...


When I started programming in the early 90's, I remember Pascal being a serious contender, with C vs Pascal compilers being a pretty evenly matched contest.


But why should it's memory utilization be so much lower?

Pascal and C give the programmer basically the same control over memory layout, no?


Basically, C's semantics assume too little - everything is a primitive type or a pointer dressed up to look like something else. Pascal has a stronger notion of types and this allows for additional automatic optimization where they're relevant - memory layout just happens to be one such area.


I miss the ability to pair structures as "antagonistic" - aka if one exists the other is not, thus allowing for unions of various datatypes who guarantee that if they exist- the shared memory they reside in is theirs and theirs alone.


Just a wild guess: Pascal may use tightly packed structures without alignment by default?


Much of Pascal (or, rather, Modula-2 and Oberon) is revived inside Go.


And even more so is revived in Nim.


What parts of Pascal do you recognize in Go?


The id type way instead of type id.

The way methods are attached to types appeared first in Oberon-2.

Type assertions are similar to Oberon.

The unsafe package idea is similar to SYSTEM in Oberon or Pascal.

The stronger type semantics forcing explicit casts.


Now I need to finish my lisp.pas


You will like this:

https://github.com/kanaka/mal

(Have implementation in pascal!)


I try to not look at it to not steal ideas :)


Ruby also has gem.




Consider applying for YC's Fall 2025 batch! Applications are open till Aug 4

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

Search: