Surprised pikachu face

You are viewing a single thread.
View all comments View context
2 points

improves my experience coding in unfamiliar languages

Alan Perlis said “A programming language that doesn’t change the way you think is not worth learning.”

So… if you code in another language without actually “getting it”, solely having a usable result, what is actually the point of changing languages?

permalink
report
parent
reply
4 points

I have a job to do. And I understand the other language conceptually, I am just rusty on the syntax.

Also the chat feature is invaluable. I can highlight a piece of code and ask what it does, and copilot explains it.

permalink
report
parent
reply
1 point

Exactly. I see AI as a tool to automate the boring parts, if you try to automate the hard parts, you’re going to have a bad time.

Take the time to learn the tools you use thoroughly, and then you can turn to AI to make your use of those tools more efficient. If I’m learning woodworking, for example, I’m going to learn to use hand tools first before using power tools, but there’s no way I’m sticking to hand tools when producing a lot of things. Programming isn’t any different, I’ll learn the language and its idioms as deeply as I can, and only then will I turn to things like AI to spit out boilerplate to work from.

permalink
report
parent
reply
1 point

Mind explaining a bit your workflow at the moment?

permalink
report
parent
reply
1 point

I’m not sure how to succinctly do that.

When I learn a new language, I:

  1. go through whatever tutorial is provided by the language developers - for Rust, that’s The Rust Programming Language, for Go, it’s Tour of Go and Effective Go
  2. build something - for Go, this was a website, and for Rust it was a Tauri app (basically a website); it should be substantial enough to exercise the things I would normally do with the language, but not so big that I won’t finish
  3. read through substantial portions of the standard library - if this is minimal (e.g. in Rust), read through some high profile projects
  4. repeat 2 & 3 until I feel confident I understand the idioms of the language

I generally avoid setting up editor tooling until I’ve at least run through step 3, because things like code completion can distract from the learning process IMO.

Some books I’ve really enjoyed (i.e. where 1 doesn’t exist):

  • The C Programming Language - by Brian Kernighan and Dennis Richie
  • Programming in Lua - by Roberto Ierusalimschy
  • Learn You a Haskell for Great Good - by Miran Lipovača (available free online)

But regardless of the form it takes, I appreciate a really thorough introduction to the language, followed by some experimentation, and then topped off with some solid, practical code examples. I generally allow myself about 2 weeks before expecting to write anything resembling production code.

These days, I feel confident in a dozen or so programming languages (I really like learning new languages), and I find that thoroughly learning each has made me a better programmer.

permalink
report
parent
reply

Technology

!technology@lemmy.world

Create post

This is a most excellent place for technology news and articles.


Our Rules


  1. Follow the lemmy.world rules.
  2. Only tech related content.
  3. Be excellent to each another!
  4. Mod approved content bots can post up to 10 articles per day.
  5. Threads asking for personal tech support may be deleted.
  6. Politics threads may be removed.
  7. No memes allowed as posts, OK to post as comments.
  8. Only approved bots from the list below, to ask if your bot can be added please contact us.
  9. Check for duplicates before posting, duplicates may be removed

Approved Bots


Community stats

  • 17K

    Monthly active users

  • 12K

    Posts

  • 543K

    Comments