Author Topic: Go language  (Read 1775 times)

0 Members and 2 Guests are viewing this topic.

Offline PicuinoTopic starter

  • Super Contributor
  • ***
  • Posts: 1473
  • Country: es
    • Picuino
Go language
« on: September 03, 2026, 01:14:45 pm »
After learning Python and being delighted by its power and simplicity, I've struggled with JavaScript and found it to be a somewhat confusing language, but one that's very powerful when it comes to creating fully portable web interfaces.

Yesterday I saw a report on the history of the Go programming language, and I loved its philosophy.
Once again, the most important thing isn't runtime, but rather compile time and the time spent maintaining legacy software.

Unfortunately, the video is in Spanish, so I won't link to it here. But YouTube is full of videos in English explaining the success of this simple compiled language.
Apparently, it can even generate binaries for Arduino. It's not recommended, but it's possible.
Let's give good old C a prominent place for these truly bare-metal applications.

With this post, I just wanted to recommend that anyone unfamiliar with this language learn more about its features and applications.

For those of you who are familiar with the language, I wanted to ask what real-world applications it might have beyond cloud-based apps.

Where can I find more interesting information about Go?


Edit:
- https://en.wikipedia.org/wiki/Go_(programming_language)
- https://go.dev/solutions/use-cases
- https://tinygo.org/
- Why Go is an ideal language for AI assisted software engineering

« Last Edit: September 03, 2026, 05:28:38 pm by Picuino »
 

Online DiTBho

  • Super Contributor
  • ***
  • Posts: 5111
  • Country: gb
Re: Go language
« Reply #1 on: September 03, 2026, 01:40:22 pm »
you can neither love nor hate until you develop something complex with it  :-//
The opposite of courage is not cowardice, it is conformity. Even a dead fish can go with the flow
 

Online ledtester

  • Super Contributor
  • ***
  • Posts: 4252
  • Country: us
Re: Go language
« Reply #2 on: September 03, 2026, 02:30:23 pm »
Some recent and notable golang posts from Hacker News (news.ycombinator.com):

Go 1.27 released:

- link:  https://go.dev/blog/go1.27
- discussion: https://news.ycombinator.com/item?id=49365405

Why Go is an Ideal Language for AI-Assisted Software Engineering:

- link: https://developers.googleblog.com/why-go-is-an-ideal-language-for-ai-assisted-software-engineering/
- discussion: https://news.ycombinator.com/item?id=49261133
 

Offline Zucca

  • Supporter
  • ****
  • Posts: 5181
  • Country: it
  • EE meid in Itali
Re: Go language
« Reply #3 on: September 03, 2026, 03:25:44 pm »
As I see my DNA more attracted to Hardware than Software, I think I should learn RUST first than GO.
That said Python is my daily driver and I can't see myself jumping of the snake boat....
Can't know what you don't love. St. Augustine
Can't love what you don't know. Zucca
 

Offline PicuinoTopic starter

  • Super Contributor
  • ***
  • Posts: 1473
  • Country: es
    • Picuino
Re: Go language
« Reply #4 on: September 03, 2026, 04:28:53 pm »
you can neither love nor hate until you develop something complex with it  :-//

First I fall in love, then I have children/programs, and finally I marry the language.

Everyone follows their own order based on their preferences.
 

Offline SiliconWizard

  • Super Contributor
  • ***
  • Posts: 17830
  • Country: fr
Re: Go language
« Reply #5 on: September 03, 2026, 05:12:51 pm »
As I see my DNA more attracted to Hardware than Software, I think I should learn RUST first than GO.

While I'm not sure I recommend it in general, there's actually a version of Go made for embedded targets: https://tinygo.org/
So, you can play with that and see if you like it.

Here's the list of officially supported MCUs: https://tinygo.org/docs/reference/microcontrollers/processors/

If you have a RP2350 board, I would recommend that to start with, it has enough processing power and RAM to do something interesting with Go IMO.
There's also support for ESP32 which could be interesting.
« Last Edit: September 03, 2026, 05:18:44 pm by SiliconWizard »
 

Offline brucehoult

  • Super Contributor
  • ***
  • Posts: 6464
  • Country: nz
Re: Go language
« Reply #6 on: September 04, 2026, 12:46:56 am »
After learning Python and being delighted by its power and simplicity, I've struggled with JavaScript and found it to be a somewhat confusing language, but one that's very powerful when it comes to creating fully portable web interfaces.

Yesterday I saw a report on the history of the Go programming language, and I loved its philosophy.
Once again, the most important thing isn't runtime, but rather compile time and the time spent maintaining legacy software.

There are too many interesting "new" languages!  (Go isn't all that new now).

For most things I do, plain old C is fine. Or at the least a recent version of it. I like to add Boehm GC because that still gives you something super-portable to all manner of weird ISAs and hardware.

I find Zig more interesting than Go, but both are incompatible with and less portable than C without offering all that much in the way of benefits.

Swift is pretty cool (and open source and cross platform) if you want a conventional purist C-with-OOP style.

Mojo is a better Python that actually compiles and runs fast.

But if I'm doing something where I want more than C offers, and that is going to run on desktop, then I'm increasingly using Julia. It's almost like Dylan, and better in some ways (especially in being alive).
 

Offline sleemanj

  • Super Contributor
  • ***
  • Posts: 3176
  • Country: nz
  • Professional tightwad.
    • The electronics hobby components I sell.
Re: Go language
« Reply #7 on: September 04, 2026, 03:57:50 am »


s/standard/language/g
~~~
EEVBlog Members - get yourself 10% discount off all my electronic components for sale just use the Buy Direct links and use Coupon Code "eevblog" during checkout.  Shipping from New Zealand, international orders welcome :-)
 
The following users thanked this post: Siwastaja

Offline PicuinoTopic starter

  • Super Contributor
  • ***
  • Posts: 1473
  • Country: es
    • Picuino
Re: Go language
« Reply #8 on: September 04, 2026, 05:10:32 pm »
A great, successful project written in Go is the Hugo static site generator.
It's really fast:

- https://gohugo.io/
- https://en.wikipedia.org/wiki/Hugo_(software)

I prefer the Sphinx generator, written in Python, for many reasons, but I have to admit that it's more complex and slower than Hugo.


EDIT:
Projects built with Hugo:
- Cloudflare Developer Docs  https://developers.cloudflare.com/
- Kubernetes documentation  https://kubernetes.io/docs/home/
- NVIDIA documentation  https://research.nvidia.com/labs/srl/post/getting-started/
« Last Edit: September 04, 2026, 05:26:23 pm by Picuino »
 

Offline SiliconWizard

  • Super Contributor
  • ***
  • Posts: 17830
  • Country: fr
Re: Go language
« Reply #9 on: September 04, 2026, 06:10:24 pm »
I've been using Restic as a backup tool for a good while, it's written in Go, and has proven fast and stable so far.

Go has a lot of good programming constructs, in particular for multithreaded ("parallel") computing.
I don't like a good chunk of its syntax and some other oddities.
But as far as trying a new language, especially if you come from Python, I think it's interesting. You can use it as a glorified "scripting" language while having very good performance overall.
 

Online DiTBho

  • Super Contributor
  • ***
  • Posts: 5111
  • Country: gb
Re: Go language
« Reply #10 on: September 05, 2026, 09:14:49 am »
I just wrote a TexTEditor in Java for a collaboration with a YTuber, the video hasn't yet been pubblished, it's under "refactoring", anyway, I have to admit, I've always hated and detested Java since v1.0, and now I'm discovering that not only do I enjoy working with Java 1.1... but the things I write are actually quite productive.

Something you'd never have thought of: writing software (JavaApplet) for Netscape Lite v4, which runs on a 2001 MIPS Xterminal.

Next step? Scala?  :-//
The opposite of courage is not cowardice, it is conformity. Even a dead fish can go with the flow
 

Offline 0xdeadbeef

  • Super Contributor
  • ***
  • Posts: 1912
  • Country: de
Re: Go language
« Reply #11 on: September 05, 2026, 09:36:37 am »
I've always hated and detested Java since v1.0, and now I'm discovering that not only do I enjoy working with Java 1.1... but the things I write are actually quite productive.
Either you are mixing things up (Java != JavaScript) or fell through a time portal ;)
I started with Java "1.5" aka Java 5 (released 2004) in 2005. The current Java version is 26 or so.
Trying is the first step towards failure - Homer J. Simpson
 

Online DiTBho

  • Super Contributor
  • ***
  • Posts: 5111
  • Country: gb
Re: Go language
« Reply #12 on: September 05, 2026, 10:06:42 am »
Either you are mixing things up (Java != JavaScript) or fell through a time portal ;)

JavaApplet, see here

It also says
Quote
Java applets were usually written in Java, but other languages such as Jython, JRuby, Pascal, Scala, NetRexx, or Eiffel (via SmartEiffel) could be used as well.
but frankly I have never seen anything except a java compiler to generate Java Applets.
And technically, with modern SDKs, I have to "cross-compile" to java-v1.1, as the language and the support changed.

Quote
Java applets were deprecated by Java 9 in 2017
deprecated for removal by Java 17 in 2021
removed by Java 26 in 2026

Anyway, it's dead technology, modern browsers no more support Java Applets!
The opposite of courage is not cowardice, it is conformity. Even a dead fish can go with the flow
 

Offline John B

  • Super Contributor
  • ***
  • Posts: 1083
  • Country: au
Re: Go language
« Reply #13 on: September 06, 2026, 09:25:42 am »
Java gets a a lot of hate, but for me modern Java was a strong contender as a do everything language. It's cross platform everywhere I need it, and I view it like a more performant and stricter python.

The compiled nature and static typing give better performance, and development is easier because a lot more is known at compile time vs python in regards to types methods etc. But still retains all the OOP features you want from python.

Alas I went a bit lower level and now I focus on Rust. The cross platform development isn't as easy though.
 

Online DiTBho

  • Super Contributor
  • ***
  • Posts: 5111
  • Country: gb
Re: Go language
« Reply #14 on: September 06, 2026, 10:53:30 am »
I focus on Rust. The cross platform development isn't as easy though.

I don't know how it works on RISC-V and PowerPC, but on HP-PA and MIPS there is no way to get Rust to run decently, at least not yet.
Cross platform development isn't as easy at all.
The opposite of courage is not cowardice, it is conformity. Even a dead fish can go with the flow
 

Offline ejeffrey

  • Super Contributor
  • ***
  • Posts: 4855
  • Country: us
Re: Go language
« Reply #15 on: September 06, 2026, 11:00:26 pm »
I don't know how it works on RISC-V and PowerPC, but on HP-PA and MIPS there is no way to get Rust to run decently, at least not yet.
Cross platform development isn't as easy at all.

Rust basically works wherever llvm does, and nowhere else.  So it works fine on most risc-v and Power targets.  Embedded targets need platform specific standard library support of course but as far as hosted implementations go that is the main factor.
 

Online DiTBho

  • Super Contributor
  • ***
  • Posts: 5111
  • Country: gb
Re: Go language
« Reply #16 on: September 07, 2026, 09:32:27 am »
Rust basically works wherever llvm does, and nowhere else.  So it works fine on most risc-v and Power targets.
Embedded targets need platform specific standard library support of course but as far as hosted implementations go that is the main factor.

As well as on GNU/linux: you always need platform specific library support.

For example, if you write a sandbox, you're dealing not only with the libc {glibc, MUSLc, dietc, ... } but with parts of the code that are highly architecture-dependent. That is, you have to manipulate registers and the stack in assembly, and these parts are "architecture-specific."

I know this because I had to fix ptrace and write a sandbox, which has strong kernel dependencies. With this kind of thing, I had to write a lot of custom code.

The secondo problem is that llvm is not a piece of "simple software", and it's unstable (they say "experimental") on HPPA and MIPS, probably due to lack of interest as HPPA and MIPS are not "mainstream architectures".

So the point is that it requires much more effort than supporting e.g. the C language on gcc.

llvm requires much more effort from this point of view, and that's why we have gcc (language={c, c++, fortran}) working on HPPA and MIPS, while we only have an experimental llvm

I think I'm the only one in the world to have ported and used ADA on HPPA-v1 (32bit userland), gcc (language={c, c++, fortran, ada}), and this shows how little interest there is in HPPA, and consequently how few people care about solving all those small and large problems involved in porting a compiler, or a framework like llvm.

It took me four bloody years to have it working!
The opposite of courage is not cowardice, it is conformity. Even a dead fish can go with the flow
 


Share me

Digg  Facebook  SlashDot  Delicious  Technorati  Twitter  Google  Yahoo
Smf

 

- - -
-->