43
submitted 3 days ago* (last edited 3 days ago) by communism@lemmy.ml to c/asklemmy@lemmy.ml

I'm going to be delivering an online intro to programming session to a non-technical crowd who will be "following along at home". Because it's online, I can't provide them with machines that are already set up with an appropriate development environment.

I'm familiar with Linuxes and BSDs but honestly have no idea how to get set up with programming stuff on Windows or macOS which presumably most of these people will use, so I need something I can easily instruct them on how to install, and has good cross-platform support so that a basic programming lesson will work on whatever OS the attendees are running. Remember they are non-technical so may need more guidance on installation, so it should be something that is easy to explain.

My ideas:

  • C: surely every OS comes with a C compiler pre-installed? I know C code is more platform-specific, but for basic "intro to programming" programs it should be pretty much the same. I think it's a better language for teaching as you can teach them more about how the computer actually works, and can introduce them to concepts about memory and types that can be obscured by more high-level languages.

  • Python: popular for teaching programming, for the reasons above I'd prefer not to use Python because using e.g. C allows me to teach them more about how the computer works. You could code in Python and never mention types for instance. Rmemeber this is only an intro session so we're not doing a full course. But Python is probably easy to install on a lot of OSes? And of course easy to program in too.

  • Java: good cross-platform support, allows for teaching about types. Maybe a good compromise between the benefits outlined above for C and Python?

Any opinions?

you are viewing a single comment's thread
view the rest of the comments
[-] BassTurd@lemmy.world 1 points 2 days ago

For a basic setup to learn hello world and basic if/then logic, it's extremely simple to setup Python on Windows or Linux. For Windows, which I'm guessing every non technical viewer will be using, download the installer and hit next taking the default values. Open idle, type the very human readable, print("hello world"). Save and press f5. That's it no complicated setup.

OP isn't talking about teaching a lesson where any confusing syntax will come into play. They are giving an intro to programming class. That's all about learning basic programming concepts which is done very easily in Python. You wouldn't teach a non technical first time programmer a ternary operator or a list comprehension. You'd teach them:

if a == 10: 
    print("a = 10")
else: 
    print("a is not 10")

and simple for loops

for x in range(10):
    print(x)

I don't know about you, but to me that's about as human readable as it gets. No imports required. No extra packages. Just default python install and copy paste and this will work.

There are other languages with minimal setup that can be used. OP could go as far as basic JavaScript in JS fiddle so no setup would be required. The basics of JavaScript are also very easy to read compared to a language like C where explicit typing is required. That can be a difficult concept for people that have never even seen code before. Python and JavaScript soften that blow. Once the concepts of if/then, loops, and functions are grasped it's much easier to pivot to other languages with more verbose syntax.

I'm not here suggesting that Python is by any means the superior language of the universe, just that it's a very good option to learn with for it's entry level simplicity and syntax readability, which I've demonstrated.

this post was submitted on 09 Dec 2025
43 points (100.0% liked)

Asklemmy

51600 readers
631 users here now

A loosely moderated place to ask open-ended questions

Search asklemmy ๐Ÿ”

If your post meets the following criteria, it's welcome here!

  1. Open-ended question
  2. Not offensive: at this point, we do not have the bandwidth to moderate overtly political discussions. Assume best intent and be excellent to each other.
  3. Not regarding using or support for Lemmy: context, see the list of support communities and tools for finding communities below
  4. Not ad nauseam inducing: please make sure it is a question that would be new to most members
  5. An actual topic of discussion

Looking for support?

Looking for a community?

~Icon~ ~by~ ~@Double_A@discuss.tchncs.de~

founded 6 years ago
MODERATORS