💾 Archived View for fuwn.me › blog › technology.xml captured on 2024-07-09 at 01:55:49.
View Raw
More Information
➡️ Next capture (2024-08-18)
-=-=-=-=-=-=-
<?xml version="1.0" encoding="UTF-8"?><rss xmlns:atom="http://www.w3.org/2005/Atom" version="2.0"><channel><lastBuildDate>Sat, 29 Jun 2024 11:42:20 +0000</lastBuildDate><description>Thoughts and Resources of the Programming Languages and Technologies I Actively Use and Have Used</description><title>Technology</title><link>gemini://fuwn.me/blog/technology</link><generator>locus</generator><atom:link href="gemini://fuwn.me/blog/technology.xml" rel="self" type="application/rss+xml" /><item><description>=> https://www.ardanlabs.com/images/gopher-kart/other-gophers.png
To kick it off: Go is funny language. I have a hard time taking it seriously, and that's not because of the name, but because of the way it "feels". Don't get me wrong, Go is a **great** tool to have under your belt, but it just feels very ... "childish" ... to **me**.
Other than the chills I get whilst working with it, I think Go is a pretty nifty language, and I'm sure you'll pick up on that further down in this blog post. If anything, the above statements were icebreakers, but also my genuine feelings. :=
Go has the "I can do anything! just not very well ..." [0] feeling to it, and that is very much true! I don't write software in Go because it's "blazing fast!" or "great on memory!". I write software in Go because it's "fast!" to write in.
> [0] Having the aforementioned quality is not particularly a bad thing, I think it actually benefits Go!
Now, here are some pros and cons that I have gathered up during my experience with the language:
These are in no particular order, and solely **my** opinions.
## Pros
Reasons for anyone to learn or to use Go!
- Fast enough: Go isn't Rust fast, but it's not Node.js slow.
- There are **lots** of resources. (books, documentation, libraries, tutorials, et cetera)
- It's quite easy to pick up. (having had prior experience with C-like programming languages)
- Go can do just about anything you pin at it.
- It runs on Plan 9!
## Cons
Nitpicks, not deal-breakers!
- Garbage collected: This isn't necessarily a hard-con, but it contributes to more memory overhead that I'd prefer not to waste. (not as much as Node.js, though)
- Go can feel *too* simple stupid at times, and not in a KISS way.
- The dependency management and "package manager" is downright creepy: `$ go get ...` seems extremely pre-mature and underdeveloped, even many years into Go's life
One thing you might see a lot when there is talk about Go is the claim that Go hasn't "found it's niche" or "it has no real purpose". To that I say: Go's niche is its simplicity, its ability to introduce someone into the compiled language space, and to develop software with speed.
## Who Would I Recommend Go To?
People who ...
- don't have much time for boilerplate material,
- people who want to get their foot into the lower-level side of programming, (or compiled languages)
and dare I say it ... anyone!
## Resources
=> https://golang.org/ golang.org
=> https://interpreterbook.com/ Writing An Interpreter In Go by Thorsten Ball
=> https://compilerbook.com/ Writing A Compiler In Go by Thorsten Ball
=> https://go.dev/wiki/Plan9 Go Wiki: Go on Plan 9
=> https://9lab.org/plan9/go/ Plan9/Go
</description><link>gemini://fuwn.me/blog/technology/go</link><pubDate>2021. 07. 19.</pubDate><guid>gemini://fuwn.me/blog/technology/go</guid><title>Unknown</title></item><item><guid>gemini://fuwn.me/blog/technology/compilers</guid><link>gemini://fuwn.me/blog/technology/compilers</link><description># Compilers
=> https://diekmann.uk/blog/2024-06-25-statically-known-undefined-behaviour.html How gcc and clang handle statically known undefined behaviour</description><title>Unknown</title></item><item><title>Unknown</title><guid>gemini://fuwn.me/blog/technology/nix</guid><description># Nix
=> /web/www.theregister.com/2024/05/14/nix_forked_but_over_politics/?id=article Nix forked, but over politics instead of progress
</description><link>gemini://fuwn.me/blog/technology/nix</link></item><item><guid>gemini://fuwn.me/blog/technology/rust</guid><description>## Resources
=> https://ceronman.com/2021/07/22/my-experience-crafting-an-interpreter-with-rust/ My experience crafting an interpreter with Rust
=> https://notgull.net/device-afd/ \Device\Afd, or, the Deal with the Devil that makes async Rust work on Windows</description><pubDate>2021. 07. 23.</pubDate><link>gemini://fuwn.me/blog/technology/rust</link><title>Unknown</title></item><item><description>## Resources
=> https://www2.lib.uchicago.edu/keith/ocaml-class/why.html OCaml for the Skeptical
=> https://softwareengineering.stackexchange.com/questions/62685/why-isnt-ocaml-more-popular Why isn't OCaml more popular?</description><guid>gemini://fuwn.me/blog/technology/ocaml</guid><link>gemini://fuwn.me/blog/technology/ocaml</link><pubDate>2021. 07. 23.</pubDate><title>Unknown</title></item><item><description># C++
=> /web/www.neilhenning.dev/posts/yourownconstantfolder/?class=post-content Your Own Constant Folder in C/C++</description><guid>gemini://fuwn.me/blog/technology/c++</guid><title>Unknown</title><link>gemini://fuwn.me/blog/technology/c++</link></item><item><guid>gemini://fuwn.me/blog/technology/maths</guid><description># Maths
=> https://zachartrand.github.io/SoME-3-Living/ How does a computer/calculator compute logarithms?</description><title>Unknown</title><link>gemini://fuwn.me/blog/technology/maths</link></item><item><description>## "Stories"
=> https://groups.google.com/g/comp.lang.forth/c/ThWiGXwKqv4 A Forth Story
## Resources
=> http://www.forth.org/ Forth Interest Group Home Page
=> https://forth-standard.org/ Forth
=> http://theforth.net/ the Forth Net
=> http://www.complang.tuwien.ac.at/forth/program-links.html Links to Forth Programs
=> https://github.com/uho/docker-forth Docker images for popular Forth systems
=> http://forthworks.com/ ForthWorks (HTTP)
=> gemini://forthworks.com/ ForthWorks (Gemini)
=> gopher://forthworks.com:70/ ForthWorks (Gopher)</description><guid>gemini://fuwn.me/blog/technology/forth</guid><pubDate>2022. 04. 21.</pubDate><title>Unknown</title><link>gemini://fuwn.me/blog/technology/forth</link></item></channel></rss>