#Programming languages?

38 messages · Page 1 of 1 (latest)

mystic flax
#

python is probably the one to learn; it's pretty ubiquitous, lots of packages, decent amount of documentation, etc

#

also: one of the best ways to learn a language is to read and modify other people's code (in addition to writing your own)

robust flower
#

Python is great for iterating

It’s also never been easier to optimize: i ask an llm to translate into Rust or C if im doing a big job

loud ibex
#

Scratch to start with (this bit is a joke)

Fr tho, As people said so far, Python

ripe trout
#

Python for prototyping, Go or Rust for finished product.

Python is basically pseudocode that you can run, it's really easy to get something working but it's horrible to maintain a big Python project and it's slow. It's an interpreted language so you don't have to compile it to run.

Anything to do with web and concurrency, Go is great for. It's much faster than Python, and also still very easy to get something up and running. There are some jagged edges the deeper you go into Go, so it's easy to learn but hard to master. You have to compile Go code to run it.

Rust is a very fast compiled language. I've found it to be really good for analysing large amounts of data. Really nice, clear error messages too. Learning curve is steep as hell though.

I would suggest staying away from making stuff in C because C does not hold your hand at all and lacks memory safety. Good to learn at some point because you get a good insight into how the computer works at a lower level.

As @robust flower suggests, you can always use an LLM to convert your Python prototype into Go / Rust code.

amber comet
#

Python is sorta the default data processing language and is mostly pretty straightforward to get up and running.

Any language after that is a mix of what you want to do vs what you're motivated to learn

narrow portal
vagrant crater
mystic flax
#

eh, assembly isn't so hard!

  ORG $300
:1
  LDA $C000
  SBC #$A0
  JSR $FCA8
  LDA $C055
  LDA $C054
  LDA $C030
  JMP :1
ripe trout
vagrant crater
mystic flax
#

if you're just doing stuff that doesn't require a huge amount of performance or hit other memory/disk/cpu limitations, python is just fine; you wouldn't need to bother with rust/go/C/assembly/whatever

#

I'd suggest prioritizing your time over the computer's

mild cloud
#

One vote for Python if you want to get things done fast and with minimum fuss.

In theory any of the Turing complete languages is capable of doing same things, but one should use the language best suited for the task.
Python is well suited for most of the tasks with it extensive libraries.
Whitespace and Mindfuck are suited to jokes. R is suited for statistical tasks, C is suited for extremely resource limited tasks, and so on.

subtle pecan
#

I work mostly in julialang these days. It's userfriendly, it focuses on scientists. I find it flexible and the community is extremely friendly.

#

Plus Makie.org is extremely good for visualization

robust flower
#

did it ever get to the other side of the infrastructure curve and become the "language of ML?" lol

subtle pecan
#

I don't do ML (on principle, at least until someone really forces me to) so I have no idea. But it is my absolute favourite as a matlab alternative.

robust flower
#

its crazy fast once its up and running

subtle pecan
#

Also the code is super legible. You can literally write equations as they would look on paper.

#

But Tyler has real potential for being used for the analysis and presentation of open source data and I'd love to see it used more.

amber comet
#

Is the library ecosystem well supported?

#

Or the standard library pretty good?

subtle pecan
# amber comet Is the library ecosystem well supported?

For a language that's not bee aroundas long as many of the others I really think it is getting there. So far, I've been able to do pretty much everything, and when something's not native I can read in R and python packages (for me this is only metpy and utide though, everything else I need for my academic work either is native or has a package)

amber comet
#

That's pretty dope! I've been procrastinating learning python properly but I'm encountering more ML/big data subjects that interest me so I'm gonna have to bite the bullet lol

subtle pecan
#

Julia is faster (ok, you can tweak python to be faster), in part because it's compiled.

#

So for large datasets (including satellite) it might be preferable. Also threading is easier

#

(imo)

#

But yeah, I think programming is such a personal taste & to what you have access thing

amber comet
#

One of my primary language, kotlin at least has an engine in jupyter which is nice

subtle pecan
boreal cobalt
#

I switched to go from python last year for building quick tools. I like completeness of the built in libraries but more importantly it enables me to build tools that anyone can run on Windows, Mac, Linux without having to have python installed. Just a single executable.

#

Very portable