Email or username:

Password:

Forgot your password?
Darius Kazemi

Got into a discussion with someone on Twitter about what makes a programming language "good for beginners". They seemed to want to talk about syntax and stuff. My questions are:

- how hard is it to install
- how easily can you import useful data and output results in a useful format
- how likely is a beginner to know someone who can help them solve problems they run into
- how many resources (tutorials, example code) are out there
- can you easily do all this without the command line

25 comments
Darius Kazemi

I was defending Excel as an obvious candidate for best programming language for beginners (I consider the syntax and the runtime environment to both be part of the core language; in the case of Excel you can't separate one from the other)

Ted :pmgpurple:

@darius Excel as a platform for learning about logic, working with datasets, and dependencies is a lovely thing.

Maybe it's Eyesaline

@darius Spreadsheets are the modern BASIC: the only way most people know how to make a computer do a thing they want.

But the problem with powerful products designed for a niche, is that you can make a half-assed version of anything with them. So people do, constantly.

A PM at a pervious job had a GANTT chart in a spreadsheet, using cell sizes and background colors, which they updated by hand. There's a lot of that kind of thing out there.

Darius Kazemi

@ieure My contention: that is a wonderful thing

Maybe it's Eyesaline

@darius Making the computer do stuff is good, but a spreadsheet really isn't a very good tool for general jobs.

I think it's an indictment of the whole industry that every computer doesn't ship with a powerful, general system which is simple for an average user to understand and use.

IT takes a shitload of creativity to build stuff in Excel. Imagine if that got applied more directly to the problem, instead of how to express it in Excel.

violet spark in th twilit dark

@darius ⚠️ My Own Personal Experience Alert ⚠️
I had a really rough time wrapping my head around Excel (and still do, to an extent) because I've never really found a good resource on functions and stuff, and the behavior of things like copypasting has always been strange to me. Plus getting stuff into the right format. IDK. always have had a rough time with it

I was introduced to TI-Basic a year or two after being introduced to Excel and I had a MUCH easier time with that one. The big things that made it good were

- No memorizing functions or symbols, everything comes from categorized menus
- No install, it was right there on my calculator
- The calculator home screen was basically a REPL for the math parts of it
- Really great online wiki with a ton of references on advanced ways to use things (tibasicdev.wikidot.com/home)
- Code went from top to bottom instead of the weird cell-structure that didnt click for me until after I learned Haskell (lol)

@darius ⚠️ My Own Personal Experience Alert ⚠️
I had a really rough time wrapping my head around Excel (and still do, to an extent) because I've never really found a good resource on functions and stuff, and the behavior of things like copypasting has always been strange to me. Plus getting stuff into the right format. IDK. always have had a rough time with it

Darius Kazemi

@artemis funny you mention Haskell because I just realized that the spreadsheet model for data propagation is functional programming!

But yes some flavors of BASIC are great candidates too

Alexander Bochmann

@darius Excel being the defacto development environment for office solutions is what makes it so hard to replace Microsoft in that space. Though most people writing code in Excel probably don't think of themselves programmers.

Everything is a spreadsheet.

And if it isn't, it's a spreadsheet that dynamically fetches data from Sharepoint to produce a PDF.

brennen

@darius i keep wishing for something that is spreadsheets but a little more database, a little less brittle, a little less indecipherable-once-it-gets-very-complicated. these are all programmer prejudices, of course, but i don't think they're wrong. i just think the massive programmer prejudice against spreadsheets as a whole idea has sort of kept a lot of the people who could make this happen from doing anything in the space between spreadsheets and other things. it seems so possible though.

👨🏻‍✈️(Sky?)wanderer - Nicolas

@darius From a enterprise software UX designer point of view I support this position 100% due to the simple fact that Excel is *the* competitor to any entreprise app and the most asked feature for any of them is "can it export to Excel?"
So many processes rely on some Excel sheet with formula that somebody made that spits out stats or kpi or generate dashboards.

One very strong point of Excel is that it's crazy easy to share your "program" with other people on company locked computers.

@darius From a enterprise software UX designer point of view I support this position 100% due to the simple fact that Excel is *the* competitor to any entreprise app and the most asked feature for any of them is "can it export to Excel?"
So many processes rely on some Excel sheet with formula that somebody made that spits out stats or kpi or generate dashboards.

Eliot Lash

@darius I think another important consideration is would the tool scratch an itch for the learner and get them interested? Spreadsheets are great for some things, but if the learner is interested in making game-ish things I think Scratch is a great place to start. Building on "Logo", a lot of work was done to make the system intuitive and easy to learn, avoid syntax errors entirely, and be approachable for kids.

Darius Kazemi

@Eliot_L Yes that's totally fair! Basically replace "import useful data and output results in a useful format" with "do something that the programmer finds really helpful/interesting"

mym

@darius my first programming language was logo and it was amazing in that regard; i don't specifically recall the environment beyond "could manage it as a grade schooler" but then for years i was chasing the high of getting a little turtle to draw a little star

Tanya

@darius

In my last job we used Excel to create our “Interim Training database.” You could almost here it buzz and whirrr as it opened and closed multiple windows in order to data enter. Only one person could use it at a time. I loved it! A low-tech built for purpose database connected to a user-friendly dashboard.

Five years later, they are still using it, and it’s meeting operational and compliance needs. One of the coolest things I’ve ever done.

JP

@darius these are all very good and important criteria. one of mine is "do you need to create an account and essentially get a corporation's permission to start using it / share your work with others".

Your friendly 'net denizen

@darius I don't disagree with your criteria, but I'm realizing points 3 and 4 makes for an uphill slog for any new entrants that are intended for beginners... Which makes me think that creating a language just for beginners is probably not a correct approach.

(I can see your argument about Excel. Although I think it needs some better error messages. 😆 )

Sue

@darius The two points touching on access to support I think about a lot when choosing frameworks or whatever in developer learning resources, it's safe to assume looking outside the immediate interface for answers will continue to be routine, whether that interface is entirely programmatic or not.. Spreadsheets ftw!

Karen Quinn Fung

@darius your post reminded me of a post I saw a while back regarding storytelling being effective for teaching programming to girls. Turns out this is being studied and has some recent backing:

raspberrypi.org/blog/gender-ba

It’s not a specific language / platform but I think it’s a similar line of questioning you’re exploring in your thread!

𝕒𝕟𝕥𝕙𝕠𝕟𝕪

@darius I taught my niece Ruby using Hackety Hack years ago. It was an easy install, Ruby is (imo) fun and generally useful, and there's plenty of Ruby help/resources out there. It looks like Hackety Hack is no longer maintained, but that would have been my answer 10 years ago 😆

I can't think of anything better than Excel today. Do kids still learn TI-BASIC on their graphing calculators?

Darius Kazemi

@anthony I hope they do. Was just talking about TI Basic elsewhere in this thread!

Alex McLean

@darius I think also the community around the programming language is super important. e.g.
- Can women participate without fear of harassment (if there is not currently some semblance of gender balance in the community and its organisers then the answer will be no)
- Is it acceptable for community members to make beginners feel stupid / give non-answers telling them to search google etc
- Are racists/nazis tolerated
etc
It's pretty rare for a programming language community to not fail at all these tests..

Jim Brown

@darius This reminds me of the conversations I have with CS faculty on my campus when I talk about our "Creative Coding" course. They want to start with math and syntax, and I want to start with "what do you want to make?"

Go Up