Live data from Hacker News

Why use Pascal?

castle-engine.io

251–260 of 516 posts

Re: Why use Pascal?

#251
post #250

Earlier quoted context omitted.

Unicode was fixed in 2007 (or thereabouts). I think thats a problem with Delphi (and Lazarus) everyone compares it to when they used Delphi (in 1999) it didn't do this cool thing that languages in 2023 do, however modern day Delphi does a lot more stuff. It's worth a revisit, I use it with the skia graphics engine to create multi platform apps very easily.

I had to use Delphi professionally in 2018, still ran into this everywhere?

Legacy components perhaps? There's a TN here (pdf) https://www.embarcadero.com/images/dm/technical-papers/delph...

Re: Why use Pascal?

#252
post #213

Earlier quoted context omitted.

Well, a lot of those requirements are highly bespoke to your task and to your team. My C# pipelines and C# apps are far easier to package and deploy than my Python apps for example. And, as you said, the pipeline is normally a one time cost.

Comparing to Python is not exactly fair. I don't think there are any languages that have a worse deployment experience. How does it compare to Go or Rust?

They want obfuscation. Rust libraries necessarily include the AST for public generic functions. So it may not be suitable.

Re: Why use Pascal?

#253
post #233

Related, and of interest, IMO: Delphi – why won't it die? (2013) https://news.ycombinator.com/item?id=7613543

The funny thing about that, is here we are in 2023. Lots of its competitors and haters are likely still asking, "Why won't it die?" TIOBE index has Delphi/Object Pascal ranked at #11. That's ahead of "top players" like Go, Rust, and Swift.

Too bad the TIOBE index is not representative of the real world. And it certainly won't get you a job either. If I had to chose between go/rust and pascal/Delphi for a healthy ecosystem or for job offers, I know which one I would chose. Especially early in a career.

Ok maybe rust jobs aren't so common either, but swift and go are for sure.

And that's not even mentioning the de facto vendor lock in when using Delphi in most professional settings.

Re: Why use Pascal?

#254
post #69

Earlier quoted context omitted.

They are pretty much everywhere when statically allocated.

well, not in c.

Even in C, citing the standard (6.2.4, 20):

> Array types are characterized by their element type and by the number of elements in the array.

Re: Why use Pascal?

#255

Earlier quoted context omitted.

It's not about taste, really. We all learn mathematical notation in primary school. It is an universal language. Programming languages support many concepts that are either the same in math or very similar. Using the symbols for the same concepts in both worlds is the obvious and sensible choice. The reason why C did choose a different convention was that it preferred similarity with FORTRAN which is so old that it w…

> Using the symbols for the same concepts in both worlds is the obvious and sensible choice. Yeah, but has already been established in this conversation, you're not using them for the same concepts. So your argument doesn't work. Repeating it over and over isn't going to make it work, either. > The reason why C did choose a different convention was that it preferred similarity with FORTRAN which is so old that it was…

"Yeah, but has already been established in this conversation, you're not using them for the same concepts. So your argument doesn't work. Repeating it over and over isn't going to make it work, either."

No, we've established that math and programming languages are different things. Both share some concepts that are close enough so that using the same symbol is the obvious and sensible choice. It's not that equality in C would be such a different idea that a completely unrelated symbol was chosen. == is still similar to the = used in math, just not the same for technical reasons that are obsolete for several decades.

"And, C didn't avoid := because the proper character wasn't available."

I never said that. I said C chose to reuse the symbols from FORTRAN. To repeat part of the Wirth quote from above (but it's easy to find other sources):

"It goes back to Fortran in 1957, and has blindly been copied by armies of language designers."

FORTRAN was initially made for the IBM 704, which had a 6-bit character set that included a =, but no : character. The original FORTRAN manual from 1956[1] has the character table in appendix A on page 49.

FORTRAN could not use := for what we would now consider assignment[2]. It did not have yet developed equality testing, just subtraction and branching on the differences signum result, so there was no need for an equality operator. Under these constraints = for assignment wasn't the worst choice, the mistake was sticking to it when technology evolved.

[1] https://web.archive.org/web/20220704193549/http://archive.co...

[2] The original FORTRAN manual from 1956 never speaks of assignment in this context. The ASSIGN statement is unrelated.

Re: Why use Pascal?

#256

Earlier quoted context omitted.

this post is specifically about pascal - my comment about {} vs begin...end was intended for that context. pascal has no way of defining variables within a local scope - it was added to delphi as a kludge much later. i admit i should have said something like "... {} in C and C++".

> this post is specifically about pascal - my comment about {} vs begin...end was intended for that context That link was Pascal. It was just one of many dialects of Pascal. > pascal has no way of defining variables within a local scope I just did a quick search and turns out Pascal does support nesting variable scopes too. > it was added to delphi as a kludge much later Is it a kludge though? Or are you just calling…

Well the good thing about this thread is that I found out that Pascal has grown inline vars since I last used it. With type inference too by the looks of it.

Maybe I will make my way back after all.

Re: Why use Pascal?

#258
post #158

Earlier quoted context omitted.

people on HN often claim that Python is "strongly typed" while PHP is loosely-typed, but I don't see the difference honestly. both are pretty loose. re: 1 + "1" I didn't get your point really. My reply was to counter claim that Python is supposedly "strongly typed" and I don't understand how this strong typing helps developers. I know that languages can infer types, which is tangential subject. I dont know why you br…

> I don't see the difference honestly. both are pretty loose. There's a clear difference, in PHP 1 + "1" is 2, in Python it's a TypeError, (and as a bonus, in Javascript 1 + "1" is "11"). The definition of "strongly typed" being used is related to type coercion, not type inference. In PHP the string is being coerced to an integer, but Python requires you to explicitly say 1 + int("1") if you want to add the numbers t…

What's the difference between PHP giving "2" as the result of 1 + "1" and Python giving "999" as the result of "9" * 3?

Re: Why use Pascal?

#259

We need to bring back Oberon. Fast compile times, automatic memory management, live environment.

Here is the language specification: https://miasap.se/obnc/oberon-report.html

I would recommend everyone to learn Oberon just to see how concisely defined an imperative, structured, procedural and modular language with support for object oriented programming (extended types) can be. The language reference is only around 16 pages long including examples and formal grammar.

Re: Why use Pascal?

#260
post #235

Earlier quoted context omitted.

> Scala was a dead end. I'm sure all the companies, like Microsoft, Twitter, Disney, and basically every bank out there, will be very surprised to hear this.

Where does Microsoft use Scala? Or every bank out there?

Machine learning:

- https://github.com/microsoft/scala_torch

- https://microsoft.github.io/SynapseML/

- https://www.infoworld.com/article/3236869/what-is-apache-spa...

And Microsoft of course owns LinkedIn which is built on a Scala backend.

Post reply on HN