Live data from Hacker News

Ask HN: Does such a programming language exist?

news.ycombinator.com

31–37 of 37 posts

Re: Ask HN: Does such a programming language exist?

#31
post #10

OCaml, with a caveat that it's "or has non-blocking I/O", though ostensibly SMP is on its way.

Wrong or right, I don't think that most people would consider ocaml simple to read.

I don’t know OCaml, but to the degree that it’s like F#, then it is the case that while it is not easy (at first), it is very simple. I can almost always understand any piece of ML code within a few passes, but that has a vanishingly low chance of happening with C# or VB, both of which I know extremely well.

N.B. I am using Rich Hickey’s definition of “simple” from his excellent talk “Simple Made Easy”.

Re: Ask HN: Does such a programming language exist?

#32

Statically typed and simple generally means it's pretty hard to actually write reusable code and it's unlikely to "support multi-paradigm" very well. That said, "simple like Python" is an interesting phrase...

C is statically typed and (ostensibly) simple, and is the language used to write some of the most reused code there is. Do you mean something different by "reusable" from "easy to reuse?"

C is statically typed, and probably simple if python is... but C is not strongly typed. And in fact, much reuse in C is enabled precisely by subverting the type system (eg. cast to and from a void pointer for a generic structure). And still, in any significant C project there's a lot of code that gets rewritten that could live in a library in a less simple language (say, C++).

Re: Ask HN: Does such a programming language exist?

#33
post #29

Earlier quoted context omitted.

A simple type system makes it difficult to express useful invariants that are also flexible enough for the code to be reusable. Static typing makes it easier to write reusable code, provided the type language is sufficiently expressive.

What does invariants mean in this context?

Per wikipedia, (https://en.wikipedia.org/wiki/Invariant_%28computer_science%...):

"In computer science, an invariant is a condition that can be relied upon to be true during execution of a program, or during some portion of it. It is a logical assertion that is held to always be true during a certain phase of execution. For example, a loop invariant is a condition that is true at the beginning and end of every execution of a loop."

I didn't mean it in any more specialized sense, except that there will always exist some invariants that can't be statically enforced (Halting problem). That said, there are lots of things that types can enforce - that's what types are good for (and they are spectacularly good things).

Re: Ask HN: Does such a programming language exist?

#34
post #14

Statically typed and simple generally means it's pretty hard to actually write reusable code and it's unlikely to "support multi-paradigm" very well. That said, "simple like Python" is an interesting phrase...

As another poster already said, Ada fulfills all of the requirements, and you can trivially write reusable code in it.

I don't know Ada well enough to say. Revisiting, I do think Ada generics are probably powerful enough to allow a large amount of safe reuse. I am most skeptical that it still counts as "simple".

Re: Ask HN: Does such a programming language exist?

#35
post #14

Earlier quoted context omitted.

As another poster already said, Ada fulfills all of the requirements, and you can trivially write reusable code in it.

I don't know Ada well enough to say. Revisiting, I do think Ada generics are probably powerful enough to allow a large amount of safe reuse. I am most skeptical that it still counts as "simple".

I think it is simpler than Python, all things considered.

Re: Ask HN: Does such a programming language exist?

#36
post #35

Earlier quoted context omitted.

I don't know Ada well enough to say. Revisiting, I do think Ada generics are probably powerful enough to allow a large amount of safe reuse. I am most skeptical that it still counts as "simple".

I think it is simpler than Python, all things considered.

That may well be. As I said, "simple like Python" is an interesting phrase.

Re: Ask HN: Does such a programming language exist?

#37

Have you looked at Genie? https://wiki.gnome.org/Projects/Genie

I think this is as close as it gets in terms of syntax.

Only on HN would such a discovery be made of such a language.

The others that mention: Go, Nim, Crystal - all have valid bases to say it is "similar", but Python is Python and none of those 3 quite read like this one.

Interesting language though and it seems the author is active (with an edit in June 2015).

Post reply on HN