Hacker News new | past | comments | ask | show | jobs | submit login

Or better use Go! It's 100% open/BSD license.



I do myself now use go, i've developed a scripting language on top of go which has all the great features of the go runtime but it is interpreted instead. It has a few hundred commands and will eventually have the ability to modify its own commands at runtime.

I started the same thing with C++ but found that i spent too long getting libraries to work with each other without clashing (especially on windows)

I've also found java to be a terrible memory hog and require significant tuning to run stable without having long periods of garbage collection and non-responsiveness, i've not had that problem with go out of the box.

Thats the one thing about go that is great, goroutines and the (much much better) garbage collection.

Yeah, i'm a bit of a go fanboy :)


You should not call yourself a fanboy for being practical!

Lately I am on the hunt for a good closer-to-the metal language because I feel that even though the Erlang runtime (and thus Elixir's) is extremely stable and with unmatched concurrency and parallelism primitives, there still is a need for a native hyper-optimized code every now and then (crypto and compression come to mind).

I like Go a lot. The authors got a lot of things right and the language's tooling is exceptional. Goroutines are no match for the true preemptive scheduling that the BEAM (Erlang's VM) can provide though. But I don't intend to use Go where I would use Erlang/Elixir anyway. They serve different niches.

---

Have you evaluated other languages outside of Go and C++? For example Rust or OCaml? If you did evaluate anything else, what are your impressions?


I have evaluated Rust a while ago, before i updated my C++ skills to C++17 with vcpkg / cmake and learned go using the new go modules functionality.

I think rust is overly complex, and very quirky but.. It has some good ideas that i have taken and used in my own experimental languages i have developed like the error/ok branch structures.

I think Ocaml is even more quirky than rust, they are using symbols (|) to define select statements, i would to be honest rather have something more readable. Reminds me of perl a lot.

Both use "let" for defining variables that i'm not a fan of as a keyword.


Eh, but you cannot deny these are cosmetical / taste preferences and not technical disadvantages of the languages.

IMO OCaml is a less sciency Haskell, and more focused on getting stuff done -- but I am still evaluating it and it definitely has warts in the tooling. Time will tell.

Rust... I looked at it but it struck me as a modern C++... too many ways to do one thing.

We need opinionated tech. Programming is not an art class practice session.


Its all about:

Syntax Libraries Runtime

I picked syntax briefly, because i think its the most important part of the language.

The libraries can be written, the runtime improved but if the syntax is bad its hard to change it later.


Go is good for system-level tools. But the web-facing / framework-wise is weak. The dependancy hell is not fully fixed yet.


I would say that the lack of gigantic frameworks is a feature. Go is great for web APIs.


This x1000 If you want to make a little cross platform binary for some utility sure maybe Go is the right choice, but most of the time people are building a "Web Application" in which case there are dozens of better languages to use


I found Go a better fit than Java & Python for my web APIs/micro-services. I'm not sure what web application are but Go compiles to WASM so it would make it an even more complete solution once WASM gets DOM access.


[flagged]


Its all still encumbered by patents, its not free. Its "open"


To be fair, grandfather did write: "I would rather use a programming language not licensed by a huge corporation."


Isn't Go out of Google...




Guidelines | FAQ | Lists | API | Security | Legal | Apply to YC | Contact

Search: