Hacker News new | past | comments | ask | show | jobs | submit login
Programming language development: the past 5 years (2011) (fogus.me)
57 points by alvin0 on June 30, 2016 | hide | past | favorite | 26 comments



Kinda sad to see the perpetuation of Go as a "systems-level" programming language. Services-level? Sure.

However, until I can manually control memory it's not going to be a low level language I want to use.


It's how Go was presenting itself in 2011, IIRC. Not so much anymore.


Yeah, I see now that the title was updated to (2011).


It is as much system level as Oberon or Mesa/Cedar, both with proofs on how to write a full graphic Workstation with them.

As for Go, it is fully bootstraped in itself, including the whole runtime.

There are already some bare bones examples at OS Dev

http://wiki.osdev.org/Go_Bare_Bones

And there are people writing bare metal runtimes for the STM32F4 and STM32L1-Discovery boards.

https://sites.google.com/site/embeddedgo/home

For me that is a system level programming language.


I can run Javascript on an Arduino does that make it a systems level programming language?

There's so many things missing from Go, from volatile semantics to memory control(good luck getting memory banks on PIC working).

Just because you can do something doesn't mean it's a good fit.


> I can run Javascript on an Arduino does that make it a systems level programming language?

Johnny-Five? It isn't running on the Arduino.

A systems programming language is one that is possible to write the whole stack all the way from the boot loader, with a very tiny help from Assembly in the process, like bootloader, interrupt handling, DMA.

The day I am able to write a JavaScript AOT and JIT, in JavaScript, maybe.

As for volatile semantics, many system programming languages in the early days didn't had them as well.

PIC, well. How would you make PIC banks work in a standards compliant ANSI C compiler without language extensions?

With Assembly of course, so can Go.

Also nothing prevents a Go compiler to provide extensions just like what many think of C features for systems programming are actually not part of ANSI C.

Go already has "pragmas" in the form of //go:...... And nothing prevents a Go compliant compiler to provide more.

The code for Xerox Star, ETHZ Oberon, ETHZ EthOs, ETHZ AOS are available for anyone that cares to read them and how it is possible to write a full stack workstation.

Or better yet, getting the 2013 edition of Project Oberon book and building the whole computer, including the motherboard.


I think the meaning was software systems and services, not Operating Systems... though it's always bugged me as well.



Interesting; I've never heard of most of those besides Go (& Perl of course). Is CoffeeScript considered a programming language? :O


FWIW, the first submitter of this post seems to be Jeremy Ashkenas, who was the creator of CoffeeScript:

https://news.ycombinator.com/item?id=3128166

Even if you're being half-facetious...while CoffeeScript seems to have fallen in favor with the onset of ES6, it's hard to overstate its influence in 2011...Rails, which was most definitely the hott framework du jour, decided to make CoffeeScript -- along with the much more ubiquitous jQuery and SASS -- part of its default stack: http://www.rubyinside.com/rails-3-1-adopts-coffeescript-jque...


Is there a way to mark duplicates? I did a preliminary search for this topic via google before the post and this previous one hadn't turned up.


It may be because in the past 5 years from today most of these languages have seized development. It is still interesting to see which of the "New Hotness" languages of 2011 are still around and strong. Like Clojure and Go


Years ago, Rob Pike and Rich Hickey seized the development day. Their languages have not ceased development.


The site we're on is running on Arc.

Notice the mention of Dart and Rust as up-and-comers.


Rust seems to be going very good things. Are there tools for translating C++ to Rust? Maybe the translation of an old game engine could be used to bootstrap a Rust game engine?


Rust ia drop-in-C I think.

So you could probably write your Unreal Engine game in Rust.


A while back, someone made a proof of concept Unreal plugin: https://github.com/shadowmint/ue4-static-plugin/


> Is CoffeeScript considered a programming language? :O

No, technically it's a type of vegetable.


I find Shen lang interesting, but never actually tried it. Can anyone explain few things?

1. Why explicitly call `prolog?` function? Why not make it implicit, so user could use, for example, `member` function (defined via `defprolog` notation) as a normal function?

2. Automatic partial application. I see that example was simplified, but then how it looks in reality? Because I find (* 2) returning `lambda`, instead of 2 confusing.


In math ( * ) is a binary operation. ( * 2) returning 2 is confusing to everyone that hasn't gotten used to a non-standard way of thinking about * .


> In math ( * ) is a binary operation.

https://en.wikipedia.org/wiki/Empty_product

I am talking about Empty Product.

In all Lisps I know ( * ) returns 1, (* n) returns n. Which makes sense.

Shen's example is confusing for me.


* :: a -> a -> a

Π :: {a} -> a


This would make nonsense out of exponents less than 2. Fortunately, they actually make perfect sense.


I vividly remember being very excited and optimist about (web?) programming and our community when _why appeared with his posts about Ruby.

Its probably related to my age as well, but I haven't felt that way again for a long time now.


Re: the Ometa language, a sequel that is hosted on Javascript is Ohm: https://github.com/cdglabs/ohm


Nowadays this list should include pony, wren, vio, Luna, nim, ...




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: