Live data from Hacker News

Orange: A simple systems programming language

orange-lang.org

11–20 of 42 posts

Re: Orange: A simple systems programming language

#11
post #8

Is the simple--easy-to-learn--without-the-mistakes-of-C systems language becoming a hype now? Not to be a downer, but that's what it seems like since Rust 1.0.

It really started with the rise of llvm, which gave way to julia, rust, and many other languages. Nim and D seem to be two big exceptions.

Re: Orange: A simple systems programming language

#12
My advice to you is that you need to answer the question, "What is Orange?"

Your page right now focuses much more strongly on answering what it isn't. It isn't klunky, like C++. It is neither typed nor untyped. It doesn't "limit user's expressivity". It doesn't require you to declare variables, except that's also optional.

It almost comes across like it's nervous that some people might disagree with some design decisions. Let me put your mind at ease: If you are serious, and if you attain any success, I solemnly promise you the Internet will string up your language, dismember it publicly, douse all the pieces in gasoline, light them on fire, and dance around the flames. Why is that actually something that ought to put your mind at ease? Well, it's inevitable anyhow, so you might as well go ahead, have some fun, and make some decisions about what Orange is going to positively be. If you get to that point, remember you'll be the one in possession of a language that's gotten enough attention for that to be worthwhile, and they'll just be hecklers.

Re: Orange: A simple systems programming language

#13
Is it memory-safe? Is it garbage-collected?

Edit: Looks like it does extern calls to `malloc`, with no matching frees. Supporting proper dynamic resource management is fundamental for a system language, as the whole point of an operating system is to manage resources for user programs.

Re: Orange: A simple systems programming language

#15
post #13

Is it memory-safe? Is it garbage-collected? Edit: Looks like it does extern calls to `malloc`, with no matching frees. Supporting proper dynamic resource management is fundamental for a system language, as the whole point of an operating system is to manage resources for user programs.

When a standard library is introduced, Orange will be garbage-collected.

Re: Orange: A simple systems programming language

#16
post #12

My advice to you is that you need to answer the question, "What is Orange?" Your page right now focuses much more strongly on answering what it isn't . It isn't klunky, like C++. It is neither typed nor untyped. It doesn't "limit user's expressivity". It doesn't require you to declare variables, except that's also optional. It almost comes across like it's nervous that some people might disagree with some design deci…

Given the design parameters that are stated ("systems", and C++-comparable), one can only assume that it's a typed language with aggressive (interprocedural) inference and monomorphized generics. Ensuring that the inference algorithm has good properties (performance, finding "most general types", matching programmer intent) should be a high priority.

If it wants to avoid the clunkiness of C++, Orange should have concrete answers for how it will solve the problems that those clunky features address: various sorts of inheritance, compile-time computation and value-indexing with templates and constexpr, operator overloading, data layout, etc.

Re: Orange: A simple systems programming language

#17
post #12

My advice to you is that you need to answer the question, "What is Orange?" Your page right now focuses much more strongly on answering what it isn't . It isn't klunky, like C++. It is neither typed nor untyped. It doesn't "limit user's expressivity". It doesn't require you to declare variables, except that's also optional. It almost comes across like it's nervous that some people might disagree with some design deci…

You're absolutely right.

While I do strongly believe that optional typing is a feature I want to keep, I have been focusing too hard on taking a middle-of-the-road approach.

The original idea was to have a systems development language that had the same "feel" as a high level scripting language. I didn't do a lot of planning on what that meant from the technical side.

I appreciate the advice. I'll spend some time getting the answer to what Orange actually is.

Re: Orange: A simple systems programming language

#18
post #12

My advice to you is that you need to answer the question, "What is Orange?" Your page right now focuses much more strongly on answering what it isn't . It isn't klunky, like C++. It is neither typed nor untyped. It doesn't "limit user's expressivity". It doesn't require you to declare variables, except that's also optional. It almost comes across like it's nervous that some people might disagree with some design deci…

[deleted]

Re: Orange: A simple systems programming language

#20
post #12

My advice to you is that you need to answer the question, "What is Orange?" Your page right now focuses much more strongly on answering what it isn't . It isn't klunky, like C++. It is neither typed nor untyped. It doesn't "limit user's expressivity". It doesn't require you to declare variables, except that's also optional. It almost comes across like it's nervous that some people might disagree with some design deci…

Yes. I'm concerned here that if a language makes something optional, some users will want to do it one way and some will do it another way, leading to inconsistent code bases. Some languages (Ruby, Haskell) prefer to let programmers decide how they do things, while others (Python) only provide one way of doing things. A lot of people disagree about which is better, but the decision to leave design open to users is itself a design decision.
Post reply on HN