Green vs. Brown Programming Languages

This page summarizes the projects mentioned and recommended in the original post on news.ycombinator.com

InfluxDB - Power Real-Time Data Analytics at Scale
Get real-time insights from all types of time series data with InfluxDB. Ingest, query, and analyze billions of data points in real-time with unbounded cardinality.
www.influxdata.com
featured
SaaSHub - Software Alternatives and Reviews
SaaSHub helps you find the best software and product alternatives
www.saashub.com
featured
  • love

    LÖVE is an awesome 2D game framework for Lua.

  • It's funny how quickly opinions seem to change.

    When I first visited HN (also ~2010) it seemed Ruby and Rails was all the hype; doing Ruby/Rails stuff seemed to be the hip and cool thing to do.

    Nowadays it seems Rails is mostly forgotten and Ruby, well ... Python seemed to have dethroned the language as Python seems to be used for similar purposes.

    I tried to get into Rails in the past, but it didn't quite click with me. Perhaps in part because I don't do web dev by trade and in general I just don't enjoy web dev. But Ruby as a language, I did enjoy and I used it in combination with Calabash for iOS tests. But I believe most of my team members didn't get the same kind of enjoyment out of Ruby as I did, preferring much more to work with statically typed languages.

    I also used Ruby as a replacement for some shell scripts, when shell script would be too complicated and problematic to write.

    Just last year I really got into Lua and I have to say, I enjoy it even more than I did Ruby in the past and also most statically typed languages that I've worked with (C#, Swift, Objective-C, ...). Lua (combined with LÖVE [1]) is awesome to me.

    Lua seems to be a very neat small little language that is build on just a few very simple concepts, which makes it pretty easy to wrap your head around it. With Ruby there would be quite a bit of magic (complicated internals) happening, which I don't see in Lua.

    Some people mentioned Lua might be hard to use in big projects, but I believe it should be manageable and I hope to write a pretty big game in the future using Lua and LÖVE.

    ---

    [1]: https://love2d.org

  • freebsd-src

    The FreeBSD src tree publish-only repository. Experimenting with 'simple' pull requests....

  • This quote from the article is interesting:

    > Find me a file in a codebase that has been under active development for more than three years, and it will be hard to follow.

    It might be true of enterprise () software, but is not generally the case.

    The question is whether code quality is valued in a given environment. If it's not, it doesn't matter what language is used, a mess will be created. Despite words to the contrary from most enterprise software shops, code quality is usually not valued at all - if it were the patterns which prevail would... not.

    By contrast, at random just now, I chose a popular device (Intel E1000 NICs), and looked at one of the files from the FreeBSD driver code for it [1]. This code written in C was added in 2008. The code is not "hard to follow" despite not being an expert on FreeBSD drivers, it has not atrophied or suffered from rot, while remaining under active development for at least 13 years. I didn't track the history beyond the addition of that file, so it's likely the code is actually older.

    I could have performed this experiment on any project that values quality: Illumos, the Linux Kernel, LLVM, the Go standard library, and I'd wager the results would be similar more often than not.

    (): "Enterprise" software is the (pejorative) term I tend to use to mean over engineered software with liberal use of frameworks and ORMs, generally at least 4-5 layers of mapping code adding no value, and an "architecture committee" - even if that committee consists of a single individual who also writes all the code for the project...

    [1]: https://github.com/freebsd/freebsd-src/blob/main/sys/dev/e10...

  • InfluxDB

    Power Real-Time Data Analytics at Scale. Get real-time insights from all types of time series data with InfluxDB. Ingest, query, and analyze billions of data points in real-time with unbounded cardinality.

    InfluxDB logo
  • rust

    Empowering everyone to build reliable and efficient software.

  • Rust was explicitly designed from the beginning for creating maintainable large-scale software.

    Here's the original elevator pitch from 2010:

    https://github.com/rust-lang/rust/blob/d6b7c96c3eb29b9244ece...

    Note the text about "programming in the large".

  • Hugo

    The world’s fastest framework for building websites.

  • Oh my, here we go again: The first post on a general language thread is bashing Go and hyping Rust ... that in itself is a very sad and problematic story as some inexperienced devs fall into the trap of this kind of promotion that Rust is the silver bullet for all kind of applications / projects. Rust has it's place. Go has it's place. Java has it's place. There's so much more than pure language feature for successful projects. The language is not even in the top 3.

    But more importantly I disagree to your actual assessment:

    Go code is very easy to read and understand. You're at the core of the problem at hand at once. No over abstractions or complex syntax or complex language features. Go has very few quirks (every language has them, people thinking "their" language is free of them are just being ignorant). I found very few real world issues caused by language quirks in Go production code (just as with Java or .NET).

    Much more important for quality code are engineering decisions, structure and processes. As Go is easy to write, read and understand it leaves more mental capacity to those often underrated areas.

    Go is a memory managed language. That alone makes it much easier to understand and maintain than every other language where you need to do it yourself. Again, more room for engineering decisions.

    As Go has a very large and extremely useful standard lib you have much less issues with unmaintained third party libs. Imaging a large Rust codebase and all it's dependencies to one-person-maintained libs. A maintenance nightmare thinking 10 years ahead.

    Just look at some good quality Go code, e.g. Hugo https://github.com/gohugoio/hugo/blob/master/navigation/menu... I've picked an arbitrary file. There might be issues in it, but look how easy to read and understand it is.

    Regarding Rust: I have no general interest in talking bad about it, but need to make a point. Just as a real world reminder think of the Actix story. One part is the unsafe issue. How many people in the world would be able to understand the actual code and could have cleaned it up? Maybe 50? Fortunately there was a happy end. But how much time and energy did it take to get it on track again? What if Actix had not been the most popular and known framework?

    All our companies Go servers (still mostly Java apps) are build with the standard lib. One thing less to worry about in the long run.

  • aolserver

    AOLserver is America Online's Open-Source web server. AOLserver is the backbone of the largest and busiest production environments in the world. AOLserver is a multithreaded, Tcl-enabled web server used for large scale, dynamic web sites.

  • You didn't look hard enough, companies like https://www.altitude.com and https://www.outsystems.com were built out of my and others experience with those frameworks.

    I could tell how they looked like from startup rooms in little offices spaces in Lisbon back in the early days of .com wave in late 90's, how AOLServer influenced the creation of Intervento's Safelayer framework, or how it got us to be approached by MSFT Portugal for adapting the same ideas to then still alpha version of .NET, however I am the right person to fully tell the story, better let that to the key persons, in case they feel like jumping in.

    In any case, here is some education material for yourself,

    https://zope.readthedocs.io/en/latest/zopebook/index.html

    https://docs.huihoo.com/aolserver/intro/features.html

    https://www.linuxjournal.com/article/6164

    https://github.com/aolserver/aolserver

  • SaaSHub

    SaaSHub - Software Alternatives and Reviews. SaaSHub helps you find the best software and product alternatives

    SaaSHub logo
NOTE: The number of mentions on this list indicates mentions on common posts plus user suggested alternatives. Hence, a higher number means a more popular project.

Suggest a related project

Related posts

  • How hard is it to backup slightly different versions of the same file without using double space?

    3 projects | /r/DataHoarder | 23 Apr 2023
  • Google PageSpeed Insights Score: 100

    2 projects | /r/kevinhqcom | 22 Dec 2022
  • Goal: Pass all 4259065 tests in sqllogictest in 1 week

    7 projects | news.ycombinator.com | 3 Oct 2022
  • Large project uses Rust backend. My backend developer left. How hard is it for me to learn Rust and take over for him.

    8 projects | /r/rust | 8 Aug 2022
  • New programmer, looking for some advice with Rust as my first language and gamedev as my main hobby.

    5 projects | /r/rust_gamedev | 20 May 2022